From 7a9d85ed2b1cffc6e7ba7f31bd0892c396edc821 Mon Sep 17 00:00:00 2001 From: Jerry <707344974@qq.com> Date: Fri, 31 Dec 2021 11:33:46 +0800 Subject: [PATCH] =?UTF-8?q?commit=EF=BC=9A=E6=9B=B4=E6=96=B0=E6=A0=B7?= =?UTF-8?q?=E4=BE=8B=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../orange-demo-activiti-service/.gitignore | 2 +- .../orange-demo-activiti-service/README.md | 2 + .../application-webadmin/pom.xml | 5 + .../app/controller/AreaCodeController.java | 2 + .../webadmin/app/vo/AreaCodeVo.java | 7 + .../upms/controller/LoginController.java | 12 + .../upms/controller/LoginUserController.java | 2 + .../controller/SysDataPermController.java | 12 + .../upms/controller/SysDeptController.java | 4 + .../upms/controller/SysMenuController.java | 4 + .../controller/SysPermCodeController.java | 4 + .../upms/controller/SysPermController.java | 4 + .../controller/SysPermModuleController.java | 4 + .../upms/controller/SysPostController.java | 4 + .../upms/controller/SysRoleController.java | 5 + .../upms/controller/SysUserController.java | 10 + .../webadmin/upms/dto/SysDataPermDeptDto.java | 5 + .../webadmin/upms/dto/SysDataPermDto.java | 8 + .../webadmin/upms/dto/SysDeptDto.java | 11 + .../webadmin/upms/dto/SysDeptPostDto.java | 7 + .../webadmin/upms/dto/SysMenuDto.java | 12 + .../webadmin/upms/dto/SysPermCodeDto.java | 9 + .../webadmin/upms/dto/SysPermDto.java | 9 + .../webadmin/upms/dto/SysPermModuleDto.java | 8 + .../webadmin/upms/dto/SysPostDto.java | 7 + .../webadmin/upms/dto/SysRoleDto.java | 5 + .../webadmin/upms/dto/SysUserDto.java | 17 ++ .../webadmin/upms/vo/SysDataPermDeptVo.java | 5 + .../webadmin/upms/vo/SysDataPermVo.java | 12 + .../webadmin/upms/vo/SysDeptPostVo.java | 7 + .../webadmin/upms/vo/SysDeptVo.java | 11 + .../webadmin/upms/vo/SysMenuVo.java | 18 ++ .../webadmin/upms/vo/SysPermCodeVo.java | 14 + .../webadmin/upms/vo/SysPermModuleVo.java | 13 + .../webadmin/upms/vo/SysPermVo.java | 14 + .../webadmin/upms/vo/SysPostVo.java | 12 + .../webadmin/upms/vo/SysRoleVo.java | 10 + .../webadmin/upms/vo/SysUserVo.java | 20 ++ .../src/main/resources/application.yml | 13 +- .../src/main/resources/log4j2.xml | 3 + .../common/core/util/MyModelUtil.java | 42 +++ .../MybatisDataFilterInterceptor.java | 5 +- .../common/common-flow-online/pom.xml | 5 + .../FlowOnlineOperationController.java | 15 ++ .../common/common-flow/pom.xml | 5 + .../controller/FlowCategoryController.java | 4 + .../flow/controller/FlowEntryController.java | 4 + .../FlowEntryVariableController.java | 4 + .../controller/FlowMessageController.java | 2 + .../controller/FlowOperationController.java | 9 + .../flow/dao/mapper/FlowMessageMapper.xml | 7 +- .../common/flow/dto/FlowCategoryDto.java | 7 + .../common/flow/dto/FlowEntryDto.java | 13 + .../common/flow/dto/FlowEntryVariableDto.java | 12 + .../common/flow/dto/FlowMessageDto.java | 9 + .../common/flow/dto/FlowTaskCommentDto.java | 6 + .../common/flow/dto/FlowWorkOrderDto.java | 6 + .../common/flow/model/FlowMessage.java | 6 + .../flow/service/impl/FlowApiServiceImpl.java | 2 +- .../common/flow/vo/FlowCategoryVo.java | 11 + .../common/flow/vo/FlowEntryPublishVo.java | 10 + .../common/flow/vo/FlowEntryVariableVo.java | 13 + .../common/flow/vo/FlowEntryVo.java | 22 ++ .../common/flow/vo/FlowMessageVo.java | 28 ++ .../common/flow/vo/FlowTaskCommentVo.java | 14 + .../common/flow/vo/FlowTaskVo.java | 16 ++ .../common/flow/vo/FlowWorkOrderVo.java | 21 ++ .../common/flow/vo/TaskInfoVo.java | 13 + .../common/log/aop/OperationLogAspect.java | 4 + .../log/config/OperationLogProperties.java | 4 + .../common/common-online-api/pom.xml | 5 + .../controller/OnlineColumnController.java | 2 + .../OnlineDatasourceController.java | 4 + .../OnlineDatasourceRelationController.java | 4 + .../controller/OnlineDblinkController.java | 2 + .../api/controller/OnlineDictController.java | 4 + .../api/controller/OnlineFormController.java | 4 + .../api/controller/OnlinePageController.java | 4 + .../api/controller/OnlineRuleController.java | 4 + .../api/controller/OnlineTableController.java | 2 + .../OnlineVirtualColumnController.java | 4 + .../common/common-online/pom.xml | 5 + .../controller/OnlineOperationController.java | 2 + .../common/online/dto/OnlineColumnDto.java | 23 ++ .../online/dto/OnlineColumnRuleDto.java | 6 + .../online/dto/OnlineDatasourceDto.java | 9 + .../dto/OnlineDatasourceRelationDto.java | 15 ++ .../common/online/dto/OnlineDblinkDto.java | 8 + .../common/online/dto/OnlineDictDto.java | 19 ++ .../common/online/dto/OnlineFilterDto.java | 10 + .../common/online/dto/OnlineFormDto.java | 13 + .../online/dto/OnlinePageDatasourceDto.java | 6 + .../common/online/dto/OnlinePageDto.java | 8 + .../common/online/dto/OnlineRuleDto.java | 8 + .../common/online/dto/OnlineTableDto.java | 7 + .../online/dto/OnlineVirtualColumnDto.java | 15 ++ .../common/online/vo/OnlineColumnRuleVo.java | 6 + .../common/online/vo/OnlineColumnVo.java | 27 ++ .../online/vo/OnlineDatasourceRelationVo.java | 22 ++ .../common/online/vo/OnlineDatasourceVo.java | 13 + .../common/online/vo/OnlineDblinkVo.java | 9 + .../common/online/vo/OnlineDictVo.java | 23 ++ .../common/online/vo/OnlineFormVo.java | 18 ++ .../online/vo/OnlinePageDatasourceVo.java | 6 + .../common/online/vo/OnlinePageVo.java | 13 + .../common/online/vo/OnlineRuleVo.java | 12 + .../common/online/vo/OnlineTableVo.java | 9 + .../online/vo/OnlineVirtualColumnVo.java | 15 ++ .../redis/cache/SessionCacheHelper.java | 23 ++ .../common/common-swagger/pom.xml | 39 +++ .../config/SwaggerAutoConfiguration.java | 67 +++++ .../swagger/config/SwaggerProperties.java | 45 ++++ .../common/swagger/plugin/ByteBuddyUtil.java | 85 ++++++ .../plugin/DynamicBodyModelPlugin.java | 61 +++++ .../plugin/DynamicBodyParameterBuilder.java | 64 +++++ .../main/resources/META-INF/spring.factories | 2 + .../common/pom.xml | 1 + .../src/main/resources/export-api-config.json | 2 +- .../orange-demo-activiti-service/pom.xml | 10 +- .../zz-resource/db-scripts/zzdemo-online.sql | 247 ++++++++++++++++-- .../orange-demo-flowable-service/.gitignore | 2 +- .../orange-demo-flowable-service/README.md | 2 + .../application-webadmin/pom.xml | 5 + .../app/controller/AreaCodeController.java | 2 + .../webadmin/app/vo/AreaCodeVo.java | 7 + .../upms/controller/LoginController.java | 12 + .../upms/controller/LoginUserController.java | 2 + .../controller/SysDataPermController.java | 12 + .../upms/controller/SysDeptController.java | 4 + .../upms/controller/SysMenuController.java | 4 + .../controller/SysPermCodeController.java | 4 + .../upms/controller/SysPermController.java | 4 + .../controller/SysPermModuleController.java | 4 + .../upms/controller/SysPostController.java | 4 + .../upms/controller/SysRoleController.java | 5 + .../upms/controller/SysUserController.java | 10 + .../webadmin/upms/dto/SysDataPermDeptDto.java | 5 + .../webadmin/upms/dto/SysDataPermDto.java | 8 + .../webadmin/upms/dto/SysDeptDto.java | 11 + .../webadmin/upms/dto/SysDeptPostDto.java | 7 + .../webadmin/upms/dto/SysMenuDto.java | 12 + .../webadmin/upms/dto/SysPermCodeDto.java | 9 + .../webadmin/upms/dto/SysPermDto.java | 9 + .../webadmin/upms/dto/SysPermModuleDto.java | 8 + .../webadmin/upms/dto/SysPostDto.java | 7 + .../webadmin/upms/dto/SysRoleDto.java | 5 + .../webadmin/upms/dto/SysUserDto.java | 17 ++ .../webadmin/upms/vo/SysDataPermDeptVo.java | 5 + .../webadmin/upms/vo/SysDataPermVo.java | 12 + .../webadmin/upms/vo/SysDeptPostVo.java | 7 + .../webadmin/upms/vo/SysDeptVo.java | 11 + .../webadmin/upms/vo/SysMenuVo.java | 18 ++ .../webadmin/upms/vo/SysPermCodeVo.java | 14 + .../webadmin/upms/vo/SysPermModuleVo.java | 13 + .../webadmin/upms/vo/SysPermVo.java | 14 + .../webadmin/upms/vo/SysPostVo.java | 12 + .../webadmin/upms/vo/SysRoleVo.java | 10 + .../webadmin/upms/vo/SysUserVo.java | 20 ++ .../src/main/resources/application.yml | 11 + .../src/main/resources/log4j2.xml | 3 + .../common/core/util/MyModelUtil.java | 42 +++ .../MybatisDataFilterInterceptor.java | 5 +- .../common/common-flow-online/pom.xml | 5 + .../FlowOnlineOperationController.java | 15 ++ .../common/common-flow/pom.xml | 5 + .../controller/FlowCategoryController.java | 4 + .../flow/controller/FlowEntryController.java | 4 + .../FlowEntryVariableController.java | 4 + .../controller/FlowMessageController.java | 2 + .../controller/FlowOperationController.java | 9 + .../flow/dao/mapper/FlowMessageMapper.xml | 7 +- .../common/flow/dto/FlowCategoryDto.java | 7 + .../common/flow/dto/FlowEntryDto.java | 13 + .../common/flow/dto/FlowEntryVariableDto.java | 12 + .../common/flow/dto/FlowMessageDto.java | 9 + .../common/flow/dto/FlowTaskCommentDto.java | 6 + .../common/flow/dto/FlowWorkOrderDto.java | 6 + .../common/flow/model/FlowMessage.java | 6 + .../flow/service/impl/FlowApiServiceImpl.java | 2 +- .../common/flow/vo/FlowCategoryVo.java | 11 + .../common/flow/vo/FlowEntryPublishVo.java | 10 + .../common/flow/vo/FlowEntryVariableVo.java | 13 + .../common/flow/vo/FlowEntryVo.java | 22 ++ .../common/flow/vo/FlowMessageVo.java | 28 ++ .../common/flow/vo/FlowTaskCommentVo.java | 14 + .../common/flow/vo/FlowTaskVo.java | 16 ++ .../common/flow/vo/FlowWorkOrderVo.java | 21 ++ .../common/flow/vo/TaskInfoVo.java | 13 + .../common/log/aop/OperationLogAspect.java | 4 + .../log/config/OperationLogProperties.java | 4 + .../common/common-online-api/pom.xml | 5 + .../controller/OnlineColumnController.java | 2 + .../OnlineDatasourceController.java | 4 + .../OnlineDatasourceRelationController.java | 4 + .../controller/OnlineDblinkController.java | 2 + .../api/controller/OnlineDictController.java | 4 + .../api/controller/OnlineFormController.java | 4 + .../api/controller/OnlinePageController.java | 4 + .../api/controller/OnlineRuleController.java | 4 + .../api/controller/OnlineTableController.java | 2 + .../OnlineVirtualColumnController.java | 4 + .../common/common-online/pom.xml | 5 + .../controller/OnlineOperationController.java | 2 + .../common/online/dto/OnlineColumnDto.java | 23 ++ .../online/dto/OnlineColumnRuleDto.java | 6 + .../online/dto/OnlineDatasourceDto.java | 9 + .../dto/OnlineDatasourceRelationDto.java | 15 ++ .../common/online/dto/OnlineDblinkDto.java | 8 + .../common/online/dto/OnlineDictDto.java | 19 ++ .../common/online/dto/OnlineFilterDto.java | 10 + .../common/online/dto/OnlineFormDto.java | 13 + .../online/dto/OnlinePageDatasourceDto.java | 6 + .../common/online/dto/OnlinePageDto.java | 8 + .../common/online/dto/OnlineRuleDto.java | 8 + .../common/online/dto/OnlineTableDto.java | 7 + .../online/dto/OnlineVirtualColumnDto.java | 15 ++ .../common/online/vo/OnlineColumnRuleVo.java | 6 + .../common/online/vo/OnlineColumnVo.java | 27 ++ .../online/vo/OnlineDatasourceRelationVo.java | 22 ++ .../common/online/vo/OnlineDatasourceVo.java | 13 + .../common/online/vo/OnlineDblinkVo.java | 9 + .../common/online/vo/OnlineDictVo.java | 23 ++ .../common/online/vo/OnlineFormVo.java | 18 ++ .../online/vo/OnlinePageDatasourceVo.java | 6 + .../common/online/vo/OnlinePageVo.java | 13 + .../common/online/vo/OnlineRuleVo.java | 12 + .../common/online/vo/OnlineTableVo.java | 9 + .../online/vo/OnlineVirtualColumnVo.java | 15 ++ .../redis/cache/SessionCacheHelper.java | 23 ++ .../common/common-swagger/pom.xml | 39 +++ .../config/SwaggerAutoConfiguration.java | 67 +++++ .../swagger/config/SwaggerProperties.java | 45 ++++ .../common/swagger/plugin/ByteBuddyUtil.java | 85 ++++++ .../plugin/DynamicBodyModelPlugin.java | 61 +++++ .../plugin/DynamicBodyParameterBuilder.java | 64 +++++ .../main/resources/META-INF/spring.factories | 2 + .../common/pom.xml | 1 + .../src/main/resources/export-api-config.json | 2 +- .../orange-demo-flowable-service/pom.xml | 10 +- .../zz-resource/db-scripts/zzdemo-online.sql | 79 +++++- 240 files changed, 3102 insertions(+), 56 deletions(-) create mode 100644 orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/pom.xml create mode 100644 orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerAutoConfiguration.java create mode 100644 orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerProperties.java create mode 100644 orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/ByteBuddyUtil.java create mode 100644 orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyModelPlugin.java create mode 100644 orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyParameterBuilder.java create mode 100644 orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/resources/META-INF/spring.factories create mode 100644 orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/pom.xml create mode 100644 orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerAutoConfiguration.java create mode 100644 orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerProperties.java create mode 100644 orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/ByteBuddyUtil.java create mode 100644 orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyModelPlugin.java create mode 100644 orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyParameterBuilder.java create mode 100644 orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/resources/META-INF/spring.factories diff --git a/orange-demo-activiti/orange-demo-activiti-service/.gitignore b/orange-demo-activiti/orange-demo-activiti-service/.gitignore index ac242580..e3fa94cd 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/.gitignore +++ b/orange-demo-activiti/orange-demo-activiti-service/.gitignore @@ -1,4 +1,4 @@ -/target/ +target/ !.mvn/wrapper/maven-wrapper.jar /.mvn/* diff --git a/orange-demo-activiti/orange-demo-activiti-service/README.md b/orange-demo-activiti/orange-demo-activiti-service/README.md index 0939c817..20274fd0 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/README.md +++ b/orange-demo-activiti/orange-demo-activiti-service/README.md @@ -1,5 +1,7 @@ ### 服务接口文档 --- +- Knife4j + - 服务启动后,Knife4j的文档入口地址 [http://localhost:8082/doc.html#/plus](http://localhost:8082/doc.html#/plus) - Postman - 无需启动服务,即可将当前工程的接口导出成Postman格式。在工程的common/common-tools/模块下,找到ExportApiApp文件,并执行main函数。 diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/pom.xml b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/pom.xml index acac14b4..50e810a4 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/pom.xml +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/pom.xml @@ -45,6 +45,11 @@ common-datafilter 1.0.0 + + com.orangeforms + common-swagger + 1.0.0 + diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/controller/AreaCodeController.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/controller/AreaCodeController.java index f9d34991..b43e0957 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/controller/AreaCodeController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/controller/AreaCodeController.java @@ -1,5 +1,6 @@ package com.orangeforms.webadmin.app.controller; +import io.swagger.annotations.Api; import cn.jimmyshi.beanquery.BeanQuery; import com.orangeforms.webadmin.app.model.AreaCode; import com.orangeforms.webadmin.app.service.AreaCodeService; @@ -21,6 +22,7 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "行政区划数据访问接口") @RestController @RequestMapping("/admin/app/areaCode") public class AreaCodeController { diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/vo/AreaCodeVo.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/vo/AreaCodeVo.java index d7a7c5a7..4dce7d89 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/vo/AreaCodeVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/vo/AreaCodeVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.app.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,26 +10,31 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("行政区划实体对象") @Data public class AreaCodeVo { /** * 行政区划主键Id */ + @ApiModelProperty(value = "行政区划主键Id", required = true) private Long areaId; /** * 行政区划名称 */ + @ApiModelProperty(value = "行政区划名称") private String areaName; /** * 行政区划级别 (1: 省级别 2: 市级别 3: 区级别) */ + @ApiModelProperty(value = "行政区划级别") private Integer areaLevel; /** * 父级行政区划Id */ + @ApiModelProperty(value = "父级行政区划Id") private Long parentId; } \ No newline at end of file diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginController.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginController.java index dfe78c08..5d295fc3 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginController.java @@ -3,6 +3,10 @@ package com.orangeforms.webadmin.upms.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; +import com.github.xiaoymin.knife4j.annotations.ApiSupport; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import lombok.extern.slf4j.Slf4j; import com.orangeforms.webadmin.config.ApplicationConfig; import com.orangeforms.webadmin.upms.service.*; @@ -42,6 +46,8 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@ApiSupport(order = 1) +@Api(tags = "用户登录接口") @Slf4j @RestController @RequestMapping("/admin/upms/login") @@ -81,6 +87,12 @@ public class LoginController { * @param password 密码。 * @return 应答结果对象,其中包括JWT的Token数据,以及菜单列表。 */ + @ApiImplicitParams({ + // 这里包含密码密文,仅用于方便开发期间的接口测试,集成测试和发布阶段,需要将当前注解去掉。 + // 如果您重新生成了公钥和私钥,请替换password的缺省值。 + @ApiImplicitParam(name = "loginName", defaultValue = "admin"), + @ApiImplicitParam(name = "password", defaultValue = "IP3ccke3GhH45iGHB5qP9p7iZw6xUyj28Ju10rnBiPKOI35sc%2BjI7%2FdsjOkHWMfUwGYGfz8ik31HC2Ruk%2Fhkd9f6RPULTHj7VpFdNdde2P9M4mQQnFBAiPM7VT9iW3RyCtPlJexQ3nAiA09OqG%2F0sIf1kcyveSrulxembARDbDo%3D") + }) @NoAuthInterface @PostMapping("/doLogin") public ResponseResult doLogin( diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginUserController.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginUserController.java index a0ac1220..a3cb16af 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginUserController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginUserController.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.object.*; import com.orangeforms.common.core.util.RedisKeyUtil; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.redisson.api.RBucket; import org.redisson.api.RedissonClient; @@ -22,6 +23,7 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "在线用户接口") @Slf4j @RestController @RequestMapping("/admin/upms/loginUser") diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDataPermController.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDataPermController.java index c2ccb7af..2f396b8f 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDataPermController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDataPermController.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.alibaba.fastjson.TypeReference; import com.github.pagehelper.Page; import com.github.pagehelper.page.PageMethod; @@ -30,6 +32,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "数据权限管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysDataPerm") @@ -47,6 +50,11 @@ public class SysDataPermController { * @param deptIdListString 数据权限关联的部门Id列表,多个之间逗号分隔。 * @return 应答结果对象。包含新增数据权限对象的主键Id。 */ + @ApiOperationSupport(ignoreParameters = { + "sysDataPermDto.dataPermId", + "sysDataPermDto.createTimeStart", + "sysDataPermDto.createTimeEnd", + "sysDataPermDto.searchString"}) @PostMapping("/add") public ResponseResult add( @MyRequestBody SysDataPermDto sysDataPermDto, @MyRequestBody String deptIdListString) { @@ -74,6 +82,10 @@ public class SysDataPermController { * @param deptIdListString 数据权限关联的部门Id列表,多个之间逗号分隔。 * @return 应答结果对象。 */ + @ApiOperationSupport(ignoreParameters = { + "sysDataPermDto.createTimeStart", + "sysDataPermDto.createTimeEnd", + "sysDataPermDto.searchString"}) @PostMapping("/update") public ResponseResult update( @MyRequestBody SysDataPermDto sysDataPermDto, @MyRequestBody String deptIdListString) { diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDeptController.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDeptController.java index 6978e5ee..b20f51f4 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDeptController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDeptController.java @@ -10,6 +10,8 @@ import com.orangeforms.common.core.object.*; import com.orangeforms.common.core.util.*; import com.orangeforms.common.core.constant.*; import com.orangeforms.common.core.annotation.MyRequestBody; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -24,6 +26,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "部门管理管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysDept") @@ -40,6 +43,7 @@ public class SysDeptController { * @param sysDeptDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysDeptDto.deptId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody SysDeptDto sysDeptDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysDeptDto, false); diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysMenuController.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysMenuController.java index 50620d11..c822ee4a 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysMenuController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysMenuController.java @@ -2,6 +2,8 @@ package com.orangeforms.webadmin.upms.controller; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.TypeReference; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import com.orangeforms.webadmin.upms.dto.SysMenuDto; import com.orangeforms.webadmin.upms.vo.SysMenuVo; @@ -25,6 +27,7 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "菜单管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysMenu") @@ -40,6 +43,7 @@ public class SysMenuController { * @param permCodeIdListString 与当前菜单Id绑定的权限Id列表,多个权限之间逗号分隔。 * @return 应答结果对象,包含新增菜单的主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysMenuDto.menuId"}) @PostMapping("/add") public ResponseResult add( @MyRequestBody SysMenuDto sysMenuDto, @MyRequestBody String permCodeIdListString) { diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermCodeController.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermCodeController.java index 49a76e03..22291fb0 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermCodeController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermCodeController.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.alibaba.fastjson.TypeReference; import lombok.extern.slf4j.Slf4j; import com.orangeforms.webadmin.upms.dto.SysPermCodeDto; @@ -24,6 +26,7 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "权限字管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysPermCode") @@ -39,6 +42,7 @@ public class SysPermCodeController { * @param permIdListString 与当前权限Id绑定的权限资源Id列表,多个权限资源之间逗号分隔。 * @return 应答结果对象,包含新增权限字的主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysPermCodeDto.permCodeId"}) @PostMapping("/add") public ResponseResult add( @MyRequestBody SysPermCodeDto sysPermCodeDto, @MyRequestBody String permIdListString) { diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermController.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermController.java index d1b63293..e6aa7d3a 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermController.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.github.pagehelper.Page; import com.github.pagehelper.page.PageMethod; import lombok.extern.slf4j.Slf4j; @@ -25,6 +27,7 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "权限资源管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysPerm") @@ -39,6 +42,7 @@ public class SysPermController { * @param sysPermDto 新增权限资源对象。 * @return 应答结果对象,包含新增权限资源的主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysPermDto.permId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody SysPermDto sysPermDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermDto); diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermModuleController.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermModuleController.java index 4ac1e067..d8e2e4b9 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermModuleController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermModuleController.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import com.orangeforms.webadmin.upms.dto.SysPermModuleDto; import com.orangeforms.webadmin.upms.vo.SysPermModuleVo; @@ -27,6 +29,7 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "权限资源模块管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysPermModule") @@ -41,6 +44,7 @@ public class SysPermModuleController { * @param sysPermModuleDto 新增权限资源模块对象。 * @return 应答结果对象,包含新增权限资源模块的主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysPermModuleDto.moduleId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody SysPermModuleDto sysPermModuleDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermModuleDto); diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPostController.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPostController.java index daecc152..a8ce9c79 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPostController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPostController.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import cn.jimmyshi.beanquery.BeanQuery; import com.github.pagehelper.page.PageMethod; import com.orangeforms.common.core.object.*; @@ -24,6 +26,7 @@ import javax.validation.groups.Default; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "岗位管理操作管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysPost") @@ -38,6 +41,7 @@ public class SysPostController { * @param sysPostDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysPostDto.postId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody SysPostDto sysPostDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysPostDto); diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysRoleController.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysRoleController.java index a510110e..a4d01c6c 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysRoleController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysRoleController.java @@ -1,6 +1,8 @@ package com.orangeforms.webadmin.upms.controller; import cn.jimmyshi.beanquery.BeanQuery; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.alibaba.fastjson.TypeReference; import com.github.pagehelper.Page; import com.github.pagehelper.page.PageMethod; @@ -32,6 +34,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "角色管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysRole") @@ -49,6 +52,7 @@ public class SysRoleController { * @param menuIdListString 与当前角色Id绑定的menuId列表,多个menuId之间逗号分隔。 * @return 应答结果对象,包含新增角色的主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysRoleDto.roleId", "sysRoleDto.createTimeStart", "sysRoleDto.createTimeEnd"}) @PostMapping("/add") public ResponseResult add( @MyRequestBody SysRoleDto sysRoleDto, @MyRequestBody String menuIdListString) { @@ -76,6 +80,7 @@ public class SysRoleController { * @param menuIdListString 与当前角色Id绑定的menuId列表,多个menuId之间逗号分隔。 * @return 应答结果对象。 */ + @ApiOperationSupport(ignoreParameters = {"sysRoleDto.createTimeStart", "sysRoleDto.createTimeEnd"}) @PostMapping("/update") public ResponseResult update( @MyRequestBody SysRoleDto sysRoleDto, @MyRequestBody String menuIdListString) { diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysUserController.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysUserController.java index 93740918..fa4aa233 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysUserController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysUserController.java @@ -11,6 +11,8 @@ import com.orangeforms.common.core.util.*; import com.orangeforms.common.core.constant.*; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.webadmin.config.ApplicationConfig; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.beans.factory.annotation.Autowired; @@ -24,6 +26,7 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "用户管理管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysUser") @@ -45,6 +48,10 @@ public class SysUserController { * @param roleIdListString 逗号分隔的角色Id列表。 * @return 应答结果对象,包含新增用户的主键Id。 */ + @ApiOperationSupport(ignoreParameters = { + "sysUserDto.userId", + "sysUserDto.createTimeStart", + "sysUserDto.createTimeEnd"}) @PostMapping("/add") public ResponseResult add( @MyRequestBody SysUserDto sysUserDto, @@ -77,6 +84,9 @@ public class SysUserController { * @param roleIdListString 逗号分隔的角色Id列表。 * @return 应答结果对象。 */ + @ApiOperationSupport(ignoreParameters = { + "sysUserDto.createTimeStart", + "sysUserDto.createTimeEnd"}) @PostMapping("/update") public ResponseResult update( @MyRequestBody SysUserDto sysUserDto, diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDeptDto.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDeptDto.java index b75fd7e3..c0065cfe 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDeptDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDeptDto.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,16 +10,19 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("数据权限与部门关联Dto") @Data public class SysDataPermDeptDto { /** * 数据权限Id。 */ + @ApiModelProperty(value = "数据权限Id", required = true) private Long dataPermId; /** * 关联部门Id。 */ + @ApiModelProperty(value = "关联部门Id", required = true) private Long deptId; } \ No newline at end of file diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDto.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDto.java index e5937859..bfaa1622 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDto.java @@ -4,6 +4,8 @@ import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.datafilter.constant.DataPermRuleType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -14,24 +16,28 @@ import javax.validation.constraints.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("数据权限Dto") @Data public class SysDataPermDto { /** * 数据权限Id。 */ + @ApiModelProperty(value = "数据权限Id", required = true) @NotNull(message = "数据权限Id不能为空!", groups = {UpdateGroup.class}) private Long dataPermId; /** * 显示名称。 */ + @ApiModelProperty(value = "显示名称", required = true) @NotBlank(message = "数据权限名称不能为空!") private String dataPermName; /** * 数据权限规则类型(0: 全部可见 1: 只看自己 2: 只看本部门 3: 本部门及子部门 4: 多部门及子部门 5: 自定义部门列表)。 */ + @ApiModelProperty(value = "数据权限规则类型", required = true) @NotNull(message = "数据权限规则类型不能为空!") @ConstDictRef(constDictClass = DataPermRuleType.class) private Integer ruleType; @@ -39,10 +45,12 @@ public class SysDataPermDto { /** * 部门Id列表(逗号分隔)。 */ + @ApiModelProperty(hidden = true) private String deptIdListString; /** * 搜索字符串。 */ + @ApiModelProperty(value = "LIKE 模糊搜索字符串") private String searchString; } \ No newline at end of file diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptDto.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptDto.java index 9efb6ae3..a2054d46 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptDto.java @@ -2,6 +2,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -14,49 +16,58 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("SysDeptDto对象") @Data public class SysDeptDto { /** * 部门Id。 */ + @ApiModelProperty(value = "部门Id", required = true) @NotNull(message = "数据验证失败,部门Id不能为空!", groups = {UpdateGroup.class}) private Long deptId; /** * 部门名称。 */ + @ApiModelProperty(value = "部门名称", required = true) @NotBlank(message = "数据验证失败,部门名称不能为空!") private String deptName; /** * 显示顺序。 */ + @ApiModelProperty(value = "显示顺序", required = true) @NotNull(message = "数据验证失败,显示顺序不能为空!") private Integer showOrder; /** * 父部门Id。 */ + @ApiModelProperty(value = "父部门Id") private Long parentId; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptPostDto.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptPostDto.java index 85179e06..06a0814c 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptPostDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptPostDto.java @@ -2,6 +2,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -12,30 +14,35 @@ import javax.validation.constraints.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("部门岗位Dto") @Data public class SysDeptPostDto { /** * 部门岗位Id。 */ + @ApiModelProperty(value = "部门岗位Id", required = true) @NotNull(message = "数据验证失败,部门岗位Id不能为空!", groups = {UpdateGroup.class}) private Long deptPostId; /** * 部门Id。 */ + @ApiModelProperty(value = "部门Id", required = true) @NotNull(message = "数据验证失败,部门Id不能为空!", groups = {UpdateGroup.class}) private Long deptId; /** * 岗位Id。 */ + @ApiModelProperty(value = "岗位Id", required = true) @NotNull(message = "数据验证失败,岗位Id不能为空!", groups = {UpdateGroup.class}) private Long postId; /** * 部门岗位显示名称。 */ + @ApiModelProperty(value = "部门岗位显示名称", required = true) @NotBlank(message = "数据验证失败,部门岗位显示名称不能为空!") private String postShowName; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysMenuDto.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysMenuDto.java index 15b7ef83..62314a90 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysMenuDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysMenuDto.java @@ -3,6 +3,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.webadmin.upms.model.constant.SysMenuType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -14,29 +16,34 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("菜单Dto") @Data public class SysMenuDto { /** * 菜单Id。 */ + @ApiModelProperty(value = "菜单Id", required = true) @NotNull(message = "菜单Id不能为空!", groups = {UpdateGroup.class}) private Long menuId; /** * 父菜单Id,目录菜单的父菜单为null */ + @ApiModelProperty(value = "父菜单Id") private Long parentId; /** * 菜单显示名称。 */ + @ApiModelProperty(value = "菜单显示名称", required = true) @NotBlank(message = "菜单显示名称不能为空!") private String menuName; /** * 菜单类型 (0: 目录 1: 菜单 2: 按钮 3: UI片段)。 */ + @ApiModelProperty(value = "菜单类型", required = true) @NotNull(message = "菜单类型不能为空!") @ConstDictRef(constDictClass = SysMenuType.class, message = "数据验证失败,菜单类型为无效值!") private Integer menuType; @@ -44,26 +51,31 @@ public class SysMenuDto { /** * 前端表单路由名称,仅用于menu_type为1的菜单类型。 */ + @ApiModelProperty(value = "前端表单路由名称") private String formRouterName; /** * 在线表单主键Id,仅用于在线表单绑定的菜单。 */ + @ApiModelProperty(value = "在线表单主键Id") private Long onlineFormId; /** * 仅用于在线表单的流程Id。 */ + @ApiModelProperty(value = "仅用于在线表单的流程Id") private Long onlineFlowEntryId; /** * 菜单显示顺序 (值越小,排序越靠前)。 */ + @ApiModelProperty(value = "菜单显示顺序", required = true) @NotNull(message = "菜单显示顺序不能为空!") private Integer showOrder; /** * 菜单图标。 */ + @ApiModelProperty(value = "菜单显示顺序") private String icon; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermCodeDto.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermCodeDto.java index 60489b39..e6aa1878 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermCodeDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermCodeDto.java @@ -3,6 +3,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.webadmin.upms.model.constant.SysPermCodeType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -14,29 +16,34 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("权限字Dto") @Data public class SysPermCodeDto { /** * 权限字Id。 */ + @ApiModelProperty(value = "权限字Id", required = true) @NotNull(message = "权限字Id不能为空!", groups = {UpdateGroup.class}) private Long permCodeId; /** * 权限字标识(一般为有含义的英文字符串)。 */ + @ApiModelProperty(value = "权限字标识", required = true) @NotBlank(message = "权限字编码不能为空!") private String permCode; /** * 上级权限字Id。 */ + @ApiModelProperty(value = "上级权限字Id") private Long parentId; /** * 权限字类型(0: 表单 1: UI片段 2: 操作)。 */ + @ApiModelProperty(value = "权限字类型", required = true) @NotNull(message = "权限字类型不能为空!") @ConstDictRef(constDictClass = SysPermCodeType.class, message = "数据验证失败,权限类型为无效值!") private Integer permCodeType; @@ -44,12 +51,14 @@ public class SysPermCodeDto { /** * 显示名称。 */ + @ApiModelProperty(value = "显示名称", required = true) @NotBlank(message = "权限字显示名称不能为空!") private String showName; /** * 显示顺序(数值越小,越靠前)。 */ + @ApiModelProperty(value = "显示顺序", required = true) @NotNull(message = "权限字显示顺序不能为空!") private Integer showOrder; } \ No newline at end of file diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermDto.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermDto.java index 0ea2b71e..163bed3e 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermDto.java @@ -1,6 +1,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -12,41 +14,48 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("权限资源Dto") @Data public class SysPermDto { /** * 权限资源Id。 */ + @ApiModelProperty(value = "权限资源Id", required = true) @NotNull(message = "权限Id不能为空!", groups = {UpdateGroup.class}) private Long permId; /** * 权限资源名称。 */ + @ApiModelProperty(value = "权限资源名称", required = true) @NotBlank(message = "权限资源名称不能为空!") private String permName; /** * shiro格式的权限字,如(upms:sysUser:add)。 */ + @ApiModelProperty(value = "权限字") private String permCode; /** * 权限所在的权限模块Id。 */ + @ApiModelProperty(value = "权限所在的权限模块Id") @NotNull(message = "权限模块Id不能为空!") private Long moduleId; /** * 关联的URL。 */ + @ApiModelProperty(value = "关联的URL", required = true) @NotBlank(message = "权限关联的url不能为空!") private String url; /** * 权限在当前模块下的顺序,由小到大。 */ + @ApiModelProperty(value = "显示顺序", required = true) @NotNull(message = "权限显示顺序不能为空!") private Integer showOrder; } \ No newline at end of file diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermModuleDto.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermModuleDto.java index efeb1cbe..29459739 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermModuleDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermModuleDto.java @@ -3,6 +3,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.webadmin.upms.model.constant.SysPermModuleType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -14,29 +16,34 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("权限资源模块Dto") @Data public class SysPermModuleDto { /** * 权限模块Id。 */ + @ApiModelProperty(value = "权限模块Id", required = true) @NotNull(message = "权限模块Id不能为空!", groups = {UpdateGroup.class}) private Long moduleId; /** * 权限模块名称。 */ + @ApiModelProperty(value = "权限模块名称", required = true) @NotBlank(message = "权限模块名称不能为空!") private String moduleName; /** * 上级权限模块Id。 */ + @ApiModelProperty(value = "上级权限模块Id") private Long parentId; /** * 权限模块类型(0: 普通模块 1: Controller模块)。 */ + @ApiModelProperty(value = "权限模块类型", required = true) @NotNull(message = "模块类型不能为空!") @ConstDictRef(constDictClass = SysPermModuleType.class, message = "数据验证失败,权限模块类型为无效值!") private Integer moduleType; @@ -44,6 +51,7 @@ public class SysPermModuleDto { /** * 权限模块在当前层级下的顺序,由小到大。 */ + @ApiModelProperty(value = "显示顺序", required = true) @NotNull(message = "权限模块显示顺序不能为空!") private Integer showOrder; } \ No newline at end of file diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPostDto.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPostDto.java index 8dfc02b0..ea4d0d62 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPostDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPostDto.java @@ -2,6 +2,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -12,30 +14,35 @@ import javax.validation.constraints.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("岗位Dto") @Data public class SysPostDto { /** * 岗位Id。 */ + @ApiModelProperty(value = "岗位Id", required = true) @NotNull(message = "数据验证失败,岗位Id不能为空!", groups = {UpdateGroup.class}) private Long postId; /** * 岗位名称。 */ + @ApiModelProperty(value = "岗位名称", required = true) @NotBlank(message = "数据验证失败,岗位名称不能为空!") private String postName; /** * 岗位层级,数值越小级别越高。 */ + @ApiModelProperty(value = "岗位层级", required = true) @NotNull(message = "数据验证失败,岗位层级不能为空!") private Integer level; /** * 是否领导岗位。 */ + @ApiModelProperty(value = "是否领导岗位", required = true) @NotNull(message = "数据验证失败,领导岗位不能为空!", groups = {UpdateGroup.class}) private Boolean leaderPost; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysRoleDto.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysRoleDto.java index d3c72d1a..bd14fed8 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysRoleDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysRoleDto.java @@ -1,6 +1,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -11,18 +13,21 @@ import javax.validation.constraints.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("角色Dto") @Data public class SysRoleDto { /** * 角色Id。 */ + @ApiModelProperty(value = "角色Id", required = true) @NotNull(message = "角色Id不能为空!", groups = {UpdateGroup.class}) private Long roleId; /** * 角色名称。 */ + @ApiModelProperty(value = "角色名称", required = true) @NotBlank(message = "角色名称不能为空!") private String roleName; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysUserDto.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysUserDto.java index dbb5377f..b09269c1 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysUserDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysUserDto.java @@ -6,6 +6,8 @@ import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.webadmin.upms.model.constant.SysUserType; import com.orangeforms.webadmin.upms.model.constant.SysUserStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -18,42 +20,49 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("SysUserDto对象") @Data public class SysUserDto { /** * 用户Id。 */ + @ApiModelProperty(value = "用户Id", required = true) @NotNull(message = "数据验证失败,用户Id不能为空!", groups = {UpdateGroup.class}) private Long userId; /** * 登录用户名。 */ + @ApiModelProperty(value = "登录用户名", required = true) @NotBlank(message = "数据验证失败,登录用户名不能为空!") private String loginName; /** * 用户密码。 */ + @ApiModelProperty(value = "用户密码", required = true) @NotBlank(message = "数据验证失败,用户密码不能为空!", groups = {AddGroup.class}) private String password; /** * 用户显示名称。 */ + @ApiModelProperty(value = "用户显示名称", required = true) @NotBlank(message = "数据验证失败,用户显示名称不能为空!") private String showName; /** * 用户部门Id。 */ + @ApiModelProperty(value = "用户部门Id", required = true) @NotNull(message = "数据验证失败,用户部门Id不能为空!") private Long deptId; /** * 用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)。 */ + @ApiModelProperty(value = "用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)", required = true) @NotNull(message = "数据验证失败,用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)不能为空!") @ConstDictRef(constDictClass = SysUserType.class, message = "数据验证失败,用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)为无效值!") private Integer userType; @@ -61,11 +70,13 @@ public class SysUserDto { /** * 用户头像的Url。 */ + @ApiModelProperty(value = "用户头像的Url") private String headImageUrl; /** * 用户状态(0: 正常 1: 锁定)。 */ + @ApiModelProperty(value = "用户状态(0: 正常 1: 锁定)", required = true) @NotNull(message = "数据验证失败,用户状态(0: 正常 1: 锁定)不能为空!") @ConstDictRef(constDictClass = SysUserStatus.class, message = "数据验证失败,用户状态(0: 正常 1: 锁定)为无效值!") private Integer userStatus; @@ -73,30 +84,36 @@ public class SysUserDto { /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * createTime 范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "createTime 范围过滤起始值(>=)") private String createTimeStart; /** * createTime 范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "createTime 范围过滤结束值(<=)") private String createTimeEnd; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermDeptVo.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermDeptVo.java index 7b1ea64f..b789ce21 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermDeptVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermDeptVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,16 +10,19 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("数据权限与部门关联VO") @Data public class SysDataPermDeptVo { /** * 数据权限Id。 */ + @ApiModelProperty(value = "数据权限Id") private Long dataPermId; /** * 关联部门Id。 */ + @ApiModelProperty(value = "关联部门Id") private Long deptId; } \ No newline at end of file diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermVo.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermVo.java index 531943e0..20c05f90 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.*; @@ -10,51 +12,61 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("数据权限VO") @Data public class SysDataPermVo { /** * 数据权限Id。 */ + @ApiModelProperty(value = "数据权限Id") private Long dataPermId; /** * 显示名称。 */ + @ApiModelProperty(value = "显示名称") private String dataPermName; /** * 数据权限规则类型(0: 全部可见 1: 只看自己 2: 只看本部门 3: 本部门及子部门 4: 多部门及子部门 5: 自定义部门列表)。 */ + @ApiModelProperty(value = "数据权限规则类型") private Integer ruleType; /** * 部门Id列表(逗号分隔)。 */ + @ApiModelProperty(value = "部门Id列表") private String deptIdListString; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 数据权限与部门关联对象列表。 */ + @ApiModelProperty(value = "数据权限与部门关联对象列表") private List> dataPermDeptList; } \ No newline at end of file diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptPostVo.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptPostVo.java index 79216d81..208949fe 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptPostVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptPostVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,26 +10,31 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("部门岗位VO") @Data public class SysDeptPostVo { /** * 部门岗位Id。 */ + @ApiModelProperty(value = "部门岗位Id") private Long deptPostId; /** * 部门Id。 */ + @ApiModelProperty(value = "部门Id") private Long deptId; /** * 岗位Id。 */ + @ApiModelProperty(value = "岗位Id") private Long postId; /** * 部门岗位显示名称。 */ + @ApiModelProperty(value = "部门岗位显示名称") private String postShowName; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptVo.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptVo.java index 126492b4..34a2b9cf 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,46 +12,55 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("SysDeptVO视图对象") @Data public class SysDeptVo { /** * 部门Id。 */ + @ApiModelProperty(value = "部门Id") private Long deptId; /** * 部门名称。 */ + @ApiModelProperty(value = "部门名称") private String deptName; /** * 显示顺序。 */ + @ApiModelProperty(value = "显示顺序") private Integer showOrder; /** * 父部门Id。 */ + @ApiModelProperty(value = "父部门Id") private Long parentId; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysMenuVo.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysMenuVo.java index 7841d31b..3919fc22 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysMenuVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysMenuVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.*; @@ -10,81 +12,97 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("菜单VO") @Data public class SysMenuVo { /** * 菜单Id。 */ + @ApiModelProperty(value = "菜单Id") private Long menuId; /** * 父菜单Id,目录菜单的父菜单为null */ + @ApiModelProperty(value = "父菜单Id") private Long parentId; /** * 菜单显示名称。 */ + @ApiModelProperty(value = "菜单显示名称") private String menuName; /** * 菜单类型 (0: 目录 1: 菜单 2: 按钮 3: UI片段)。 */ + @ApiModelProperty(value = "菜单类型") private Integer menuType; /** * 前端表单路由名称,仅用于menu_type为1的菜单类型。 */ + @ApiModelProperty(value = "前端表单路由名称") private String formRouterName; /** * 在线表单主键Id,仅用于在线表单绑定的菜单。 */ + @ApiModelProperty(value = "在线表单主键Id") private Long onlineFormId; /** * 在线表单菜单的权限控制类型,具体值可参考SysOnlineMenuPermType常量对象。 */ + @ApiModelProperty(value = "在线表单菜单的权限控制类型") private Integer onlineMenuPermType; /** * 仅用于在线表单的流程Id。 */ + @ApiModelProperty(value = "仅用于在线表单的流程Id") private Long onlineFlowEntryId; /** * 菜单显示顺序 (值越小,排序越靠前)。 */ + @ApiModelProperty(value = "菜单显示顺序") private Integer showOrder; /** * 菜单图标。 */ + @ApiModelProperty(value = "菜单显示顺序") private String icon; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 菜单与权限字关联对象列表。 */ + @ApiModelProperty(value = "菜单与权限字关联对象列表") private List> sysMenuPermCodeList; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermCodeVo.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermCodeVo.java index 758d1435..bde57320 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermCodeVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermCodeVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.*; @@ -10,61 +12,73 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("权限字VO") @Data public class SysPermCodeVo { /** * 权限字Id。 */ + @ApiModelProperty(value = "权限字Id") private Long permCodeId; /** * 权限字标识(一般为有含义的英文字符串)。 */ + @ApiModelProperty(value = "权限字标识") private String permCode; /** * 上级权限字Id。 */ + @ApiModelProperty(value = "上级权限字Id") private Long parentId; /** * 权限字类型(0: 表单 1: UI片段 2: 操作)。 */ + @ApiModelProperty(value = "权限字类型") private Integer permCodeType; /** * 显示名称。 */ + @ApiModelProperty(value = "显示名称") private String showName; /** * 显示顺序(数值越小,越靠前)。 */ + @ApiModelProperty(value = "显示顺序") private Integer showOrder; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 权限字与权限资源关联对象列表。 */ + @ApiModelProperty(value = "权限字与权限资源关联对象列表") private List> sysPermCodePermList; } \ No newline at end of file diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermModuleVo.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermModuleVo.java index f51885b6..8176124e 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermModuleVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermModuleVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.*; @@ -10,56 +12,67 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("权限资源模块VO") @Data public class SysPermModuleVo { /** * 权限模块Id。 */ + @ApiModelProperty(value = "权限模块Id") private Long moduleId; /** * 权限模块名称。 */ + @ApiModelProperty(value = "权限模块名称") private String moduleName; /** * 上级权限模块Id。 */ + @ApiModelProperty(value = "上级权限模块Id") private Long parentId; /** * 权限模块类型(0: 普通模块 1: Controller模块)。 */ + @ApiModelProperty(value = "权限模块类型") private Integer moduleType; /** * 权限模块在当前层级下的顺序,由小到大。 */ + @ApiModelProperty(value = "显示顺序") private Integer showOrder; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 权限资源对象列表。 */ + @ApiModelProperty(value = "权限资源对象列表") private List sysPermList; } \ No newline at end of file diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermVo.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermVo.java index fab9a839..04deb5df 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.*; @@ -10,61 +12,73 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("权限资源VO") @Data public class SysPermVo { /** * 权限资源Id。 */ + @ApiModelProperty(value = "权限资源Id") private Long permId; /** * 权限资源名称。 */ + @ApiModelProperty(value = "权限资源名称") private String permName; /** * shiro格式的权限字,如(upms:sysUser:add)。 */ + @ApiModelProperty(value = "权限字") private String permCode; /** * 权限所在的权限模块Id。 */ + @ApiModelProperty(value = "权限所在的权限模块Id") private Long moduleId; /** * 关联的URL。 */ + @ApiModelProperty(value = "关联的URL") private String url; /** * 权限在当前模块下的顺序,由小到大。 */ + @ApiModelProperty(value = "显示顺序") private Integer showOrder; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 模块Id的字典关联数据。 */ + @ApiModelProperty(value = "模块Id的字典关联数据") private Map moduleIdDictMap; } \ No newline at end of file diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPostVo.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPostVo.java index dacc6ee0..32e36d75 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPostVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPostVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -11,51 +13,61 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("岗位VO") @Data public class SysPostVo { /** * 岗位Id。 */ + @ApiModelProperty(value = "岗位Id") private Long postId; /** * 岗位名称。 */ + @ApiModelProperty(value = "岗位名称") private String postName; /** * 岗位层级,数值越小级别越高。 */ + @ApiModelProperty(value = "岗位层级,数值越小级别越高") private Integer level; /** * 是否领导岗位。 */ + @ApiModelProperty(value = "是否领导岗位") private Boolean leaderPost; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * postId 的多对多关联表数据对象,数据对应类型为SysDeptPostVo。 */ + @ApiModelProperty(value = "postId 的多对多关联表数据对象") private Map sysDeptPost; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysRoleVo.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysRoleVo.java index 9d6fd44a..634f4702 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysRoleVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysRoleVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.*; @@ -10,41 +12,49 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("角色VO") @Data public class SysRoleVo { /** * 角色Id。 */ + @ApiModelProperty(value = "角色Id") private Long roleId; /** * 角色名称。 */ + @ApiModelProperty(value = "角色名称") private String roleName; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 角色与菜单关联对象列表。 */ + @ApiModelProperty(value = "角色与菜单关联对象列表") private List> sysRoleMenuList; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysUserVo.java b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysUserVo.java index 14b4c281..085efdad 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysUserVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysUserVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -12,91 +14,109 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@ApiModel("SysUserVO视图对象") @Data public class SysUserVo { /** * 用户Id。 */ + @ApiModelProperty(value = "用户Id") private Long userId; /** * 登录用户名。 */ + @ApiModelProperty(value = "登录用户名") private String loginName; /** * 用户显示名称。 */ + @ApiModelProperty(value = "用户显示名称") private String showName; /** * 用户部门Id。 */ + @ApiModelProperty(value = "用户部门Id") private Long deptId; /** * 用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)。 */ + @ApiModelProperty(value = "用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)") private Integer userType; /** * 用户头像的Url。 */ + @ApiModelProperty(value = "用户头像的Url") private String headImageUrl; /** * 用户状态(0: 正常 1: 锁定)。 */ + @ApiModelProperty(value = "用户状态(0: 正常 1: 锁定)") private Integer userStatus; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 多对多用户岗位数据集合。 */ + @ApiModelProperty(value = "多对多用户岗位数据集合") private List> sysUserPostList; /** * 多对多用户角色数据集合。 */ + @ApiModelProperty(value = "多对多用户角色数据集合") private List> sysUserRoleList; /** * 多对多用户数据权限数据集合。 */ + @ApiModelProperty(value = "多对多用户数据权限数据集合") private List> sysDataPermUserList; /** * deptId 字典关联数据。 */ + @ApiModelProperty(value = "deptId 字典关联数据") private Map deptIdDictMap; /** * userType 常量字典关联数据。 */ + @ApiModelProperty(value = "userType 常量字典关联数据") private Map userTypeDictMap; /** * userStatus 常量字典关联数据。 */ + @ApiModelProperty(value = "userStatus 常量字典关联数据") private Map userStatusDictMap; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/resources/application.yml b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/resources/application.yml index 3aad201d..22d2283f 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/resources/application.yml +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/resources/application.yml @@ -127,6 +127,17 @@ common-flow: # 请慎重修改urlPrefix的缺省配置,注意不要以反斜杠(/)结尾。如必须修改其他路径,请同步修改数据库脚本。 urlPrefix: /admin/flow +swagger: + # 当enabled为false的时候,则可禁用swagger。 + enabled: true + # 工程的基础包名。 + basePackage: com.orangeforms + # 工程服务的基础包名。 + serviceBasePackage: com.orangeforms.webadmin + title: 橙单单体服务工程 + description: 橙单单体服务工程详情 + version: 1.0 + datafilter: tenant: # 对于单体服务,该值始终为false。 @@ -167,7 +178,7 @@ spring: type: com.alibaba.druid.pool.DruidDataSource druid: main: - url: jdbc:mysql://localhost:3306/zzdemo-online-activiti?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai + url: jdbc:mysql://localhost:3306/zzdemo-online?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver diff --git a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/resources/log4j2.xml b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/resources/log4j2.xml index 6a639436..a6c83cf2 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/resources/log4j2.xml +++ b/orange-demo-activiti/orange-demo-activiti-service/application-webadmin/src/main/resources/log4j2.xml @@ -53,6 +53,9 @@ + + + diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyModelUtil.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyModelUtil.java index 06154f33..d6c692ac 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyModelUtil.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyModelUtil.java @@ -2,12 +2,14 @@ package com.orangeforms.common.core.util; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ReflectUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.annotation.*; import com.orangeforms.common.core.exception.InvalidDataFieldException; import com.orangeforms.common.core.annotation.*; import com.orangeforms.common.core.exception.MyRuntimeException; import com.orangeforms.common.core.object.TokenData; import com.orangeforms.common.core.object.Tuple2; +import com.orangeforms.common.core.upload.UploadResponseInfo; import com.orangeforms.common.core.upload.UploadStoreInfo; import com.google.common.base.CaseFormat; import lombok.extern.slf4j.Slf4j; @@ -707,6 +709,46 @@ public class MyModelUtil { ReflectUtil.setFieldValue(data, fieldName, defaultValue); } } + + /** + * 获取当前数据对象中,所有上传文件字段的数据,并将上传后的文件名存到集合中并返回。 + * + * @param data 数据对象。 + * @param clazz 数据对象的Class类型。 + * @param 数据对象类型。 + * @return 当前数据对象中,所有上传文件字段中,文件名属性的集合。 + */ + public static Set extractDownloadFileName(M data, Class clazz) { + Set resultSet = new HashSet<>(); + Field[] fields = ReflectUtil.getFields(clazz); + for (Field field : fields) { + if (field.isAnnotationPresent(UploadFlagColumn.class)) { + String v = (String) ReflectUtil.getFieldValue(data, field); + List fileInfoList = JSON.parseArray(v, UploadResponseInfo.class); + if (CollectionUtils.isNotEmpty(fileInfoList)) { + fileInfoList.forEach(fileInfo -> resultSet.add(fileInfo.getFilename())); + } + } + } + return resultSet; + } + + /** + * 获取当前数据对象列表中,所有上传文件字段的数据,并将上传后的文件名存到集合中并返回。 + * + * @param dataList 数据对象。 + * @param clazz 数据对象的Class类型。 + * @param 数据对象类型。 + * @return 当前数据对象中,所有上传文件字段中,文件名属性的集合。 + */ + public static Set extractDownloadFileName(List dataList, Class clazz) { + if (CollectionUtils.isEmpty(dataList)) { + return null; + } + Set resultSet = new HashSet<>(); + dataList.forEach(data -> resultSet.addAll(extractDownloadFileName(data, clazz))); + return resultSet; + } /** * 私有构造函数,明确标识该常量类的作用。 diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/MybatisDataFilterInterceptor.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/MybatisDataFilterInterceptor.java index bc0ce3ee..1c8c5415 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/MybatisDataFilterInterceptor.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/MybatisDataFilterInterceptor.java @@ -276,10 +276,11 @@ public class MybatisDataFilterInterceptor implements Interceptor { return; } String dataPermSessionKey = RedisKeyUtil.makeSessionDataPermIdKey(tokenData.getSessionId()); - String dataPermData = redissonClient.getBucket(dataPermSessionKey).get().toString(); - if (StringUtils.isBlank(dataPermData)) { + Object cachedData = redissonClient.getBucket(dataPermSessionKey).get(); + if (cachedData == null) { throw new NoDataPermException("No Related DataPerm found for SQL_ID [ " + sqlId + " ]."); } + String dataPermData = cachedData.toString(); Map dataPermMap = new HashMap<>(8); for (Map.Entry entry : JSON.parseObject(dataPermData).entrySet()) { dataPermMap.put(Integer.valueOf(entry.getKey()), entry.getValue().toString()); diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow-online/pom.xml b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow-online/pom.xml index 28e1fb63..558a1eea 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow-online/pom.xml +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow-online/pom.xml @@ -25,6 +25,11 @@ common-online 1.0.0 + + com.orangeforms + common-swagger + 1.0.0 + diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow-online/src/main/java/com/orangeforms/common/flow/online/controller/FlowOnlineOperationController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow-online/src/main/java/com/orangeforms/common/flow/online/controller/FlowOnlineOperationController.java index c2d66dd9..074173d3 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow-online/src/main/java/com/orangeforms/common/flow/online/controller/FlowOnlineOperationController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow-online/src/main/java/com/orangeforms/common/flow/online/controller/FlowOnlineOperationController.java @@ -1,5 +1,6 @@ package com.orangeforms.common.flow.online.controller; +import io.swagger.annotations.Api; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; @@ -8,6 +9,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.page.PageMethod; +import com.orangeforms.common.core.annotation.DisableDataFilter; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.object.*; @@ -53,6 +55,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "在线标案流程操作接口") @Slf4j @RestController @RequestMapping("${common-flow.urlPrefix}/flowOnlineOperation") @@ -81,6 +84,7 @@ public class FlowOnlineOperationController { /** * 根据指定流程的主版本,发起一个流程实例,同时作为第一个任务节点的执行人,执行第一个用户任务。 + * 该接口无需数据权限过滤,因此用DisableDataFilter注解标注。如果当前系统没有支持数据权限过滤,该注解不会有任何影响。 * * @param processDefinitionKey 流程定义标识。 * @param flowTaskCommentDto 审批意见。 @@ -89,6 +93,7 @@ public class FlowOnlineOperationController { * @param slaveData 流程审批相关的多个从表数据。 * @return 应答结果对象。 */ + @DisableDataFilter @PostMapping("/startAndTakeUserTask/{processDefinitionKey}") public ResponseResult startAndTakeUserTask( @PathVariable("processDefinitionKey") String processDefinitionKey, @@ -156,6 +161,7 @@ public class FlowOnlineOperationController { /** * 提交流程的用户任务。 + * 该接口无需数据权限过滤,因此用DisableDataFilter注解标注。如果当前系统没有支持数据权限过滤,该注解不会有任何影响。 * * @param processInstanceId 流程实例Id。 * @param taskId 流程任务Id。 @@ -165,6 +171,7 @@ public class FlowOnlineOperationController { * @param slaveData 流程审批相关的多个从表数据。 * @return 应答结果对象。 */ + @DisableDataFilter @PostMapping("/submitUserTask") public ResponseResult submitUserTask( @MyRequestBody(required = true) String processInstanceId, @@ -217,11 +224,13 @@ public class FlowOnlineOperationController { /** * 获取当前流程实例的详情数据。包括主表数据、一对一从表数据、一对多从表数据列表等。 + * 该接口无需数据权限过滤,因此用DisableDataFilter注解标注。如果当前系统没有支持数据权限过滤,该注解不会有任何影响。 * * @param processInstanceId 当前运行时的流程实例Id。 * @param taskId 流程任务Id。 * @return 当前流程实例的详情数据。 */ + @DisableDataFilter @GetMapping("/viewUserTask") public ResponseResult viewUserTask(@RequestParam String processInstanceId, @RequestParam String taskId) { String errorMessage; @@ -254,11 +263,13 @@ public class FlowOnlineOperationController { /** * 获取已经结束的流程实例的详情数据。包括主表数据、一对一从表数据、一对多从表数据列表等。 + * 该接口无需数据权限过滤,因此用DisableDataFilter注解标注。如果当前系统没有支持数据权限过滤,该注解不会有任何影响。 * * @param processInstanceId 历史流程实例Id。 * @param taskId 历史任务Id。如果该值为null,仅有发起人可以查看当前流程数据,否则只有任务的指派人才能查看。 * @return 历史流程实例的详情数据。 */ + @DisableDataFilter @GetMapping("/viewHistoricProcessInstance") public ResponseResult viewHistoricProcessInstance( @RequestParam String processInstanceId, @RequestParam(required = false) String taskId) { @@ -333,6 +344,8 @@ public class FlowOnlineOperationController { List flowWorkOrderList = flowWorkOrderService.getFlowWorkOrderList(flowWorkOrderFilter, orderBy); MyPageData resultData = MyPageUtil.makeResponseData(flowWorkOrderList, FlowWorkOrder.INSTANCE); + // 工单自身的查询中可以受到数据权限的过滤,但是工单集成业务数据时,则无需再对业务数据进行数据权限过滤了。 + GlobalThreadLocal.setDataFilter(false); ResponseResult responseResult = this.makeWorkOrderTaskInfo(resultData.getDataList()); if (!responseResult.isSuccess()) { return ResponseResult.errorFrom(responseResult); @@ -382,6 +395,7 @@ public class FlowOnlineOperationController { * 越权访问限制说明: * taskId为空,当前用户必须为当前流程的发起人,否则必须为当前任务的指派人或候选人。 * relationId为空,下载数据为主表字段,否则为关联的从表字段。 + * 该接口无需数据权限过滤,因此用DisableDataFilter注解标注。如果当前系统没有支持数据权限过滤,该注解不会有任何影响。 * * @param processDefinitionKey 流程引擎流程定义标识。 * @param processInstanceId 流程实例Id。 @@ -393,6 +407,7 @@ public class FlowOnlineOperationController { * @param asImage 是否为图片文件。 * @param response Http 应答对象。 */ + @DisableDataFilter @GetMapping("/download") public void download( @RequestParam String processDefinitionKey, diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/pom.xml b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/pom.xml index 6eb51b76..7cabf1fc 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/pom.xml +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/pom.xml @@ -30,6 +30,11 @@ common-log 1.0.0 + + com.orangeforms + common-swagger + 1.0.0 + org.activiti activiti-spring-boot-starter diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowCategoryController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowCategoryController.java index 4ed37b6d..642a1de5 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowCategoryController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowCategoryController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import cn.jimmyshi.beanquery.BeanQuery; @@ -31,6 +33,7 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "工作流分类操作接口") @Slf4j @RestController @RequestMapping("${common-flow.urlPrefix}/flowCategory") @@ -47,6 +50,7 @@ public class FlowCategoryController { * @param flowCategoryDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"flowCategoryDto.categoryId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody FlowCategoryDto flowCategoryDto) { String errorMessage = MyCommonUtil.getModelValidationError(flowCategoryDto); diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryController.java index e697228c..69b93236 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; @@ -39,6 +41,7 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "工作流操作接口") @Slf4j @RestController @RequestMapping("${common-flow.urlPrefix}/flowEntry") @@ -59,6 +62,7 @@ public class FlowEntryController { * @param flowEntryDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"flowEntryDto.entryId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody FlowEntryDto flowEntryDto) { String errorMessage = MyCommonUtil.getModelValidationError(flowEntryDto); diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryVariableController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryVariableController.java index 66cbd3be..b515aa35 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryVariableController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryVariableController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.github.pagehelper.page.PageMethod; import com.orangeforms.common.flow.vo.*; import com.orangeforms.common.flow.dto.*; @@ -23,6 +25,7 @@ import javax.validation.groups.Default; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "工作流变量操作接口") @Slf4j @RestController @RequestMapping("${common-flow.urlPrefix}/flowEntryVariable") @@ -37,6 +40,7 @@ public class FlowEntryVariableController { * @param flowEntryVariableDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"flowEntryVariableDto.variableId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody FlowEntryVariableDto flowEntryVariableDto) { String errorMessage = MyCommonUtil.getModelValidationError(flowEntryVariableDto); diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowMessageController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowMessageController.java index 6c11db4c..fa4b8191 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowMessageController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowMessageController.java @@ -1,5 +1,6 @@ package com.orangeforms.common.flow.controller; +import io.swagger.annotations.Api; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.object.*; import com.orangeforms.common.core.util.MyPageUtil; @@ -19,6 +20,7 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "工作流消息操作接口") @Slf4j @RestController @RequestMapping("${common-flow.urlPrefix}/flowMessage") diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowOperationController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowOperationController.java index 727b34ec..d9fd93dd 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowOperationController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowOperationController.java @@ -1,11 +1,13 @@ package com.orangeforms.common.flow.controller; +import io.swagger.annotations.Api; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.orangeforms.common.core.annotation.DisableDataFilter; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.object.*; @@ -46,6 +48,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "通用流程操作接口") @Slf4j @RestController @RequestMapping("${common-flow.urlPrefix}/flowOperation") @@ -466,10 +469,14 @@ public class FlowOperationController { /** * 催办工单,只有流程发起人才可以催办工单。 + * 催办场景必须要取消数据权限过滤,因为流程的指派很可能是跨越部门的。 + * 既然被指派和催办了,这里就应该禁用工单表的数据权限过滤约束。 + * 如果您的系统没有支持数据权限过滤,DisableDataFilter不会有任何影响,建议保留。 * * @param workOrderId 工单Id。 * @return 应答结果。 */ + @DisableDataFilter @PostMapping("/remindRuntimeTask") public ResponseResult remindRuntimeTask(@MyRequestBody(required = true) Long workOrderId) { FlowWorkOrder flowWorkOrder = flowWorkOrderService.getById(workOrderId); @@ -496,6 +503,7 @@ public class FlowOperationController { * @param cancelReason 取消原因。 * @return 应答结果。 */ + @DisableDataFilter @PostMapping("/cancelWorkOrder") public ResponseResult cancelWorkOrder( @MyRequestBody(required = true) Long workOrderId, @@ -528,6 +536,7 @@ public class FlowOperationController { * @param stopReason 停止原因。 * @return 执行结果应答。 */ + @DisableDataFilter @PostMapping("/stopProcessInstance") public ResponseResult stopProcessInstance( @MyRequestBody(required = true) String processInstanceId, diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowMessageMapper.xml b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowMessageMapper.xml index 621618a3..b4a0e48a 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowMessageMapper.xml +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowMessageMapper.xml @@ -3,9 +3,9 @@ - - - + + + @@ -18,6 +18,7 @@ + diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowCategoryDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowCategoryDto.java index e65f631c..c0588dd5 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowCategoryDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowCategoryDto.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import com.orangeforms.common.core.validator.UpdateGroup; import lombok.Data; @@ -12,30 +14,35 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程分类的Dto对象") @Data public class FlowCategoryDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long categoryId; /** * 显示名称。 */ + @ApiModelProperty(value = "显示名称") @NotBlank(message = "数据验证失败,显示名称不能为空!") private String name; /** * 分类编码。 */ + @ApiModelProperty(value = "分类编码") @NotBlank(message = "数据验证失败,分类编码不能为空!") private String code; /** * 实现顺序。 */ + @ApiModelProperty(value = "实现顺序") @NotNull(message = "数据验证失败,实现顺序不能为空!") private Integer showOrder; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryDto.java index 32adb30e..292358ce 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryDto.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.flow.model.constant.FlowBindFormType; @@ -15,47 +17,55 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程的Dto对象") @Data public class FlowEntryDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键不能为空!", groups = {UpdateGroup.class}) private Long entryId; /** * 流程名称。 */ + @ApiModelProperty(value = "流程名称") @NotBlank(message = "数据验证失败,流程名称不能为空!") private String processDefinitionName; /** * 流程标识Key。 */ + @ApiModelProperty(value = "流程标识Key") @NotBlank(message = "数据验证失败,流程标识Key不能为空!") private String processDefinitionKey; /** * 流程分类。 */ + @ApiModelProperty(value = "流程分类") @NotNull(message = "数据验证失败,流程分类不能为空!") private Long categoryId; /** * 流程状态。 */ + @ApiModelProperty(value = "流程状态") @ConstDictRef(constDictClass = FlowEntryStatus.class, message = "数据验证失败,工作流状态为无效值!") private Integer status; /** * 流程定义的xml。 */ + @ApiModelProperty(value = "流程定义的xml") private String bpmnXml; /** * 绑定表单类型。 */ + @ApiModelProperty(value = "绑定表单类型") @ConstDictRef(constDictClass = FlowBindFormType.class, message = "数据验证失败,工作流绑定表单类型为无效值!") @NotNull(message = "数据验证失败,工作流绑定表单类型不能为空!") private Integer bindFormType; @@ -63,15 +73,18 @@ public class FlowEntryDto { /** * 在线表单的页面Id。 */ + @ApiModelProperty(value = "在线表单的页面Id") private Long pageId; /** * 在线表单Id。 */ + @ApiModelProperty(value = "在线表单Id") private Long defaultFormId; /** * 在线表单的缺省路由名称。 */ + @ApiModelProperty(value = "在线表单的缺省路由名称") private String defaultRouterName; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryVariableDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryVariableDto.java index 890aea29..b211d9bb 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryVariableDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryVariableDto.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.flow.model.constant.FlowVariableType; @@ -13,36 +15,42 @@ import javax.validation.constraints.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程变量Dto对象") @Data public class FlowEntryVariableDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long variableId; /** * 流程Id。 */ + @ApiModelProperty(value = "流程Id") @NotNull(message = "数据验证失败,流程Id不能为空!") private Long entryId; /** * 变量名。 */ + @ApiModelProperty(value = "变量名") @NotBlank(message = "数据验证失败,变量名不能为空!") private String variableName; /** * 显示名。 */ + @ApiModelProperty(value = "显示名") @NotBlank(message = "数据验证失败,显示名不能为空!") private String showName; /** * 流程变量类型。 */ + @ApiModelProperty(value = "流程变量类型") @ConstDictRef(constDictClass = FlowVariableType.class, message = "数据验证失败,流程变量类型为无效值!") @NotNull(message = "数据验证失败,流程变量类型不能为空!") private Integer variableType; @@ -50,21 +58,25 @@ public class FlowEntryVariableDto { /** * 绑定数据源Id。 */ + @ApiModelProperty(value = "绑定数据源Id") private Long bindDatasourceId; /** * 绑定数据源关联Id。 */ + @ApiModelProperty(value = "绑定数据源关联Id") private Long bindRelationId; /** * 绑定字段Id。 */ + @ApiModelProperty(value = "绑定字段Id") private Long bindColumnId; /** * 是否内置。 */ + @ApiModelProperty(value = "是否内置") @NotNull(message = "数据验证失败,是否内置不能为空!") private Boolean builtin; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowMessageDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowMessageDto.java index 357e3ec9..7d1cc68c 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowMessageDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowMessageDto.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,36 +10,43 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("工作流通知消息Dto对象") @Data public class FlowMessageDto { /** * 消息类型。 */ + @ApiModelProperty(value = "消息类型") private Integer messageType; /** * 工单Id。 */ + @ApiModelProperty(value = "工单Id") private Long workOrderId; /** * 流程名称。 */ + @ApiModelProperty(value = "流程名称") private String processDefinitionName; /** * 流程任务名称。 */ + @ApiModelProperty(value = "流程任务名称") private String taskName; /** * 更新时间范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "updateTime 范围过滤起始值") private String updateTimeStart; /** * 更新时间范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "updateTime 范围过滤结束值") private String updateTimeEnd; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowTaskCommentDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowTaskCommentDto.java index d7941c8a..9ab9a644 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowTaskCommentDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowTaskCommentDto.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -11,23 +13,27 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程任务的批注") @Data public class FlowTaskCommentDto { /** * 流程任务触发按钮类型,内置值可参考FlowTaskButton。 */ + @ApiModelProperty(value = "流程任务触发按钮类型") @NotNull(message = "数据验证失败,任务的审批类型不能为空!") private String approvalType; /** * 流程任务的批注内容。 */ + @ApiModelProperty(value = "流程任务的批注内容") @NotBlank(message = "数据验证失败,任务审批内容不能为空!") private String comment; /** * 委托指定人,比如加签、转办等。 */ + @ApiModelProperty(value = "委托指定人,比如加签、转办等") private String delegateAssginee; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowWorkOrderDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowWorkOrderDto.java index d74758f9..228f5588 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowWorkOrderDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowWorkOrderDto.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,21 +10,25 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("工作流工单Dto对象") @Data public class FlowWorkOrderDto { /** * 流程状态。参考FlowTaskStatus常量值对象。 */ + @ApiModelProperty(value = "流程状态") private Integer flowStatus; /** * createTime 范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "createTime 范围过滤起始值") private String createTimeStart; /** * createTime 范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "createTime 范围过滤结束值") private String createTimeEnd; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/model/FlowMessage.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/model/FlowMessage.java index 9931b000..c2ebe281 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/model/FlowMessage.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/model/FlowMessage.java @@ -117,6 +117,12 @@ public class FlowMessage { @TableField(value = "task_finished") private Boolean taskFinished; + /** + * 业务数据快照。 + */ + @TableField(value = "business_data_shot") + private String businessDataShot; + /** * 更新时间。 */ diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/service/impl/FlowApiServiceImpl.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/service/impl/FlowApiServiceImpl.java index 98d87150..66083b5c 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/service/impl/FlowApiServiceImpl.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/service/impl/FlowApiServiceImpl.java @@ -175,9 +175,9 @@ public class FlowApiServiceImpl implements FlowApiService { this.handleMultiInstanceApprovalType( task.getExecutionId(), flowTaskComment.getApprovalType(), taskVariableData); taskVariableData.put(FlowConstant.OPERATION_TYPE_VAR, flowTaskComment.getApprovalType()); - taskService.complete(task.getId(), taskVariableData, true); flowTaskComment.fillWith(task); flowTaskCommentService.saveNew(flowTaskComment); + taskService.complete(task.getId(), taskVariableData, true); } else { taskService.complete(task.getId(), taskVariableData, true); } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowCategoryVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowCategoryVo.java index 9e528bb5..80e18d00 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowCategoryVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowCategoryVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,46 +12,55 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程分类的Vo对象") @Data public class FlowCategoryVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long categoryId; /** * 显示名称。 */ + @ApiModelProperty(value = "显示名称") private String name; /** * 分类编码。 */ + @ApiModelProperty(value = "分类编码") private String code; /** * 实现顺序。 */ + @ApiModelProperty(value = "实现顺序") private Integer showOrder; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryPublishVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryPublishVo.java index 6c6d19d1..09500797 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryPublishVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryPublishVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,41 +12,49 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程发布信息的Vo对象") @Data public class FlowEntryPublishVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long entryPublishId; /** * 发布版本。 */ + @ApiModelProperty(value = "发布版本") private Integer publishVersion; /** * 流程引擎中的流程定义Id。 */ + @ApiModelProperty(value = "流程引擎中的流程定义Id") private String processDefinitionId; /** * 激活状态。 */ + @ApiModelProperty(value = "激活状态") private Boolean activeStatus; /** * 是否为主版本。 */ + @ApiModelProperty(value = "是否为主版本") private Boolean mainVersion; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 发布时间。 */ + @ApiModelProperty(value = "发布时间") private Date publishTime; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVariableVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVariableVo.java index 2be98838..8d262e19 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVariableVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVariableVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,56 +12,67 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程变量Vo对象") @Data public class FlowEntryVariableVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long variableId; /** * 流程Id。 */ + @ApiModelProperty(value = "流程Id") private Long entryId; /** * 变量名。 */ + @ApiModelProperty(value = "变量名") private String variableName; /** * 显示名。 */ + @ApiModelProperty(value = "显示名") private String showName; /** * 变量类型。 */ + @ApiModelProperty(value = "变量类型") private Integer variableType; /** * 绑定数据源Id。 */ + @ApiModelProperty(value = "绑定数据源Id") private Long bindDatasourceId; /** * 绑定数据源关联Id。 */ + @ApiModelProperty(value = "绑定数据源关联Id") private Long bindRelationId; /** * 绑定字段Id。 */ + @ApiModelProperty(value = "绑定字段Id") private Long bindColumnId; /** * 是否内置。 */ + @ApiModelProperty(value = "是否内置") private Boolean builtin; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVo.java index 421b23cc..9077796c 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -12,101 +14,121 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程的Vo对象") @Data public class FlowEntryVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long entryId; /** * 流程名称。 */ + @ApiModelProperty(value = "流程名称") private String processDefinitionName; /** * 流程标识Key。 */ + @ApiModelProperty(value = "流程标识Key") private String processDefinitionKey; /** * 流程分类。 */ + @ApiModelProperty(value = "流程分类") private Long categoryId; /** * 工作流部署的发布主版本Id。 */ + @ApiModelProperty(value = "工作流部署的发布主版本Id") private Long mainEntryPublishId; /** * 最新发布时间。 */ + @ApiModelProperty(value = "最新发布时间") private Date lastestPublishTime; /** * 流程状态。 */ + @ApiModelProperty(value = "流程状态") private Integer status; /** * 流程定义的xml。 */ + @ApiModelProperty(value = "流程定义的xml") private String bpmnXml; /** * 绑定表单类型。 */ + @ApiModelProperty(value = "绑定表单类型") private Integer bindFormType; /** * 在线表单的页面Id。 */ + @ApiModelProperty(value = "在线表单的页面Id") private Long pageId; /** * 在线表单Id。 */ + @ApiModelProperty(value = "在线表单Id") private Long defaultFormId; /** * 在线表单的缺省路由名称。 */ + @ApiModelProperty(value = "在线表单的缺省路由名称") private String defaultRouterName; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * categoryId 的一对一关联数据对象,数据对应类型为FlowCategoryVo。 */ + @ApiModelProperty(value = "categoryId 的一对一关联数据对象") private Map flowCategory; /** * mainEntryPublishId 的一对一关联数据对象,数据对应类型为FlowEntryPublishVo。 */ + @ApiModelProperty(value = "mainEntryPublishId 的一对一关联数据对象") private Map mainFlowEntryPublish; /** * 关联的在线表单列表。 */ + @ApiModelProperty(value = "关联的在线表单列表") private List> formList; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowMessageVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowMessageVo.java index 184b9358..efc3ac47 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowMessageVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowMessageVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,101 +12,127 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("工作流通知消息Vo对象") @Data public class FlowMessageVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long messageId; /** * 消息类型。 */ + @ApiModelProperty(value = "消息类型") private Integer messageType; /** * 消息内容。 */ + @ApiModelProperty(value = "消息内容") private String messageContent; /** * 催办次数。 */ + @ApiModelProperty(value = "催办次数") private Integer remindCount; /** * 工单Id。 */ + @ApiModelProperty(value = "工单Id") private Long workOrderId; /** * 流程定义Id。 */ + @ApiModelProperty(value = "流程定义Id") private String processDefinitionId; /** * 流程定义标识。 */ + @ApiModelProperty(value = "流程定义标识") private String processDefinitionKey; /** * 流程名称。 */ + @ApiModelProperty(value = "流程名称") private String processDefinitionName; /** * 流程实例Id。 */ + @ApiModelProperty(value = "流程实例Id") private String processInstanceId; /** * 流程实例发起者。 */ + @ApiModelProperty(value = "流程实例发起者") private String processInstanceInitiator; /** * 流程任务Id。 */ + @ApiModelProperty(value = "流程任务Id") private String taskId; /** * 流程任务定义标识。 */ + @ApiModelProperty(value = "流程任务定义标识") private String taskDefinitionKey; /** * 流程任务名称。 */ + @ApiModelProperty(value = "流程任务名称") private String taskName; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date taskStartTime; + /** + * 业务数据快照。 + */ + @ApiModelProperty(value = "业务数据快照") + private String businessDataShot; + /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建者显示名。 */ + @ApiModelProperty(value = "创建者显示名") private String createUsername; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskCommentVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskCommentVo.java index f751142e..0969e2a5 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskCommentVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskCommentVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,61 +12,73 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("FlowTaskCommentVO对象") @Data public class FlowTaskCommentVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long id; /** * 流程实例Id。 */ + @ApiModelProperty(value = "流程实例Id") private String processInstanceId; /** * 任务Id。 */ + @ApiModelProperty(value = "任务Id") private String taskId; /** * 任务标识。 */ + @ApiModelProperty(value = "任务标识") private String taskKey; /** * 任务名称。 */ + @ApiModelProperty(value = "任务名称") private String taskName; /** * 审批类型。 */ + @ApiModelProperty(value = "审批类型") private String approvalType; /** * 批注内容。 */ + @ApiModelProperty(value = "批注内容") private String comment; /** * 委托指定人,比如加签、转办等。 */ + @ApiModelProperty(value = "委托指定人,比如加签、转办等") private String delegateAssginee; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建者显示名。 */ + @ApiModelProperty(value = "创建者显示名") private String createUsername; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskVo.java index 4357120c..8a7f1c6b 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,71 +12,85 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程任务Vo对象") @Data public class FlowTaskVo { /** * 流程任务Id。 */ + @ApiModelProperty(value = "流程任务Id") private String taskId; /** * 流程任务名称。 */ + @ApiModelProperty(value = "流程任务名称") private String taskName; /** * 流程任务标识。 */ + @ApiModelProperty(value = "流程任务标识") private String taskKey; /** * 任务的表单信息。 */ + @ApiModelProperty(value = "任务的表单信息") private String taskFormKey; /** * 流程Id。 */ + @ApiModelProperty(value = "流程Id") private Long entryId; /** * 流程定义Id。 */ + @ApiModelProperty(value = "流程定义Id") private String processDefinitionId; /** * 流程定义名称。 */ + @ApiModelProperty(value = "流程定义名称") private String processDefinitionName; /** * 流程定义标识。 */ + @ApiModelProperty(value = "流程定义标识") private String processDefinitionKey; /** * 流程定义版本。 */ + @ApiModelProperty(value = "流程定义版本") private Integer processDefinitionVersion; /** * 流程实例Id。 */ + @ApiModelProperty(value = "流程实例Id") private String processInstanceId; /** * 流程实例发起人。 */ + @ApiModelProperty(value = "流程实例发起人") private String processInstanceInitiator; /** * 流程实例创建时间。 */ + @ApiModelProperty(value = "流程实例创建时间") private Date processInstanceStartTime; /** * 流程实例主表业务数据主键。 */ + @ApiModelProperty(value = "流程实例主表业务数据主键") private String businessKey; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowWorkOrderVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowWorkOrderVo.java index 6428c78a..41ca9b5c 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowWorkOrderVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowWorkOrderVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import com.alibaba.fastjson.JSONArray; import lombok.Data; @@ -12,97 +14,116 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("工作流工单Vo对象") @Data public class FlowWorkOrderVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long workOrderId; /** * 流程定义标识。 */ + @ApiModelProperty(value = "流程定义标识") private String processDefinitionKey; /** * 流程名称。 */ + @ApiModelProperty(value = "流程名称") private String processDefinitionName; /** * 流程引擎的定义Id。 */ + @ApiModelProperty(value = "流程引擎的定义Id") private String processDefinitionId; /** * 流程实例Id。 */ + @ApiModelProperty(value = "流程实例Id") private String processInstanceId; /** * 在线表单的主表Id。 */ + @ApiModelProperty(value = "在线表单的主表Id") private Long onlineTableId; /** * 业务主键值。 */ + @ApiModelProperty(value = "业务主键值") private String businessKey; /** * 流程状态。参考FlowTaskStatus常量值对象。 */ + @ApiModelProperty(value = "流程状态") private Integer flowStatus; /** * 提交用户登录名称。 */ + @ApiModelProperty(value = "提交用户登录名称") private String submitUsername; /** * 提交用户所在部门Id。 */ + @ApiModelProperty(value = "提交用户所在部门Id") private Long deptId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * flowStatus 常量字典关联数据。 */ + @ApiModelProperty(value = "flowStatus 常量字典关联数据") private Map flowStatusDictMap; /** * FlowEntryPublish对象中的同名字段。 */ + @ApiModelProperty(value = "FlowEntryPublish对象中的同名字段") private String initTaskInfo; /** * 当前实例的运行时任务列表。 * 正常情况下只有一个,在并行网关下可能存在多个。 */ + @ApiModelProperty(value = "实例的运行时任务列表") private JSONArray runtimeTaskInfoList; /** * 业务主表数据。 */ + @ApiModelProperty(value = "业务主表数据") private Map masterData; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/TaskInfoVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/TaskInfoVo.java index a1665877..02eac4ab 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/TaskInfoVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/TaskInfoVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import com.alibaba.fastjson.JSONObject; import lombok.Data; @@ -11,57 +13,68 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程任务信息Vo对象") @Data public class TaskInfoVo { /** * 流程节点任务类型。具体值可参考FlowTaskType常量值。 */ + @ApiModelProperty(value = "流程节点任务类型") private Integer taskType; /** * 指定人。 */ + @ApiModelProperty(value = "指定人") private String assignee; /** * 任务标识。 */ + @ApiModelProperty(value = "任务标识") private String taskKey; /** * 是否分配给当前登录用户的标记。 * 当该值为true时,登录用户启动流程时,就自动完成了第一个用户任务。 */ + @ApiModelProperty(value = "是否分配给当前登录用户的标记") private Boolean assignedMe; /** * 动态表单Id。 */ + @ApiModelProperty(value = "动态表单Id") private Long formId; /** * 静态表单路由。 */ + @ApiModelProperty(value = "静态表单路由") private String routerName; /** * 候选组类型。 */ + @ApiModelProperty(value = "候选组类型") private String groupType; /** * 只读标记。 */ + @ApiModelProperty(value = "只读标记") private Boolean readOnly; /** * 前端所需的操作列表。 */ + @ApiModelProperty(value = "前端所需的操作列表") List operationList; /** * 任务节点的自定义变量列表。 */ + @ApiModelProperty(value = "任务节点的自定义变量列表") List variableList; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-log/src/main/java/com/orangeforms/common/log/aop/OperationLogAspect.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-log/src/main/java/com/orangeforms/common/log/aop/OperationLogAspect.java index 991f13ec..9e7a5bfb 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-log/src/main/java/com/orangeforms/common/log/aop/OperationLogAspect.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-log/src/main/java/com/orangeforms/common/log/aop/OperationLogAspect.java @@ -116,6 +116,10 @@ public class OperationLogAspect { if (saveOperationLog) { this.operationLogPostProcess(operationLogAnnotation, respData, operationLog, result); } + if (elapse > properties.getSlowLogMs()) { + log.warn("耗时较长的请求完成警告, url={},elapse={}ms reqData={} respData={}", + request.getRequestURI(), elapse, params, respData); + } log.info("请求完成, url={},elapse={}ms, respData={}", request.getRequestURI(), elapse, respData); } catch (Exception e) { if (saveOperationLog) { diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-log/src/main/java/com/orangeforms/common/log/config/OperationLogProperties.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-log/src/main/java/com/orangeforms/common/log/config/OperationLogProperties.java index 2267f3a7..9c76e20a 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-log/src/main/java/com/orangeforms/common/log/config/OperationLogProperties.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-log/src/main/java/com/orangeforms/common/log/config/OperationLogProperties.java @@ -17,4 +17,8 @@ public class OperationLogProperties { * 是否采集操作日志。 */ private boolean enabled = true; + /** + * 接口调用的毫秒数大于该值后,将输出慢日志警告。 + */ + private long slowLogMs = 50000; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/pom.xml b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/pom.xml index 10097b10..519dabcf 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/pom.xml +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/pom.xml @@ -20,6 +20,11 @@ common-online 1.0.0 + + com.orangeforms + common-swagger + 1.0.0 + diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineColumnController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineColumnController.java index 530b8c99..18a2252a 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineColumnController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineColumnController.java @@ -1,5 +1,6 @@ package com.orangeforms.common.online.api.controller; +import io.swagger.annotations.Api; import cn.hutool.core.collection.CollUtil; import cn.jimmyshi.beanquery.BeanQuery; import com.orangeforms.common.core.annotation.MyRequestBody; @@ -35,6 +36,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "字段数据操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineColumn") diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceController.java index 691c0730..35b1eea7 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.api.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import cn.hutool.core.collection.CollUtil; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; @@ -30,6 +32,7 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "数据模型操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineDatasource") @@ -53,6 +56,7 @@ public class OnlineDatasourceController { * @param pageId 关联的页面Id。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"onlineDatasourceDto.datasourceId"}) @PostMapping("/add") public ResponseResult add( @MyRequestBody OnlineDatasourceDto onlineDatasourceDto, diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceRelationController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceRelationController.java index 1e28acec..f53594e3 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceRelationController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceRelationController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.api.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import cn.hutool.core.collection.CollUtil; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; @@ -29,6 +31,7 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "数据源关联操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineDatasourceRelation") @@ -51,6 +54,7 @@ public class OnlineDatasourceRelationController { * @param onlineDatasourceRelationDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"onlineDatasourceRelationDto.relationId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody OnlineDatasourceRelationDto onlineDatasourceRelationDto) { String errorMessage = MyCommonUtil.getModelValidationError( diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDblinkController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDblinkController.java index cff4aa9c..30212289 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDblinkController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDblinkController.java @@ -1,5 +1,6 @@ package com.orangeforms.common.online.api.controller; +import io.swagger.annotations.Api; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.object.MyOrderParam; @@ -27,6 +28,7 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "数据库链接操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineDblink") diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDictController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDictController.java index 7731f3d0..5adf0aca 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDictController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDictController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.api.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.object.*; @@ -25,6 +27,7 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "在线表单字典操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineDict") @@ -39,6 +42,7 @@ public class OnlineDictController { * @param onlineDictDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"onlineDictDto.dictId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody OnlineDictDto onlineDictDto) { String errorMessage = MyCommonUtil.getModelValidationError(onlineDictDto); diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineFormController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineFormController.java index 5e953c77..d5245be1 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineFormController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineFormController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.api.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import cn.hutool.core.collection.CollUtil; import cn.hutool.json.JSONObject; import com.orangeforms.common.core.annotation.MyRequestBody; @@ -30,6 +32,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "在线表单操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineForm") @@ -58,6 +61,7 @@ public class OnlineFormController { * @param onlineFormDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"onlineFormDto.formId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody OnlineFormDto onlineFormDto) { String errorMessage = MyCommonUtil.getModelValidationError(onlineFormDto); diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlinePageController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlinePageController.java index e5c0433c..8fabcade 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlinePageController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlinePageController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.api.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.alibaba.fastjson.JSONObject; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; @@ -37,6 +39,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "在线表单页面操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlinePage") @@ -55,6 +58,7 @@ public class OnlinePageController { * @param onlinePageDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"onlinePageDto.pageId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody OnlinePageDto onlinePageDto) { String errorMessage = MyCommonUtil.getModelValidationError(onlinePageDto); diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineRuleController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineRuleController.java index e5202fe5..0e977f56 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineRuleController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineRuleController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.api.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.object.*; @@ -25,6 +27,7 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "验证规则操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineRule") @@ -39,6 +42,7 @@ public class OnlineRuleController { * @param onlineRuleDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"onlineRuleDto.ruleId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody OnlineRuleDto onlineRuleDto) { String errorMessage = MyCommonUtil.getModelValidationError(onlineRuleDto); diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineTableController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineTableController.java index 41b9cef6..4cebc6a0 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineTableController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineTableController.java @@ -1,5 +1,6 @@ package com.orangeforms.common.online.api.controller; +import io.swagger.annotations.Api; import cn.jimmyshi.beanquery.BeanQuery; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; @@ -27,6 +28,7 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "数据表操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineTable") diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineVirtualColumnController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineVirtualColumnController.java index b79cac32..db7609f6 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineVirtualColumnController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineVirtualColumnController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.api.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.github.pagehelper.page.PageMethod; import com.orangeforms.common.core.object.*; import com.orangeforms.common.core.util.*; @@ -24,6 +26,7 @@ import javax.validation.groups.Default; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "虚拟字段操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineVirtualColumn") @@ -38,6 +41,7 @@ public class OnlineVirtualColumnController { * @param onlineVirtualColumnDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"onlineVirtualColumnDto.virtualColumnId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody OnlineVirtualColumnDto onlineVirtualColumnDto) { String errorMessage = MyCommonUtil.getModelValidationError(onlineVirtualColumnDto); diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/pom.xml b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/pom.xml index 92f4fc9c..0896a3ee 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/pom.xml +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/pom.xml @@ -40,6 +40,11 @@ common-log 1.0.0 + + com.orangeforms + common-swagger + 1.0.0 + diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/controller/OnlineOperationController.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/controller/OnlineOperationController.java index 70b7ca75..e14548ac 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/controller/OnlineOperationController.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/controller/OnlineOperationController.java @@ -1,5 +1,6 @@ package com.orangeforms.common.online.controller; +import io.swagger.annotations.Api; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.CharUtil; import cn.hutool.core.util.StrUtil; @@ -36,6 +37,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "在线操作接口接口") @Slf4j @RestController @ConditionalOnProperty(name = "common-online.operationEnabled", havingValue = "true") diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnDto.java index bf3818a2..1af47717 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnDto.java @@ -4,6 +4,8 @@ import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.online.model.constant.FieldFilterType; import com.orangeforms.common.online.model.constant.FieldKind; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -15,88 +17,103 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表字段Dto对象") @Data public class OnlineColumnDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long columnId; /** * 字段名。 */ + @ApiModelProperty(value = "字段名") @NotBlank(message = "数据验证失败,字段名不能为空!") private String columnName; /** * 数据表Id。 */ + @ApiModelProperty(value = "数据表Id") @NotNull(message = "数据验证失败,数据表Id不能为空!") private Long tableId; /** * 数据表中的字段类型。 */ + @ApiModelProperty(value = "数据表中的字段类型") @NotBlank(message = "数据验证失败,数据表中的字段类型不能为空!") private String columnType; /** * 数据表中的完整字段类型(包括了精度和刻度)。 */ + @ApiModelProperty(value = "数据表中的完整字段类型") @NotBlank(message = "数据验证失败,数据表中的完整字段类型(包括了精度和刻度)不能为空!") private String fullColumnType; /** * 是否为主键。 */ + @ApiModelProperty(value = "是否为主键") @NotNull(message = "数据验证失败,是否为主键不能为空!") private Boolean primaryKey; /** * 是否是自增主键(0: 不是 1: 是)。 */ + @ApiModelProperty(value = "是否是自增主键") @NotNull(message = "数据验证失败,是否是自增主键(0: 不是 1: 是)不能为空!") private Boolean autoIncrement; /** * 是否可以为空 (0: 不可以为空 1: 可以为空)。 */ + @ApiModelProperty(value = "是否可以为空") @NotNull(message = "数据验证失败,是否可以为空 (0: 不可以为空 1: 可以为空)不能为空!") private Boolean nullable; /** * 缺省值。 */ + @ApiModelProperty(value = "缺省值") private String columnDefault; /** * 字段在数据表中的显示位置。 */ + @ApiModelProperty(value = "字段在数据表中的显示位置") @NotNull(message = "数据验证失败,字段在数据表中的显示位置不能为空!") private Integer columnShowOrder; /** * 数据表中的字段注释。 */ + @ApiModelProperty(value = "数据表中的字段注释") private String columnComment; /** * 对象映射字段名称。 */ + @ApiModelProperty(value = "对象映射字段名称") @NotBlank(message = "数据验证失败,对象映射字段名称不能为空!") private String objectFieldName; /** * 对象映射字段类型。 */ + @ApiModelProperty(value = "对象映射字段类型") @NotBlank(message = "数据验证失败,对象映射字段类型不能为空!") private String objectFieldType; /** * 过滤类型字段。 */ + @ApiModelProperty(value = "过滤类型字段") @NotNull(message = "数据验证失败,过滤类型字段不能为空!", groups = {UpdateGroup.class}) @ConstDictRef(constDictClass = FieldFilterType.class, message = "数据验证失败,过滤类型字段为无效值!") private Integer filterType; @@ -104,34 +121,40 @@ public class OnlineColumnDto { /** * 是否是主键的父Id。 */ + @ApiModelProperty(value = "是否是主键的父Id") @NotNull(message = "数据验证失败,是否是主键的父Id不能为空!") private Boolean parentKey; /** * 是否部门过滤字段。 */ + @ApiModelProperty(value = "是否部门过滤字段") @NotNull(message = "数据验证失败,是否部门过滤字段标记不能为空!") private Boolean deptFilter; /** * 是否用户过滤字段。 */ + @ApiModelProperty(value = "是否用户过滤字段") @NotNull(message = "数据验证失败,是否用户过滤字段标记不能为空!") private Boolean userFilter; /** * 字段类别。 */ + @ApiModelProperty(value = "字段类别") @ConstDictRef(constDictClass = FieldKind.class, message = "数据验证失败,字段类别为无效值!") private Integer fieldKind; /** * 包含的文件文件数量,0表示无限制。 */ + @ApiModelProperty(value = "包含的文件文件数量,0表示无限制") private Integer maxFileCount; /** * 字典Id。 */ + @ApiModelProperty(value = "字典Id") private Long dictId; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnRuleDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnRuleDto.java index 4840b3f9..6f7395bf 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnRuleDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnRuleDto.java @@ -1,6 +1,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; @@ -11,23 +13,27 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表字段规则和字段多对多关联Dto对象") @Data public class OnlineColumnRuleDto { /** * 字段Id。 */ + @ApiModelProperty(value = "字段Id") @NotNull(message = "数据验证失败,字段Id不能为空!", groups = {UpdateGroup.class}) private Long columnId; /** * 规则Id。 */ + @ApiModelProperty(value = "规则Id") @NotNull(message = "数据验证失败,规则Id不能为空!", groups = {UpdateGroup.class}) private Long ruleId; /** * 规则属性数据。 */ + @ApiModelProperty(value = "规则属性数据") private String propDataJson; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceDto.java index bff150f5..6b753f9e 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceDto.java @@ -2,6 +2,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.validator.AddGroup; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -13,42 +15,49 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单的数据源Dto对象") @Data public class OnlineDatasourceDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long datasourceId; /** * 数据源名称。 */ + @ApiModelProperty(value = "数据源名称") @NotBlank(message = "数据验证失败,数据源名称不能为空!") private String datasourceName; /** * 数据源变量名,会成为数据访问url的一部分。 */ + @ApiModelProperty(value = "数据源变量名,会成为数据访问url的一部分") @NotBlank(message = "数据验证失败,数据源变量名不能为空!") private String variableName; /** * 主表所在的数据库链接Id。 */ + @ApiModelProperty(value = "主表所在的数据库链接Id") @NotNull(message = "数据验证失败,数据库链接Id不能为空!") private Long dblinkId; /** * 主表Id。 */ + @ApiModelProperty(value = "主表Id") @NotNull(message = "数据验证失败,主表Id不能为空!", groups = {UpdateGroup.class}) private Long masterTableId; /** * 主表表名。 */ + @ApiModelProperty(value = "主表表名") @NotBlank(message = "数据验证失败,主表名不能为空!", groups = {AddGroup.class}) private String masterTableName; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceRelationDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceRelationDto.java index d7e02966..5907a1e7 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceRelationDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceRelationDto.java @@ -4,6 +4,8 @@ import com.orangeforms.common.core.validator.AddGroup; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.online.model.constant.RelationType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -15,36 +17,42 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单的数据源关联Dto对象") @Data public class OnlineDatasourceRelationDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long relationId; /** * 关联名称。 */ + @ApiModelProperty(value = "关联名称") @NotBlank(message = "数据验证失败,关联名称不能为空!") private String relationName; /** * 变量名。 */ + @ApiModelProperty(value = "变量名") @NotBlank(message = "数据验证失败,变量名不能为空!") private String variableName; /** * 主数据源Id。 */ + @ApiModelProperty(value = "主数据源Id") @NotNull(message = "数据验证失败,主数据源Id不能为空!") private Long datasourceId; /** * 关联类型。 */ + @ApiModelProperty(value = "关联类型") @NotNull(message = "数据验证失败,关联类型不能为空!") @ConstDictRef(constDictClass = RelationType.class, message = "数据验证失败,关联类型为无效值!") private Integer relationType; @@ -52,42 +60,49 @@ public class OnlineDatasourceRelationDto { /** * 主表关联字段Id。 */ + @ApiModelProperty(value = "主表关联字段Id") @NotNull(message = "数据验证失败,主表关联字段Id不能为空!") private Long masterColumnId; /** * 从表Id。 */ + @ApiModelProperty(value = "从表Id") @NotNull(message = "数据验证失败,从表Id不能为空!", groups = {UpdateGroup.class}) private Long slaveTableId; /** * 从表名。 */ + @ApiModelProperty(value = "从表名") @NotBlank(message = "数据验证失败,从表名不能为空!", groups = {AddGroup.class}) private String slaveTableName; /** * 从表关联字段Id。 */ + @ApiModelProperty(value = "从表关联字段Id") @NotNull(message = "数据验证失败,从表关联字段Id不能为空!", groups = {UpdateGroup.class}) private Long slaveColumnId; /** * 从表字段名。 */ + @ApiModelProperty(value = "从表字段名") @NotBlank(message = "数据验证失败,从表字段名不能为空!", groups = {AddGroup.class}) private String slaveColumnName; /** * 是否级联删除标记。 */ + @ApiModelProperty(value = "是否级联删除标记") @NotNull(message = "数据验证失败,是否级联删除标记不能为空!") private Boolean cascadeDelete; /** * 是否左连接标记。 */ + @ApiModelProperty(value = "是否左连接标记") @NotNull(message = "数据验证失败,是否左连接标记不能为空!") private Boolean leftJoin; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDblinkDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDblinkDto.java index 60812cf5..636c3a1c 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDblinkDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDblinkDto.java @@ -1,6 +1,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -12,35 +14,41 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表所在数据库链接Dto对象") @Data public class OnlineDblinkDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long dblinkId; /** * 链接中文名称。 */ + @ApiModelProperty(value = "链接中文名称") @NotBlank(message = "数据验证失败,链接中文名称不能为空!") private String dblinkName; /** * 链接英文名称。 */ + @ApiModelProperty(value = "链接英文名称") @NotBlank(message = "数据验证失败,链接英文名称不能为空!") private String variableName; /** * 链接描述。 */ + @ApiModelProperty(value = "链接描述") private String dblinkDesc; /** * 数据源配置常量。 */ + @ApiModelProperty(value = "数据源配置常量") @NotNull(message = "数据验证失败,数据源配置常量不能为空!") private Integer dblinkConfigConstant; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDictDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDictDto.java index f4a476b4..977c538d 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDictDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDictDto.java @@ -3,6 +3,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.online.model.constant.DictType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -14,24 +16,28 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单关联的字典Dto对象") @Data public class OnlineDictDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long dictId; /** * 字典名称。 */ + @ApiModelProperty(value = "字典名称") @NotBlank(message = "数据验证失败,字典名称不能为空!") private String dictName; /** * 字典类型。 */ + @ApiModelProperty(value = "字典类型") @NotNull(message = "数据验证失败,字典类型不能为空!") @ConstDictRef(constDictClass = DictType.class, message = "数据验证失败,字典类型为无效值!") private Integer dictType; @@ -39,66 +45,79 @@ public class OnlineDictDto { /** * 数据库链接Id。 */ + @ApiModelProperty(value = "数据库链接Id") private Long dblinkId; /** * 字典表名称。 */ + @ApiModelProperty(value = "字典表名称") private String tableName; /** * 字典表键字段名称。 */ + @ApiModelProperty(value = "字典表键字段名称") private String keyColumnName; /** * 字典表父键字段名称。 */ + @ApiModelProperty(value = "字典表父键字段名称") private String parentKeyColumnName; /** * 字典值字段名称。 */ + @ApiModelProperty(value = "字典值字段名称") private String valueColumnName; /** * 逻辑删除字段。 */ + @ApiModelProperty(value = "逻辑删除字段") private String deletedColumnName; /** * 用户过滤滤字段名称。 */ + @ApiModelProperty(value = "用户过滤滤字段名称") private String userFilterColumnName; /** * 部门过滤字段名称。 */ + @ApiModelProperty(value = "部门过滤字段名称") private String deptFilterColumnName; /** * 租户过滤字段名称。 */ + @ApiModelProperty(value = "租户过滤字段名称") private String tenantFilterColumnName; /** * 是否树形标记。 */ + @ApiModelProperty(value = "是否树形标记") @NotNull(message = "数据验证失败,是否树形标记不能为空!") private Boolean treeFlag; /** * 获取字典数据的url。 */ + @ApiModelProperty(value = "获取字典数据的url") private String dictListUrl; /** * 根据主键id批量获取字典数据的url。 */ + @ApiModelProperty(value = "根据主键id批量获取字典数据的url") private String dictIdsUrl; /** * 字典的JSON数据。 */ + @ApiModelProperty(value = "字典的JSON数据") private String dictDataJson; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFilterDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFilterDto.java index 4e080f76..01f16026 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFilterDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFilterDto.java @@ -1,6 +1,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.online.model.constant.FieldFilterType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Set; @@ -11,41 +13,49 @@ import java.util.Set; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据过滤参数对象") @Data public class OnlineFilterDto { /** * 表名。 */ + @ApiModelProperty(value = "表名") private String tableName; /** * 过滤字段名。 */ + @ApiModelProperty(value = "过滤字段名") private String columnName; /** * 过滤值。 */ + @ApiModelProperty(value = "过滤值") private Object columnValue; /** * 范围比较的最小值。 */ + @ApiModelProperty(value = "范围比较的最小值") private Object columnValueStart; /** * 范围比较的最大值。 */ + @ApiModelProperty(value = "范围比较的最大值") private Object columnValueEnd; /** * 仅当操作符为IN的时候使用。 */ + @ApiModelProperty(value = "仅当操作符为IN的时候使用") private Set columnValueList; /** * 过滤类型,参考FieldFilterType常量对象。缺省值就是等于过滤了。 */ + @ApiModelProperty(value = "过滤类型") private Integer filterType = FieldFilterType.EQUAL_FILTER; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFormDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFormDto.java index 37b30230..2a938b2a 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFormDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFormDto.java @@ -4,6 +4,8 @@ import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.online.model.constant.FormKind; import com.orangeforms.common.online.model.constant.FormType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -16,35 +18,41 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单Dto对象") @Data public class OnlineFormDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long formId; /** * 页面id。 */ + @ApiModelProperty(value = "页面id") @NotNull(message = "数据验证失败,页面id不能为空!") private Long pageId; /** * 表单编码。 */ + @ApiModelProperty(value = "表单编码") private String formCode; /** * 表单名称。 */ + @ApiModelProperty(value = "表单名称") @NotBlank(message = "数据验证失败,表单名称不能为空!") private String formName; /** * 表单类别。 */ + @ApiModelProperty(value = "表单类别") @NotNull(message = "数据验证失败,表单类别不能为空!") @ConstDictRef(constDictClass = FormKind.class, message = "数据验证失败,表单类别为无效值!") private Integer formKind; @@ -52,6 +60,7 @@ public class OnlineFormDto { /** * 表单类型。 */ + @ApiModelProperty(value = "表单类型") @NotNull(message = "数据验证失败,表单类型不能为空!") @ConstDictRef(constDictClass = FormType.class, message = "数据验证失败,表单类型为无效值!") private Integer formType; @@ -59,21 +68,25 @@ public class OnlineFormDto { /** * 表单主表id。 */ + @ApiModelProperty(value = "表单主表id") @NotNull(message = "数据验证失败,表单主表id不能为空!") private Long masterTableId; /** * 当前表单关联的数据源Id集合。 */ + @ApiModelProperty(value = "当前表单关联的数据源Id集合") private List datasourceIdList; /** * 表单组件JSON。 */ + @ApiModelProperty(value = "表单组件JSON") private String widgetJson; /** * 表单参数JSON。 */ + @ApiModelProperty(value = "表单参数JSON") private String paramsJson; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDatasourceDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDatasourceDto.java index 4276052d..19427ff0 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDatasourceDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDatasourceDto.java @@ -1,6 +1,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; @@ -11,24 +13,28 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单页面和数据源多对多关联Dto对象") @Data public class OnlinePageDatasourceDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long id; /** * 页面主键Id。 */ + @ApiModelProperty(value = "页面主键Id") @NotNull(message = "数据验证失败,页面主键Id不能为空!") private Long pageId; /** * 数据源主键Id。 */ + @ApiModelProperty(value = "数据源主键Id") @NotNull(message = "数据验证失败,数据源主键Id不能为空!") private Long datasourceId; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDto.java index 7269b547..c9b5096c 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDto.java @@ -4,6 +4,8 @@ import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.online.model.constant.PageStatus; import com.orangeforms.common.online.model.constant.PageType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -15,29 +17,34 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单所在页面Dto对象") @Data public class OnlinePageDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long pageId; /** * 页面编码。 */ + @ApiModelProperty(value = "页面编码") private String pageCode; /** * 页面名称。 */ + @ApiModelProperty(value = "页面名称") @NotBlank(message = "数据验证失败,页面名称不能为空!") private String pageName; /** * 页面类型。 */ + @ApiModelProperty(value = "页面类型") @NotNull(message = "数据验证失败,页面类型不能为空!") @ConstDictRef(constDictClass = PageType.class, message = "数据验证失败,页面类型为无效值!") private Integer pageType; @@ -45,6 +52,7 @@ public class OnlinePageDto { /** * 页面编辑状态。 */ + @ApiModelProperty(value = "页面编辑状态") @NotNull(message = "数据验证失败,状态不能为空!") @ConstDictRef(constDictClass = PageStatus.class, message = "数据验证失败,状态为无效值!") private Integer status; diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineRuleDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineRuleDto.java index fbd12215..5c93c774 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineRuleDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineRuleDto.java @@ -3,6 +3,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.online.model.constant.RuleType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -14,24 +16,28 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表字段验证规则Dto对象") @Data public class OnlineRuleDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long ruleId; /** * 规则名称。 */ + @ApiModelProperty(value = "规则名称") @NotBlank(message = "数据验证失败,规则名称不能为空!") private String ruleName; /** * 规则类型。 */ + @ApiModelProperty(value = "规则类型") @NotNull(message = "数据验证失败,规则类型不能为空!") @ConstDictRef(constDictClass = RuleType.class, message = "数据验证失败,规则类型为无效值!") private Integer ruleType; @@ -39,11 +45,13 @@ public class OnlineRuleDto { /** * 内置规则标记。 */ + @ApiModelProperty(value = "内置规则标记") @NotNull(message = "数据验证失败,内置规则标记不能为空!") private Boolean builtin; /** * 自定义规则的正则表达式。 */ + @ApiModelProperty(value = "自定义规则的正则表达式") private String pattern; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineTableDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineTableDto.java index 62216166..277a62c0 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineTableDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineTableDto.java @@ -1,6 +1,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -12,30 +14,35 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单的数据表Dto对象") @Data public class OnlineTableDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long tableId; /** * 表名称。 */ + @ApiModelProperty(value = "表名称") @NotBlank(message = "数据验证失败,表名称不能为空!") private String tableName; /** * 实体名称。 */ + @ApiModelProperty(value = "实体名称") @NotBlank(message = "数据验证失败,实体名称不能为空!") private String modelName; /** * 数据库链接Id。 */ + @ApiModelProperty(value = "数据库链接Id") @NotNull(message = "数据验证失败,数据库链接Id不能为空!") private Long dblinkId; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineVirtualColumnDto.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineVirtualColumnDto.java index eadfd79e..98023759 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineVirtualColumnDto.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineVirtualColumnDto.java @@ -3,6 +3,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.constant.AggregationType; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import com.orangeforms.common.online.model.constant.VirtualType; import lombok.Data; @@ -15,41 +17,48 @@ import javax.validation.constraints.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线数据表虚拟字段Dto对象") @Data public class OnlineVirtualColumnDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long virtualColumnId; /** * 所在表Id。 */ + @ApiModelProperty(value = "所在表Id") private Long tableId; /** * 字段名称。 */ + @ApiModelProperty(value = "字段名称") @NotBlank(message = "数据验证失败,字段名称不能为空!") private String objectFieldName; /** * 属性类型。 */ + @ApiModelProperty(value = "属性类型") @NotBlank(message = "数据验证失败,属性类型不能为空!") private String objectFieldType; /** * 字段提示名。 */ + @ApiModelProperty(value = "字段提示名") @NotBlank(message = "数据验证失败,字段提示名不能为空!") private String columnPrompt; /** * 虚拟字段类型(0: 聚合)。 */ + @ApiModelProperty(value = "虚拟字段类型(0: 聚合)") @ConstDictRef(constDictClass = VirtualType.class, message = "数据验证失败,虚拟字段类型为无效值!") @NotNull(message = "数据验证失败,虚拟字段类型(0: 聚合)不能为空!") private Integer virtualType; @@ -57,32 +66,38 @@ public class OnlineVirtualColumnDto { /** * 关联数据源Id。 */ + @ApiModelProperty(value = "关联数据源Id") @NotNull(message = "数据验证失败,关联数据源Id不能为空!") private Long datasourceId; /** * 关联Id。 */ + @ApiModelProperty(value = "关联Id") private Long relationId; /** * 聚合字段所在关联表Id。 */ + @ApiModelProperty(value = "聚合字段所在关联表Id") private Long aggregationTableId; /** * 关联表聚合字段Id。 */ + @ApiModelProperty(value = "关联表聚合字段Id") private Long aggregationColumnId; /** * 聚合类型(0: sum 1: count 2: avg 3: min 4: max)。 */ + @ApiModelProperty(value = "聚合类型(0: sum 1: count 2: avg 3: min 4: max)") @ConstDictRef(constDictClass = AggregationType.class, message = "数据验证失败,虚拟字段聚合计算类型为无效值!") private Integer aggregationType; /** * 存储过滤条件的json。 */ + @ApiModelProperty(value = "存储过滤条件的json") private String whereClauseJson; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnRuleVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnRuleVo.java index e4d3a9df..6912fde4 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnRuleVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnRuleVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,21 +10,25 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表字段规则和字段多对多关联VO对象") @Data public class OnlineColumnRuleVo { /** * 字段Id。 */ + @ApiModelProperty(value = "字段Id") private Long columnId; /** * 规则Id。 */ + @ApiModelProperty(value = "规则Id") private Long ruleId; /** * 规则属性数据。 */ + @ApiModelProperty(value = "规则属性数据") private String propDataJson; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnVo.java index 41b3a63a..00bcb3b3 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -11,126 +13,151 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表字段规则和字段多对多关联VO对象") @Data public class OnlineColumnVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long columnId; /** * 字段名。 */ + @ApiModelProperty(value = "字段名") private String columnName; /** * 数据表Id。 */ + @ApiModelProperty(value = "数据表Id") private Long tableId; /** * 数据表中的字段类型。 */ + @ApiModelProperty(value = "数据表中的字段类型") private String columnType; /** * 数据表中的完整字段类型(包括了精度和刻度)。 */ + @ApiModelProperty(value = "数据表中的完整字段类型") private String fullColumnType; /** * 是否为主键。 */ + @ApiModelProperty(value = "是否为主键") private Boolean primaryKey; /** * 是否是自增主键(0: 不是 1: 是)。 */ + @ApiModelProperty(value = "是否是自增主键") private Boolean autoIncrement; /** * 是否可以为空 (0: 不可以为空 1: 可以为空)。 */ + @ApiModelProperty(value = "是否可以为空") private Boolean nullable; /** * 缺省值。 */ + @ApiModelProperty(value = "缺省值") private String columnDefault; /** * 字段在数据表中的显示位置。 */ + @ApiModelProperty(value = "字段在数据表中的显示位置") private Integer columnShowOrder; /** * 数据表中的字段注释。 */ + @ApiModelProperty(value = "数据表中的字段注释") private String columnComment; /** * 对象映射字段名称。 */ + @ApiModelProperty(value = "对象映射字段名称") private String objectFieldName; /** * 对象映射字段类型。 */ + @ApiModelProperty(value = "对象映射字段类型") private String objectFieldType; /** * 过滤类型。 */ + @ApiModelProperty(value = "过滤类型") private Integer filterType; /** * 是否是主键的父Id。 */ + @ApiModelProperty(value = "是否是主键的父Id") private Boolean parentKey; /** * 是否部门过滤字段。 */ + @ApiModelProperty(value = "是否部门过滤字段") private Boolean deptFilter; /** * 是否用户过滤字段。 */ + @ApiModelProperty(value = "是否用户过滤字段") private Boolean userFilter; /** * 字段类别。 */ + @ApiModelProperty(value = "字段类别") private Integer fieldKind; /** * 包含的文件文件数量,0表示无限制。 */ + @ApiModelProperty(value = "包含的文件文件数量,0表示无限制") private Integer maxFileCount; /** * 字典Id。 */ + @ApiModelProperty(value = "字典Id") private Long dictId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * fieldKind 常量字典关联数据。 */ + @ApiModelProperty(value = "常量字典关联数据") private Map fieldKindDictMap; /** * dictId 的一对一关联。 */ + @ApiModelProperty(value = "dictId 的一对一关联") private Map dictInfo; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceRelationVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceRelationVo.java index 9b555418..ed6ab481 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceRelationVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceRelationVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -11,101 +13,121 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单的数据源关联VO对象") @Data public class OnlineDatasourceRelationVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long relationId; /** * 关联名称。 */ + @ApiModelProperty(value = "关联名称") private String relationName; /** * 变量名。 */ + @ApiModelProperty(value = "变量名") private String variableName; /** * 主数据源Id。 */ + @ApiModelProperty(value = "主数据源Id") private Long datasourceId; /** * 关联类型。 */ + @ApiModelProperty(value = "关联类型") private Integer relationType; /** * 主表关联字段Id。 */ + @ApiModelProperty(value = "主表关联字段Id") private Long masterColumnId; /** * 从表Id。 */ + @ApiModelProperty(value = "从表Id") private Long slaveTableId; /** * 从表关联字段Id。 */ + @ApiModelProperty(value = "从表关联字段Id") private Long slaveColumnId; /** * 删除主表的时候是否级联删除一对一和一对多的从表数据,多对多只是删除关联,不受到这个标记的影响。。 */ + @ApiModelProperty(value = "一对多从表级联删除标记") private Boolean cascadeDelete; /** * 是否左连接。 */ + @ApiModelProperty(value = "是否左连接") private Boolean leftJoin; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * masterColumnId 的一对一关联数据对象,数据对应类型为OnlineColumnVo。 */ + @ApiModelProperty(value = "masterColumnId字段的一对一关联数据对象") private Map masterColumn; /** * slaveTableId 的一对一关联数据对象,数据对应类型为OnlineTableVo。 */ + @ApiModelProperty(value = "slaveTableId字段的一对一关联数据对象") private Map slaveTable; /** * slaveColumnId 的一对一关联数据对象,数据对应类型为OnlineColumnVo。 */ + @ApiModelProperty(value = "slaveColumnId字段的一对一关联数据对象") private Map slaveColumn; /** * masterColumnId 字典关联数据。 */ + @ApiModelProperty(value = "masterColumnId的字典关联数据") private Map masterColumnIdDictMap; /** * slaveTableId 字典关联数据。 */ + @ApiModelProperty(value = "slaveTableId的字典关联数据") private Map slaveTableIdDictMap; /** * slaveColumnId 字典关联数据。 */ + @ApiModelProperty(value = "slaveColumnId的字典关联数据") private Map slaveColumnIdDictMap; /** * relationType 常量字典关联数据。 */ + @ApiModelProperty(value = "常量字典关联数据") private Map relationTypeDictMap; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceVo.java index 263eb953..9792ab80 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -12,56 +14,67 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单的数据源VO对象") @Data public class OnlineDatasourceVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long datasourceId; /** * 数据源名称。 */ + @ApiModelProperty(value = "数据源名称") private String datasourceName; /** * 数据源变量名,会成为数据访问url的一部分。 */ + @ApiModelProperty(value = "数据源变量名") private String variableName; /** * 数据库链接Id。 */ + @ApiModelProperty(value = "数据库链接Id") private Long dblinkId; /** * 主表Id。 */ + @ApiModelProperty(value = "主表Id") private Long masterTableId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * datasourceId 的多对多关联表数据对象,数据对应类型为OnlinePageDatasourceVo。 */ + @ApiModelProperty(value = "datasourceId 的多对多关联表数据对象") private Map onlinePageDatasource; /** * masterTableId 字典关联数据。 */ + @ApiModelProperty(value = "masterTableId 字典关联数据") private Map masterTableIdDictMap; /** * 当前数据源及其关联,引用的数据表对象列表。 */ + @ApiModelProperty(value = "当前数据源及其关联,引用的数据表对象列表") private List tableList; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDblinkVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDblinkVo.java index 436ffa48..c965d981 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDblinkVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDblinkVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,36 +12,43 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表所在数据库链接VO对象") @Data public class OnlineDblinkVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long dblinkId; /** * 链接中文名称。 */ + @ApiModelProperty(value = "链接中文名称") private String dblinkName; /** * 链接英文名称。 */ + @ApiModelProperty(value = "链接英文名称") private String variableName; /** * 链接描述。 */ + @ApiModelProperty(value = "链接描述") private String dblinkDesc; /** * 数据源配置常量。 */ + @ApiModelProperty(value = "数据源配置常量") private Integer dblinkConfigConstant; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDictVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDictVo.java index f78674cf..3e5bf338 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDictVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDictVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -11,106 +13,127 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单关联的字典VO对象") @Data public class OnlineDictVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long dictId; /** * 字典名称。 */ + @ApiModelProperty(value = "字典名称") private String dictName; /** * 字典类型。 */ + @ApiModelProperty(value = "字典类型") private Integer dictType; /** * 数据库链接Id。 */ + @ApiModelProperty(value = "数据库链接Id") private Long dblinkId; /** * 字典表名称。 */ + @ApiModelProperty(value = "字典表名称") private String tableName; /** * 字典表键字段名称。 */ + @ApiModelProperty(value = "字典表键字段名称") private String keyColumnName; /** * 字典表父键字段名称。 */ + @ApiModelProperty(value = "字典表父键字段名称") private String parentKeyColumnName; /** * 字典值字段名称。 */ + @ApiModelProperty(value = "字典值字段名称") private String valueColumnName; /** * 逻辑删除字段。 */ + @ApiModelProperty(value = "逻辑删除字段") private String deletedColumnName; /** * 用户过滤滤字段名称。 */ + @ApiModelProperty(value = "用户过滤滤字段名称") private String userFilterColumnName; /** * 部门过滤字段名称。 */ + @ApiModelProperty(value = "部门过滤字段名称") private String deptFilterColumnName; /** * 租户过滤字段名称。 */ + @ApiModelProperty(value = "租户过滤字段名称") private String tenantFilterColumnName; /** * 是否树形标记。 */ + @ApiModelProperty(value = "是否树形标记") private Boolean treeFlag; /** * 获取字典数据的url。 */ + @ApiModelProperty(value = "获取字典数据的url") private String dictListUrl; /** * 根据主键id批量获取字典数据的url。 */ + @ApiModelProperty(value = "根据主键id批量获取字典数据的url") private String dictIdsUrl; /** * 字典的JSON数据。 */ + @ApiModelProperty(value = "字典的JSON数据") private String dictDataJson; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * dictType 常量字典关联数据。 */ + @ApiModelProperty(value = "dictType 常量字典关联数据") private Map dictTypeDictMap; /** * 数据库链接Id字典关联数据。 */ + @ApiModelProperty(value = "数据库链接Id字典关联数据") private Map dblinkIdDictMap; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineFormVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineFormVo.java index 2ec3a24c..6607eab9 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineFormVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineFormVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -12,81 +14,97 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单VO对象") @Data public class OnlineFormVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long formId; /** * 页面Id。 */ + @ApiModelProperty(value = "页面Id") private Long pageId; /** * 表单编码。 */ + @ApiModelProperty(value = "表单编码") private String formCode; /** * 表单名称。 */ + @ApiModelProperty(value = "表单名称") private String formName; /** * 表单类型。 */ + @ApiModelProperty(value = "表单类型") private Integer formType; /** * 表单类别。 */ + @ApiModelProperty(value = "表单类别") private Integer formKind; /** * 表单主表Id。 */ + @ApiModelProperty(value = "表单主表Id") private Long masterTableId; /** * 表单组件JSON。 */ + @ApiModelProperty(value = "表单组件JSON") private String widgetJson; /** * 表单参数JSON。 */ + @ApiModelProperty(value = "表单参数JSON") private String paramsJson; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * masterTableId 的一对一关联数据对象,数据对应类型为OnlineTableVo。 */ + @ApiModelProperty(value = "asterTableId 的一对一关联数据对象") private Map onlineTable; /** * masterTableId 字典关联数据。 */ + @ApiModelProperty(value = "masterTableId 字典关联数据") private Map masterTableIdDictMap; /** * formType 常量字典关联数据。 */ + @ApiModelProperty(value = "formType 常量字典关联数据") private Map formTypeDictMap; /** * 当前表单关联的数据源Id集合。 */ + @ApiModelProperty(value = "当前表单关联的数据源Id集合") private List datasourceIdList; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageDatasourceVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageDatasourceVo.java index 131c4ea3..3a6e4ca1 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageDatasourceVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageDatasourceVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,21 +10,25 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单页面和数据源多对多关联VO对象") @Data public class OnlinePageDatasourceVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long id; /** * 页面主键Id。 */ + @ApiModelProperty(value = "页面主键Id") private Long pageId; /** * 数据源主键Id。 */ + @ApiModelProperty(value = "数据源主键Id") private Long datasourceId; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageVo.java index 1c821859..cc7e1c52 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -11,56 +13,67 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单所在页面VO对象") @Data public class OnlinePageVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long pageId; /** * 页面编码。 */ + @ApiModelProperty(value = "页面编码") private String pageCode; /** * 页面名称。 */ + @ApiModelProperty(value = "页面名称") private String pageName; /** * 页面类型。 */ + @ApiModelProperty(value = "页面类型") private Integer pageType; /** * 页面编辑状态。 */ + @ApiModelProperty(value = "页面编辑状态") private Integer status; /** * 是否发布。 */ + @ApiModelProperty(value = "是否发布") private Boolean published; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * pageType 常量字典关联数据。 */ + @ApiModelProperty(value = "pageType 常量字典关联数据") private Map pageTypeDictMap; /** * status 常量字典关联数据。 */ + @ApiModelProperty(value = "status 常量字典关联数据") private Map statusDictMap; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineRuleVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineRuleVo.java index 80c92e40..b7182fba 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineRuleVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineRuleVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -11,51 +13,61 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表字段验证规则VO对象") @Data public class OnlineRuleVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long ruleId; /** * 规则名称。 */ + @ApiModelProperty(value = "规则名称") private String ruleName; /** * 规则类型。 */ + @ApiModelProperty(value = "规则类型") private Integer ruleType; /** * 内置规则标记。 */ + @ApiModelProperty(value = "内置规则标记") private Boolean builtin; /** * 自定义规则的正则表达式。 */ + @ApiModelProperty(value = "自定义规则的正则表达式") private String pattern; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * ruleId 的多对多关联表数据对象,数据对应类型为OnlineColumnRuleVo。 */ + @ApiModelProperty(value = "ruleId 的多对多关联表数据对象") private Map onlineColumnRule; /** * ruleType 常量字典关联数据。 */ + @ApiModelProperty(value = "ruleType 常量字典关联数据") private Map ruleTypeDictMap; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineTableVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineTableVo.java index f2f9f382..17565672 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineTableVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineTableVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,36 +12,43 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单的数据表VO对象") @Data public class OnlineTableVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long tableId; /** * 表名称。 */ + @ApiModelProperty(value = "表名称") private String tableName; /** * 实体名称。 */ + @ApiModelProperty(value = "实体名称") private String modelName; /** * 数据库链接Id。 */ + @ApiModelProperty(value = "数据库链接Id") private Long dblinkId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineVirtualColumnVo.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineVirtualColumnVo.java index 8d526904..437df5a6 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineVirtualColumnVo.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineVirtualColumnVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,66 +10,79 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线数据表虚拟字段VO对象") @Data public class OnlineVirtualColumnVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long virtualColumnId; /** * 所在表Id。 */ + @ApiModelProperty(value = "所在表Id") private Long tableId; /** * 字段名称。 */ + @ApiModelProperty(value = "字段名称") private String objectFieldName; /** * 属性类型。 */ + @ApiModelProperty(value = "属性类型") private String objectFieldType; /** * 字段提示名。 */ + @ApiModelProperty(value = "字段提示名") private String columnPrompt; /** * 虚拟字段类型(0: 聚合)。 */ + @ApiModelProperty(value = "虚拟字段类型(0: 聚合)") private Integer virtualType; /** * 关联数据源Id。 */ + @ApiModelProperty(value = "关联数据源Id") private Long datasourceId; /** * 关联Id。 */ + @ApiModelProperty(value = "关联Id") private Long relationId; /** * 聚合字段所在关联表Id。 */ + @ApiModelProperty(value = "聚合字段所在关联表Id") private Long aggregationTableId; /** * 关联表聚合字段Id。 */ + @ApiModelProperty(value = "关联表聚合字段Id") private Long aggregationColumnId; /** * 聚合类型(0: count 1: sum 2: avg 3: max 4:min)。 */ + @ApiModelProperty(value = "聚合类型(0: count 1: sum 2: avg 3: max 4:min)") private Integer aggregationType; /** * 存储过滤条件的json。 */ + @ApiModelProperty(value = "存储过滤条件的json") private String whereClauseJson; } diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/SessionCacheHelper.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/SessionCacheHelper.java index 23fc6a55..9636aa54 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/SessionCacheHelper.java +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/SessionCacheHelper.java @@ -1,5 +1,6 @@ package com.orangeforms.common.redis.cache; +import cn.hutool.core.collection.CollUtil; import com.orangeforms.common.core.object.TokenData; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.Cache; @@ -43,6 +44,28 @@ public class SessionCacheHelper { } } + /** + * 缓存当前Session可以下载的文件集合。 + * + * @param filenameSet 后台服务本地存储的文件名,而不是上传时的原始文件名。 + */ + public void putSessionDownloadableFileNameSet(Set filenameSet) { + if (CollUtil.isEmpty(filenameSet)) { + return; + } + Set sessionUploadFileSet = null; + Cache cache = cacheManager.getCache(RedissonCacheConfig.CacheEnum.UPLOAD_FILENAME_CACHE.name()); + Cache.ValueWrapper valueWrapper = cache.get(TokenData.takeFromRequest().getSessionId()); + if (valueWrapper != null) { + sessionUploadFileSet = (Set) valueWrapper.get(); + } + if (sessionUploadFileSet == null) { + sessionUploadFileSet = new HashSet<>(); + } + sessionUploadFileSet.addAll(filenameSet); + cache.put(TokenData.takeFromRequest().getSessionId(), sessionUploadFileSet); + } + /** * 判断参数中的文件名,是否有当前session上传。 * diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/pom.xml b/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/pom.xml new file mode 100644 index 00000000..c1e9bcde --- /dev/null +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/pom.xml @@ -0,0 +1,39 @@ + + + + common + com.orangeforms + 1.0.0 + + 4.0.0 + + common-swagger + 1.0.0 + common-swagger + jar + + + + com.github.xiaoymin + knife4j-spring-boot-starter + ${knife4j.version} + + + org.springframework.plugin + spring-plugin-core + + + org.springframework.plugin + spring-plugin-metadata + + + + + com.orangeforms + common-core + 1.0.0 + + + \ No newline at end of file diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerAutoConfiguration.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerAutoConfiguration.java new file mode 100644 index 00000000..39680503 --- /dev/null +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerAutoConfiguration.java @@ -0,0 +1,67 @@ +package com.orangeforms.common.swagger.config; + +import com.orangeforms.common.core.annotation.MyRequestBody; +import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; + +/** + * 自动加载bean的配置对象。 + * + * @author Jerry + * @date 2021-06-06 + */ +@EnableSwagger2WebMvc +@EnableKnife4j +@EnableConfigurationProperties(SwaggerProperties.class) +@ConditionalOnProperty(prefix = "swagger", name = "enabled") +public class SwaggerAutoConfiguration { + + @Bean + public Docket upmsDocket(SwaggerProperties properties) { + return new Docket(DocumentationType.SWAGGER_2) + .groupName("1. 用户权限分组接口") + .ignoredParameterTypes(MyRequestBody.class) + .apiInfo(apiInfo(properties)) + .select() + .apis(RequestHandlerSelectors.basePackage(properties.getServiceBasePackage() + ".upms.controller")) + .paths(PathSelectors.any()).build(); + } + + @Bean + public Docket bizDocket(SwaggerProperties properties) { + return new Docket(DocumentationType.SWAGGER_2) + .groupName("2. 业务应用分组接口") + .ignoredParameterTypes(MyRequestBody.class) + .apiInfo(apiInfo(properties)) + .select() + .apis(RequestHandlerSelectors.basePackage(properties.getServiceBasePackage() + ".app.controller")) + .paths(PathSelectors.any()).build(); + } + + @Bean + public Docket workflowDocket(SwaggerProperties properties) { + return new Docket(DocumentationType.SWAGGER_2) + .groupName("3. 工作流通用操作接口") + .ignoredParameterTypes(MyRequestBody.class) + .apiInfo(apiInfo(properties)) + .select() + .apis(RequestHandlerSelectors.basePackage(properties.getBasePackage() + ".common.flow.controller")) + .paths(PathSelectors.any()).build(); + } + + private ApiInfo apiInfo(SwaggerProperties properties) { + return new ApiInfoBuilder() + .title(properties.getTitle()) + .description(properties.getDescription()) + .version(properties.getVersion()).build(); + } +} diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerProperties.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerProperties.java new file mode 100644 index 00000000..e5e43aeb --- /dev/null +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerProperties.java @@ -0,0 +1,45 @@ +package com.orangeforms.common.swagger.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * 配置参数对象。 + * + * @author Jerry + * @date 2021-06-06 + */ +@Data +@ConfigurationProperties("swagger") +public class SwaggerProperties { + + /** + * 是否开启Swagger。 + */ + private Boolean enabled; + + /** + * Swagger解析的基础包路径。 + **/ + private String basePackage = ""; + + /** + * Swagger解析的服务包路径。 + **/ + private String serviceBasePackage = ""; + + /** + * ApiInfo中的标题。 + **/ + private String title = ""; + + /** + * ApiInfo中的描述信息。 + **/ + private String description = ""; + + /** + * ApiInfo中的版本信息。 + **/ + private String version = ""; +} diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/ByteBuddyUtil.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/ByteBuddyUtil.java new file mode 100644 index 00000000..adc5d790 --- /dev/null +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/ByteBuddyUtil.java @@ -0,0 +1,85 @@ +package com.orangeforms.common.swagger.plugin; + +import cn.hutool.core.lang.Assert; +import com.orangeforms.common.core.annotation.MyRequestBody; +import com.github.xiaoymin.knife4j.core.conf.Consts; +import javassist.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import springfox.documentation.service.ResolvedMethodParameter; + +import java.util.List; + +/** + * 通过字节码方式动态创建接口参数封装对象。 + * + * @author Jerry + * @date 2021-06-06 + */ +@Slf4j +class ByteBuddyUtil { + private static final ClassPool CLASS_POOL = ClassPool.getDefault(); + + static Class createDynamicModelClass(String name, List parameters) { + String clazzName = Consts.BASE_PACKAGE_PREFIX + name; + try { + CtClass tmp = CLASS_POOL.getCtClass(clazzName); + if (tmp != null) { + tmp.detach(); + } + } catch (NotFoundException e) { + // 需要吃掉这个异常。 + } + CtClass ctClass = CLASS_POOL.makeClass(clazzName); + try { + int fieldCount = 0; + for (ResolvedMethodParameter dynamicParameter : parameters) { + // 因为在调用这个方法之前,这些参数都包含MyRequestBody注解。 + MyRequestBody myRequestBody = + dynamicParameter.findAnnotation(MyRequestBody.class).orElse(null); + Assert.notNull(myRequestBody); + String fieldName = dynamicParameter.defaultName().isPresent() + ? dynamicParameter.defaultName().get() : "parameter"; + if (StringUtils.isNotBlank(myRequestBody.value())) { + fieldName = myRequestBody.value(); + } + ctClass.addField(createField(dynamicParameter, fieldName, ctClass)); + fieldCount++; + } + if (fieldCount > 0) { + return ctClass.toClass(); + } + } catch (Throwable e) { + log.error(e.getMessage()); + } + return null; + } + + private static CtField createField(ResolvedMethodParameter parameter, String parameterName, CtClass ctClass) + throws NotFoundException, CannotCompileException { + CtField field = new CtField(getFieldType(parameter.getParameterType().getErasedType()), parameterName, ctClass); + field.setModifiers(Modifier.PUBLIC); + return field; + } + + private static CtClass getFieldType(Class propetyType) { + CtClass fieldType = null; + try { + if (!propetyType.isAssignableFrom(Void.class)) { + fieldType = CLASS_POOL.get(propetyType.getName()); + } else { + fieldType = CLASS_POOL.get(String.class.getName()); + } + } catch (NotFoundException e) { + // 抛异常 + ClassClassPath path = new ClassClassPath(propetyType); + CLASS_POOL.insertClassPath(path); + try { + fieldType = CLASS_POOL.get(propetyType.getName()); + } catch (NotFoundException e1) { + log.error(e1.getMessage(), e1); + } + } + return fieldType; + } +} diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyModelPlugin.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyModelPlugin.java new file mode 100644 index 00000000..98f68e86 --- /dev/null +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyModelPlugin.java @@ -0,0 +1,61 @@ +package com.orangeforms.common.swagger.plugin; + +import com.orangeforms.common.core.annotation.MyRequestBody; +import com.fasterxml.classmate.TypeResolver; +import com.google.common.base.CaseFormat; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import springfox.documentation.service.ResolvedMethodParameter; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.OperationModelsProviderPlugin; +import springfox.documentation.spi.service.contexts.RequestMappingContext; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 生成参数包装类的插件。 + * + * @author Jerry + * @date 2021-06-06 + */ +@Component +@Order(Ordered.HIGHEST_PRECEDENCE + 200) +@ConditionalOnProperty(prefix = "swagger", name = "enabled") +public class DynamicBodyModelPlugin implements OperationModelsProviderPlugin { + + private final TypeResolver typeResolver; + + public DynamicBodyModelPlugin(TypeResolver typeResolver) { + this.typeResolver = typeResolver; + } + + @Override + public void apply(RequestMappingContext context) { + List parameterTypes = context.getParameters(); + if (CollectionUtils.isEmpty(parameterTypes)) { + return; + } + List bodyParameter = parameterTypes.stream() + .filter(p -> p.hasParameterAnnotation(MyRequestBody.class)).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(bodyParameter)) { + return; + } + String groupName = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, context.getGroupName()); + String clazzName = groupName + StringUtils.capitalize(context.getName()); + Class clazz = ByteBuddyUtil.createDynamicModelClass(clazzName, bodyParameter); + if (clazz != null) { + context.operationModelsBuilder().addInputParam(typeResolver.resolve(clazz)); + } + } + + @Override + public boolean supports(DocumentationType delimiter) { + // 支持2.0版本 + return delimiter == DocumentationType.SWAGGER_2; + } +} diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyParameterBuilder.java b/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyParameterBuilder.java new file mode 100644 index 00000000..5c60299a --- /dev/null +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyParameterBuilder.java @@ -0,0 +1,64 @@ +package com.orangeforms.common.swagger.plugin; + +import com.orangeforms.common.core.annotation.MyRequestBody; +import com.google.common.base.CaseFormat; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import springfox.documentation.builders.ParameterBuilder; +import springfox.documentation.schema.ModelRef; +import springfox.documentation.service.Parameter; +import springfox.documentation.service.ResolvedMethodParameter; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.OperationBuilderPlugin; +import springfox.documentation.spi.service.contexts.OperationContext; +import springfox.documentation.spi.service.contexts.ParameterContext; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 构建操作接口参数对象的插件。 + * + * @author Jerry + * @date 2021-06-06 + */ +@Component +@Order(Ordered.HIGHEST_PRECEDENCE + 102) +@ConditionalOnProperty(prefix = "swagger", name = "enabled") +public class DynamicBodyParameterBuilder implements OperationBuilderPlugin { + + @Override + public void apply(OperationContext context) { + List methodParameters = context.getParameters(); + List parameters = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(methodParameters)) { + List bodyParameter = methodParameters.stream() + .filter(p -> p.hasParameterAnnotation(MyRequestBody.class)).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(bodyParameter)) { + // 构造model + String groupName = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, context.getGroupName()); + String clazzName = groupName + StringUtils.capitalize(context.getName()); + ResolvedMethodParameter methodParameter = bodyParameter.get(0); + ParameterContext parameterContext = new ParameterContext(methodParameter, + new ParameterBuilder(), + context.getDocumentationContext(), + context.getGenericsNamingStrategy(), + context); + Parameter parameter = parameterContext.parameterBuilder() + .parameterType("body").modelRef(new ModelRef(clazzName)).name(clazzName).build(); + parameters.add(parameter); + } + } + context.operationBuilder().parameters(parameters); + } + + @Override + public boolean supports(DocumentationType delimiter) { + return delimiter == DocumentationType.SWAGGER_2; + } +} diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/resources/META-INF/spring.factories b/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/resources/META-INF/spring.factories new file mode 100644 index 00000000..cc7814c5 --- /dev/null +++ b/orange-demo-activiti/orange-demo-activiti-service/common/common-swagger/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.orangeforms.common.swagger.config.SwaggerAutoConfiguration \ No newline at end of file diff --git a/orange-demo-activiti/orange-demo-activiti-service/common/pom.xml b/orange-demo-activiti/orange-demo-activiti-service/common/pom.xml index 1dc6d46f..2f63ca4f 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/common/pom.xml +++ b/orange-demo-activiti/orange-demo-activiti-service/common/pom.xml @@ -21,5 +21,6 @@ common-flow common-redis common-sequence + common-swagger diff --git a/orange-demo-activiti/orange-demo-activiti-service/framework/apidoc-tools/src/main/resources/export-api-config.json b/orange-demo-activiti/orange-demo-activiti-service/framework/apidoc-tools/src/main/resources/export-api-config.json index 1f2ccc71..3898d9e6 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/framework/apidoc-tools/src/main/resources/export-api-config.json +++ b/orange-demo-activiti/orange-demo-activiti-service/framework/apidoc-tools/src/main/resources/export-api-config.json @@ -1,5 +1,5 @@ { - "projectName": "橙单在线表单", + "projectName": "橙单工作流开源版", "basePackage": "com.orangeforms", "projectRootPath": "这里请使用当前工程的根目录,如:e:/xxx/OrangeDemo 或者 /Users/xxx/OrangeDemo", "microService": "false", diff --git a/orange-demo-activiti/orange-demo-activiti-service/pom.xml b/orange-demo-activiti/orange-demo-activiti-service/pom.xml index 5d3af9fb..fcb5ba2d 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/pom.xml +++ b/orange-demo-activiti/orange-demo-activiti-service/pom.xml @@ -29,6 +29,7 @@ 3.0.2 1.4.2.Final 1.18.20 + 2.17.0 3.4.3 6.2.0.Final 7.1.0.M6 @@ -38,6 +39,7 @@ 1.3.0 3.15.4 2.0.0 + 2.0.8 @@ -91,7 +93,7 @@ org.apache.logging.log4j log4j-core - 2.15.0 + ${log4j2.version} log4j-api @@ -102,7 +104,7 @@ org.apache.logging.log4j log4j-jul - 2.15.0 + ${log4j2.version} log4j-api @@ -113,7 +115,7 @@ org.apache.logging.log4j log4j-slf4j-impl - 2.15.0 + ${log4j2.version} log4j-core @@ -128,7 +130,7 @@ org.apache.logging.log4j log4j-api - 2.15.0 + ${log4j2.version} diff --git a/orange-demo-activiti/orange-demo-activiti-service/zz-resource/db-scripts/zzdemo-online.sql b/orange-demo-activiti/orange-demo-activiti-service/zz-resource/db-scripts/zzdemo-online.sql index ce82081e..fdf7cfb0 100644 --- a/orange-demo-activiti/orange-demo-activiti-service/zz-resource/db-scripts/zzdemo-online.sql +++ b/orange-demo-activiti/orange-demo-activiti-service/zz-resource/db-scripts/zzdemo-online.sql @@ -5,13 +5,13 @@ Source Server Type : MySQL Source Server Version : 80027 Source Host : localhost:3306 - Source Schema : zzdemo-online-activiti + Source Schema : zzdemo-online Target Server Type : MySQL Target Server Version : 80027 File Encoding : 65001 - Date: 16/12/2021 21:07:03 + Date: 31/12/2021 11:13:55 */ SET NAMES utf8mb4; @@ -67,9 +67,14 @@ INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('778892c3-5e70-11ec-9355-5e4c369e54c1', 1 INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('79a037d0-3184-11ec-9f40-f20b812c0662', 1, 'flowLeave.bpmn', '79a037cf-3184-11ec-9f40-f20b812c0662', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A61637469766974693D22687474703A2F2F61637469766974692E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F61637469766974692E6F72672F62706D6E222069643D226469616772616D5F666C6F774C6561766522207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C62706D6E323A70726F636573732069643D22666C6F774C6561766522206E616D653D22E8AFB7E58187E794B3E8AFB72220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C61637469766974693A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E557064617465466C6F775374617475734C697374656E6572223E3C2F61637469766974693A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C62706D6E323A73746172744576656E742069643D224576656E745F316D6D72747477223E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F3079346D336B763C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A73746172744576656E743E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F317462386A6B6122206E616D653D22E8AFB7E58187E794B3E8AFB7222061637469766974693A61737369676E65653D22247B7374617274557365724E616D657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131323239323522206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3079346D336B762220736F757263655265663D224576656E745F316D6D7274747722207461726765745265663D2241637469766974795F317462386A6B61223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F31316A7230707822206E616D653D22E983A8E997A8E9A286E5AFBCE5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F61637469766974693A7461736B4C697374656E65723E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131343739343122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131353133343922206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F30376F703230392220736F757263655265663D2241637469766974795F317462386A6B6122207461726765745265663D2241637469766974795F31316A72307078223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3030696270307522206E616D653D224852E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D2231343430393634323231383535363030363430222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313133303636303122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313133313033393122206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A656E644576656E742069643D224576656E745F3163303839756F223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F306D32376664653C2F62706D6E323A696E636F6D696E673E0A202020203C2F62706D6E323A656E644576656E743E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306D323766646522206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3030696270307522207461726765745265663D224576656E745F3163303839756F223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F31367A796F613522206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F31316A7230707822207461726765745265663D2241637469766974795F317462386A6B61223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306C6C3734616E22206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F31316A7230707822207461726765745265663D2241637469766974795F30306962703075223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3161656B6D733822206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3030696270307522207461726765745265663D2241637469766974795F317462386A6B61223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A20203C2F62706D6E323A70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F774C65617665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F774C65617665222069643D2242504D4E506C616E655F666C6F774C65617665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F316D6D72747477222069643D2242504D4E53686170655F4576656E745F316D6D72747477223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223133322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F317462386A6B61222069643D2242504D4E53686170655F41637469766974795F317462386A6B61223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223232302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31316A72307078222069643D2242504D4E53686170655F41637469766974795F31316A72307078223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223338302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30306962703075222069643D2242504D4E53686170655F41637469766974795F30306962703075223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223534302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3163303839756F222069643D2242504D4E53686170655F4576656E745F3163303839756F223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223730322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3079346D336B76222069643D2242504D4E456467655F466C6F775F3079346D336B76223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223136382E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223232302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30376F70323039222069643D2242504D4E456467655F466C6F775F30376F70323039223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223332302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306C6C3734616E222069643D2242504D4E456467655F466C6F775F306C6C3734616E223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223534302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223439392E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306D3237666465222069643D2242504D4E456467655F466C6F775F306D3237666465223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223634302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223730322E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223636302E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31367A796F6135222069643D2242504D4E456467655F466C6F775F31367A796F6135223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223433302E302220793D223235302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223433302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223235302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223333392E302220793D223139322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3161656B6D7338222069643D2242504D4E456467655F466C6F775F3161656B6D7338223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223539302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223539302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223431392E302220793D223335322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F62706D6E323A646566696E6974696F6E733E, 0); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('7b628143-3184-11ec-9f40-f20b812c0662', 1, 'flowSubmit.bpmn', '7b628142-3184-11ec-9f40-f20b812c0662', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A61637469766974693D22687474703A2F2F61637469766974692E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F61637469766974692E6F72672F62706D6E222069643D226469616772616D5F666C6F775375626D697422207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C62706D6E323A70726F636573732069643D22666C6F775375626D697422206E616D653D22E68AA5E99480E794B3E8AFB72220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C61637469766974693A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E557064617465466C6F775374617475734C697374656E6572223E3C2F61637469766974693A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C62706D6E323A73746172744576656E742069643D224576656E745F31753464783362223E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F306D726D71626B3C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A73746172744576656E743E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3163733462693522206E616D653D22E68AA5E99480E794B3E8AFB7222061637469766974693A61737369676E65653D22247B7374617274557365724E616D657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138303337393622206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306D726D71626B2220736F757263655265663D224576656E745F3175346478336222207461726765745265663D2241637469766974795F31637334626935223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F303473636E326F22206E616D653D22E983A8E997A8E9A286E5AFBCE5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F61637469766974693A7461736B4C697374656E65723E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138313236343622206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138313539383422206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E0A202020202020202020203C61637469766974693A666F726D5661726961626C652069643D2231343530373130383030383534343231353034223E3C2F61637469766974693A666F726D5661726961626C653E0A20202020202020203C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F307039673732692220736F757263655265663D2241637469766974795F3163733462693522207461726765745265663D2241637469766974795F303473636E326F223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A6578636C7573697665476174657761792069643D22476174657761795F30707572396365223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F306979756B77723C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F306A667265316B3C2F62706D6E323A6F7574676F696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F313365646537623C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A6578636C7573697665476174657761793E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306979756B777222206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F303473636E326F22207461726765745265663D22476174657761795F30707572396365223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A656E644576656E742069643D224576656E745F30346E71666E79223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F306A667265316B3C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F313576336A6B6A3C2F62706D6E323A696E636F6D696E673E0A202020203C2F62706D6E323A656E644576656E743E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306A667265316B22206E616D653D22E68AA5E99480E98791E9A29DE5B08FE4BA8E313030302220736F757263655265663D22476174657761795F3070757239636522207461726765745265663D224576656E745F30346E71666E79223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B746F74616C416D6F756E74203C3D20313030307D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3177323378666522206E616D653D22E680BBE7BB8FE79086E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D2231343430393131343130353831323133343136222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138383339303122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138383733323222206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3133656465376222206E616D653D22E68AA5E99480E98791E9A29DE5A4A7E4BA8E313030302220736F757263655265663D22476174657761795F3070757239636522207461726765745265663D2241637469766974795F31773233786665223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B746F74616C416D6F756E74203E20313030307D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F313576336A6B6A22206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3177323378666522207461726765745265663D224576656E745F30346E71666E79223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F316F697135387222206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3177323378666522207461726765745265663D2241637469766974795F31637334626935223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3039387338693022206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F303473636E326F22207461726765745265663D2241637469766974795F31637334626935223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A20203C2F62706D6E323A70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F775375626D6974223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F775375626D6974222069643D2242504D4E506C616E655F666C6F775375626D6974223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F31753464783362222069643D2242504D4E53686170655F4576656E745F31753464783362223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223132322E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31637334626935222069643D2242504D4E53686170655F41637469766974795F31637334626935223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223231302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F303473636E326F222069643D2242504D4E53686170655F41637469766974795F303473636E326F223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223337302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F30346E71666E79222069643D2242504D4E53686170655F4576656E745F30346E71666E79223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223834322E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F30707572396365222069643D2242504D4E53686170655F476174657761795F30707572396365223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223538352E302220793D223239352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31773233786665222069643D2242504D4E53686170655F41637469766974795F31773233786665223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223536302E302220793D223339302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306D726D71626B222069643D2242504D4E456467655F466C6F775F306D726D71626B223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223135382E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30703967373269222069643D2242504D4E456467655F466C6F775F30703967373269223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223331302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223337302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306979756B7772222069643D2242504D4E456467655F466C6F775F306979756B7772223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223437302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223538352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223531362E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306A667265316B222069643D2242504D4E456467655F466C6F775F306A667265316B223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223633352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223834322E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2239302E302220783D223639342E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31336564653762222069643D2242504D4E456467655F466C6F775F31336564653762223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223631302E302220793D223334352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223631302E302220793D223339302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2239302E302220783D223631352E302220793D223335332E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F313576336A6B6A222069643D2242504D4E456467655F466C6F775F313576336A6B6A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223636302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223836302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223836302E302220793D223333382E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223734392E302220793D223431322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316F6971353872222069643D2242504D4E456467655F466C6F775F316F6971353872223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223536302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223236302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223236302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223339392E302220793D223431322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30393873386930222069643D2242504D4E456467655F466C6F775F30393873386930223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223432302E302220793D223238302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223432302E302220793D223234302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223236302E302220793D223234302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223236302E302220793D223238302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223332392E302220793D223232322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F62706D6E323A646566696E6974696F6E733E, 0); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('7cdc7716-3184-11ec-9f40-f20b812c0662', 1, 'flowContract.bpmn', '7cdc7715-3184-11ec-9f40-f20b812c0662', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A61637469766974693D22687474703A2F2F61637469766974692E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F61637469766974692E6F72672F62706D6E222069643D226469616772616D5F666C6F77436F6E747261637422207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C62706D6E323A70726F636573732069643D22666C6F77436F6E747261637422206E616D653D22E59088E5908CE5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C61637469766974693A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E557064617465466C6F775374617475734C697374656E6572223E3C2F61637469766974693A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C62706D6E323A73746172744576656E742069643D224576656E745F306B6A70396369223E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F30656D7834307A3C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A73746172744576656E743E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F306263696F686622206E616D653D22E59088E5908CE5BD95E585A5222061637469766974693A61737369676E65653D22247B7374617274557365724E616D657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313235353334393822206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F30656D7834307A2220736F757263655265663D224576656E745F306B6A7039636922207461726765745265663D2241637469766974795F306263696F6866223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3035336F6D393922206E616D653D22E4B89AE58AA1E983A8E9A286E5AFBCE5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F61637469766974693A7461736B4C697374656E65723E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313235363433353322206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306477663979742220736F757263655265663D2241637469766974795F306263696F686622207461726765745265663D2241637469766974795F3035336F6D3939223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3076357A6A336B2220736F757263655265663D2241637469766974795F3035336F6D393922207461726765745265663D22476174657761795F3038353538696A223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A706172616C6C656C476174657761792069643D22476174657761795F3038353538696A223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F3076357A6A336B3C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F3164357568636F3C2F62706D6E323A6F7574676F696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F317168396370303C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A706172616C6C656C476174657761793E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F307A3930616C6922206E616D653D22E5B7A5E7A88BE983A8E5AEA1E689B9222061637469766974693A61737369676E65653D2261646D696E222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353139343939313937323335322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313236303635323922206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3164357568636F2220736F757263655265663D22476174657761795F3038353538696A22207461726765745265663D2241637469766974795F307A3930616C69223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3137393330616A22206E616D653D22E980A0E4BBB7E983A8E5AEA1E689B9222061637469766974693A63616E64696461746555736572733D2261646D696E222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353139343939313937323335322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313236333131313322206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F317168396370302220736F757263655265663D22476174657761795F3038353538696A22207461726765745265663D2241637469766974795F3137393330616A223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F316E35637866672220736F757263655265663D2241637469766974795F3137393330616A22207461726765745265663D22476174657761795F30796A79713068223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A706172616C6C656C476174657761792069643D22476174657761795F30796A79713068223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F316E35637866673C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F313068663979353C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F30767435676F723C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A706172616C6C656C476174657761793E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F313068663979352220736F757263655265663D2241637469766974795F307A3930616C6922207461726765745265663D22476174657761795F30796A79713068223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3078657463387522206E616D653D22E8B4A2E58AA1E983A8E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D22313434303936343531393339313133373739322C31343430393634353139333935333332303936222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353132373739303833333636342671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313236363839383222206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313236373231393522206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F30767435676F722220736F757263655265663D22476174657761795F30796A7971306822207461726765745265663D2241637469766974795F30786574633875223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3064766734686922206E616D653D22E6B395E58AA1E983A8E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D2231343430393634333837393739333939313638222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353030313039333439323733362671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313238323034313422206C6162656C3D22E4BC9AE7ADBE2220747970653D226D756C74695F7369676E222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313238323839303922206C6162656C3D22E58AA0E7ADBE2220747970653D226D756C74695F636F6E7369676E222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3069746664623522206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3078657463387522207461726765745265663D2241637469766974795F30647667346869223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F30786F31346E7322206E616D653D22E6B395E58AA1E983A8E4BC9AE7ADBE222061637469766974693A61737369676E65653D22247B61737369676E65657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353030313039333439323733362671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313239343530353322206C6162656C3D22E5908CE6848F2220747970653D226D756C74695F6167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313239353131363022206C6162656C3D22E68B92E7BB9D2220747970653D226D756C74695F726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D2266616C7365222061637469766974693A636F6C6C656374696F6E3D2261737369676E65654C697374222061637469766974693A656C656D656E745661726961626C653D2261737369676E6565223E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B6E724F66496E7374616E636573203D3D206E724F66436F6D706C65746564496E7374616E6365737D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F307976347562702220736F757263655265663D2241637469766974795F3064766734686922207461726765745265663D2241637469766974795F30786F31346E73223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A6578636C7573697665476174657761792069643D22476174657761795F31633066687A66223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F306969796469703C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F3038653538356A3C2F62706D6E323A6F7574676F696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F3165696C647A703C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A6578636C7573697665476174657761793E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306969796469702220736F757263655265663D2241637469766974795F30786F31346E7322207461726765745265663D22476174657761795F31633066687A66223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F31656E68356B6522206E616D653D22E680BBE7BB8FE79086E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D2231343430393131343130353831323133343136222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313331353630393122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313331353939353622206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3038653538356A22206E616D653D22E5908CE6848FE4BABAE695B0E5A4A7E4BA8E3430252220736F757263655265663D22476174657761795F31633066687A6622207461726765745265663D2241637469766974795F31656E68356B65223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6D756C74694167726565436F756E74202F206D756C74694E756D4F66496E7374616E636573203E20302E347D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A656E644576656E742069643D224576656E745F30383570366479223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F31696E776864653C2F62706D6E323A696E636F6D696E673E0A202020203C2F62706D6E323A656E644576656E743E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F31696E7768646522206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F31656E68356B6522207461726765745265663D224576656E745F30383570366479223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306A306779327422206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3078657463387522207461726765745265663D2241637469766974795F306263696F6866223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3165696C647A7022206E616D653D22E5908CE6848FE4BABAE695B0E5B08FE4BA8E3430252220736F757263655265663D22476174657761795F31633066687A6622207461726765745265663D2241637469766974795F306263696F6866223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6D756C74694167726565436F756E74202F206D756C74694E756D4F66496E7374616E636573203C3D20302E347D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3063326475367022206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F31656E68356B6522207461726765745265663D2241637469766974795F306263696F6866223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A20203C2F62706D6E323A70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F77436F6E7472616374223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F77436F6E7472616374222069643D2242504D4E506C616E655F666C6F77436F6E7472616374223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F306B6A70396369222069643D2242504D4E53686170655F4576656E745F306B6A70396369223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D2234322E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F306263696F6866222069643D2242504D4E53686170655F41637469766974795F306263696F6866223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223133302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3035336F6D3939222069643D2242504D4E53686170655F41637469766974795F3035336F6D3939223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223239302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F3038353538696A222069643D2242504D4E53686170655F476174657761795F3038353538696A223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223435352E302220793D223239352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F307A3930616C69222069643D2242504D4E53686170655F41637469766974795F307A3930616C69223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223537302E302220793D223137302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3137393330616A222069643D2242504D4E53686170655F41637469766974795F3137393330616A223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223537302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F30796A79713068222069643D2242504D4E53686170655F476174657761795F30796A79713068223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223733352E302220793D223239352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30786574633875222069643D2242504D4E53686170655F41637469766974795F30786574633875223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223837302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30647667346869222069643D2242504D4E53686170655F41637469766974795F30647667346869223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223837302E302220793D223436302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30786F31346E73222069643D2242504D4E53686170655F41637469766974795F30786F31346E73223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223731302E302220793D223436302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F31633066687A66222069643D2242504D4E53686170655F476174657761795F31633066687A66223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223535352E302220793D223437352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31656E68356B65222069643D2242504D4E53686170655F41637469766974795F31656E68356B65223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223133302E302220793D223436302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F30383570366479222069643D2242504D4E53686170655F4576656E745F30383570366479223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D2234322E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30656D7834307A222069643D2242504D4E456467655F466C6F775F30656D7834307A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D2237382E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223133302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30647766397974222069643D2242504D4E456467655F466C6F775F30647766397974223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223239302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3076357A6A336B222069643D2242504D4E456467655F466C6F775F3076357A6A336B223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223339302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223435352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3164357568636F222069643D2242504D4E456467655F466C6F775F3164357568636F223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D223239352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223537302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31716839637030222069643D2242504D4E456467655F466C6F775F31716839637030223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223530352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223537302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316E3563786667222069643D2242504D4E456467655F466C6F775F316E3563786667223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223637302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223733352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31306866397935222069643D2242504D4E456467655F466C6F775F31306866397935223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223637302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223736302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223736302E302220793D223239352E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30767435676F72222069643D2242504D4E456467655F466C6F775F30767435676F72223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223738352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223837302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30697466646235222069643D2242504D4E456467655F466C6F775F30697466646235223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223934302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223934302E302220793D223436302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223934342E302220793D223430372E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30797634756270222069643D2242504D4E456467655F466C6F775F30797634756270223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223837302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223831302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30696979646970222069643D2242504D4E456467655F466C6F775F30696979646970223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223731302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223630352E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3038653538356A222069643D2242504D4E456467655F466C6F775F3038653538356A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223535352E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2238392E302220783D223334382E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31696E77686465222069643D2242504D4E456467655F466C6F775F31696E77686465223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223133302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D2237382E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D2239332E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306A3067793274222069643D2242504D4E456467655F466C6F775F306A3067793274223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223839302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223839302E302220793D223339302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223339302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223533392E302220793D223337322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3165696C647A70222069643D2242504D4E456467655F466C6F775F3165696C647A70223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223538302E302220793D223437352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223538302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2238392E302220783D223333362E302220793D223431322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30633264753670222069643D2242504D4E456467655F466C6F775F30633264753670223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223135302E302220793D223436302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223135302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223135342E302220793D223430372E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F62706D6E323A646566696E6974696F6E733E, 0); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('7ce6126b-69e6-11ec-bb85-0235bf949cb9', 1, 'flowLeave.bpmn', '7ce6126a-69e6-11ec-bb85-0235bf949cb9', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A61637469766974693D22687474703A2F2F61637469766974692E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F61637469766974692E6F72672F62706D6E222069643D226469616772616D5F666C6F774C6561766522207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C62706D6E323A70726F636573732069643D22666C6F774C6561766522206E616D653D22E8AFB7E58187E794B3E8AFB72220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C61637469766974693A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E466C6F7746696E69736865644C697374656E6572223E3C2F61637469766974693A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C62706D6E323A73746172744576656E742069643D224576656E745F316D6D72747477223E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F3079346D336B763C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A73746172744576656E743E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F317462386A6B6122206E616D653D22E8AFB7E58187E794B3E8AFB7222061637469766974693A61737369676E65653D22247B7374617274557365724E616D657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131323239323522206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3079346D336B762220736F757263655265663D224576656E745F316D6D7274747722207461726765745265663D2241637469766974795F317462386A6B61223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F31316A7230707822206E616D653D22E983A8E997A8E9A286E5AFBCE5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F61637469766974693A7461736B4C697374656E65723E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131343739343122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131353133343922206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F30376F703230392220736F757263655265663D2241637469766974795F317462386A6B6122207461726765745265663D2241637469766974795F31316A72307078223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3030696270307522206E616D653D224852E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D2231343430393634323231373830313033313638222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313133303636303122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313133313033393122206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A20202020202020203C61637469766974693A64657074506F73744C6973743E0A202020202020202020203C61637469766974693A64657074506F73742069643D2264657074506F73745F5F313434303936343232313738303130333136382220747970653D2264657074506F7374222064657074506F737449643D2231343430393634323231373830313033313638223E3C2F61637469766974693A64657074506F73743E0A20202020202020203C2F61637469766974693A64657074506F73744C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A656E644576656E742069643D224576656E745F3163303839756F223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F306D32376664653C2F62706D6E323A696E636F6D696E673E0A202020203C2F62706D6E323A656E644576656E743E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306D323766646522206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3030696270307522207461726765745265663D224576656E745F3163303839756F223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F31367A796F613522206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F31316A7230707822207461726765745265663D2241637469766974795F317462386A6B61223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306C6C3734616E22206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F31316A7230707822207461726765745265663D2241637469766974795F30306962703075223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3161656B6D733822206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3030696270307522207461726765745265663D2241637469766974795F317462386A6B61223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A20203C2F62706D6E323A70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F774C65617665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F774C65617665222069643D2242504D4E506C616E655F666C6F774C65617665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F316D6D72747477222069643D2242504D4E53686170655F4576656E745F316D6D72747477223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223133322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F317462386A6B61222069643D2242504D4E53686170655F41637469766974795F317462386A6B61223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223232302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31316A72307078222069643D2242504D4E53686170655F41637469766974795F31316A72307078223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223338302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30306962703075222069643D2242504D4E53686170655F41637469766974795F30306962703075223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223534302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3163303839756F222069643D2242504D4E53686170655F4576656E745F3163303839756F223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223730322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3161656B6D7338222069643D2242504D4E456467655F466C6F775F3161656B6D7338223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223539302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223539302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223431392E302220793D223335322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306C6C3734616E222069643D2242504D4E456467655F466C6F775F306C6C3734616E223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223534302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223439392E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31367A796F6135222069643D2242504D4E456467655F466C6F775F31367A796F6135223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223433302E302220793D223235302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223433302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223235302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223333392E302220793D223139322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306D3237666465222069643D2242504D4E456467655F466C6F775F306D3237666465223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223634302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223730322E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223636302E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30376F70323039222069643D2242504D4E456467655F466C6F775F30376F70323039223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223332302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3079346D336B76222069643D2242504D4E456467655F466C6F775F3079346D336B76223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223136382E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223232302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F62706D6E323A646566696E6974696F6E733E, 0); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('87e159ee-69e6-11ec-bb85-0235bf949cb9', 1, 'flowSubmit.bpmn', '87e159ed-69e6-11ec-bb85-0235bf949cb9', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A61637469766974693D22687474703A2F2F61637469766974692E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F61637469766974692E6F72672F62706D6E222069643D226469616772616D5F666C6F775375626D697422207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C62706D6E323A70726F636573732069643D22666C6F775375626D697422206E616D653D22E68AA5E99480E794B3E8AFB72220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C61637469766974693A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E466C6F7746696E69736865644C697374656E6572223E3C2F61637469766974693A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C62706D6E323A73746172744576656E742069643D224576656E745F31753464783362223E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F306D726D71626B3C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A73746172744576656E743E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3163733462693522206E616D653D22E68AA5E99480E794B3E8AFB7222061637469766974693A61737369676E65653D22247B7374617274557365724E616D657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138303337393622206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306D726D71626B2220736F757263655265663D224576656E745F3175346478336222207461726765745265663D2241637469766974795F31637334626935223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F303473636E326F22206E616D653D22E983A8E997A8E9A286E5AFBCE5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F61637469766974693A7461736B4C697374656E65723E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138313236343622206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138313539383422206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E0A202020202020202020203C61637469766974693A666F726D5661726961626C652069643D2231343530373130383030383534343231353034223E3C2F61637469766974693A666F726D5661726961626C653E0A20202020202020203C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F307039673732692220736F757263655265663D2241637469766974795F3163733462693522207461726765745265663D2241637469766974795F303473636E326F223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A6578636C7573697665476174657761792069643D22476174657761795F30707572396365223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F306979756B77723C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F306A667265316B3C2F62706D6E323A6F7574676F696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F313365646537623C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A6578636C7573697665476174657761793E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306979756B777222206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F303473636E326F22207461726765745265663D22476174657761795F30707572396365223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A656E644576656E742069643D224576656E745F30346E71666E79223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F306A667265316B3C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F313576336A6B6A3C2F62706D6E323A696E636F6D696E673E0A202020203C2F62706D6E323A656E644576656E743E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306A667265316B22206E616D653D22E68AA5E99480E98791E9A29DE5B08FE4BA8E313030302220736F757263655265663D22476174657761795F3070757239636522207461726765745265663D224576656E745F30346E71666E79223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B746F74616C416D6F756E74203C3D20313030307D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3177323378666522206E616D653D22E680BBE7BB8FE79086E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D2231343430393131343130353831323133343136222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138383339303122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138383733323222206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A20202020202020203C61637469766974693A7573657243616E64696461746547726F75707320747970653D2244455054222076616C75653D2231343430393131343130353831323133343136223E3C2F61637469766974693A7573657243616E64696461746547726F7570733E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3133656465376222206E616D653D22E68AA5E99480E98791E9A29DE5A4A7E4BA8E313030302220736F757263655265663D22476174657761795F3070757239636522207461726765745265663D2241637469766974795F31773233786665223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B746F74616C416D6F756E74203E20313030307D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F313576336A6B6A22206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3177323378666522207461726765745265663D224576656E745F30346E71666E79223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F316F697135387222206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3177323378666522207461726765745265663D2241637469766974795F31637334626935223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3039387338693022206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F303473636E326F22207461726765745265663D2241637469766974795F31637334626935223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A20203C2F62706D6E323A70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F775375626D6974223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F775375626D6974222069643D2242504D4E506C616E655F666C6F775375626D6974223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F31753464783362222069643D2242504D4E53686170655F4576656E745F31753464783362223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223132322E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31637334626935222069643D2242504D4E53686170655F41637469766974795F31637334626935223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223231302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F303473636E326F222069643D2242504D4E53686170655F41637469766974795F303473636E326F223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223337302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F30707572396365222069643D2242504D4E53686170655F476174657761795F30707572396365223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223538352E302220793D223239352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F30346E71666E79222069643D2242504D4E53686170655F4576656E745F30346E71666E79223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223834322E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31773233786665222069643D2242504D4E53686170655F41637469766974795F31773233786665223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223536302E302220793D223339302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30393873386930222069643D2242504D4E456467655F466C6F775F30393873386930223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223432302E302220793D223238302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223432302E302220793D223234302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223236302E302220793D223234302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223236302E302220793D223238302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223332392E302220793D223232322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316F6971353872222069643D2242504D4E456467655F466C6F775F316F6971353872223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223536302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223236302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223236302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223339392E302220793D223431322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F313576336A6B6A222069643D2242504D4E456467655F466C6F775F313576336A6B6A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223636302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223836302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223836302E302220793D223333382E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223734392E302220793D223431322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31336564653762222069643D2242504D4E456467655F466C6F775F31336564653762223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223631302E302220793D223334352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223631302E302220793D223339302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2239302E302220783D223631352E302220793D223335332E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306A667265316B222069643D2242504D4E456467655F466C6F775F306A667265316B223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223633352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223834322E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2239302E302220783D223639342E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306979756B7772222069643D2242504D4E456467655F466C6F775F306979756B7772223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223437302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223538352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223531362E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30703967373269222069643D2242504D4E456467655F466C6F775F30703967373269223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223331302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223337302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306D726D71626B222069643D2242504D4E456467655F466C6F775F306D726D71626B223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223135382E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F62706D6E323A646566696E6974696F6E733E, 0); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('8ab49016-5e70-11ec-9355-5e4c369e54c1', 1, 'flowTranslate.bpmn', '8ab49015-5e70-11ec-9355-5e4c369e54c1', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A61637469766974693D22687474703A2F2F61637469766974692E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F61637469766974692E6F72672F62706D6E222069643D226469616772616D5F666C6F775472616E736C61746522207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C62706D6E323A70726F636573732069643D22666C6F775472616E736C61746522206E616D653D22E8BDACE58A9EE6B581E7A88B2220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C61637469766974693A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E466C6F7746696E69736865644C697374656E6572223E3C2F61637469766974693A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C62706D6E323A73746172744576656E742069643D224576656E745F31357A6F6D7466223E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F31756E7635326A3C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A73746172744576656E743E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3063366E78646D22206E616D653D22E5BD95E585A5222061637469766974693A61737369676E65653D22247B7374617274557365724E616D657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313431323835353222206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F31756E7635326A2220736F757263655265663D224576656E745F31357A6F6D746622207461726765745265663D2241637469766974795F3063366E78646D223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3077777369397722206E616D653D22E8BDACE58A9E222061637469766974693A61737369676E65653D2261646D696E222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313431343033303022206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313431343434343922206C6162656C3D22E8BDACE58A9E2220747970653D227472616E73666572222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F317932696835682220736F757263655265663D2241637469766974795F3063366E78646D22207461726765745265663D2241637469766974795F30777773693977223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A656E644576656E742069643D224576656E745F31616D31747561223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F30306F617A366A3C2F62706D6E323A696E636F6D696E673E0A202020203C2F62706D6E323A656E644576656E743E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F30306F617A366A2220736F757263655265663D2241637469766974795F3077777369397722207461726765745265663D224576656E745F31616D31747561223E3C2F62706D6E323A73657175656E6365466C6F773E0A20203C2F62706D6E323A70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F775472616E736C617465223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F775472616E736C617465222069643D2242504D4E506C616E655F666C6F775472616E736C617465223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F31357A6F6D7466222069643D2242504D4E53686170655F4576656E745F31357A6F6D7466223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223136322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3063366E78646D222069643D2242504D4E53686170655F41637469766974795F3063366E78646D223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223235302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30777773693977222069643D2242504D4E53686170655F41637469766974795F30777773693977223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223431302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F31616D31747561222069643D2242504D4E53686170655F4576656E745F31616D31747561223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223537322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30306F617A366A222069643D2242504D4E456467655F466C6F775F30306F617A366A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223531302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223537322E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31793269683568222069643D2242504D4E456467655F466C6F775F31793269683568223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223335302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223431302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31756E7635326A222069643D2242504D4E456467655F466C6F775F31756E7635326A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223139382E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223235302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F62706D6E323A646566696E6974696F6E733E, 0); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('8e3e3cea-3179-11ec-9438-f20b812c0662', 1, 'flowLeave.bpmn', '8e3e3ce9-3179-11ec-9438-f20b812c0662', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A61637469766974693D22687474703A2F2F61637469766974692E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F61637469766974692E6F72672F62706D6E222069643D226469616772616D5F666C6F774C6561766522207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C62706D6E323A70726F636573732069643D22666C6F774C6561766522206E616D653D22E8AFB7E58187E794B3E8AFB72220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C61637469766974693A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E557064617465466C6F775374617475734C697374656E6572223E3C2F61637469766974693A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C62706D6E323A73746172744576656E742069643D224576656E745F316D6D72747477223E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F3079346D336B763C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A73746172744576656E743E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F317462386A6B6122206E616D653D22E8AFB7E58187E794B3E8AFB7222061637469766974693A61737369676E65653D22247B7374617274557365724E616D657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131323239323522206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3079346D336B762220736F757263655265663D224576656E745F316D6D7274747722207461726765745265663D2241637469766974795F317462386A6B61223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F31316A7230707822206E616D653D22E983A8E997A8E9A286E5AFBCE5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F61637469766974693A7461736B4C697374656E65723E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131343739343122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131353133343922206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F30376F703230392220736F757263655265663D2241637469766974795F317462386A6B6122207461726765745265663D2241637469766974795F31316A72307078223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3030696270307522206E616D653D224852E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D2231343430393634323231383535363030363430222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313133303636303122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313133313033393122206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A656E644576656E742069643D224576656E745F3163303839756F223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F306D32376664653C2F62706D6E323A696E636F6D696E673E0A202020203C2F62706D6E323A656E644576656E743E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306D323766646522206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3030696270307522207461726765745265663D224576656E745F3163303839756F223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F31367A796F613522206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F31316A7230707822207461726765745265663D2241637469766974795F317462386A6B61223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306C6C3734616E22206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F31316A7230707822207461726765745265663D2241637469766974795F30306962703075223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3161656B6D733822206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3030696270307522207461726765745265663D2241637469766974795F317462386A6B61223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A20203C2F62706D6E323A70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F774C65617665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F774C65617665222069643D2242504D4E506C616E655F666C6F774C65617665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F316D6D72747477222069643D2242504D4E53686170655F4576656E745F316D6D72747477223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223133322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F317462386A6B61222069643D2242504D4E53686170655F41637469766974795F317462386A6B61223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223232302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31316A72307078222069643D2242504D4E53686170655F41637469766974795F31316A72307078223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223338302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30306962703075222069643D2242504D4E53686170655F41637469766974795F30306962703075223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223534302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3163303839756F222069643D2242504D4E53686170655F4576656E745F3163303839756F223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223730322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3079346D336B76222069643D2242504D4E456467655F466C6F775F3079346D336B76223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223136382E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223232302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30376F70323039222069643D2242504D4E456467655F466C6F775F30376F70323039223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223332302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306C6C3734616E222069643D2242504D4E456467655F466C6F775F306C6C3734616E223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223534302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223439392E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306D3237666465222069643D2242504D4E456467655F466C6F775F306D3237666465223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223634302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223730322E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223636302E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31367A796F6135222069643D2242504D4E456467655F466C6F775F31367A796F6135223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223433302E302220793D223235302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223433302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223235302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223333392E302220793D223139322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3161656B6D7338222069643D2242504D4E456467655F466C6F775F3161656B6D7338223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223539302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223539302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223431392E302220793D223335322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F62706D6E323A646566696E6974696F6E733E, 0); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('916d0be1-69e6-11ec-bb85-0235bf949cb9', 1, 'flowContract.bpmn', '916d0be0-69e6-11ec-bb85-0235bf949cb9', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A61637469766974693D22687474703A2F2F61637469766974692E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F61637469766974692E6F72672F62706D6E222069643D226469616772616D5F666C6F77436F6E747261637422207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C62706D6E323A70726F636573732069643D22666C6F77436F6E747261637422206E616D653D22E59088E5908CE5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C61637469766974693A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E466C6F7746696E69736865644C697374656E6572223E3C2F61637469766974693A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C62706D6E323A73746172744576656E742069643D224576656E745F306B6A70396369223E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F30656D7834307A3C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A73746172744576656E743E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F306263696F686622206E616D653D22E59088E5908CE5BD95E585A5222061637469766974693A61737369676E65653D22247B7374617274557365724E616D657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313235353334393822206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F30656D7834307A2220736F757263655265663D224576656E745F306B6A7039636922207461726765745265663D2241637469766974795F306263696F6866223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3035336F6D393922206E616D653D22E4B89AE58AA1E983A8E9A286E5AFBCE5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F61637469766974693A7461736B4C697374656E65723E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313235363433353322206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A20202020202020203C61637469766974693A64657074506F73744C6973743E3C2F61637469766974693A64657074506F73744C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306477663979742220736F757263655265663D2241637469766974795F306263696F686622207461726765745265663D2241637469766974795F3035336F6D3939223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3076357A6A336B2220736F757263655265663D2241637469766974795F3035336F6D393922207461726765745265663D22476174657761795F3038353538696A223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A706172616C6C656C476174657761792069643D22476174657761795F3038353538696A223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F3076357A6A336B3C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F3164357568636F3C2F62706D6E323A6F7574676F696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F317168396370303C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A706172616C6C656C476174657761793E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F307A3930616C6922206E616D653D22E5B7A5E7A88BE983A8E5AEA1E689B9222061637469766974693A61737369676E65653D2261646D696E222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353139343939313937323335322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313236303635323922206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3164357568636F2220736F757263655265663D22476174657761795F3038353538696A22207461726765745265663D2241637469766974795F307A3930616C69223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3137393330616A22206E616D653D22E980A0E4BBB7E983A8E5AEA1E689B9222061637469766974693A63616E64696461746555736572733D2261646D696E222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353139343939313937323335322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B55534552532671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313236333131313322206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A20202020202020203C61637469766974693A7573657243616E64696461746547726F75707320747970653D225553455253222076616C75653D2261646D696E223E3C2F61637469766974693A7573657243616E64696461746547726F7570733E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F317168396370302220736F757263655265663D22476174657761795F3038353538696A22207461726765745265663D2241637469766974795F3137393330616A223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F316E35637866672220736F757263655265663D2241637469766974795F3137393330616A22207461726765745265663D22476174657761795F30796A79713068223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A706172616C6C656C476174657761792069643D22476174657761795F30796A79713068223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F316E35637866673C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F313068663979353C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F30767435676F723C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A706172616C6C656C476174657761793E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F313068663979352220736F757263655265663D2241637469766974795F307A3930616C6922207461726765745265663D22476174657761795F30796A79713068223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3078657463387522206E616D653D22E8B4A2E58AA1E983A8E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D22313434303936343531393339313133373739322C31343430393634353139333935333332303936222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353132373739303833333636342671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313236363839383222206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313236373231393522206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A20202020202020203C61637469766974693A64657074506F73744C6973743E0A202020202020202020203C61637469766974693A64657074506F73742069643D2264657074506F73745F5F313434303936343531393339313133373739322220747970653D2264657074506F7374222064657074506F737449643D2231343430393634353139333931313337373932223E3C2F61637469766974693A64657074506F73743E0A202020202020202020203C61637469766974693A64657074506F73742069643D2264657074506F73745F5F313434303936343531393339353333323039362220747970653D2264657074506F7374222064657074506F737449643D2231343430393634353139333935333332303936223E3C2F61637469766974693A64657074506F73743E0A20202020202020203C2F61637469766974693A64657074506F73744C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F30767435676F722220736F757263655265663D22476174657761795F30796A7971306822207461726765745265663D2241637469766974795F30786574633875223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3064766734686922206E616D653D22E6B395E58AA1E983A8E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D2231343430393634333837393739333939313638222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353030313039333439323733362671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313238323034313422206C6162656C3D22E4BC9AE7ADBE2220747970653D226D756C74695F7369676E222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313238323839303922206C6162656C3D22E58AA0E7ADBE2220747970653D226D756C74695F636F6E7369676E222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A20202020202020203C61637469766974693A64657074506F73744C6973743E0A202020202020202020203C61637469766974693A64657074506F73742069643D2264657074506F73745F5F313434303936343338373937393339393136382220747970653D2264657074506F7374222064657074506F737449643D2231343430393634333837393739333939313638223E3C2F61637469766974693A64657074506F73743E0A20202020202020203C2F61637469766974693A64657074506F73744C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3069746664623522206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3078657463387522207461726765745265663D2241637469766974795F30647667346869223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F30786F31346E7322206E616D653D22E6B395E58AA1E983A8E4BC9AE7ADBE222061637469766974693A61737369676E65653D22247B61737369676E65657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353030313039333439323733362671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313239343530353322206C6162656C3D22E5908CE6848F2220747970653D226D756C74695F6167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313239353131363022206C6162656C3D22E68B92E7BB9D2220747970653D226D756C74695F726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D2266616C7365222061637469766974693A636F6C6C656374696F6E3D2261737369676E65654C697374222061637469766974693A656C656D656E745661726961626C653D2261737369676E6565223E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B6E724F66496E7374616E636573203D3D206E724F66436F6D706C65746564496E7374616E6365737D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F307976347562702220736F757263655265663D2241637469766974795F3064766734686922207461726765745265663D2241637469766974795F30786F31346E73223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A6578636C7573697665476174657761792069643D22476174657761795F31633066687A66223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F306969796469703C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F3038653538356A3C2F62706D6E323A6F7574676F696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F3165696C647A703C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A6578636C7573697665476174657761793E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306969796469702220736F757263655265663D2241637469766974795F30786F31346E7322207461726765745265663D22476174657761795F31633066687A66223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F31656E68356B6522206E616D653D22E680BBE7BB8FE79086E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D2231343430393131343130353831323133343136222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313331353630393122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313331353939353622206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A20202020202020203C61637469766974693A7573657243616E64696461746547726F75707320747970653D2244455054222076616C75653D2231343430393131343130353831323133343136223E3C2F61637469766974693A7573657243616E64696461746547726F7570733E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3038653538356A22206E616D653D22E5908CE6848FE4BABAE695B0E5A4A7E4BA8E3430252220736F757263655265663D22476174657761795F31633066687A6622207461726765745265663D2241637469766974795F31656E68356B65223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6D756C74694167726565436F756E74202F206D756C74694E756D4F66496E7374616E636573203E20302E347D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A656E644576656E742069643D224576656E745F30383570366479223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F31696E776864653C2F62706D6E323A696E636F6D696E673E0A202020203C2F62706D6E323A656E644576656E743E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F31696E7768646522206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F31656E68356B6522207461726765745265663D224576656E745F30383570366479223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306A306779327422206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3078657463387522207461726765745265663D2241637469766974795F306263696F6866223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3165696C647A7022206E616D653D22E5908CE6848FE4BABAE695B0E5B08FE4BA8E3430252220736F757263655265663D22476174657761795F31633066687A6622207461726765745265663D2241637469766974795F306263696F6866223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6D756C74694167726565436F756E74202F206D756C74694E756D4F66496E7374616E636573203C3D20302E347D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3063326475367022206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F31656E68356B6522207461726765745265663D2241637469766974795F306263696F6866223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A20203C2F62706D6E323A70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F77436F6E7472616374223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F77436F6E7472616374222069643D2242504D4E506C616E655F666C6F77436F6E7472616374223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F306B6A70396369222069643D2242504D4E53686170655F4576656E745F306B6A70396369223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D2234322E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F306263696F6866222069643D2242504D4E53686170655F41637469766974795F306263696F6866223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223133302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3035336F6D3939222069643D2242504D4E53686170655F41637469766974795F3035336F6D3939223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223239302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F3038353538696A222069643D2242504D4E53686170655F476174657761795F3038353538696A223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223435352E302220793D223239352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F307A3930616C69222069643D2242504D4E53686170655F41637469766974795F307A3930616C69223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223537302E302220793D223137302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3137393330616A222069643D2242504D4E53686170655F41637469766974795F3137393330616A223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223537302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F30796A79713068222069643D2242504D4E53686170655F476174657761795F30796A79713068223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223733352E302220793D223239352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30786574633875222069643D2242504D4E53686170655F41637469766974795F30786574633875223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223837302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30647667346869222069643D2242504D4E53686170655F41637469766974795F30647667346869223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223837302E302220793D223436302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30786F31346E73222069643D2242504D4E53686170655F41637469766974795F30786F31346E73223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223731302E302220793D223436302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F31633066687A66222069643D2242504D4E53686170655F476174657761795F31633066687A66223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223535352E302220793D223437352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31656E68356B65222069643D2242504D4E53686170655F41637469766974795F31656E68356B65223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223133302E302220793D223436302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F30383570366479222069643D2242504D4E53686170655F4576656E745F30383570366479223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D2234322E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30633264753670222069643D2242504D4E456467655F466C6F775F30633264753670223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223135302E302220793D223436302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223135302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223135342E302220793D223430372E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3165696C647A70222069643D2242504D4E456467655F466C6F775F3165696C647A70223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223538302E302220793D223437352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223538302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2238392E302220783D223333362E302220793D223431322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306A3067793274222069643D2242504D4E456467655F466C6F775F306A3067793274223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223839302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223839302E302220793D223339302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223339302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223533392E302220793D223337322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31696E77686465222069643D2242504D4E456467655F466C6F775F31696E77686465223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223133302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D2237382E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D2239332E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3038653538356A222069643D2242504D4E456467655F466C6F775F3038653538356A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223535352E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2238392E302220783D223334382E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30696979646970222069643D2242504D4E456467655F466C6F775F30696979646970223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223731302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223630352E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30797634756270222069643D2242504D4E456467655F466C6F775F30797634756270223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223837302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223831302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30697466646235222069643D2242504D4E456467655F466C6F775F30697466646235223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223934302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223934302E302220793D223436302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223934342E302220793D223430372E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30767435676F72222069643D2242504D4E456467655F466C6F775F30767435676F72223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223738352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223837302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31306866397935222069643D2242504D4E456467655F466C6F775F31306866397935223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223637302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223736302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223736302E302220793D223239352E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316E3563786667222069643D2242504D4E456467655F466C6F775F316E3563786667223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223637302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223733352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31716839637030222069643D2242504D4E456467655F466C6F775F31716839637030223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223530352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223537302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3164357568636F222069643D2242504D4E456467655F466C6F775F3164357568636F223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D223239352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223537302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3076357A6A336B222069643D2242504D4E456467655F466C6F775F3076357A6A336B223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223339302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223435352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30647766397974222069643D2242504D4E456467655F466C6F775F30647766397974223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223239302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30656D7834307A222069643D2242504D4E456467655F466C6F775F30656D7834307A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D2237382E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223133302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F62706D6E323A646566696E6974696F6E733E, 0); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('97e6169f-3186-11ec-bf2d-f20b812c0662', 1, 'flowLeave.bpmn', '97e6169e-3186-11ec-bf2d-f20b812c0662', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A61637469766974693D22687474703A2F2F61637469766974692E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F61637469766974692E6F72672F62706D6E222069643D226469616772616D5F666C6F774C6561766522207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C62706D6E323A70726F636573732069643D22666C6F774C6561766522206E616D653D22E8AFB7E58187E794B3E8AFB72220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C61637469766974693A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E557064617465466C6F775374617475734C697374656E6572223E3C2F61637469766974693A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C62706D6E323A73746172744576656E742069643D224576656E745F316D6D72747477223E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F3079346D336B763C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A73746172744576656E743E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F317462386A6B6122206E616D653D22E8AFB7E58187E794B3E8AFB7222061637469766974693A61737369676E65653D22247B7374617274557365724E616D657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131323239323522206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3079346D336B762220736F757263655265663D224576656E745F316D6D7274747722207461726765745265663D2241637469766974795F317462386A6B61223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F31316A7230707822206E616D653D22E983A8E997A8E9A286E5AFBCE5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F61637469766974693A7461736B4C697374656E65723E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131343739343122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131353133343922206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F30376F703230392220736F757263655265663D2241637469766974795F317462386A6B6122207461726765745265663D2241637469766974795F31316A72307078223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3030696270307522206E616D653D224852E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D2231343430393634323231383535363030363430222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313133303636303122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313133313033393122206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A656E644576656E742069643D224576656E745F3163303839756F223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F306D32376664653C2F62706D6E323A696E636F6D696E673E0A202020203C2F62706D6E323A656E644576656E743E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306D323766646522206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3030696270307522207461726765745265663D224576656E745F3163303839756F223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F31367A796F613522206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F31316A7230707822207461726765745265663D2241637469766974795F317462386A6B61223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306C6C3734616E22206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F31316A7230707822207461726765745265663D2241637469766974795F30306962703075223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3161656B6D733822206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3030696270307522207461726765745265663D2241637469766974795F317462386A6B61223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A20203C2F62706D6E323A70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F774C65617665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F774C65617665222069643D2242504D4E506C616E655F666C6F774C65617665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F316D6D72747477222069643D2242504D4E53686170655F4576656E745F316D6D72747477223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223133322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F317462386A6B61222069643D2242504D4E53686170655F41637469766974795F317462386A6B61223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223232302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31316A72307078222069643D2242504D4E53686170655F41637469766974795F31316A72307078223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223338302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30306962703075222069643D2242504D4E53686170655F41637469766974795F30306962703075223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223534302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3163303839756F222069643D2242504D4E53686170655F4576656E745F3163303839756F223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223730322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3079346D336B76222069643D2242504D4E456467655F466C6F775F3079346D336B76223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223136382E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223232302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30376F70323039222069643D2242504D4E456467655F466C6F775F30376F70323039223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223332302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306C6C3734616E222069643D2242504D4E456467655F466C6F775F306C6C3734616E223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223534302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223439392E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306D3237666465222069643D2242504D4E456467655F466C6F775F306D3237666465223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223634302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223730322E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223636302E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31367A796F6135222069643D2242504D4E456467655F466C6F775F31367A796F6135223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223433302E302220793D223235302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223433302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223235302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223333392E302220793D223139322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3161656B6D7338222069643D2242504D4E456467655F466C6F775F3161656B6D7338223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223539302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223539302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223431392E302220793D223335322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F62706D6E323A646566696E6974696F6E733E, 0); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('98ea5034-69e6-11ec-bb85-0235bf949cb9', 1, 'flowConsign.bpmn', '98ea5033-69e6-11ec-bb85-0235bf949cb9', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A61637469766974693D22687474703A2F2F61637469766974692E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F61637469766974692E6F72672F62706D6E222069643D226469616772616D5F666C6F77436F6E7369676E22207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C62706D6E323A70726F636573732069643D22666C6F77436F6E7369676E22206E616D653D22E5A49AE5AE9EE4BE8BE58AA0E7ADBE2220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C61637469766974693A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E466C6F7746696E69736865644C697374656E6572223E3C2F61637469766974693A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C62706D6E323A73746172744576656E742069643D224576656E745F30696A78367971223E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F303569676E6E613C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A73746172744576656E743E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F313032326E747922206E616D653D22E5BD95E585A5222061637469766974693A61737369676E65653D22247B7374617274557365724E616D657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313334383132303222206C6162656C3D22E4BC9AE7ADBE2220747970653D226D756C74695F7369676E222073686F774F726465723D223022206D756C74695369676E41737369676E65653D227B2671756F743B61737369676E6565547970652671756F743B3A2671756F743B555345525F47524F55502671756F743B2C2671756F743B61737369676E65654C6973742671756F743B3A2671756F743B61646D696E2C75736572412C75736572422671756F743B7D223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313335353833333422206C6162656C3D22E58AA0E7ADBE2220747970653D226D756C74695F636F6E7369676E222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F303569676E6E612220736F757263655265663D224576656E745F30696A7836797122207461726765745265663D2241637469766974795F313032326E7479223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F30756D79706F6722206E616D653D22E4BC9AE7ADBE222061637469766974693A61737369676E65653D22247B61737369676E65657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333936353937313830383122206C6162656C3D22E5908CE6848FEFBC88E4BC9AE7ADBEEFBC892220747970653D226D756C74695F6167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333936353937323431313922206C6162656C3D22E68B92E7BB9DEFBC88E4BC9AE7ADBEEFBC892220747970653D226D756C74695F726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D2266616C7365222061637469766974693A636F6C6C656374696F6E3D2261737369676E65654C697374222061637469766974693A656C656D656E745661726961626C653D2261737369676E6565223E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B6E724F66496E7374616E636573203D3D206E724F66436F6D706C65746564496E7374616E6365737D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F31387A6C3769392220736F757263655265663D2241637469766974795F313032326E747922207461726765745265663D2241637469766974795F30756D79706F67223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3168396464387422206E616D653D22E5AEA1E689B9222061637469766974693A61737369676E65653D2261646D696E222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313339363938343222206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313339373531323022206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F313332613177652220736F757263655265663D2241637469766974795F30756D79706F6722207461726765745265663D2241637469766974795F31683964643874223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A656E644576656E742069643D224576656E745F30626E356E6C31223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F317734386D65313C2F62706D6E323A696E636F6D696E673E0A202020203C2F62706D6E323A656E644576656E743E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F317734386D653122206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3168396464387422207461726765745265663D224576656E745F30626E356E6C31223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F31707632617A7422206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3168396464387422207461726765745265663D2241637469766974795F313032326E7479223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A20203C2F62706D6E323A70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F77436F6E7369676E223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F77436F6E7369676E222069643D2242504D4E506C616E655F666C6F77436F6E7369676E223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F30696A78367971222069643D2242504D4E53686170655F4576656E745F30696A78367971223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223135322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F313032326E7479222069643D2242504D4E53686170655F41637469766974795F313032326E7479223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223234302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30756D79706F67222069643D2242504D4E53686170655F41637469766974795F30756D79706F67223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223430302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31683964643874222069643D2242504D4E53686170655F41637469766974795F31683964643874223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223536302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F30626E356E6C31222069643D2242504D4E53686170655F4576656E745F30626E356E6C31223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223732322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31707632617A74222069643D2242504D4E456467655F466C6F775F31707632617A74223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223631302E302220793D223235302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223631302E302220793D223232302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223239302E302220793D223232302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223239302E302220793D223235302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223433392E302220793D223230322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F317734386D6531222069643D2242504D4E456467655F466C6F775F317734386D6531223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223636302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223732322E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223638302E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31333261317765222069643D2242504D4E456467655F466C6F775F31333261317765223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223530302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223536302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31387A6C376939222069643D2242504D4E456467655F466C6F775F31387A6C376939223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223334302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223430302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F303569676E6E61222069643D2242504D4E456467655F466C6F775F303569676E6E61223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138382E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223234302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F62706D6E323A646566696E6974696F6E733E, 0); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('a0864017-69e6-11ec-bb85-0235bf949cb9', 1, 'flowTranslate.bpmn', 'a0864016-69e6-11ec-bb85-0235bf949cb9', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A61637469766974693D22687474703A2F2F61637469766974692E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F61637469766974692E6F72672F62706D6E222069643D226469616772616D5F666C6F775472616E736C61746522207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C62706D6E323A70726F636573732069643D22666C6F775472616E736C61746522206E616D653D22E8BDACE58A9EE6B581E7A88B2220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C61637469766974693A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E466C6F7746696E69736865644C697374656E6572223E3C2F61637469766974693A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C62706D6E323A73746172744576656E742069643D224576656E745F31357A6F6D7466223E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F31756E7635326A3C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A73746172744576656E743E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3063366E78646D22206E616D653D22E5BD95E585A5222061637469766974693A61737369676E65653D22247B7374617274557365724E616D657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313431323835353222206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F31756E7635326A2220736F757263655265663D224576656E745F31357A6F6D746622207461726765745265663D2241637469766974795F3063366E78646D223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3077777369397722206E616D653D22E8BDACE58A9E222061637469766974693A61737369676E65653D2261646D696E222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313431343033303022206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313431343434343922206C6162656C3D22E8BDACE58A9E2220747970653D227472616E73666572222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F317932696835682220736F757263655265663D2241637469766974795F3063366E78646D22207461726765745265663D2241637469766974795F30777773693977223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A656E644576656E742069643D224576656E745F31616D31747561223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F30306F617A366A3C2F62706D6E323A696E636F6D696E673E0A202020203C2F62706D6E323A656E644576656E743E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F30306F617A366A2220736F757263655265663D2241637469766974795F3077777369397722207461726765745265663D224576656E745F31616D31747561223E3C2F62706D6E323A73657175656E6365466C6F773E0A20203C2F62706D6E323A70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F775472616E736C617465223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F775472616E736C617465222069643D2242504D4E506C616E655F666C6F775472616E736C617465223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F31357A6F6D7466222069643D2242504D4E53686170655F4576656E745F31357A6F6D7466223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223136322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3063366E78646D222069643D2242504D4E53686170655F41637469766974795F3063366E78646D223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223235302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30777773693977222069643D2242504D4E53686170655F41637469766974795F30777773693977223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223431302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F31616D31747561222069643D2242504D4E53686170655F4576656E745F31616D31747561223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223537322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30306F617A366A222069643D2242504D4E456467655F466C6F775F30306F617A366A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223531302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223537322E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31793269683568222069643D2242504D4E456467655F466C6F775F31793269683568223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223335302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223431302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31756E7635326A222069643D2242504D4E456467655F466C6F775F31756E7635326A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223139382E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223235302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F62706D6E323A646566696E6974696F6E733E, 0); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('ad3d6859-3175-11ec-9438-f20b812c0662', 1, 'flowLeave.bpmn', 'ad3d6858-3175-11ec-9438-f20b812c0662', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A61637469766974693D22687474703A2F2F61637469766974692E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F61637469766974692E6F72672F62706D6E222069643D226469616772616D5F666C6F774C6561766522207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C62706D6E323A70726F636573732069643D22666C6F774C6561766522206E616D653D22E8AFB7E58187E794B3E8AFB72220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C61637469766974693A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E557064617465466C6F775374617475734C697374656E6572223E3C2F61637469766974693A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C62706D6E323A73746172744576656E742069643D224576656E745F316D6D72747477223E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F3079346D336B763C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A73746172744576656E743E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F317462386A6B6122206E616D653D22E8AFB7E58187E794B3E8AFB7222061637469766974693A61737369676E65653D22247B7374617274557365724E616D657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131323239323522206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3079346D336B762220736F757263655265663D224576656E745F316D6D7274747722207461726765745265663D2241637469766974795F317462386A6B61223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F31316A7230707822206E616D653D22E983A8E997A8E9A286E5AFBCE5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F61637469766974693A7461736B4C697374656E65723E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131343739343122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313131353133343922206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F30376F703230392220736F757263655265663D2241637469766974795F317462386A6B6122207461726765745265663D2241637469766974795F31316A72307078223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3030696270307522206E616D653D224852E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D2231343430393634323231383535363030363430222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313133303636303122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313133313033393122206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A656E644576656E742069643D224576656E745F3163303839756F223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F306D32376664653C2F62706D6E323A696E636F6D696E673E0A202020203C2F62706D6E323A656E644576656E743E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306D323766646522206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3030696270307522207461726765745265663D224576656E745F3163303839756F223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F31367A796F613522206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F31316A7230707822207461726765745265663D2241637469766974795F317462386A6B61223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306C6C3734616E22206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F31316A7230707822207461726765745265663D2241637469766974795F30306962703075223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3161656B6D733822206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3030696270307522207461726765745265663D2241637469766974795F317462386A6B61223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A20203C2F62706D6E323A70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F774C65617665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F774C65617665222069643D2242504D4E506C616E655F666C6F774C65617665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F316D6D72747477222069643D2242504D4E53686170655F4576656E745F316D6D72747477223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223133322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F317462386A6B61222069643D2242504D4E53686170655F41637469766974795F317462386A6B61223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223232302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31316A72307078222069643D2242504D4E53686170655F41637469766974795F31316A72307078223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223338302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30306962703075222069643D2242504D4E53686170655F41637469766974795F30306962703075223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223534302E302220793D223235302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3163303839756F222069643D2242504D4E53686170655F4576656E745F3163303839756F223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223730322E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3079346D336B76222069643D2242504D4E456467655F466C6F775F3079346D336B76223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223136382E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223232302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30376F70323039222069643D2242504D4E456467655F466C6F775F30376F70323039223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223332302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306C6C3734616E222069643D2242504D4E456467655F466C6F775F306C6C3734616E223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223534302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223439392E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306D3237666465222069643D2242504D4E456467655F466C6F775F306D3237666465223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223634302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223730322E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223636302E302220793D223237322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31367A796F6135222069643D2242504D4E456467655F466C6F775F31367A796F6135223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223433302E302220793D223235302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223433302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223235302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223333392E302220793D223139322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3161656B6D7338222069643D2242504D4E456467655F466C6F775F3161656B6D7338223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223539302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223539302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223431392E302220793D223335322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F62706D6E323A646566696E6974696F6E733E, 0); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('ae82b99c-3175-11ec-9438-f20b812c0662', 1, 'flowSubmit.bpmn', 'ae82b99b-3175-11ec-9438-f20b812c0662', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A61637469766974693D22687474703A2F2F61637469766974692E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F61637469766974692E6F72672F62706D6E222069643D226469616772616D5F666C6F775375626D697422207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C62706D6E323A70726F636573732069643D22666C6F775375626D697422206E616D653D22E68AA5E99480E794B3E8AFB72220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C61637469766974693A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E557064617465466C6F775374617475734C697374656E6572223E3C2F61637469766974693A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C62706D6E323A73746172744576656E742069643D224576656E745F31753464783362223E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F306D726D71626B3C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A73746172744576656E743E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3163733462693522206E616D653D22E68AA5E99480E794B3E8AFB7222061637469766974693A61737369676E65653D22247B7374617274557365724E616D657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138303337393622206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306D726D71626B2220736F757263655265663D224576656E745F3175346478336222207461726765745265663D2241637469766974795F31637334626935223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F303473636E326F22206E616D653D22E983A8E997A8E9A286E5AFBCE5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F61637469766974693A7461736B4C697374656E65723E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138313236343622206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138313539383422206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E0A202020202020202020203C61637469766974693A666F726D5661726961626C652069643D2231343530373130383030383534343231353034223E3C2F61637469766974693A666F726D5661726961626C653E0A20202020202020203C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F307039673732692220736F757263655265663D2241637469766974795F3163733462693522207461726765745265663D2241637469766974795F303473636E326F223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A6578636C7573697665476174657761792069643D22476174657761795F30707572396365223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F306979756B77723C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F306A667265316B3C2F62706D6E323A6F7574676F696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F313365646537623C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A6578636C7573697665476174657761793E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306979756B777222206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F303473636E326F22207461726765745265663D22476174657761795F30707572396365223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A656E644576656E742069643D224576656E745F30346E71666E79223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F306A667265316B3C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F313576336A6B6A3C2F62706D6E323A696E636F6D696E673E0A202020203C2F62706D6E323A656E644576656E743E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306A667265316B22206E616D653D22E68AA5E99480E98791E9A29DE5B08FE4BA8E313030302220736F757263655265663D22476174657761795F3070757239636522207461726765745265663D224576656E745F30346E71666E79223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B746F74616C416D6F756E74203C3D20313030307D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3177323378666522206E616D653D22E680BBE7BB8FE79086E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D2231343430393131343130353831323133343136222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138383339303122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313138383733323222206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3133656465376222206E616D653D22E68AA5E99480E98791E9A29DE5A4A7E4BA8E313030302220736F757263655265663D22476174657761795F3070757239636522207461726765745265663D2241637469766974795F31773233786665223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B746F74616C416D6F756E74203E20313030307D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F313576336A6B6A22206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3177323378666522207461726765745265663D224576656E745F30346E71666E79223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F316F697135387222206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3177323378666522207461726765745265663D2241637469766974795F31637334626935223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3039387338693022206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F303473636E326F22207461726765745265663D2241637469766974795F31637334626935223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A20203C2F62706D6E323A70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F775375626D6974223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F775375626D6974222069643D2242504D4E506C616E655F666C6F775375626D6974223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F31753464783362222069643D2242504D4E53686170655F4576656E745F31753464783362223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223132322E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31637334626935222069643D2242504D4E53686170655F41637469766974795F31637334626935223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223231302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F303473636E326F222069643D2242504D4E53686170655F41637469766974795F303473636E326F223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223337302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F30346E71666E79222069643D2242504D4E53686170655F4576656E745F30346E71666E79223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223834322E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F30707572396365222069643D2242504D4E53686170655F476174657761795F30707572396365223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223538352E302220793D223239352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31773233786665222069643D2242504D4E53686170655F41637469766974795F31773233786665223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223536302E302220793D223339302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306D726D71626B222069643D2242504D4E456467655F466C6F775F306D726D71626B223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223135382E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30703967373269222069643D2242504D4E456467655F466C6F775F30703967373269223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223331302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223337302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306979756B7772222069643D2242504D4E456467655F466C6F775F306979756B7772223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223437302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223538352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223531362E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306A667265316B222069643D2242504D4E456467655F466C6F775F306A667265316B223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223633352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223834322E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2239302E302220783D223639342E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31336564653762222069643D2242504D4E456467655F466C6F775F31336564653762223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223631302E302220793D223334352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223631302E302220793D223339302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2239302E302220783D223631352E302220793D223335332E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F313576336A6B6A222069643D2242504D4E456467655F466C6F775F313576336A6B6A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223636302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223836302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223836302E302220793D223333382E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223734392E302220793D223431322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316F6971353872222069643D2242504D4E456467655F466C6F775F316F6971353872223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223536302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223236302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223236302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223339392E302220793D223431322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30393873386930222069643D2242504D4E456467655F466C6F775F30393873386930223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223432302E302220793D223238302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223432302E302220793D223234302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223236302E302220793D223234302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223236302E302220793D223238302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223332392E302220793D223232322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F62706D6E323A646566696E6974696F6E733E, 0); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('af9bf1cf-3175-11ec-9438-f20b812c0662', 1, 'flowContract.bpmn', 'af9bf1ce-3175-11ec-9438-f20b812c0662', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A61637469766974693D22687474703A2F2F61637469766974692E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F61637469766974692E6F72672F62706D6E222069643D226469616772616D5F666C6F77436F6E747261637422207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C62706D6E323A70726F636573732069643D22666C6F77436F6E747261637422206E616D653D22E59088E5908CE5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C61637469766974693A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E557064617465466C6F775374617475734C697374656E6572223E3C2F61637469766974693A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C62706D6E323A73746172744576656E742069643D224576656E745F306B6A70396369223E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F30656D7834307A3C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A73746172744576656E743E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F306263696F686622206E616D653D22E59088E5908CE5BD95E585A5222061637469766974693A61737369676E65653D22247B7374617274557365724E616D657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313235353334393822206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F30656D7834307A2220736F757263655265663D224576656E745F306B6A7039636922207461726765745265663D2241637469766974795F306263696F6866223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3035336F6D393922206E616D653D22E4B89AE58AA1E983A8E9A286E5AFBCE5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F61637469766974693A7461736B4C697374656E65723E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313235363433353322206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306477663979742220736F757263655265663D2241637469766974795F306263696F686622207461726765745265663D2241637469766974795F3035336F6D3939223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3076357A6A336B2220736F757263655265663D2241637469766974795F3035336F6D393922207461726765745265663D22476174657761795F3038353538696A223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A706172616C6C656C476174657761792069643D22476174657761795F3038353538696A223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F3076357A6A336B3C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F3164357568636F3C2F62706D6E323A6F7574676F696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F317168396370303C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A706172616C6C656C476174657761793E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F307A3930616C6922206E616D653D22E5B7A5E7A88BE983A8E5AEA1E689B9222061637469766974693A61737369676E65653D2261646D696E222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353139343939313937323335322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313236303635323922206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3164357568636F2220736F757263655265663D22476174657761795F3038353538696A22207461726765745265663D2241637469766974795F307A3930616C69223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3137393330616A22206E616D653D22E980A0E4BBB7E983A8E5AEA1E689B9222061637469766974693A63616E64696461746555736572733D2261646D696E222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353139343939313937323335322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313236333131313322206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F317168396370302220736F757263655265663D22476174657761795F3038353538696A22207461726765745265663D2241637469766974795F3137393330616A223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F316E35637866672220736F757263655265663D2241637469766974795F3137393330616A22207461726765745265663D22476174657761795F30796A79713068223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A706172616C6C656C476174657761792069643D22476174657761795F30796A79713068223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F316E35637866673C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F313068663979353C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F30767435676F723C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A706172616C6C656C476174657761793E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F313068663979352220736F757263655265663D2241637469766974795F307A3930616C6922207461726765745265663D22476174657761795F30796A79713068223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3078657463387522206E616D653D22E8B4A2E58AA1E983A8E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D22313434303936343531393339313133373739322C31343430393634353139333935333332303936222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353132373739303833333636342671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313236363839383222206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313236373231393522206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F30767435676F722220736F757263655265663D22476174657761795F30796A7971306822207461726765745265663D2241637469766974795F30786574633875223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F3064766734686922206E616D653D22E6B395E58AA1E983A8E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D2231343430393634333837393739333939313638222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353030313039333439323733362671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313238323034313422206C6162656C3D22E4BC9AE7ADBE2220747970653D226D756C74695F7369676E222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313238323839303922206C6162656C3D22E58AA0E7ADBE2220747970653D226D756C74695F636F6E7369676E222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3069746664623522206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3078657463387522207461726765745265663D2241637469766974795F30647667346869223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F30786F31346E7322206E616D653D22E6B395E58AA1E983A8E4BC9AE7ADBE222061637469766974693A61737369676E65653D22247B61737369676E65657D222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353030313039333439323733362671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313239343530353322206C6162656C3D22E5908CE6848F2220747970653D226D756C74695F6167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313239353131363022206C6162656C3D22E68B92E7BB9D2220747970653D226D756C74695F726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D2266616C7365222061637469766974693A636F6C6C656374696F6E3D2261737369676E65654C697374222061637469766974693A656C656D656E745661726961626C653D2261737369676E6565223E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B6E724F66496E7374616E636573203D3D206E724F66436F6D706C65746564496E7374616E6365737D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F307976347562702220736F757263655265663D2241637469766974795F3064766734686922207461726765745265663D2241637469766974795F30786F31346E73223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A6578636C7573697665476174657761792069643D22476174657761795F31633066687A66223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F306969796469703C2F62706D6E323A696E636F6D696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F3038653538356A3C2F62706D6E323A6F7574676F696E673E0A2020202020203C62706D6E323A6F7574676F696E673E466C6F775F3165696C647A703C2F62706D6E323A6F7574676F696E673E0A202020203C2F62706D6E323A6578636C7573697665476174657761793E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306969796469702220736F757263655265663D2241637469766974795F30786F31346E7322207461726765745265663D22476174657761795F31633066687A66223E3C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A757365725461736B2069643D2241637469766974795F31656E68356B6522206E616D653D22E680BBE7BB8FE79086E5AEA1E689B9222061637469766974693A63616E64696461746547726F7570733D2231343430393131343130353831323133343136222061637469766974693A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A6F7065726174696F6E4C6973743E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313331353630393122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A202020202020202020203C61637469766974693A666F726D4F7065726174696F6E2069643D223136333437313331353939353622206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F61637469766974693A666F726D4F7065726174696F6E3E0A20202020202020203C2F61637469766974693A6F7065726174696F6E4C6973743E0A20202020202020203C61637469766974693A7661726961626C654C6973743E3C2F61637469766974693A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F62706D6E323A757365725461736B3E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3038653538356A22206E616D653D22E5908CE6848FE4BABAE695B0E5A4A7E4BA8E3430252220736F757263655265663D22476174657761795F31633066687A6622207461726765745265663D2241637469766974795F31656E68356B65223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6D756C74694167726565436F756E74202F206D756C74694E756D4F66496E7374616E636573203E20302E347D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A656E644576656E742069643D224576656E745F30383570366479223E0A2020202020203C62706D6E323A696E636F6D696E673E466C6F775F31696E776864653C2F62706D6E323A696E636F6D696E673E0A202020203C2F62706D6E323A656E644576656E743E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F31696E7768646522206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F31656E68356B6522207461726765745265663D224576656E745F30383570366479223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F306A306779327422206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3078657463387522207461726765745265663D2241637469766974795F306263696F6866223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3165696C647A7022206E616D653D22E5908CE6848FE4BABAE695B0E5B08FE4BA8E3430252220736F757263655265663D22476174657761795F31633066687A6622207461726765745265663D2241637469766974795F306263696F6866223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6D756C74694167726565436F756E74202F206D756C74694E756D4F66496E7374616E636573203C3D20302E347D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A202020203C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3063326475367022206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F31656E68356B6522207461726765745265663D2241637469766974795F306263696F6866223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C61637469766974693A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F61637469766974693A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F62706D6E323A73657175656E6365466C6F773E0A20203C2F62706D6E323A70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F77436F6E7472616374223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F77436F6E7472616374222069643D2242504D4E506C616E655F666C6F77436F6E7472616374223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F306B6A70396369222069643D2242504D4E53686170655F4576656E745F306B6A70396369223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D2234322E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F306263696F6866222069643D2242504D4E53686170655F41637469766974795F306263696F6866223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223133302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3035336F6D3939222069643D2242504D4E53686170655F41637469766974795F3035336F6D3939223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223239302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F3038353538696A222069643D2242504D4E53686170655F476174657761795F3038353538696A223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223435352E302220793D223239352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F307A3930616C69222069643D2242504D4E53686170655F41637469766974795F307A3930616C69223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223537302E302220793D223137302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3137393330616A222069643D2242504D4E53686170655F41637469766974795F3137393330616A223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223537302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F30796A79713068222069643D2242504D4E53686170655F476174657761795F30796A79713068223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223733352E302220793D223239352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30786574633875222069643D2242504D4E53686170655F41637469766974795F30786574633875223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223837302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30647667346869222069643D2242504D4E53686170655F41637469766974795F30647667346869223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223837302E302220793D223436302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30786F31346E73222069643D2242504D4E53686170655F41637469766974795F30786F31346E73223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223731302E302220793D223436302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F31633066687A66222069643D2242504D4E53686170655F476174657761795F31633066687A66223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223535352E302220793D223437352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31656E68356B65222069643D2242504D4E53686170655F41637469766974795F31656E68356B65223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223133302E302220793D223436302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F30383570366479222069643D2242504D4E53686170655F4576656E745F30383570366479223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D2234322E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30656D7834307A222069643D2242504D4E456467655F466C6F775F30656D7834307A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D2237382E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223133302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30647766397974222069643D2242504D4E456467655F466C6F775F30647766397974223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223239302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3076357A6A336B222069643D2242504D4E456467655F466C6F775F3076357A6A336B223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223339302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223435352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3164357568636F222069643D2242504D4E456467655F466C6F775F3164357568636F223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D223239352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223537302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31716839637030222069643D2242504D4E456467655F466C6F775F31716839637030223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223530352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223537302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316E3563786667222069643D2242504D4E456467655F466C6F775F316E3563786667223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223637302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223733352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31306866397935222069643D2242504D4E456467655F466C6F775F31306866397935223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223637302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223736302E302220793D223231302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223736302E302220793D223239352E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30767435676F72222069643D2242504D4E456467655F466C6F775F30767435676F72223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223738352E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223837302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30697466646235222069643D2242504D4E456467655F466C6F775F30697466646235223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223934302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223934302E302220793D223436302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223934342E302220793D223430372E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30797634756270222069643D2242504D4E456467655F466C6F775F30797634756270223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223837302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223831302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30696979646970222069643D2242504D4E456467655F466C6F775F30696979646970223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223731302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223630352E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3038653538356A222069643D2242504D4E456467655F466C6F775F3038653538356A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223535352E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2238392E302220783D223334382E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31696E77686465222069643D2242504D4E456467655F466C6F775F31696E77686465223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223133302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D2237382E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D2239332E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306A3067793274222069643D2242504D4E456467655F466C6F775F306A3067793274223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223839302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223839302E302220793D223339302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223339302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223533392E302220793D223337322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3165696C647A70222069643D2242504D4E456467655F466C6F775F3165696C647A70223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223538302E302220793D223437352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223538302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2238392E302220783D223333362E302220793D223431322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30633264753670222069643D2242504D4E456467655F466C6F775F30633264753670223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223135302E302220793D223436302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223135302E302220793D223336302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223135342E302220793D223430372E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F62706D6E323A646566696E6974696F6E733E, 0); @@ -164,7 +169,17 @@ INSERT INTO `ACT_HI_ACTINST` VALUES ('a397dcea-3186-11ec-bf2d-f20b812c0662', 'fl INSERT INTO `ACT_HI_ACTINST` VALUES ('a398c74b-3186-11ec-bf2d-f20b812c0662', 'flowLeave:7:98337350-3186-11ec-bf2d-f20b812c0662', 'a396f281-3186-11ec-bf2d-f20b812c0662', 'a3978ec9-3186-11ec-bf2d-f20b812c0662', 'Activity_1tb8jka', 'a399b1ac-3186-11ec-bf2d-f20b812c0662', NULL, '请假申请', 'userTask', 'userD', '2021-10-20 17:18:08.172', '2021-10-20 17:18:08.233', 61, NULL, ''); INSERT INTO `ACT_HI_ACTINST` VALUES ('a3a2162a-3186-11ec-bf2d-f20b812c0662', 'flowLeave:7:98337350-3186-11ec-bf2d-f20b812c0662', 'a396f281-3186-11ec-bf2d-f20b812c0662', 'a3978ec9-3186-11ec-bf2d-f20b812c0662', 'Activity_11jr0px', 'a3a2162b-3186-11ec-bf2d-f20b812c0662', NULL, '部门领导审批', 'userTask', NULL, '2021-10-20 17:18:08.233', NULL, NULL, NULL, ''); INSERT INTO `ACT_HI_ACTINST` VALUES ('a98cbe43-3184-11ec-9f40-f20b812c0662', 'flowLeave:6:79b100b1-3184-11ec-9f40-f20b812c0662', '8edf84c8-3184-11ec-9f40-f20b812c0662', '8ee06f30-3184-11ec-9f40-f20b812c0662', 'Event_1c089uo', NULL, NULL, NULL, 'endEvent', NULL, '2021-10-20 17:03:59.166', '2021-10-20 17:03:59.166', 0, NULL, ''); +INSERT INTO `ACT_HI_ACTINST` VALUES ('af5e7e53-69e7-11ec-b9c4-0235bf949cb9', 'flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'Event_085p6dy', NULL, NULL, NULL, 'endEvent', NULL, '2021-12-31 11:13:54.221', '2021-12-31 11:13:54.221', 0, NULL, ''); INSERT INTO `ACT_HI_ACTINST` VALUES ('ceeba7f9-3183-11ec-ad5a-f20b812c0662', 'flowLeave:4:8e42a9bb-3179-11ec-9438-f20b812c0662', '5b6b546a-3183-11ec-ad5a-f20b812c0662', '5b6c3ed2-3183-11ec-ad5a-f20b812c0662', 'Event_1c089uo', NULL, NULL, NULL, 'endEvent', NULL, '2021-10-20 16:57:52.367', '2021-10-20 16:57:52.367', 0, NULL, ''); +INSERT INTO `ACT_HI_ACTINST` VALUES ('d6434502-69e6-11ec-bb85-0235bf949cb9', 'flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'Event_1mmrttw', NULL, NULL, NULL, 'startEvent', NULL, '2021-12-31 11:07:49.977', '2021-12-31 11:07:49.979', 2, NULL, ''); +INSERT INTO `ACT_HI_ACTINST` VALUES ('d6442f63-69e6-11ec-bb85-0235bf949cb9', 'flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'Activity_1tb8jka', 'd644f2b4-69e6-11ec-bb85-0235bf949cb9', NULL, '请假申请', 'userTask', 'admin', '2021-12-31 11:07:49.983', '2021-12-31 11:07:50.049', 66, NULL, ''); +INSERT INTO `ACT_HI_ACTINST` VALUES ('d64e68a2-69e6-11ec-bb85-0235bf949cb9', 'flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'Activity_11jr0px', 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', NULL, '部门领导审批', 'userTask', NULL, '2021-12-31 11:07:50.050', NULL, NULL, NULL, ''); +INSERT INTO `ACT_HI_ACTINST` VALUES ('dc101a56-69e6-11ec-bb85-0235bf949cb9', 'flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'Event_1u4dx3b', NULL, NULL, NULL, 'startEvent', NULL, '2021-12-31 11:07:59.708', '2021-12-31 11:07:59.709', 1, NULL, ''); +INSERT INTO `ACT_HI_ACTINST` VALUES ('dc104167-69e6-11ec-bb85-0235bf949cb9', 'flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'Activity_1cs4bi5', 'dc104168-69e6-11ec-bb85-0235bf949cb9', NULL, '报销申请', 'userTask', 'admin', '2021-12-31 11:07:59.709', '2021-12-31 11:07:59.740', 31, NULL, ''); +INSERT INTO `ACT_HI_ACTINST` VALUES ('dc14fc66-69e6-11ec-bb85-0235bf949cb9', 'flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'Activity_04scn2o', 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', NULL, '部门领导审批', 'userTask', NULL, '2021-12-31 11:07:59.740', NULL, NULL, NULL, ''); +INSERT INTO `ACT_HI_ACTINST` VALUES ('e21516aa-69e6-11ec-bb85-0235bf949cb9', 'flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'Event_0kjp9ci', NULL, NULL, NULL, 'startEvent', NULL, '2021-12-31 11:08:09.807', '2021-12-31 11:08:09.807', 0, NULL, ''); +INSERT INTO `ACT_HI_ACTINST` VALUES ('e21516ab-69e6-11ec-bb85-0235bf949cb9', 'flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'Activity_0bciohf', 'e21516ac-69e6-11ec-bb85-0235bf949cb9', NULL, '合同录入', 'userTask', 'admin', '2021-12-31 11:08:09.807', '2021-12-31 11:08:09.833', 26, NULL, ''); +INSERT INTO `ACT_HI_ACTINST` VALUES ('e2190e5a-69e6-11ec-bb85-0235bf949cb9', 'flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'Activity_053om99', 'e219356b-69e6-11ec-bb85-0235bf949cb9', NULL, '业务部领导审批', 'userTask', NULL, '2021-12-31 11:08:09.833', '2021-12-31 11:13:54.221', 344388, NULL, ''); INSERT INTO `ACT_HI_ACTINST` VALUES ('ec6ca59d-3184-11ec-9f40-f20b812c0662', 'flowContract:2:7ce26a87-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', 'ec6ca59c-3184-11ec-9f40-f20b812c0662', 'Event_0kjp9ci', NULL, NULL, NULL, 'startEvent', NULL, '2021-10-20 17:05:51.363', '2021-10-20 17:05:51.363', 0, NULL, ''); INSERT INTO `ACT_HI_ACTINST` VALUES ('ec6ca59e-3184-11ec-9f40-f20b812c0662', 'flowContract:2:7ce26a87-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', 'ec6ca59c-3184-11ec-9f40-f20b812c0662', 'Activity_0bciohf', 'ec6cccaf-3184-11ec-9f40-f20b812c0662', NULL, '合同录入', 'userTask', 'userD', '2021-10-20 17:05:51.363', '2021-10-20 17:05:51.385', 22, NULL, ''); INSERT INTO `ACT_HI_ACTINST` VALUES ('ec70010d-3184-11ec-9f40-f20b812c0662', 'flowContract:2:7ce26a87-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', 'ec6ca59c-3184-11ec-9f40-f20b812c0662', 'Activity_053om99', 'ec70010e-3184-11ec-9f40-f20b812c0662', NULL, '业务部领导审批', 'userTask', 'leaderTJ', '2021-10-20 17:05:51.385', '2021-10-20 17:06:05.912', 14527, NULL, ''); @@ -553,12 +568,61 @@ INSERT INTO `ACT_HI_DETAIL` VALUES ('a98c490f-3184-11ec-9f40-f20b812c0662', 'Var INSERT INTO `ACT_HI_DETAIL` VALUES ('a98c7020-3184-11ec-9f40-f20b812c0662', 'VariableUpdate', '8edf84c8-3184-11ec-9f40-f20b812c0662', '8edf84c8-3184-11ec-9f40-f20b812c0662', NULL, NULL, 'operationType', 'string', 1, '2021-10-20 17:03:59.164', NULL, NULL, NULL, 'agree', NULL); INSERT INTO `ACT_HI_DETAIL` VALUES ('a98c7021-3184-11ec-9f40-f20b812c0662', 'VariableUpdate', '8edf84c8-3184-11ec-9f40-f20b812c0662', '8edf84c8-3184-11ec-9f40-f20b812c0662', NULL, NULL, 'startUserName', 'string', 1, '2021-10-20 17:03:59.164', NULL, NULL, NULL, 'userD', NULL); INSERT INTO `ACT_HI_DETAIL` VALUES ('a98c9732-3184-11ec-9f40-f20b812c0662', 'VariableUpdate', '8edf84c8-3184-11ec-9f40-f20b812c0662', '8edf84c8-3184-11ec-9f40-f20b812c0662', NULL, NULL, 'initiator', 'string', 1, '2021-10-20 17:03:59.165', NULL, NULL, NULL, 'userD', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('af5e091f-69e7-11ec-b9c4-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'deptPostLeader', 'string', 1, '2021-12-31 11:13:54.218', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('af5e0920-69e7-11ec-b9c4-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'operationType', 'string', 1, '2021-12-31 11:13:54.218', NULL, NULL, NULL, 'agree', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('af5e3031-69e7-11ec-b9c4-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'startUserName', 'string', 1, '2021-12-31 11:13:54.219', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('af5e3032-69e7-11ec-b9c4-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'initiator', 'string', 1, '2021-12-31 11:13:54.219', NULL, NULL, NULL, 'admin', NULL); INSERT INTO `ACT_HI_DETAIL` VALUES ('ceea6f73-3183-11ec-ad5a-f20b812c0662', 'VariableUpdate', '5b6b546a-3183-11ec-ad5a-f20b812c0662', '5b6c3ed2-3183-11ec-ad5a-f20b812c0662', 'a18112a8-3183-11ec-ad5a-f20b812c0662', NULL, 'operationType', 'string', 1, '2021-10-20 16:57:52.359', NULL, NULL, NULL, 'agree', NULL); INSERT INTO `ACT_HI_DETAIL` VALUES ('ceea6f74-3183-11ec-ad5a-f20b812c0662', 'VariableUpdate', '5b6b546a-3183-11ec-ad5a-f20b812c0662', '5b6c3ed2-3183-11ec-ad5a-f20b812c0662', 'a18112a8-3183-11ec-ad5a-f20b812c0662', NULL, 'deptPostLeader', 'string', 1, '2021-10-20 16:57:52.359', NULL, NULL, NULL, '1440964221780103168', NULL); INSERT INTO `ACT_HI_DETAIL` VALUES ('ceeb32c5-3183-11ec-ad5a-f20b812c0662', 'VariableUpdate', '5b6b546a-3183-11ec-ad5a-f20b812c0662', '5b6b546a-3183-11ec-ad5a-f20b812c0662', NULL, NULL, 'operationType', 'string', 3, '2021-10-20 16:57:52.364', NULL, NULL, NULL, 'agree', NULL); INSERT INTO `ACT_HI_DETAIL` VALUES ('ceeb59d6-3183-11ec-ad5a-f20b812c0662', 'VariableUpdate', '5b6b546a-3183-11ec-ad5a-f20b812c0662', '5b6b546a-3183-11ec-ad5a-f20b812c0662', NULL, NULL, 'deptPostLeader', 'string', 2, '2021-10-20 16:57:52.365', NULL, NULL, NULL, '1440964221780103168', NULL); INSERT INTO `ACT_HI_DETAIL` VALUES ('ceeb59d7-3183-11ec-ad5a-f20b812c0662', 'VariableUpdate', '5b6b546a-3183-11ec-ad5a-f20b812c0662', '5b6b546a-3183-11ec-ad5a-f20b812c0662', NULL, NULL, 'startUserName', 'string', 1, '2021-10-20 16:57:52.365', NULL, NULL, NULL, 'userD', NULL); INSERT INTO `ACT_HI_DETAIL` VALUES ('ceeb80e8-3183-11ec-ad5a-f20b812c0662', 'VariableUpdate', '5b6b546a-3183-11ec-ad5a-f20b812c0662', '5b6b546a-3183-11ec-ad5a-f20b812c0662', NULL, NULL, 'initiator', 'string', 1, '2021-10-20 16:57:52.366', NULL, NULL, NULL, 'userD', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d64281ac-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'startUserName', 'string', 0, '2021-12-31 11:07:49.972', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d642cfce-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'deptPostLeader', 'string', 0, '2021-12-31 11:07:49.974', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d642cfd0-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'initiator', 'string', 0, '2021-12-31 11:07:49.974', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d6458ef6-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd644f2b4-69e6-11ec-bb85-0235bf949cb9', NULL, 'startUserName', 'string', 0, '2021-12-31 11:07:49.992', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d6458ef8-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd644f2b4-69e6-11ec-bb85-0235bf949cb9', NULL, 'initiator', 'string', 0, '2021-12-31 11:07:49.992', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d6458efa-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd644f2b4-69e6-11ec-bb85-0235bf949cb9', NULL, 'deptPostLeader', 'string', 0, '2021-12-31 11:07:49.992', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d64c45bc-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd644f2b4-69e6-11ec-bb85-0235bf949cb9', NULL, 'operationType', 'string', 0, '2021-12-31 11:07:50.036', NULL, NULL, NULL, 'agree', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d64da54d-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'deptPostLeader', 'string', 1, '2021-12-31 11:07:50.045', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d64df36f-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'operationType', 'string', 0, '2021-12-31 11:07:50.047', NULL, NULL, NULL, 'agree', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d64df370-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'startUserName', 'string', 1, '2021-12-31 11:07:50.047', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d64e1a81-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'initiator', 'string', 1, '2021-12-31 11:07:50.048', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d64e8fb5-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', NULL, 'startUserName', 'string', 0, '2021-12-31 11:07:50.051', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d64e8fb7-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', NULL, 'initiator', 'string', 0, '2021-12-31 11:07:50.051', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d64e8fb9-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', NULL, 'deptPostLeader', 'string', 0, '2021-12-31 11:07:50.051', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('d64e8fbb-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', NULL, 'operationType', 'string', 0, '2021-12-31 11:07:50.051', NULL, NULL, NULL, 'agree', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc101a50-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'startUserName', 'string', 0, '2021-12-31 11:07:59.708', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc101a52-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'deptPostLeader', 'string', 0, '2021-12-31 11:07:59.708', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc101a54-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'initiator', 'string', 0, '2021-12-31 11:07:59.708', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc10687a-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc104168-69e6-11ec-bb85-0235bf949cb9', NULL, 'startUserName', 'string', 0, '2021-12-31 11:07:59.710', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc10687c-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc104168-69e6-11ec-bb85-0235bf949cb9', NULL, 'initiator', 'string', 0, '2021-12-31 11:07:59.710', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc10687e-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc104168-69e6-11ec-bb85-0235bf949cb9', NULL, 'deptPostLeader', 'string', 0, '2021-12-31 11:07:59.710', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc13eaf0-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc104168-69e6-11ec-bb85-0235bf949cb9', NULL, 'operationType', 'string', 0, '2021-12-31 11:07:59.733', NULL, NULL, NULL, 'agree', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc14ae41-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'deptPostLeader', 'string', 1, '2021-12-31 11:07:59.738', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc14ae43-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'operationType', 'string', 0, '2021-12-31 11:07:59.738', NULL, NULL, NULL, 'agree', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc14ae44-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'startUserName', 'string', 1, '2021-12-31 11:07:59.738', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc14d555-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'initiator', 'string', 1, '2021-12-31 11:07:59.739', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc154a89-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', NULL, 'startUserName', 'string', 0, '2021-12-31 11:07:59.742', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc154a8b-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', NULL, 'initiator', 'string', 0, '2021-12-31 11:07:59.742', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc154a8d-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', NULL, 'deptPostLeader', 'string', 0, '2021-12-31 11:07:59.742', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('dc154a8f-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', NULL, 'operationType', 'string', 0, '2021-12-31 11:07:59.742', NULL, NULL, NULL, 'agree', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e214ef94-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'startUserName', 'string', 0, '2021-12-31 11:08:09.806', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e214ef96-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'deptPostLeader', 'string', 0, '2021-12-31 11:08:09.806', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e214ef98-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'initiator', 'string', 0, '2021-12-31 11:08:09.806', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e2153dbe-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e21516ac-69e6-11ec-bb85-0235bf949cb9', NULL, 'startUserName', 'string', 0, '2021-12-31 11:08:09.808', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e2153dc0-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e21516ac-69e6-11ec-bb85-0235bf949cb9', NULL, 'initiator', 'string', 0, '2021-12-31 11:08:09.808', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e2153dc2-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e21516ac-69e6-11ec-bb85-0235bf949cb9', NULL, 'deptPostLeader', 'string', 0, '2021-12-31 11:08:09.808', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e217d5d4-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e21516ac-69e6-11ec-bb85-0235bf949cb9', NULL, 'operationType', 'string', 0, '2021-12-31 11:08:09.825', NULL, NULL, NULL, 'agree', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e218c035-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'deptPostLeader', 'string', 1, '2021-12-31 11:08:09.831', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e218e747-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'operationType', 'string', 0, '2021-12-31 11:08:09.832', NULL, NULL, NULL, 'agree', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e218e748-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'startUserName', 'string', 1, '2021-12-31 11:08:09.832', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e218e749-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, 'initiator', 'string', 1, '2021-12-31 11:08:09.832', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e2195c7d-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e219356b-69e6-11ec-bb85-0235bf949cb9', NULL, 'startUserName', 'string', 0, '2021-12-31 11:08:09.835', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e2195c7f-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e219356b-69e6-11ec-bb85-0235bf949cb9', NULL, 'initiator', 'string', 0, '2021-12-31 11:08:09.835', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e2195c81-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e219356b-69e6-11ec-bb85-0235bf949cb9', NULL, 'deptPostLeader', 'string', 0, '2021-12-31 11:08:09.835', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_HI_DETAIL` VALUES ('e2195c83-69e6-11ec-bb85-0235bf949cb9', 'VariableUpdate', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e219356b-69e6-11ec-bb85-0235bf949cb9', NULL, 'operationType', 'string', 0, '2021-12-31 11:08:09.835', NULL, NULL, NULL, 'agree', NULL); INSERT INTO `ACT_HI_DETAIL` VALUES ('ec6ca597-3184-11ec-9f40-f20b812c0662', 'VariableUpdate', 'ec6ca594-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', NULL, NULL, 'startUserName', 'string', 0, '2021-10-20 17:05:51.363', NULL, NULL, NULL, 'userD', NULL); INSERT INTO `ACT_HI_DETAIL` VALUES ('ec6ca599-3184-11ec-9f40-f20b812c0662', 'VariableUpdate', 'ec6ca594-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', NULL, NULL, 'deptPostLeader', 'string', 0, '2021-10-20 17:05:51.363', NULL, NULL, NULL, '1440964519391137792', NULL); INSERT INTO `ACT_HI_DETAIL` VALUES ('ec6ca59b-3184-11ec-9f40-f20b812c0662', 'VariableUpdate', 'ec6ca594-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', NULL, NULL, 'initiator', 'string', 0, '2021-10-20 17:05:51.363', NULL, NULL, NULL, 'userD', NULL); @@ -644,6 +708,12 @@ INSERT INTO `ACT_HI_IDENTITYLINK` VALUES ('a396f282-3186-11ec-bf2d-f20b812c0662' INSERT INTO `ACT_HI_IDENTITYLINK` VALUES ('a3a26454-3186-11ec-bf2d-f20b812c0662', '1440964519391137792', 'candidate', NULL, 'a3a2162b-3186-11ec-bf2d-f20b812c0662', NULL); INSERT INTO `ACT_HI_IDENTITYLINK` VALUES ('a987b52d-3184-11ec-9f40-f20b812c0662', NULL, 'participant', 'userA', NULL, '8edf84c8-3184-11ec-9f40-f20b812c0662'); INSERT INTO `ACT_HI_IDENTITYLINK` VALUES ('cee629b2-3183-11ec-ad5a-f20b812c0662', NULL, 'participant', 'userA', NULL, '5b6b546a-3183-11ec-ad5a-f20b812c0662'); +INSERT INTO `ACT_HI_IDENTITYLINK` VALUES ('d6425a9a-69e6-11ec-bb85-0235bf949cb9', NULL, 'starter', 'admin', NULL, 'd6423389-69e6-11ec-bb85-0235bf949cb9'); +INSERT INTO `ACT_HI_IDENTITYLINK` VALUES ('d64eb6cc-69e6-11ec-bb85-0235bf949cb9', '1440969551792574464', 'candidate', NULL, 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', NULL); +INSERT INTO `ACT_HI_IDENTITYLINK` VALUES ('dc101a4e-69e6-11ec-bb85-0235bf949cb9', NULL, 'starter', 'admin', NULL, 'dc101a4d-69e6-11ec-bb85-0235bf949cb9'); +INSERT INTO `ACT_HI_IDENTITYLINK` VALUES ('dc154a90-69e6-11ec-bb85-0235bf949cb9', '1440969551792574464', 'candidate', NULL, 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', NULL); +INSERT INTO `ACT_HI_IDENTITYLINK` VALUES ('e214ef92-69e6-11ec-bb85-0235bf949cb9', NULL, 'starter', 'admin', NULL, 'e214ef91-69e6-11ec-bb85-0235bf949cb9'); +INSERT INTO `ACT_HI_IDENTITYLINK` VALUES ('e2195c84-69e6-11ec-bb85-0235bf949cb9', '1440969551792574464', 'candidate', NULL, 'e219356b-69e6-11ec-bb85-0235bf949cb9', NULL); INSERT INTO `ACT_HI_IDENTITYLINK` VALUES ('ec6ca595-3184-11ec-9f40-f20b812c0662', NULL, 'starter', 'userD', NULL, 'ec6ca594-3184-11ec-9f40-f20b812c0662'); INSERT INTO `ACT_HI_IDENTITYLINK` VALUES ('ec702827-3184-11ec-9f40-f20b812c0662', '1440964519391137792', 'candidate', NULL, 'ec70010e-3184-11ec-9f40-f20b812c0662', NULL); INSERT INTO `ACT_HI_IDENTITYLINK` VALUES ('f5148758-3184-11ec-9f40-f20b812c0662', NULL, 'participant', 'leaderTJ', NULL, 'ec6ca594-3184-11ec-9f40-f20b812c0662'); @@ -686,6 +756,9 @@ INSERT INTO `ACT_HI_PROCINST` VALUES ('5b6b546a-3183-11ec-ad5a-f20b812c0662', '5 INSERT INTO `ACT_HI_PROCINST` VALUES ('8de8b46c-3182-11ec-a0b7-f20b812c0662', '8de8b46c-3182-11ec-a0b7-f20b812c0662', '1450745828686696448', 'flowLeave:4:8e42a9bb-3179-11ec-9438-f20b812c0662', '2021-10-20 16:48:53.798', NULL, NULL, 'userD', 'Event_1mmrttw', NULL, NULL, NULL, '', NULL); INSERT INTO `ACT_HI_PROCINST` VALUES ('8edf84c8-3184-11ec-9f40-f20b812c0662', '8edf84c8-3184-11ec-9f40-f20b812c0662', '1450749438409576448', 'flowLeave:6:79b100b1-3184-11ec-9f40-f20b812c0662', '2021-10-20 17:03:14.410', '2021-10-20 17:03:59.177', 44767, 'userD', 'Event_1mmrttw', 'Event_1c089uo', NULL, NULL, '', NULL); INSERT INTO `ACT_HI_PROCINST` VALUES ('a396f281-3186-11ec-bf2d-f20b812c0662', 'a396f281-3186-11ec-bf2d-f20b812c0662', '1450753187064582144', 'flowLeave:7:98337350-3186-11ec-bf2d-f20b812c0662', '2021-10-20 17:18:08.160', NULL, NULL, 'userD', 'Event_1mmrttw', NULL, NULL, NULL, '', NULL); +INSERT INTO `ACT_HI_PROCINST` VALUES ('d6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', '1476751923557175296', 'flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', '2021-12-31 11:07:49.970', NULL, NULL, 'admin', 'Event_1mmrttw', NULL, NULL, NULL, '', NULL); +INSERT INTO `ACT_HI_PROCINST` VALUES ('dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', '1476751964434862080', 'flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', '2021-12-31 11:07:59.708', NULL, NULL, 'admin', 'Event_1u4dx3b', NULL, NULL, NULL, '', NULL); +INSERT INTO `ACT_HI_PROCINST` VALUES ('e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', '1476752006788943872', 'flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', '2021-12-31 11:08:09.806', '2021-12-31 11:13:54.231', 344425, 'admin', 'Event_0kjp9ci', 'Event_085p6dy', NULL, NULL, '', NULL); INSERT INTO `ACT_HI_PROCINST` VALUES ('ec6ca594-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', '1450750096739143680', 'flowContract:2:7ce26a87-3184-11ec-9f40-f20b812c0662', '2021-10-20 17:05:51.363', '2021-10-20 17:09:53.033', 241670, 'userD', 'Event_0kjp9ci', 'Event_085p6dy', NULL, NULL, '', NULL); COMMIT; @@ -744,6 +817,12 @@ INSERT INTO `ACT_HI_TASKINST` VALUES ('9c164f37-3182-11ec-a0b7-f20b812c0662', 'f INSERT INTO `ACT_HI_TASKINST` VALUES ('a18112a8-3183-11ec-ad5a-f20b812c0662', 'flowLeave:4:8e42a9bb-3179-11ec-9438-f20b812c0662', 'Activity_00ibp0u', '5b6b546a-3183-11ec-ad5a-f20b812c0662', '5b6c3ed2-3183-11ec-ad5a-f20b812c0662', 'HR审批', NULL, NULL, NULL, 'userA', '2021-10-20 16:56:36.171', '2021-10-20 16:57:52.329', '2021-10-20 16:57:52.362', 76191, NULL, 50, NULL, '{\"formId\":\"1440945411354267648\",\"readOnly\":true,\"groupType\":\"POST\"}', NULL, ''); INSERT INTO `ACT_HI_TASKINST` VALUES ('a399b1ac-3186-11ec-bf2d-f20b812c0662', 'flowLeave:7:98337350-3186-11ec-bf2d-f20b812c0662', 'Activity_1tb8jka', 'a396f281-3186-11ec-bf2d-f20b812c0662', 'a3978ec9-3186-11ec-bf2d-f20b812c0662', '请假申请', NULL, NULL, NULL, 'userD', '2021-10-20 17:18:08.178', NULL, '2021-10-20 17:18:08.227', 49, NULL, 50, NULL, '{\"formId\":\"1440945411354267648\",\"readOnly\":false,\"groupType\":\"DEPT\"}', NULL, ''); INSERT INTO `ACT_HI_TASKINST` VALUES ('a3a2162b-3186-11ec-bf2d-f20b812c0662', 'flowLeave:7:98337350-3186-11ec-bf2d-f20b812c0662', 'Activity_11jr0px', 'a396f281-3186-11ec-bf2d-f20b812c0662', 'a3978ec9-3186-11ec-bf2d-f20b812c0662', '部门领导审批', NULL, NULL, NULL, NULL, '2021-10-20 17:18:08.233', NULL, NULL, NULL, NULL, 50, NULL, '{\"formId\":\"1440945411354267648\",\"readOnly\":true,\"groupType\":\"DEPT_POST_LEADER\"}', NULL, ''); +INSERT INTO `ACT_HI_TASKINST` VALUES ('d644f2b4-69e6-11ec-bb85-0235bf949cb9', 'flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', 'Activity_1tb8jka', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', '请假申请', NULL, NULL, NULL, 'admin', '2021-12-31 11:07:49.988', NULL, '2021-12-31 11:07:50.042', 54, NULL, 50, NULL, '{\"formId\":\"1440945411354267648\",\"readOnly\":false,\"groupType\":\"ASSIGNEE\"}', NULL, ''); +INSERT INTO `ACT_HI_TASKINST` VALUES ('d64e68a3-69e6-11ec-bb85-0235bf949cb9', 'flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', 'Activity_11jr0px', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', '部门领导审批', NULL, NULL, NULL, NULL, '2021-12-31 11:07:50.050', NULL, NULL, NULL, NULL, 50, NULL, '{\"formId\":\"1440945411354267648\",\"readOnly\":true,\"groupType\":\"DEPT_POST_LEADER\"}', NULL, ''); +INSERT INTO `ACT_HI_TASKINST` VALUES ('dc104168-69e6-11ec-bb85-0235bf949cb9', 'flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', 'Activity_1cs4bi5', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', '报销申请', NULL, NULL, NULL, 'admin', '2021-12-31 11:07:59.709', NULL, '2021-12-31 11:07:59.736', 27, NULL, 50, NULL, '{\"formId\":\"1440947675041107968\",\"readOnly\":false,\"groupType\":\"ASSIGNEE\"}', NULL, ''); +INSERT INTO `ACT_HI_TASKINST` VALUES ('dc14fc67-69e6-11ec-bb85-0235bf949cb9', 'flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', 'Activity_04scn2o', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', '部门领导审批', NULL, NULL, NULL, NULL, '2021-12-31 11:07:59.741', NULL, NULL, NULL, NULL, 50, NULL, '{\"formId\":\"1440947675041107968\",\"readOnly\":true,\"groupType\":\"DEPT_POST_LEADER\"}', NULL, ''); +INSERT INTO `ACT_HI_TASKINST` VALUES ('e21516ac-69e6-11ec-bb85-0235bf949cb9', 'flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'Activity_0bciohf', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', '合同录入', NULL, NULL, NULL, 'admin', '2021-12-31 11:08:09.807', NULL, '2021-12-31 11:08:09.828', 21, NULL, 50, NULL, '{\"formId\":\"1440954920348946432\",\"readOnly\":false,\"groupType\":\"ASSIGNEE\"}', NULL, ''); +INSERT INTO `ACT_HI_TASKINST` VALUES ('e219356b-69e6-11ec-bb85-0235bf949cb9', 'flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'Activity_053om99', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', '业务部领导审批', NULL, NULL, NULL, NULL, '2021-12-31 11:08:09.834', NULL, '2021-12-31 11:13:54.215', 344381, NULL, 50, NULL, '{\"formId\":\"1440954920348946432\",\"readOnly\":true,\"groupType\":\"DEPT_POST_LEADER\"}', NULL, ''); INSERT INTO `ACT_HI_TASKINST` VALUES ('ec6cccaf-3184-11ec-9f40-f20b812c0662', 'flowContract:2:7ce26a87-3184-11ec-9f40-f20b812c0662', 'Activity_0bciohf', 'ec6ca594-3184-11ec-9f40-f20b812c0662', 'ec6ca59c-3184-11ec-9f40-f20b812c0662', '合同录入', NULL, NULL, NULL, 'userD', '2021-10-20 17:05:51.364', NULL, '2021-10-20 17:05:51.380', 16, NULL, 50, NULL, '{\"formId\":\"1440954920348946432\",\"readOnly\":false,\"groupType\":\"DEPT\"}', NULL, ''); INSERT INTO `ACT_HI_TASKINST` VALUES ('ec70010e-3184-11ec-9f40-f20b812c0662', 'flowContract:2:7ce26a87-3184-11ec-9f40-f20b812c0662', 'Activity_053om99', 'ec6ca594-3184-11ec-9f40-f20b812c0662', 'ec6ca59c-3184-11ec-9f40-f20b812c0662', '业务部领导审批', NULL, NULL, NULL, 'leaderTJ', '2021-10-20 17:05:51.385', '2021-10-20 17:06:05.883', '2021-10-20 17:06:05.908', 14523, NULL, 50, NULL, '{\"formId\":\"1440954920348946432\",\"readOnly\":true,\"groupType\":\"DEPT_POST_LEADER\"}', NULL, ''); INSERT INTO `ACT_HI_TASKINST` VALUES ('f518f431-3184-11ec-9f40-f20b812c0662', 'flowContract:2:7ce26a87-3184-11ec-9f40-f20b812c0662', 'Activity_0z90ali', 'ec6ca594-3184-11ec-9f40-f20b812c0662', 'ec6ca59c-3184-11ec-9f40-f20b812c0662', '工程部审批', NULL, NULL, NULL, 'admin', '2021-10-20 17:06:05.914', NULL, '2021-10-20 17:06:27.183', 21269, NULL, 50, NULL, '{\"formId\":\"1440955194991972352\",\"readOnly\":true,\"groupType\":\"DEPT\"}', NULL, ''); @@ -948,6 +1027,42 @@ INSERT INTO `ACT_HI_VARINST` VALUES ('a3a23d3c-3186-11ec-bf2d-f20b812c0662', 'a3 INSERT INTO `ACT_HI_VARINST` VALUES ('a3a2644e-3186-11ec-bf2d-f20b812c0662', 'a396f281-3186-11ec-bf2d-f20b812c0662', 'a3978ec9-3186-11ec-bf2d-f20b812c0662', 'a3a2162b-3186-11ec-bf2d-f20b812c0662', 'initiator', 'string', 0, NULL, NULL, NULL, 'userD', NULL, '2021-10-20 17:18:08.235', '2021-10-20 17:18:08.235'); INSERT INTO `ACT_HI_VARINST` VALUES ('a3a26450-3186-11ec-bf2d-f20b812c0662', 'a396f281-3186-11ec-bf2d-f20b812c0662', 'a3978ec9-3186-11ec-bf2d-f20b812c0662', 'a3a2162b-3186-11ec-bf2d-f20b812c0662', 'deptPostLeader', 'string', 0, NULL, NULL, NULL, '1440964519391137792', NULL, '2021-10-20 17:18:08.235', '2021-10-20 17:18:08.235'); INSERT INTO `ACT_HI_VARINST` VALUES ('a3a26452-3186-11ec-bf2d-f20b812c0662', 'a396f281-3186-11ec-bf2d-f20b812c0662', 'a3978ec9-3186-11ec-bf2d-f20b812c0662', 'a3a2162b-3186-11ec-bf2d-f20b812c0662', 'operationType', 'string', 0, NULL, NULL, NULL, 'agree', NULL, '2021-10-20 17:18:08.235', '2021-10-20 17:18:08.235'); +INSERT INTO `ACT_HI_VARINST` VALUES ('d64281ab-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, 'startUserName', 'string', 1, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:07:49.972', '2021-12-31 11:07:50.048'); +INSERT INTO `ACT_HI_VARINST` VALUES ('d642cfcd-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, 'deptPostLeader', 'string', 1, NULL, NULL, NULL, '1440969551792574464', NULL, '2021-12-31 11:07:49.974', '2021-12-31 11:07:50.046'); +INSERT INTO `ACT_HI_VARINST` VALUES ('d642cfcf-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, 'initiator', 'string', 1, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:07:49.974', '2021-12-31 11:07:50.049'); +INSERT INTO `ACT_HI_VARINST` VALUES ('d64567e5-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd644f2b4-69e6-11ec-bb85-0235bf949cb9', 'startUserName', 'string', 0, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:07:49.992', '2021-12-31 11:07:49.992'); +INSERT INTO `ACT_HI_VARINST` VALUES ('d6458ef7-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd644f2b4-69e6-11ec-bb85-0235bf949cb9', 'initiator', 'string', 0, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:07:49.992', '2021-12-31 11:07:49.992'); +INSERT INTO `ACT_HI_VARINST` VALUES ('d6458ef9-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd644f2b4-69e6-11ec-bb85-0235bf949cb9', 'deptPostLeader', 'string', 0, NULL, NULL, NULL, '1440969551792574464', NULL, '2021-12-31 11:07:49.992', '2021-12-31 11:07:49.992'); +INSERT INTO `ACT_HI_VARINST` VALUES ('d64c45bb-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd644f2b4-69e6-11ec-bb85-0235bf949cb9', 'operationType', 'string', 0, NULL, NULL, NULL, 'agree', NULL, '2021-12-31 11:07:50.036', '2021-12-31 11:07:50.036'); +INSERT INTO `ACT_HI_VARINST` VALUES ('d64df36e-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, 'operationType', 'string', 0, NULL, NULL, NULL, 'agree', NULL, '2021-12-31 11:07:50.047', '2021-12-31 11:07:50.047'); +INSERT INTO `ACT_HI_VARINST` VALUES ('d64e8fb4-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', 'startUserName', 'string', 0, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:07:50.051', '2021-12-31 11:07:50.051'); +INSERT INTO `ACT_HI_VARINST` VALUES ('d64e8fb6-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', 'initiator', 'string', 0, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:07:50.051', '2021-12-31 11:07:50.051'); +INSERT INTO `ACT_HI_VARINST` VALUES ('d64e8fb8-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', 'deptPostLeader', 'string', 0, NULL, NULL, NULL, '1440969551792574464', NULL, '2021-12-31 11:07:50.051', '2021-12-31 11:07:50.051'); +INSERT INTO `ACT_HI_VARINST` VALUES ('d64e8fba-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', 'operationType', 'string', 0, NULL, NULL, NULL, 'agree', NULL, '2021-12-31 11:07:50.051', '2021-12-31 11:07:50.051'); +INSERT INTO `ACT_HI_VARINST` VALUES ('dc101a4f-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, 'startUserName', 'string', 1, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:07:59.708', '2021-12-31 11:07:59.739'); +INSERT INTO `ACT_HI_VARINST` VALUES ('dc101a51-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, 'deptPostLeader', 'string', 1, NULL, NULL, NULL, '1440969551792574464', NULL, '2021-12-31 11:07:59.708', '2021-12-31 11:07:59.738'); +INSERT INTO `ACT_HI_VARINST` VALUES ('dc101a53-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, 'initiator', 'string', 1, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:07:59.708', '2021-12-31 11:07:59.740'); +INSERT INTO `ACT_HI_VARINST` VALUES ('dc104169-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc104168-69e6-11ec-bb85-0235bf949cb9', 'startUserName', 'string', 0, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:07:59.710', '2021-12-31 11:07:59.710'); +INSERT INTO `ACT_HI_VARINST` VALUES ('dc10687b-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc104168-69e6-11ec-bb85-0235bf949cb9', 'initiator', 'string', 0, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:07:59.710', '2021-12-31 11:07:59.710'); +INSERT INTO `ACT_HI_VARINST` VALUES ('dc10687d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc104168-69e6-11ec-bb85-0235bf949cb9', 'deptPostLeader', 'string', 0, NULL, NULL, NULL, '1440969551792574464', NULL, '2021-12-31 11:07:59.710', '2021-12-31 11:07:59.710'); +INSERT INTO `ACT_HI_VARINST` VALUES ('dc13eaef-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc104168-69e6-11ec-bb85-0235bf949cb9', 'operationType', 'string', 0, NULL, NULL, NULL, 'agree', NULL, '2021-12-31 11:07:59.733', '2021-12-31 11:07:59.733'); +INSERT INTO `ACT_HI_VARINST` VALUES ('dc14ae42-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, 'operationType', 'string', 0, NULL, NULL, NULL, 'agree', NULL, '2021-12-31 11:07:59.738', '2021-12-31 11:07:59.738'); +INSERT INTO `ACT_HI_VARINST` VALUES ('dc154a88-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', 'startUserName', 'string', 0, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:07:59.742', '2021-12-31 11:07:59.742'); +INSERT INTO `ACT_HI_VARINST` VALUES ('dc154a8a-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', 'initiator', 'string', 0, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:07:59.742', '2021-12-31 11:07:59.742'); +INSERT INTO `ACT_HI_VARINST` VALUES ('dc154a8c-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', 'deptPostLeader', 'string', 0, NULL, NULL, NULL, '1440969551792574464', NULL, '2021-12-31 11:07:59.742', '2021-12-31 11:07:59.742'); +INSERT INTO `ACT_HI_VARINST` VALUES ('dc154a8e-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', 'operationType', 'string', 0, NULL, NULL, NULL, 'agree', NULL, '2021-12-31 11:07:59.742', '2021-12-31 11:07:59.742'); +INSERT INTO `ACT_HI_VARINST` VALUES ('e214ef93-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, 'startUserName', 'string', 2, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:08:09.806', '2021-12-31 11:13:54.219'); +INSERT INTO `ACT_HI_VARINST` VALUES ('e214ef95-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, 'deptPostLeader', 'string', 2, NULL, NULL, NULL, '1440969551792574464', NULL, '2021-12-31 11:08:09.806', '2021-12-31 11:13:54.218'); +INSERT INTO `ACT_HI_VARINST` VALUES ('e214ef97-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, 'initiator', 'string', 2, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:08:09.806', '2021-12-31 11:13:54.220'); +INSERT INTO `ACT_HI_VARINST` VALUES ('e2153dbd-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e21516ac-69e6-11ec-bb85-0235bf949cb9', 'startUserName', 'string', 0, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:08:09.808', '2021-12-31 11:08:09.808'); +INSERT INTO `ACT_HI_VARINST` VALUES ('e2153dbf-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e21516ac-69e6-11ec-bb85-0235bf949cb9', 'initiator', 'string', 0, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:08:09.808', '2021-12-31 11:08:09.808'); +INSERT INTO `ACT_HI_VARINST` VALUES ('e2153dc1-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e21516ac-69e6-11ec-bb85-0235bf949cb9', 'deptPostLeader', 'string', 0, NULL, NULL, NULL, '1440969551792574464', NULL, '2021-12-31 11:08:09.808', '2021-12-31 11:08:09.808'); +INSERT INTO `ACT_HI_VARINST` VALUES ('e217d5d3-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e21516ac-69e6-11ec-bb85-0235bf949cb9', 'operationType', 'string', 0, NULL, NULL, NULL, 'agree', NULL, '2021-12-31 11:08:09.825', '2021-12-31 11:08:09.825'); +INSERT INTO `ACT_HI_VARINST` VALUES ('e218c036-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', NULL, 'operationType', 'string', 1, NULL, NULL, NULL, 'agree', NULL, '2021-12-31 11:08:09.832', '2021-12-31 11:13:54.219'); +INSERT INTO `ACT_HI_VARINST` VALUES ('e2195c7c-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e219356b-69e6-11ec-bb85-0235bf949cb9', 'startUserName', 'string', 0, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:08:09.835', '2021-12-31 11:08:09.835'); +INSERT INTO `ACT_HI_VARINST` VALUES ('e2195c7e-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e219356b-69e6-11ec-bb85-0235bf949cb9', 'initiator', 'string', 0, NULL, NULL, NULL, 'admin', NULL, '2021-12-31 11:08:09.835', '2021-12-31 11:08:09.835'); +INSERT INTO `ACT_HI_VARINST` VALUES ('e2195c80-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e219356b-69e6-11ec-bb85-0235bf949cb9', 'deptPostLeader', 'string', 0, NULL, NULL, NULL, '1440969551792574464', NULL, '2021-12-31 11:08:09.835', '2021-12-31 11:08:09.835'); +INSERT INTO `ACT_HI_VARINST` VALUES ('e2195c82-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e214ef99-69e6-11ec-bb85-0235bf949cb9', 'e219356b-69e6-11ec-bb85-0235bf949cb9', 'operationType', 'string', 0, NULL, NULL, NULL, 'agree', NULL, '2021-12-31 11:08:09.835', '2021-12-31 11:08:09.835'); INSERT INTO `ACT_HI_VARINST` VALUES ('ec6ca596-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', NULL, 'startUserName', 'string', 9, NULL, NULL, NULL, 'userD', NULL, '2021-10-20 17:05:51.363', '2021-10-20 17:09:53.024'); INSERT INTO `ACT_HI_VARINST` VALUES ('ec6ca598-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', NULL, 'deptPostLeader', 'string', 9, NULL, NULL, NULL, '1440964519391137792', NULL, '2021-10-20 17:05:51.363', '2021-10-20 17:09:53.024'); INSERT INTO `ACT_HI_VARINST` VALUES ('ec6ca59a-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', NULL, 'initiator', 'string', 9, NULL, NULL, NULL, 'userD', NULL, '2021-10-20 17:05:51.363', '2021-10-20 17:09:53.021'); @@ -1025,12 +1140,18 @@ INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('778892c2-5e70-11ec-9355-5e4c369e54c1', INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('79a037cf-3184-11ec-9f40-f20b812c0662', '请假申请', 'HR', 'flowLeave', '', '2021-10-20 17:02:38.762', NULL, 1, NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('7b628142-3184-11ec-9f40-f20b812c0662', '报销申请', 'CW', 'flowSubmit', '', '2021-10-20 17:02:41.714', NULL, 1, NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('7cdc7715-3184-11ec-9f40-f20b812c0662', '合同审批', 'XM', 'flowContract', '', '2021-10-20 17:02:44.191', NULL, 1, NULL); +INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('7ce6126a-69e6-11ec-bb85-0235bf949cb9', '请假申请', 'HR', 'flowLeave', '', '2021-12-31 11:05:20.049', NULL, 1, NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('86abad6b-3182-11ec-a0b7-f20b812c0662', 'SpringAutoDeployment', NULL, NULL, '', '2021-10-20 16:48:41.651', NULL, 7, NULL); +INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('87e159ed-69e6-11ec-bb85-0235bf949cb9', '报销申请', 'CW', 'flowSubmit', '', '2021-12-31 11:05:38.473', NULL, 1, NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('8ab49015-5e70-11ec-9355-5e4c369e54c1', '转办流程', 'HR', 'flowTranslate', '', '2021-12-16 21:03:19.808', NULL, 1, NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('8e3e3ce9-3179-11ec-9438-f20b812c0662', '请假申请', 'HR', 'flowLeave', '', '2021-10-20 15:44:28.889', NULL, 1, NULL); +INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('916d0be0-69e6-11ec-bb85-0235bf949cb9', '合同审批', 'XM', 'flowContract', '', '2021-12-31 11:05:54.488', NULL, 1, NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('95ae050a-317f-11ec-8139-f20b812c0662', 'SpringAutoDeployment', NULL, NULL, '', '2021-10-20 16:27:38.345', NULL, 4, NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('97e6169e-3186-11ec-bf2d-f20b812c0662', '请假申请', 'HR', 'flowLeave', '', '2021-10-20 17:17:48.538', NULL, 1, NULL); +INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('98ea5033-69e6-11ec-bb85-0235bf949cb9', '多实例加签', 'HR', 'flowConsign', '', '2021-12-31 11:06:07.052', NULL, 1, NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('9dc01ef5-5e6e-11ec-9355-5e4c369e54c1', 'SpringAutoDeployment', NULL, NULL, '', '2021-12-16 20:49:32.759', NULL, 14, NULL); +INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('a0864016-69e6-11ec-bb85-0235bf949cb9', '转办流程', 'HR', 'flowTranslate', '', '2021-12-31 11:06:19.819', NULL, 1, NULL); +INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('a1c53324-69e7-11ec-b9c4-0235bf949cb9', 'SpringAutoDeployment', NULL, NULL, '', '2021-12-31 11:13:31.404', NULL, 16, NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('ad3d6858-3175-11ec-9438-f20b812c0662', '请假申请', 'HR', 'flowLeave', '', '2021-10-20 15:16:42.906', NULL, 1, NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('ae82b99b-3175-11ec-9438-f20b812c0662', '报销申请', 'CW', 'flowSubmit', '', '2021-10-20 15:16:45.038', NULL, 1, NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('af9bf1ce-3175-11ec-9438-f20b812c0662', '合同审批', 'XM', 'flowContract', '', '2021-10-20 15:16:46.881', NULL, 1, NULL); @@ -1039,6 +1160,7 @@ INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('b28a3824-3175-11ec-9438-f20b812c0662', INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('b5e8fcda-3181-11ec-bd11-f20b812c0662', 'SpringAutoDeployment', NULL, NULL, '', '2021-10-20 16:42:51.411', NULL, 6, NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('b747d44f-3182-11ec-a7fa-f20b812c0662', 'SpringAutoDeployment', NULL, NULL, '', '2021-10-20 16:50:03.207', NULL, 8, NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('c48f8957-316d-11ec-9438-f20b812c0662', 'SpringAutoDeployment', NULL, NULL, '', '2021-10-20 14:20:06.057', NULL, 3, NULL); +INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('c61ae019-69e5-11ec-bb85-0235bf949cb9', 'SpringAutoDeployment', NULL, NULL, '', '2021-12-31 11:00:13.367', NULL, 15, NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('f0f03b73-316b-11ec-a79f-f20b812c0662', 'SpringAutoDeployment', NULL, NULL, '', '2021-10-20 14:07:01.517', NULL, 2, NULL); COMMIT; @@ -1100,9 +1222,11 @@ CREATE TABLE `ACT_RE_PROCDEF` ( BEGIN; INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowConsign:1:b1375253-3175-11ec-9438-f20b812c0662', 1, 'http://activiti.org/bpmn', '多实例加签', 'flowConsign', 1, 'b132e581-3175-11ec-9438-f20b812c0662', 'flowConsign.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowConsign:2:778c3c44-5e70-11ec-9355-5e4c369e54c1', 1, 'http://activiti.org/bpmn', '多实例加签', 'flowConsign', 2, '778892c2-5e70-11ec-9355-5e4c369e54c1', 'flowConsign.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); +INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowConsign:3:98ed0f55-69e6-11ec-bb85-0235bf949cb9', 1, 'http://activiti.org/bpmn', '多实例加签', 'flowConsign', 3, '98ea5033-69e6-11ec-bb85-0235bf949cb9', 'flowConsign.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowContract:1:afa45640-3175-11ec-9438-f20b812c0662', 1, 'http://activiti.org/bpmn', '合同审批', 'flowContract', 1, 'af9bf1ce-3175-11ec-9438-f20b812c0662', 'flowContract.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowContract:2:7ce26a87-3184-11ec-9f40-f20b812c0662', 1, 'http://activiti.org/bpmn', '合同审批', 'flowContract', 2, '7cdc7715-3184-11ec-9f40-f20b812c0662', 'flowContract.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowContract:3:412c67b1-5e70-11ec-9355-5e4c369e54c1', 1, 'http://activiti.org/bpmn', '合同审批', 'flowContract', 3, '4127d3cf-5e70-11ec-9355-5e4c369e54c1', 'flowContract.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); +INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 1, 'http://activiti.org/bpmn', '合同审批', 'flowContract', 4, '916d0be0-69e6-11ec-bb85-0235bf949cb9', 'flowContract.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowLeave:1:ad52c51a-3175-11ec-9438-f20b812c0662', 1, 'http://activiti.org/bpmn', '请假申请', 'flowLeave', 1, 'ad3d6858-3175-11ec-9438-f20b812c0662', 'flowLeave.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowLeave:2:0aaff445-3179-11ec-9438-f20b812c0662', 1, 'http://activiti.org/bpmn', '请假申请', 'flowLeave', 2, '0aab3953-3179-11ec-9438-f20b812c0662', 'flowLeave.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowLeave:3:3a65da18-3179-11ec-9438-f20b812c0662', 1, 'http://activiti.org/bpmn', '请假申请', 'flowLeave', 3, '3a623096-3179-11ec-9438-f20b812c0662', 'flowLeave.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); @@ -1111,11 +1235,14 @@ INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowLeave:5:3eea05b0-317d-11ec-9438-f20b81 INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowLeave:6:79b100b1-3184-11ec-9f40-f20b812c0662', 1, 'http://activiti.org/bpmn', '请假申请', 'flowLeave', 6, '79a037cf-3184-11ec-9f40-f20b812c0662', 'flowLeave.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowLeave:7:98337350-3186-11ec-bf2d-f20b812c0662', 1, 'http://activiti.org/bpmn', '请假申请', 'flowLeave', 7, '97e6169e-3186-11ec-bf2d-f20b812c0662', 'flowLeave.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowLeave:8:1a9b02fb-5e6f-11ec-9355-5e4c369e54c1', 1, 'http://activiti.org/bpmn', '请假申请', 'flowLeave', 8, '1a96e449-5e6f-11ec-9355-5e4c369e54c1', 'flowLeave.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); +INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', 1, 'http://activiti.org/bpmn', '请假申请', 'flowLeave', 9, '7ce6126a-69e6-11ec-bb85-0235bf949cb9', 'flowLeave.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowSubmit:1:ae87c2ad-3175-11ec-9438-f20b812c0662', 1, 'http://activiti.org/bpmn', '报销申请', 'flowSubmit', 1, 'ae82b99b-3175-11ec-9438-f20b812c0662', 'flowSubmit.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowSubmit:2:7b6651d4-3184-11ec-9f40-f20b812c0662', 1, 'http://activiti.org/bpmn', '报销申请', 'flowSubmit', 2, '7b628142-3184-11ec-9f40-f20b812c0662', 'flowSubmit.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowSubmit:3:39b2742e-5e6f-11ec-9355-5e4c369e54c1', 1, 'http://activiti.org/bpmn', '报销申请', 'flowSubmit', 3, '39a52dbc-5e6f-11ec-9355-5e4c369e54c1', 'flowSubmit.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); +INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', 1, 'http://activiti.org/bpmn', '报销申请', 'flowSubmit', 4, '87e159ed-69e6-11ec-bb85-0235bf949cb9', 'flowSubmit.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowTranslate:1:b28cd036-3175-11ec-9438-f20b812c0662', 1, 'http://activiti.org/bpmn', '转办流程', 'flowTranslate', 1, 'b28a3824-3175-11ec-9438-f20b812c0662', 'flowTranslate.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowTranslate:2:8ab7c467-5e70-11ec-9355-5e4c369e54c1', 1, 'http://activiti.org/bpmn', '转办流程', 'flowTranslate', 2, '8ab49015-5e70-11ec-9355-5e4c369e54c1', 'flowTranslate.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); +INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowTranslate:3:a0888a08-69e6-11ec-bb85-0235bf949cb9', 1, 'http://activiti.org/bpmn', '转办流程', 'flowTranslate', 3, 'a0864016-69e6-11ec-bb85-0235bf949cb9', 'flowTranslate.bpmn', NULL, NULL, 0, 1, 1, '', NULL, NULL); COMMIT; -- ---------------------------- @@ -1227,6 +1354,10 @@ INSERT INTO `ACT_RU_EXECUTION` VALUES ('8de8b46c-3182-11ec-a0b7-f20b812c0662', 1 INSERT INTO `ACT_RU_EXECUTION` VALUES ('8de976c4-3182-11ec-a0b7-f20b812c0662', 2, '8de8b46c-3182-11ec-a0b7-f20b812c0662', NULL, '8de8b46c-3182-11ec-a0b7-f20b812c0662', 'flowLeave:4:8e42a9bb-3179-11ec-9438-f20b812c0662', NULL, '8de8b46c-3182-11ec-a0b7-f20b812c0662', 'Activity_11jr0px', 1, 0, 0, 0, 0, 1, NULL, '', NULL, '2021-10-20 16:48:53.804', NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL); INSERT INTO `ACT_RU_EXECUTION` VALUES ('a396f281-3186-11ec-bf2d-f20b812c0662', 1, 'a396f281-3186-11ec-bf2d-f20b812c0662', '1450753187064582144', NULL, 'flowLeave:7:98337350-3186-11ec-bf2d-f20b812c0662', NULL, 'a396f281-3186-11ec-bf2d-f20b812c0662', NULL, 1, 0, 1, 0, 0, 1, NULL, '', NULL, '2021-10-20 17:18:08.160', 'userD', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL); INSERT INTO `ACT_RU_EXECUTION` VALUES ('a3978ec9-3186-11ec-bf2d-f20b812c0662', 2, 'a396f281-3186-11ec-bf2d-f20b812c0662', NULL, 'a396f281-3186-11ec-bf2d-f20b812c0662', 'flowLeave:7:98337350-3186-11ec-bf2d-f20b812c0662', NULL, 'a396f281-3186-11ec-bf2d-f20b812c0662', 'Activity_11jr0px', 1, 0, 0, 0, 0, 1, NULL, '', NULL, '2021-10-20 17:18:08.164', NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL); +INSERT INTO `ACT_RU_EXECUTION` VALUES ('d6423389-69e6-11ec-bb85-0235bf949cb9', 1, 'd6423389-69e6-11ec-bb85-0235bf949cb9', '1476751923557175296', NULL, 'flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', NULL, 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, 1, 0, 1, 0, 0, 1, NULL, '', NULL, '2021-12-31 11:07:49.970', 'admin', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL); +INSERT INTO `ACT_RU_EXECUTION` VALUES ('d642f6e1-69e6-11ec-bb85-0235bf949cb9', 2, 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', NULL, 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'Activity_11jr0px', 1, 0, 0, 0, 0, 1, NULL, '', NULL, '2021-12-31 11:07:49.974', NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL); +INSERT INTO `ACT_RU_EXECUTION` VALUES ('dc101a4d-69e6-11ec-bb85-0235bf949cb9', 1, 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', '1476751964434862080', NULL, 'flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', NULL, 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, 1, 0, 1, 0, 0, 1, NULL, '', NULL, '2021-12-31 11:07:59.708', 'admin', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL); +INSERT INTO `ACT_RU_EXECUTION` VALUES ('dc101a55-69e6-11ec-bb85-0235bf949cb9', 2, 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', NULL, 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'Activity_04scn2o', 1, 0, 0, 0, 0, 1, NULL, '', NULL, '2021-12-31 11:07:59.708', NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL); COMMIT; -- ---------------------------- @@ -1261,6 +1392,10 @@ INSERT INTO `ACT_RU_IDENTITYLINK` VALUES ('8de8b46d-3182-11ec-a0b7-f20b812c0662' INSERT INTO `ACT_RU_IDENTITYLINK` VALUES ('9c16c470-3182-11ec-a0b7-f20b812c0662', 1, '1440964519391137792', 'candidate', NULL, '9c164f37-3182-11ec-a0b7-f20b812c0662', NULL, NULL); INSERT INTO `ACT_RU_IDENTITYLINK` VALUES ('a396f282-3186-11ec-bf2d-f20b812c0662', 1, NULL, 'starter', 'userD', NULL, 'a396f281-3186-11ec-bf2d-f20b812c0662', NULL); INSERT INTO `ACT_RU_IDENTITYLINK` VALUES ('a3a26454-3186-11ec-bf2d-f20b812c0662', 1, '1440964519391137792', 'candidate', NULL, 'a3a2162b-3186-11ec-bf2d-f20b812c0662', NULL, NULL); +INSERT INTO `ACT_RU_IDENTITYLINK` VALUES ('d6425a9a-69e6-11ec-bb85-0235bf949cb9', 1, NULL, 'starter', 'admin', NULL, 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL); +INSERT INTO `ACT_RU_IDENTITYLINK` VALUES ('d64eb6cc-69e6-11ec-bb85-0235bf949cb9', 1, '1440969551792574464', 'candidate', NULL, 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', NULL, NULL); +INSERT INTO `ACT_RU_IDENTITYLINK` VALUES ('dc101a4e-69e6-11ec-bb85-0235bf949cb9', 1, NULL, 'starter', 'admin', NULL, 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL); +INSERT INTO `ACT_RU_IDENTITYLINK` VALUES ('dc154a90-69e6-11ec-bb85-0235bf949cb9', 1, '1440969551792574464', 'candidate', NULL, 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', NULL, NULL); COMMIT; -- ---------------------------- @@ -1390,6 +1525,8 @@ CREATE TABLE `ACT_RU_TASK` ( BEGIN; INSERT INTO `ACT_RU_TASK` VALUES ('9c164f37-3182-11ec-a0b7-f20b812c0662', 1, '8de976c4-3182-11ec-a0b7-f20b812c0662', '8de8b46c-3182-11ec-a0b7-f20b812c0662', 'flowLeave:4:8e42a9bb-3179-11ec-9438-f20b812c0662', '部门领导审批', '1450745828686696448', NULL, NULL, 'Activity_11jr0px', NULL, NULL, NULL, 50, '2021-10-20 16:49:17.586', NULL, NULL, 1, '', '{\"formId\":\"1440945411354267648\",\"readOnly\":true,\"groupType\":\"DEPT_POST_LEADER\"}', NULL, NULL); INSERT INTO `ACT_RU_TASK` VALUES ('a3a2162b-3186-11ec-bf2d-f20b812c0662', 1, 'a3978ec9-3186-11ec-bf2d-f20b812c0662', 'a396f281-3186-11ec-bf2d-f20b812c0662', 'flowLeave:7:98337350-3186-11ec-bf2d-f20b812c0662', '部门领导审批', '1450753187064582144', NULL, NULL, 'Activity_11jr0px', NULL, NULL, NULL, 50, '2021-10-20 17:18:08.233', NULL, NULL, 1, '', '{\"formId\":\"1440945411354267648\",\"readOnly\":true,\"groupType\":\"DEPT_POST_LEADER\"}', NULL, NULL); +INSERT INTO `ACT_RU_TASK` VALUES ('d64e68a3-69e6-11ec-bb85-0235bf949cb9', 1, 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', '部门领导审批', '1476751923557175296', NULL, NULL, 'Activity_11jr0px', NULL, NULL, NULL, 50, '2021-12-31 11:07:50.050', NULL, NULL, 1, '', '{\"formId\":\"1440945411354267648\",\"readOnly\":true,\"groupType\":\"DEPT_POST_LEADER\"}', NULL, NULL); +INSERT INTO `ACT_RU_TASK` VALUES ('dc14fc67-69e6-11ec-bb85-0235bf949cb9', 1, 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', '部门领导审批', '1476751964434862080', NULL, NULL, 'Activity_04scn2o', NULL, NULL, NULL, 50, '2021-12-31 11:07:59.740', NULL, NULL, 1, '', '{\"formId\":\"1440947675041107968\",\"readOnly\":true,\"groupType\":\"DEPT_POST_LEADER\"}', NULL, NULL); COMMIT; -- ---------------------------- @@ -1472,6 +1609,22 @@ INSERT INTO `ACT_RU_VARIABLE` VALUES ('a3a23d3c-3186-11ec-bf2d-f20b812c0662', 1, INSERT INTO `ACT_RU_VARIABLE` VALUES ('a3a2644e-3186-11ec-bf2d-f20b812c0662', 1, 'string', 'initiator', 'a3978ec9-3186-11ec-bf2d-f20b812c0662', 'a396f281-3186-11ec-bf2d-f20b812c0662', 'a3a2162b-3186-11ec-bf2d-f20b812c0662', NULL, NULL, NULL, 'userD', NULL); INSERT INTO `ACT_RU_VARIABLE` VALUES ('a3a26450-3186-11ec-bf2d-f20b812c0662', 1, 'string', 'deptPostLeader', 'a3978ec9-3186-11ec-bf2d-f20b812c0662', 'a396f281-3186-11ec-bf2d-f20b812c0662', 'a3a2162b-3186-11ec-bf2d-f20b812c0662', NULL, NULL, NULL, '1440964519391137792', NULL); INSERT INTO `ACT_RU_VARIABLE` VALUES ('a3a26452-3186-11ec-bf2d-f20b812c0662', 1, 'string', 'operationType', 'a3978ec9-3186-11ec-bf2d-f20b812c0662', 'a396f281-3186-11ec-bf2d-f20b812c0662', 'a3a2162b-3186-11ec-bf2d-f20b812c0662', NULL, NULL, NULL, 'agree', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('d64281ab-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'startUserName', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('d642cfcd-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'deptPostLeader', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('d642cfcf-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'initiator', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('d64df36e-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'operationType', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, NULL, 'agree', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('d64e8fb4-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'startUserName', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('d64e8fb6-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'initiator', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('d64e8fb8-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'deptPostLeader', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('d64e8fba-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'operationType', 'd642f6e1-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd64e68a3-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, 'agree', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('dc101a4f-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'startUserName', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('dc101a51-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'deptPostLeader', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('dc101a53-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'initiator', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('dc14ae42-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'operationType', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, NULL, 'agree', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('dc154a88-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'startUserName', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('dc154a8a-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'initiator', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, 'admin', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('dc154a8c-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'deptPostLeader', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, '1440969551792574464', NULL); +INSERT INTO `ACT_RU_VARIABLE` VALUES ('dc154a8e-69e6-11ec-bb85-0235bf949cb9', 1, 'string', 'operationType', 'dc101a55-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc14fc67-69e6-11ec-bb85-0235bf949cb9', NULL, NULL, NULL, 'agree', NULL); COMMIT; -- ---------------------------- @@ -5209,11 +5362,11 @@ CREATE TABLE `zz_flow_entry` ( -- Records of zz_flow_entry -- ---------------------------- BEGIN; -INSERT INTO `zz_flow_entry` VALUES (1450709265869180928, '请假申请', 'flowLeave', 1450708275736612864, 1471463377191571456, '2021-12-16 20:53:02', 1, '\n\n \n \n Flow_0y4m3kv\n \n \n \n \n \n \n \n \n Flow_0y4m3kv\n Flow_16zyoa5\n Flow_1aekms8\n Flow_07op209\n \n \n \n \n \n \n \n \n \n \n Flow_07op209\n Flow_16zyoa5\n Flow_0ll74an\n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0ll74an\n Flow_0m27fde\n Flow_1aekms8\n \n \n Flow_0m27fde\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440945149889744896, 1440945411354267648, NULL, '2021-12-16 20:53:09', 1440911410581213417, '2021-10-20 14:23:37', 1440911410581213417); -INSERT INTO `zz_flow_entry` VALUES (1450710743367290880, '报销申请', 'flowSubmit', 1450708314923995136, 1471463596067131392, '2021-12-16 20:53:54', 1, '\n\n \n \n Flow_0mrmqbk\n \n \n \n \n \n \n \n \n Flow_0mrmqbk\n Flow_1oiq58r\n Flow_098s8i0\n Flow_0p9g72i\n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0p9g72i\n Flow_0iyukwr\n Flow_098s8i0\n \n \n \n Flow_0iyukwr\n Flow_0jfre1k\n Flow_13ede7b\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n Flow_0jfre1k\n Flow_15v3jkj\n \n \n ${totalAmount <= 1000}\n \n \n \n \n \n \n \n \n \n \n Flow_13ede7b\n Flow_15v3jkj\n Flow_1oiq58r\n \n \n ${totalAmount > 1000}\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440946020174270464, 1440947675041107968, NULL, '2021-12-16 20:53:50', 1440911410581213417, '2021-10-20 14:29:29', 1440911410581213417); -INSERT INTO `zz_flow_entry` VALUES (1450713749735346176, '合同审批', 'flowContract', 1450709110466023424, 1471465450033385472, '2021-12-16 21:01:16', 1, '\n\n \n \n Flow_0emx40z\n \n \n \n \n \n \n \n \n Flow_0emx40z\n Flow_0j0gy2t\n Flow_1eildzp\n Flow_0c2du6p\n Flow_0dwf9yt\n \n \n \n \n \n \n \n \n \n \n Flow_0dwf9yt\n Flow_0v5zj3k\n \n \n \n \n Flow_0v5zj3k\n Flow_1d5uhco\n Flow_1qh9cp0\n \n \n \n \n \n \n \n \n Flow_1d5uhco\n Flow_10hf9y5\n \n \n \n \n \n \n \n \n \n \n Flow_1qh9cp0\n Flow_1n5cxfg\n \n \n \n \n Flow_1n5cxfg\n Flow_10hf9y5\n Flow_0vt5gor\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0vt5gor\n Flow_0itfdb5\n Flow_0j0gy2t\n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0itfdb5\n Flow_0yv4ubp\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n \n \n \n \n Flow_0yv4ubp\n Flow_0iiydip\n \n ${nrOfInstances == nrOfCompletedInstances}\n \n \n \n \n Flow_0iiydip\n Flow_08e585j\n Flow_1eildzp\n \n \n \n \n \n \n \n \n \n \n \n Flow_08e585j\n Flow_1inwhde\n Flow_0c2du6p\n \n \n ${multiAgreeCount / multiNumOfInstances > 0.4}\n \n \n Flow_1inwhde\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n ${multiAgreeCount / multiNumOfInstances <= 0.4}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440952710487609344, 1440954920348946432, NULL, '2021-12-16 21:01:11', 1440911410581213417, '2021-10-20 14:41:26', 1440911410581213417); -INSERT INTO `zz_flow_entry` VALUES (1450719191500853248, '多实例加签', 'flowConsign', 1450708275736612864, 1471465832658767872, '2021-12-16 21:02:48', 1, '\n\n \n \n Flow_05ignna\n \n \n \n \n \n \n \n \n \n Flow_05ignna\n Flow_1pv2azt\n Flow_18zl7i9\n \n \n \n \n \n \n \n \n \n \n Flow_18zl7i9\n Flow_132a1we\n \n ${nrOfInstances == nrOfCompletedInstances}\n \n \n \n \n \n \n \n \n \n \n \n Flow_132a1we\n Flow_1w48me1\n Flow_1pv2azt\n \n \n \n Flow_1w48me1\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440945149889744896, 1440945411354267648, NULL, '2021-12-16 21:02:45', 1440911410581213417, '2021-10-20 15:03:03', 1440911410581213417); -INSERT INTO `zz_flow_entry` VALUES (1450722174842179584, '转办流程', 'flowTranslate', 1450708275736612864, 1471465967547584512, '2021-12-16 21:03:20', 1, '\n\n \n \n Flow_1unv52j\n \n \n \n \n \n \n \n \n Flow_1unv52j\n Flow_1y2ih5h\n \n \n \n \n \n \n \n \n \n \n Flow_1y2ih5h\n Flow_00oaz6j\n \n \n \n Flow_00oaz6j\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440945149889744896, 1440945411354267648, NULL, '2021-12-16 21:03:14', 1440911410581213417, '2021-10-20 15:14:54', 1440911410581213417); +INSERT INTO `zz_flow_entry` VALUES (1450709265869180928, '请假申请', 'flowLeave', 1450708275736612864, 1476751296529698816, '2021-12-31 11:05:20', 1, '\n\n \n \n Flow_0y4m3kv\n \n \n \n \n \n \n \n \n Flow_0y4m3kv\n Flow_16zyoa5\n Flow_1aekms8\n Flow_07op209\n \n \n \n \n \n \n \n \n \n \n Flow_07op209\n Flow_16zyoa5\n Flow_0ll74an\n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0ll74an\n Flow_0m27fde\n Flow_1aekms8\n \n \n Flow_0m27fde\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440945149889744896, 1440945411354267648, NULL, '2021-12-31 11:05:17', 1440911410581213417, '2021-10-20 14:23:37', 1440911410581213417); +INSERT INTO `zz_flow_entry` VALUES (1450710743367290880, '报销申请', 'flowSubmit', 1450708314923995136, 1476751372228497408, '2021-12-31 11:05:39', 1, '\n\n \n \n Flow_0mrmqbk\n \n \n \n \n \n \n \n \n Flow_0mrmqbk\n Flow_1oiq58r\n Flow_098s8i0\n Flow_0p9g72i\n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0p9g72i\n Flow_0iyukwr\n Flow_098s8i0\n \n \n \n Flow_0iyukwr\n Flow_0jfre1k\n Flow_13ede7b\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n Flow_0jfre1k\n Flow_15v3jkj\n \n \n ${totalAmount <= 1000}\n \n \n \n \n \n \n \n \n \n \n Flow_13ede7b\n Flow_15v3jkj\n Flow_1oiq58r\n \n \n ${totalAmount > 1000}\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440946020174270464, 1440947675041107968, NULL, '2021-12-31 11:05:29', 1440911410581213417, '2021-10-20 14:29:29', 1440911410581213417); +INSERT INTO `zz_flow_entry` VALUES (1450713749735346176, '合同审批', 'flowContract', 1450709110466023424, 1476751439387693056, '2021-12-31 11:05:55', 1, '\n\n \n \n Flow_0emx40z\n \n \n \n \n \n \n \n \n Flow_0emx40z\n Flow_0j0gy2t\n Flow_1eildzp\n Flow_0c2du6p\n Flow_0dwf9yt\n \n \n \n \n \n \n \n \n \n \n Flow_0dwf9yt\n Flow_0v5zj3k\n \n \n \n \n Flow_0v5zj3k\n Flow_1d5uhco\n Flow_1qh9cp0\n \n \n \n \n \n \n \n \n Flow_1d5uhco\n Flow_10hf9y5\n \n \n \n \n \n \n \n \n \n \n Flow_1qh9cp0\n Flow_1n5cxfg\n \n \n \n \n Flow_1n5cxfg\n Flow_10hf9y5\n Flow_0vt5gor\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0vt5gor\n Flow_0itfdb5\n Flow_0j0gy2t\n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0itfdb5\n Flow_0yv4ubp\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n \n \n \n \n Flow_0yv4ubp\n Flow_0iiydip\n \n ${nrOfInstances == nrOfCompletedInstances}\n \n \n \n \n Flow_0iiydip\n Flow_08e585j\n Flow_1eildzp\n \n \n \n \n \n \n \n \n \n \n \n Flow_08e585j\n Flow_1inwhde\n Flow_0c2du6p\n \n \n ${multiAgreeCount / multiNumOfInstances > 0.4}\n \n \n Flow_1inwhde\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n ${multiAgreeCount / multiNumOfInstances <= 0.4}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440952710487609344, 1440954920348946432, NULL, '2021-12-31 11:05:48', 1440911410581213417, '2021-10-20 14:41:26', 1440911410581213417); +INSERT INTO `zz_flow_entry` VALUES (1450719191500853248, '多实例加签', 'flowConsign', 1450708275736612864, 1476751492051374080, '2021-12-31 11:06:07', 1, '\n\n \n \n Flow_05ignna\n \n \n \n \n \n \n \n \n \n Flow_05ignna\n Flow_1pv2azt\n Flow_18zl7i9\n \n \n \n \n \n \n \n \n \n \n Flow_18zl7i9\n Flow_132a1we\n \n ${nrOfInstances == nrOfCompletedInstances}\n \n \n \n \n \n \n \n \n \n \n \n Flow_132a1we\n Flow_1w48me1\n Flow_1pv2azt\n \n \n \n Flow_1w48me1\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440945149889744896, 1440945411354267648, NULL, '2021-12-31 11:06:03', 1440911410581213417, '2021-10-20 15:03:03', 1440911410581213417); +INSERT INTO `zz_flow_entry` VALUES (1450722174842179584, '转办流程', 'flowTranslate', 1450708275736612864, 1476751545591664640, '2021-12-31 11:06:20', 1, '\n\n \n \n Flow_1unv52j\n \n \n \n \n \n \n \n \n Flow_1unv52j\n Flow_1y2ih5h\n \n \n \n \n \n \n \n \n \n \n Flow_1y2ih5h\n Flow_00oaz6j\n \n \n \n Flow_00oaz6j\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440945149889744896, 1440945411354267648, NULL, '2021-12-31 11:06:16', 1440911410581213417, '2021-10-20 15:14:54', 1440911410581213417); COMMIT; -- ---------------------------- @@ -5253,11 +5406,16 @@ INSERT INTO `zz_flow_entry_publish` VALUES (1450749289469841408, 145070926586918 INSERT INTO `zz_flow_entry_publish` VALUES (1450749301478133760, 1450710743367290880, 'flowSubmit:2:7b6651d4-3184-11ec-9f40-f20b812c0662', '7b628142-3184-11ec-9f40-f20b812c0662', 2, b'1', b'0', 1440966324770574336, '2021-10-20 17:02:42', '{\"assignee\":\"${startUserName}\",\"formId\":1440947675041107968,\"groupType\":\"DEPT\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634711803796\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_1cs4bi5\",\"taskType\":1}'); INSERT INTO `zz_flow_entry_publish` VALUES (1450749311938727936, 1450713749735346176, 'flowContract:2:7ce26a87-3184-11ec-9f40-f20b812c0662', '7cdc7715-3184-11ec-9f40-f20b812c0662', 2, b'1', b'0', 1440966324770574336, '2021-10-20 17:02:44', '{\"assignee\":\"${startUserName}\",\"formId\":1440954920348946432,\"groupType\":\"DEPT\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634712553498\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0bciohf\",\"taskType\":1}'); INSERT INTO `zz_flow_entry_publish` VALUES (1450753107137925120, 1450709265869180928, 'flowLeave:7:98337350-3186-11ec-bf2d-f20b812c0662', '97e6169e-3186-11ec-bf2d-f20b812c0662', 7, b'1', b'0', 1440966324770574336, '2021-10-20 17:17:49', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"DEPT\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634711122925\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_1tb8jka\",\"taskType\":1}'); -INSERT INTO `zz_flow_entry_publish` VALUES (1471463377191571456, 1450709265869180928, 'flowLeave:8:1a9b02fb-5e6f-11ec-9355-5e4c369e54c1', '1a96e449-5e6f-11ec-9355-5e4c369e54c1', 8, b'1', b'1', 1440911410581213417, '2021-12-16 20:53:02', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634711122925\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_1tb8jka\",\"taskType\":1}'); -INSERT INTO `zz_flow_entry_publish` VALUES (1471463596067131392, 1450710743367290880, 'flowSubmit:3:39b2742e-5e6f-11ec-9355-5e4c369e54c1', '39a52dbc-5e6f-11ec-9355-5e4c369e54c1', 3, b'1', b'1', 1440911410581213417, '2021-12-16 20:53:54', '{\"assignee\":\"${startUserName}\",\"formId\":1440947675041107968,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634711803796\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_1cs4bi5\",\"taskType\":1}'); -INSERT INTO `zz_flow_entry_publish` VALUES (1471465450033385472, 1450713749735346176, 'flowContract:3:412c67b1-5e70-11ec-9355-5e4c369e54c1', '4127d3cf-5e70-11ec-9355-5e4c369e54c1', 3, b'1', b'1', 1440911410581213417, '2021-12-16 21:01:16', '{\"assignee\":\"${startUserName}\",\"formId\":1440954920348946432,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634712553498\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0bciohf\",\"taskType\":1}'); -INSERT INTO `zz_flow_entry_publish` VALUES (1471465832658767872, 1450719191500853248, 'flowConsign:2:778c3c44-5e70-11ec-9355-5e4c369e54c1', '778892c2-5e70-11ec-9355-5e4c369e54c1', 2, b'1', b'1', 1440911410581213417, '2021-12-16 21:02:48', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"multiSignAssignee\":{\"assigneeList\":\"admin,userA,userB\",\"assigneeType\":\"USER_GROUP\"},\"showOrder\":\"0\",\"id\":\"1634713481202\",\"label\":\"会签\",\"type\":\"multi_sign\"},{\"showOrder\":\"1\",\"id\":\"1634713558334\",\"label\":\"加签\",\"type\":\"multi_consign\"}],\"readOnly\":false,\"taskKey\":\"Activity_1022nty\",\"taskType\":1}'); -INSERT INTO `zz_flow_entry_publish` VALUES (1471465967547584512, 1450722174842179584, 'flowTranslate:2:8ab7c467-5e70-11ec-9355-5e4c369e54c1', '8ab49015-5e70-11ec-9355-5e4c369e54c1', 2, b'1', b'1', 1440911410581213417, '2021-12-16 21:03:20', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634714128552\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0c6nxdm\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1471463377191571456, 1450709265869180928, 'flowLeave:8:1a9b02fb-5e6f-11ec-9355-5e4c369e54c1', '1a96e449-5e6f-11ec-9355-5e4c369e54c1', 8, b'1', b'0', 1440911410581213417, '2021-12-16 20:53:02', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634711122925\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_1tb8jka\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1471463596067131392, 1450710743367290880, 'flowSubmit:3:39b2742e-5e6f-11ec-9355-5e4c369e54c1', '39a52dbc-5e6f-11ec-9355-5e4c369e54c1', 3, b'1', b'0', 1440911410581213417, '2021-12-16 20:53:54', '{\"assignee\":\"${startUserName}\",\"formId\":1440947675041107968,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634711803796\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_1cs4bi5\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1471465450033385472, 1450713749735346176, 'flowContract:3:412c67b1-5e70-11ec-9355-5e4c369e54c1', '4127d3cf-5e70-11ec-9355-5e4c369e54c1', 3, b'1', b'0', 1440911410581213417, '2021-12-16 21:01:16', '{\"assignee\":\"${startUserName}\",\"formId\":1440954920348946432,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634712553498\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0bciohf\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1471465832658767872, 1450719191500853248, 'flowConsign:2:778c3c44-5e70-11ec-9355-5e4c369e54c1', '778892c2-5e70-11ec-9355-5e4c369e54c1', 2, b'1', b'0', 1440911410581213417, '2021-12-16 21:02:48', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"multiSignAssignee\":{\"assigneeList\":\"admin,userA,userB\",\"assigneeType\":\"USER_GROUP\"},\"showOrder\":\"0\",\"id\":\"1634713481202\",\"label\":\"会签\",\"type\":\"multi_sign\"},{\"showOrder\":\"1\",\"id\":\"1634713558334\",\"label\":\"加签\",\"type\":\"multi_consign\"}],\"readOnly\":false,\"taskKey\":\"Activity_1022nty\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1471465967547584512, 1450722174842179584, 'flowTranslate:2:8ab7c467-5e70-11ec-9355-5e4c369e54c1', '8ab49015-5e70-11ec-9355-5e4c369e54c1', 2, b'1', b'0', 1440911410581213417, '2021-12-16 21:03:20', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634714128552\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0c6nxdm\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1476751296529698816, 1450709265869180928, 'flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', '7ce6126a-69e6-11ec-bb85-0235bf949cb9', 9, b'1', b'1', 1440911410581213417, '2021-12-31 11:05:20', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634711122925\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_1tb8jka\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1476751372228497408, 1450710743367290880, 'flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', '87e159ed-69e6-11ec-bb85-0235bf949cb9', 4, b'1', b'1', 1440911410581213417, '2021-12-31 11:05:39', '{\"assignee\":\"${startUserName}\",\"formId\":1440947675041107968,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634711803796\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_1cs4bi5\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1476751439387693056, 1450713749735346176, 'flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', '916d0be0-69e6-11ec-bb85-0235bf949cb9', 4, b'1', b'1', 1440911410581213417, '2021-12-31 11:05:55', '{\"assignee\":\"${startUserName}\",\"formId\":1440954920348946432,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634712553498\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0bciohf\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1476751492051374080, 1450719191500853248, 'flowConsign:3:98ed0f55-69e6-11ec-bb85-0235bf949cb9', '98ea5033-69e6-11ec-bb85-0235bf949cb9', 3, b'1', b'1', 1440911410581213417, '2021-12-31 11:06:07', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"multiSignAssignee\":{\"assigneeList\":\"admin,userA,userB\",\"assigneeType\":\"USER_GROUP\"},\"showOrder\":\"0\",\"id\":\"1634713481202\",\"label\":\"会签\",\"type\":\"multi_sign\"},{\"showOrder\":\"1\",\"id\":\"1634713558334\",\"label\":\"加签\",\"type\":\"multi_consign\"}],\"readOnly\":false,\"taskKey\":\"Activity_1022nty\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1476751545591664640, 1450722174842179584, 'flowTranslate:3:a0888a08-69e6-11ec-bb85-0235bf949cb9', 'a0864016-69e6-11ec-bb85-0235bf949cb9', 3, b'1', b'1', 1440911410581213417, '2021-12-31 11:06:20', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1634714128552\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0c6nxdm\",\"taskType\":1}'); COMMIT; -- ---------------------------- @@ -5321,6 +5479,17 @@ INSERT INTO `zz_flow_entry_publish_variable` VALUES (1471465832679739392, 147146 INSERT INTO `zz_flow_entry_publish_variable` VALUES (1471465832679739393, 1471465832658767872, 'startUserName', '流程启动用户', 0, NULL, NULL, NULL, b'1'); INSERT INTO `zz_flow_entry_publish_variable` VALUES (1471465967576944640, 1471465967547584512, 'operationType', '审批类型', 1, NULL, NULL, NULL, b'1'); INSERT INTO `zz_flow_entry_publish_variable` VALUES (1471465967576944641, 1471465967547584512, 'startUserName', '流程启动用户', 0, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476751296584224768, 1476751296529698816, 'operationType', '审批类型', 1, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476751296584224769, 1476751296529698816, 'startUserName', '流程启动用户', 0, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476751372257857536, 1476751372228497408, 'operationType', '审批类型', 1, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476751372257857537, 1476751372228497408, 'startUserName', '流程启动用户', 0, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476751372257857538, 1476751372228497408, 'totalAmount', '报销金额', 1, 1440946127531675648, NULL, 1440946127493926912, b'0'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476751439421247488, 1476751439387693056, 'operationType', '审批类型', 1, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476751439421247489, 1476751439387693056, 'startUserName', '流程启动用户', 0, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476751492084928512, 1476751492051374080, 'operationType', '审批类型', 1, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476751492084928513, 1476751492051374080, 'startUserName', '流程启动用户', 0, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476751545612636160, 1476751545591664640, 'operationType', '审批类型', 1, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476751545612636161, 1476751545591664640, 'startUserName', '流程启动用户', 0, NULL, NULL, NULL, b'1'); COMMIT; -- ---------------------------- @@ -5454,6 +5623,16 @@ INSERT INTO `zz_flow_task_comment` VALUES (1450750837398704128, 'ec6ca594-3184-1 INSERT INTO `zz_flow_task_comment` VALUES (1450750918214553600, 'ec6ca594-3184-11ec-9f40-f20b812c0662', '4be78cfe-3185-11ec-9f40-f20b812c0662', 'Activity_0xo14ns', '法务部会签', 'multi_agree', '同意', NULL, 1440911410581213417, '管理员', '2021-10-20 17:09:07'); INSERT INTO `zz_flow_task_comment` VALUES (1450751110531780608, 'ec6ca594-3184-11ec-9f40-f20b812c0662', '6121f760-3185-11ec-9f40-f20b812c0662', 'Activity_1enh5ke', '总经理审批', 'agree', '同意', NULL, 1440969706411397120, '总部领导', '2021-10-20 17:09:53'); INSERT INTO `zz_flow_task_comment` VALUES (1450753187584675840, 'a396f281-3186-11ec-bf2d-f20b812c0662', 'a399b1ac-3186-11ec-bf2d-f20b812c0662', 'Activity_1tb8jka', '请假申请', 'agree', NULL, NULL, 1440966324770574336, '员工D', '2021-10-20 17:18:08'); +INSERT INTO `zz_flow_task_comment` VALUES (1476751923863359488, 'd6423389-69e6-11ec-bb85-0235bf949cb9', 'd644f2b4-69e6-11ec-bb85-0235bf949cb9', 'Activity_1tb8jka', '请假申请', 'agree', NULL, NULL, 1440911410581213417, '管理员', '2021-12-31 11:07:50'); +INSERT INTO `zz_flow_task_comment` VALUES (1476751964548108288, 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 'dc104168-69e6-11ec-bb85-0235bf949cb9', 'Activity_1cs4bi5', '报销申请', 'agree', NULL, NULL, 1440911410581213417, '管理员', '2021-12-31 11:08:00'); +INSERT INTO `zz_flow_task_comment` VALUES (1476752006881218560, 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e21516ac-69e6-11ec-bb85-0235bf949cb9', 'Activity_0bciohf', '合同录入', 'agree', NULL, NULL, 1440911410581213417, '管理员', '2021-12-31 11:08:10'); +INSERT INTO `zz_flow_task_comment` VALUES (1476752044281827328, 'e76568f5-69e6-11ec-bb85-0235bf949cb9', 'e76568fe-69e6-11ec-bb85-0235bf949cb9', 'Activity_1022nty', '录入', 'multi_sign', '用户 [admin] 会签 [admin,userA,userB]。', NULL, 1440911410581213417, '管理员', '2021-12-31 11:08:19'); +INSERT INTO `zz_flow_task_comment` VALUES (1476752083452432384, 'ecf66d42-69e6-11ec-bb85-0235bf949cb9', 'ecf6945b-69e6-11ec-bb85-0235bf949cb9', 'Activity_0c6nxdm', '录入', 'agree', NULL, NULL, 1440911410581213417, '管理员', '2021-12-31 11:08:28'); +INSERT INTO `zz_flow_task_comment` VALUES (1476753410958036992, 'ecf66d42-69e6-11ec-bb85-0235bf949cb9', 'ecfa8c07-69e6-11ec-bb85-0235bf949cb9', 'Activity_0wwsi9w', '转办', 'stop', '1111', NULL, 1440911410581213417, '管理员', '2021-12-31 11:13:45'); +INSERT INTO `zz_flow_task_comment` VALUES (1476753430797094912, 'e76568f5-69e6-11ec-bb85-0235bf949cb9', 'e76ae677-69e6-11ec-bb85-0235bf949cb9', 'Activity_0umypog', '会签', 'stop', '222', NULL, 1440911410581213417, '管理员', '2021-12-31 11:13:49'); +INSERT INTO `zz_flow_task_comment` VALUES (1476753431036170240, 'e76568f5-69e6-11ec-bb85-0235bf949cb9', 'e76ae679-69e6-11ec-bb85-0235bf949cb9', 'Activity_0umypog', '会签', 'stop', '222', NULL, 1440911410581213417, '管理员', '2021-12-31 11:13:49'); +INSERT INTO `zz_flow_task_comment` VALUES (1476753431463989248, 'e76568f5-69e6-11ec-bb85-0235bf949cb9', 'e76ae67b-69e6-11ec-bb85-0235bf949cb9', 'Activity_0umypog', '会签', 'stop', '222', NULL, 1440911410581213417, '管理员', '2021-12-31 11:13:49'); +INSERT INTO `zz_flow_task_comment` VALUES (1476753451512762368, 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 'e219356b-69e6-11ec-bb85-0235bf949cb9', 'Activity_053om99', '业务部领导审批', 'stop', '333', NULL, 1440911410581213417, '管理员', '2021-12-31 11:13:54'); COMMIT; -- ---------------------------- @@ -5484,6 +5663,9 @@ INSERT INTO `zz_flow_task_ext` VALUES ('flowConsign:1:b1375253-3175-11ec-9438-f2 INSERT INTO `zz_flow_task_ext` VALUES ('flowConsign:2:778c3c44-5e70-11ec-9355-5e4c369e54c1', 'Activity_0umypog', '[{\"showOrder\":\"0\",\"id\":\"1639659718081\",\"label\":\"同意(会签)\",\"type\":\"multi_agree\"},{\"showOrder\":\"1\",\"id\":\"1639659724119\",\"label\":\"拒绝(会签)\",\"type\":\"multi_refuse\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowConsign:2:778c3c44-5e70-11ec-9355-5e4c369e54c1', 'Activity_1022nty', '[{\"multiSignAssignee\":{\"assigneeList\":\"admin,userA,userB\",\"assigneeType\":\"USER_GROUP\"},\"showOrder\":\"0\",\"id\":\"1634713481202\",\"label\":\"会签\",\"type\":\"multi_sign\"},{\"showOrder\":\"1\",\"id\":\"1634713558334\",\"label\":\"加签\",\"type\":\"multi_consign\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowConsign:2:778c3c44-5e70-11ec-9355-5e4c369e54c1', 'Activity_1h9dd8t', '[{\"showOrder\":\"0\",\"id\":\"1634713969842\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634713975120\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowConsign:3:98ed0f55-69e6-11ec-bb85-0235bf949cb9', 'Activity_0umypog', '[{\"showOrder\":\"0\",\"id\":\"1639659718081\",\"label\":\"同意(会签)\",\"type\":\"multi_agree\"},{\"showOrder\":\"1\",\"id\":\"1639659724119\",\"label\":\"拒绝(会签)\",\"type\":\"multi_refuse\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowConsign:3:98ed0f55-69e6-11ec-bb85-0235bf949cb9', 'Activity_1022nty', '[{\"multiSignAssignee\":{\"assigneeList\":\"admin,userA,userB\",\"assigneeType\":\"USER_GROUP\"},\"showOrder\":\"0\",\"id\":\"1634713481202\",\"label\":\"会签\",\"type\":\"multi_sign\"},{\"showOrder\":\"1\",\"id\":\"1634713558334\",\"label\":\"加签\",\"type\":\"multi_consign\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowConsign:3:98ed0f55-69e6-11ec-bb85-0235bf949cb9', 'Activity_1h9dd8t', '[{\"showOrder\":\"0\",\"id\":\"1634713969842\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634713975120\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:1:afa45640-3175-11ec-9438-f20b812c0662', 'Activity_053om99', '[{\"showOrder\":\"0\",\"id\":\"1634712564353\",\"label\":\"同意\",\"type\":\"agree\"}]', NULL, NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:1:afa45640-3175-11ec-9438-f20b812c0662', 'Activity_0bciohf', '[{\"showOrder\":\"0\",\"id\":\"1634712553498\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'DEPT', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:1:afa45640-3175-11ec-9438-f20b812c0662', 'Activity_0dvg4hi', '[{\"showOrder\":\"0\",\"id\":\"1634712820414\",\"label\":\"会签\",\"type\":\"multi_sign\"},{\"showOrder\":\"1\",\"id\":\"1634712828909\",\"label\":\"加签\",\"type\":\"multi_consign\"}]', NULL, NULL, 'POST', NULL, NULL, NULL, NULL); @@ -5508,6 +5690,14 @@ INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:3:412c67b1-5e70-11ec-9355-5 INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:3:412c67b1-5e70-11ec-9355-5e4c369e54c1', 'Activity_0z90ali', '[{\"showOrder\":\"0\",\"id\":\"1634712606529\",\"label\":\"同意\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:3:412c67b1-5e70-11ec-9355-5e4c369e54c1', 'Activity_17930aj', '[{\"showOrder\":\"0\",\"id\":\"1634712631113\",\"label\":\"同意\",\"type\":\"agree\"}]', NULL, NULL, 'USERS', NULL, NULL, NULL, 'admin'); INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:3:412c67b1-5e70-11ec-9355-5e4c369e54c1', 'Activity_1enh5ke', '[{\"showOrder\":\"0\",\"id\":\"1634713156091\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634713159956\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT', NULL, NULL, '1440911410581213416', NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'Activity_053om99', '[{\"showOrder\":\"0\",\"id\":\"1634712564353\",\"label\":\"同意\",\"type\":\"agree\"}]', NULL, NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'Activity_0bciohf', '[{\"showOrder\":\"0\",\"id\":\"1634712553498\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'Activity_0dvg4hi', '[{\"showOrder\":\"0\",\"id\":\"1634712820414\",\"label\":\"会签\",\"type\":\"multi_sign\"},{\"showOrder\":\"1\",\"id\":\"1634712828909\",\"label\":\"加签\",\"type\":\"multi_consign\"}]', NULL, NULL, 'POST', '[{\"id\":\"deptPost__1440964387979399168\",\"type\":\"deptPost\",\"deptPostId\":\"1440964387979399168\"}]', NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'Activity_0xetc8u', '[{\"showOrder\":\"0\",\"id\":\"1634712668982\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634712672195\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'POST', '[{\"id\":\"deptPost__1440964519391137792\",\"type\":\"deptPost\",\"deptPostId\":\"1440964519391137792\"},{\"id\":\"deptPost__1440964519395332096\",\"type\":\"deptPost\",\"deptPostId\":\"1440964519395332096\"}]', NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'Activity_0xo14ns', '[{\"showOrder\":\"0\",\"id\":\"1634712945053\",\"label\":\"同意\",\"type\":\"multi_agree\"},{\"showOrder\":\"1\",\"id\":\"1634712951160\",\"label\":\"拒绝\",\"type\":\"multi_refuse\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'Activity_0z90ali', '[{\"showOrder\":\"0\",\"id\":\"1634712606529\",\"label\":\"同意\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'Activity_17930aj', '[{\"showOrder\":\"0\",\"id\":\"1634712631113\",\"label\":\"同意\",\"type\":\"agree\"}]', NULL, NULL, 'USERS', NULL, NULL, NULL, 'admin'); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'Activity_1enh5ke', '[{\"showOrder\":\"0\",\"id\":\"1634713156091\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634713159956\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT', NULL, NULL, '1440911410581213416', NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:1:ad52c51a-3175-11ec-9438-f20b812c0662', 'Activity_00ibp0u', '[{\"showOrder\":\"0\",\"id\":\"1634711306601\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634711310391\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'POST', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:1:ad52c51a-3175-11ec-9438-f20b812c0662', 'Activity_11jr0px', '[{\"showOrder\":\"0\",\"id\":\"1634711147941\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634711151349\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:1:ad52c51a-3175-11ec-9438-f20b812c0662', 'Activity_1tb8jka', '[{\"showOrder\":\"0\",\"id\":\"1634711122925\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'DEPT', NULL, NULL, NULL, NULL); @@ -5532,6 +5722,9 @@ INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:7:98337350-3186-11ec-bf2d-f20b INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:8:1a9b02fb-5e6f-11ec-9355-5e4c369e54c1', 'Activity_00ibp0u', '[{\"showOrder\":\"0\",\"id\":\"1634711306601\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634711310391\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'POST', '[{\"id\":\"deptPost__1440964221780103168\",\"type\":\"deptPost\",\"deptPostId\":\"1440964221780103168\"}]', NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:8:1a9b02fb-5e6f-11ec-9355-5e4c369e54c1', 'Activity_11jr0px', '[{\"showOrder\":\"0\",\"id\":\"1634711147941\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634711151349\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:8:1a9b02fb-5e6f-11ec-9355-5e4c369e54c1', 'Activity_1tb8jka', '[{\"showOrder\":\"0\",\"id\":\"1634711122925\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', 'Activity_00ibp0u', '[{\"showOrder\":\"0\",\"id\":\"1634711306601\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634711310391\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'POST', '[{\"id\":\"deptPost__1440964221780103168\",\"type\":\"deptPost\",\"deptPostId\":\"1440964221780103168\"}]', NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', 'Activity_11jr0px', '[{\"showOrder\":\"0\",\"id\":\"1634711147941\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634711151349\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', 'Activity_1tb8jka', '[{\"showOrder\":\"0\",\"id\":\"1634711122925\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:1:ae87c2ad-3175-11ec-9438-f20b812c0662', 'Activity_04scn2o', '[{\"showOrder\":\"0\",\"id\":\"1634711812646\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634711815984\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', '[{\"variableType\":1,\"showName\":\"报销金额\",\"variableName\":\"totalAmount\",\"bindColumnId\":1440946127493926912,\"createTime\":1634711382000,\"builtin\":false,\"bindDatasourceId\":1440946127531675648,\"variableId\":1450710800854421504,\"entryId\":1450710743367290880}]', NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:1:ae87c2ad-3175-11ec-9438-f20b812c0662', 'Activity_1cs4bi5', '[{\"showOrder\":\"0\",\"id\":\"1634711803796\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'DEPT', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:1:ae87c2ad-3175-11ec-9438-f20b812c0662', 'Activity_1w23xfe', '[{\"showOrder\":\"0\",\"id\":\"1634711883901\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634711887322\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT', NULL, NULL, NULL, NULL); @@ -5541,10 +5734,15 @@ INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:2:7b6651d4-3184-11ec-9f40-f20 INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:3:39b2742e-5e6f-11ec-9355-5e4c369e54c1', 'Activity_04scn2o', '[{\"showOrder\":\"0\",\"id\":\"1634711812646\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634711815984\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', '[{\"variableType\":1,\"showName\":\"报销金额\",\"variableName\":\"totalAmount\",\"bindColumnId\":1440946127493926912,\"createTime\":1634711382000,\"builtin\":false,\"bindDatasourceId\":1440946127531675648,\"variableId\":1450710800854421504,\"entryId\":1450710743367290880}]', NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:3:39b2742e-5e6f-11ec-9355-5e4c369e54c1', 'Activity_1cs4bi5', '[{\"showOrder\":\"0\",\"id\":\"1634711803796\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:3:39b2742e-5e6f-11ec-9355-5e4c369e54c1', 'Activity_1w23xfe', '[{\"showOrder\":\"0\",\"id\":\"1634711883901\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634711887322\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT', NULL, NULL, '1440911410581213416', NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', 'Activity_04scn2o', '[{\"showOrder\":\"0\",\"id\":\"1634711812646\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634711815984\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', '[{\"variableType\":1,\"showName\":\"报销金额\",\"variableName\":\"totalAmount\",\"bindColumnId\":1440946127493926912,\"createTime\":1634711382000,\"builtin\":false,\"bindDatasourceId\":1440946127531675648,\"variableId\":1450710800854421504,\"entryId\":1450710743367290880}]', NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', 'Activity_1cs4bi5', '[{\"showOrder\":\"0\",\"id\":\"1634711803796\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', 'Activity_1w23xfe', '[{\"showOrder\":\"0\",\"id\":\"1634711883901\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634711887322\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT', NULL, NULL, '1440911410581213416', NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowTranslate:1:b28cd036-3175-11ec-9438-f20b812c0662', 'Activity_0c6nxdm', '[{\"showOrder\":\"0\",\"id\":\"1634714128552\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'DEPT', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowTranslate:1:b28cd036-3175-11ec-9438-f20b812c0662', 'Activity_0wwsi9w', '[{\"showOrder\":\"0\",\"id\":\"1634714140300\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634714144449\",\"label\":\"转办\",\"type\":\"transfer\"}]', NULL, NULL, 'DEPT', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowTranslate:2:8ab7c467-5e70-11ec-9355-5e4c369e54c1', 'Activity_0c6nxdm', '[{\"showOrder\":\"0\",\"id\":\"1634714128552\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowTranslate:2:8ab7c467-5e70-11ec-9355-5e4c369e54c1', 'Activity_0wwsi9w', '[{\"showOrder\":\"0\",\"id\":\"1634714140300\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634714144449\",\"label\":\"转办\",\"type\":\"transfer\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowTranslate:3:a0888a08-69e6-11ec-bb85-0235bf949cb9', 'Activity_0c6nxdm', '[{\"showOrder\":\"0\",\"id\":\"1634714128552\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowTranslate:3:a0888a08-69e6-11ec-bb85-0235bf949cb9', 'Activity_0wwsi9w', '[{\"showOrder\":\"0\",\"id\":\"1634714140300\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1634714144449\",\"label\":\"转办\",\"type\":\"transfer\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); COMMIT; -- ---------------------------- @@ -5558,6 +5756,7 @@ CREATE TABLE `zz_flow_work_order` ( `process_definition_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '流程引擎的定义Id', `process_instance_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '流程实例Id', `online_table_id` bigint DEFAULT NULL COMMENT '在线表单的主表Id', + `table_name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '静态表单名称', `business_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '业务主键值', `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '未完成的任务Id', `task_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '未完成的任务名称', @@ -5583,13 +5782,18 @@ CREATE TABLE `zz_flow_work_order` ( -- Records of zz_flow_work_order -- ---------------------------- BEGIN; -INSERT INTO `zz_flow_work_order` VALUES (1450732253410758656, 'flowTranslate', '转办流程', 'flowTranslate:1:b28cd036-3175-11ec-9438-f20b812c0662', '04b2aec5-317b-11ec-9438-f20b812c0662', 1440945228079960064, '1450732253180071936', NULL, NULL, NULL, 3, 'userD', 1440963698460987392, '2021-10-20 15:55:28', 1440966324770574336, '2021-10-20 15:54:57', 1440966324770574336, 1); -INSERT INTO `zz_flow_work_order` VALUES (1450745975625748480, 'flowLeave', '请假申请', 'flowLeave:4:8e42a9bb-3179-11ec-9438-f20b812c0662', '8de8b46c-3182-11ec-a0b7-f20b812c0662', 1440945228079960064, '1450745828686696448', NULL, NULL, NULL, 0, 'userD', 1440963698460987392, '2021-10-20 16:49:29', 1440966324770574336, '2021-10-20 16:49:29', 1440966324770574336, 1); -INSERT INTO `zz_flow_work_order` VALUES (1450747313042493440, 'flowLeave', '请假申请', 'flowLeave:4:8e42a9bb-3179-11ec-9438-f20b812c0662', '5b6b546a-3183-11ec-ad5a-f20b812c0662', 1440945228079960064, '1450747274836578304', NULL, NULL, NULL, 3, 'userD', 1440963698460987392, '2021-10-20 16:57:52', 1440965465605148672, '2021-10-20 16:54:48', 1440966324770574336, 1); -INSERT INTO `zz_flow_work_order` VALUES (1450748609258590208, 'flowSubmit', '报销申请', 'flowSubmit:1:ae87c2ad-3175-11ec-9438-f20b812c0662', '190031da-3184-11ec-ad5a-f20b812c0662', 1440946127460372480, '1450748608977571840', NULL, NULL, NULL, 3, 'userD', 1440963698460987392, '2021-10-20 17:00:41', 1440911410581213417, '2021-10-20 16:59:57', 1440966324770574336, 1); -INSERT INTO `zz_flow_work_order` VALUES (1450749438946447360, 'flowLeave', '请假申请', 'flowLeave:6:79b100b1-3184-11ec-9f40-f20b812c0662', '8edf84c8-3184-11ec-9f40-f20b812c0662', 1440945228079960064, '1450749438409576448', NULL, NULL, NULL, 3, 'userD', 1440963698460987392, '2021-10-20 17:03:59', 1440965465605148672, '2021-10-20 17:03:15', 1440966324770574336, 1); -INSERT INTO `zz_flow_work_order` VALUES (1450750096936275968, 'flowContract', '合同审批', 'flowContract:2:7ce26a87-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', 1440952815294877696, '1450750096739143680', NULL, NULL, NULL, 3, 'userD', 1440963698460987392, '2021-10-20 17:09:53', 1440969706411397120, '2021-10-20 17:05:51', 1440966324770574336, 1); -INSERT INTO `zz_flow_work_order` VALUES (1450753187605647360, 'flowLeave', '请假申请', 'flowLeave:7:98337350-3186-11ec-bf2d-f20b812c0662', 'a396f281-3186-11ec-bf2d-f20b812c0662', 1440945228079960064, '1450753187064582144', NULL, NULL, NULL, 0, 'userD', 1440963698460987392, '2021-10-20 17:18:08', 1440966324770574336, '2021-10-20 17:18:08', 1440966324770574336, 1); +INSERT INTO `zz_flow_work_order` VALUES (1450732253410758656, 'flowTranslate', '转办流程', 'flowTranslate:1:b28cd036-3175-11ec-9438-f20b812c0662', '04b2aec5-317b-11ec-9438-f20b812c0662', 1440945228079960064, NULL, '1450732253180071936', NULL, NULL, NULL, 3, 'userD', 1440963698460987392, '2021-10-20 15:55:28', 1440966324770574336, '2021-10-20 15:54:57', 1440966324770574336, 1); +INSERT INTO `zz_flow_work_order` VALUES (1450745975625748480, 'flowLeave', '请假申请', 'flowLeave:4:8e42a9bb-3179-11ec-9438-f20b812c0662', '8de8b46c-3182-11ec-a0b7-f20b812c0662', 1440945228079960064, NULL, '1450745828686696448', NULL, NULL, NULL, 0, 'userD', 1440963698460987392, '2021-10-20 16:49:29', 1440966324770574336, '2021-10-20 16:49:29', 1440966324770574336, 1); +INSERT INTO `zz_flow_work_order` VALUES (1450747313042493440, 'flowLeave', '请假申请', 'flowLeave:4:8e42a9bb-3179-11ec-9438-f20b812c0662', '5b6b546a-3183-11ec-ad5a-f20b812c0662', 1440945228079960064, NULL, '1450747274836578304', NULL, NULL, NULL, 3, 'userD', 1440963698460987392, '2021-10-20 16:57:52', 1440965465605148672, '2021-10-20 16:54:48', 1440966324770574336, 1); +INSERT INTO `zz_flow_work_order` VALUES (1450748609258590208, 'flowSubmit', '报销申请', 'flowSubmit:1:ae87c2ad-3175-11ec-9438-f20b812c0662', '190031da-3184-11ec-ad5a-f20b812c0662', 1440946127460372480, NULL, '1450748608977571840', NULL, NULL, NULL, 3, 'userD', 1440963698460987392, '2021-10-20 17:00:41', 1440911410581213417, '2021-10-20 16:59:57', 1440966324770574336, 1); +INSERT INTO `zz_flow_work_order` VALUES (1450749438946447360, 'flowLeave', '请假申请', 'flowLeave:6:79b100b1-3184-11ec-9f40-f20b812c0662', '8edf84c8-3184-11ec-9f40-f20b812c0662', 1440945228079960064, NULL, '1450749438409576448', NULL, NULL, NULL, 3, 'userD', 1440963698460987392, '2021-10-20 17:03:59', 1440965465605148672, '2021-10-20 17:03:15', 1440966324770574336, 1); +INSERT INTO `zz_flow_work_order` VALUES (1450750096936275968, 'flowContract', '合同审批', 'flowContract:2:7ce26a87-3184-11ec-9f40-f20b812c0662', 'ec6ca594-3184-11ec-9f40-f20b812c0662', 1440952815294877696, NULL, '1450750096739143680', NULL, NULL, NULL, 3, 'userD', 1440963698460987392, '2021-10-20 17:09:53', 1440969706411397120, '2021-10-20 17:05:51', 1440966324770574336, 1); +INSERT INTO `zz_flow_work_order` VALUES (1450753187605647360, 'flowLeave', '请假申请', 'flowLeave:7:98337350-3186-11ec-bf2d-f20b812c0662', 'a396f281-3186-11ec-bf2d-f20b812c0662', 1440945228079960064, NULL, '1450753187064582144', NULL, NULL, NULL, 0, 'userD', 1440963698460987392, '2021-10-20 17:18:08', 1440966324770574336, '2021-10-20 17:18:08', 1440966324770574336, 1); +INSERT INTO `zz_flow_work_order` VALUES (1476751924081463296, 'flowLeave', '请假申请', 'flowLeave:9:7d23427c-69e6-11ec-bb85-0235bf949cb9', 'd6423389-69e6-11ec-bb85-0235bf949cb9', 1440945228079960064, NULL, '1476751923557175296', NULL, NULL, NULL, 0, 'admin', 1440911410581213416, '2021-12-31 11:07:50', 1440911410581213417, '2021-12-31 11:07:50', 1440911410581213417, 1); +INSERT INTO `zz_flow_work_order` VALUES (1476751964678131712, 'flowSubmit', '报销申请', 'flowSubmit:4:87e59faf-69e6-11ec-bb85-0235bf949cb9', 'dc101a4d-69e6-11ec-bb85-0235bf949cb9', 1440946127460372480, NULL, '1476751964434862080', NULL, NULL, NULL, 0, 'admin', 1440911410581213416, '2021-12-31 11:08:00', 1440911410581213417, '2021-12-31 11:08:00', 1440911410581213417, 1); +INSERT INTO `zz_flow_work_order` VALUES (1476752006998659072, 'flowContract', '合同审批', 'flowContract:4:9170b562-69e6-11ec-bb85-0235bf949cb9', 'e214ef91-69e6-11ec-bb85-0235bf949cb9', 1440952815294877696, NULL, '1476752006788943872', NULL, NULL, NULL, 4, 'admin', 1440911410581213416, '2021-12-31 11:13:54', 1440911410581213417, '2021-12-31 11:08:10', 1440911410581213417, 1); +INSERT INTO `zz_flow_work_order` VALUES (1476752044638343168, 'flowConsign', '多实例加签', 'flowConsign:3:98ed0f55-69e6-11ec-bb85-0235bf949cb9', 'e76568f5-69e6-11ec-bb85-0235bf949cb9', 1440945228079960064, NULL, '1476752044185358336', NULL, NULL, NULL, 4, 'admin', 1440911410581213416, '2021-12-31 11:13:49', 1440911410581213417, '2021-12-31 11:08:19', 1440911410581213417, -1); +INSERT INTO `zz_flow_work_order` VALUES (1476752083557289984, 'flowTranslate', '转办流程', 'flowTranslate:3:a0888a08-69e6-11ec-bb85-0235bf949cb9', 'ecf66d42-69e6-11ec-bb85-0235bf949cb9', 1440945228079960064, NULL, '1476752083360157696', NULL, NULL, NULL, 4, 'admin', 1440911410581213416, '2021-12-31 11:13:45', 1440911410581213417, '2021-12-31 11:08:28', 1440911410581213417, -1); COMMIT; -- ---------------------------- @@ -7652,6 +7856,7 @@ INSERT INTO `zz_test_flow_contract` VALUES (1424647986075406336, 142464518415869 INSERT INTO `zz_test_flow_contract` VALUES (1441215377508929536, 1424645184158699520, 1424645446290116608, 1, '2021-09-30 00:00:00', 1440966324770574336, 5, '[{\"name\":\"新建位图图像.png\",\"filename\":\"d9aa27ea7eec4375b123e11ce92ec9b5.png\"}]', '[{\"name\":\"新建位图图像.png\",\"filename\":\"0c20b1c7256148018451852ddae9f8aa.png\"}]', NULL, NULL, 1440966324770574336, '2021-09-24 09:38:17', 1440966324770574336, '2021-09-24 09:38:17', 1); INSERT INTO `zz_test_flow_contract` VALUES (1441217206602960896, 1424645184158699520, 1424645446290116608, 1, '2021-10-09 00:00:00', 1440966324770574336, 7, '[{\"name\":\"新建位图图像.png\",\"filename\":\"dcd2db9b75664251a3baf595f6752d90.png\"}]', '[{\"name\":\"新建位图图像.png\",\"filename\":\"e85a5b89d3bd4a3f94d58b0630afc7af.png\"}]', NULL, NULL, 1440966324770574336, '2021-09-24 09:45:33', 1440966324770574336, '2021-09-24 09:45:33', 1); INSERT INTO `zz_test_flow_contract` VALUES (1450750096739143680, 1424645184158699520, 1424645446290116608, 1, '2021-11-06 00:00:00', 1440966324770574336, 10, '[{\"name\":\"logo.png\",\"filename\":\"1a4d071f19164c19811e4067b21707d2.png\"}]', '[{\"name\":\"图片1.png\",\"filename\":\"5aa213bbea704ecdb480d7e655abea8b.png\"}]', NULL, NULL, 1440966324770574336, '2021-10-20 17:05:51', 1440966324770574336, '2021-10-20 17:05:51', 1); +INSERT INTO `zz_test_flow_contract` VALUES (1476752006788943872, 1424645184158699520, 1424645446290116608, 1, '2021-12-10 00:00:00', 1440911410581213417, 11, NULL, NULL, NULL, NULL, 1440911410581213417, '2021-12-31 11:08:10', 1440911410581213417, '2021-12-31 11:08:10', 1); COMMIT; -- ---------------------------- @@ -7784,6 +7989,9 @@ INSERT INTO `zz_test_flow_leave` VALUES (1450745828686696448, 144096632477057433 INSERT INTO `zz_test_flow_leave` VALUES (1450747274836578304, 1440966324770574336, '世界辣么大,我想去看看', 1, '2021-10-20 00:00:00', '2021-10-21 00:00:00', '2021-10-20 16:54:39'); INSERT INTO `zz_test_flow_leave` VALUES (1450749438409576448, 1440966324770574336, '结束单身狗的生涯', 3, '2021-10-20 00:00:00', '2021-10-27 00:00:00', '2021-10-20 17:03:14'); INSERT INTO `zz_test_flow_leave` VALUES (1450753187064582144, 1440966324770574336, '请假3天', 2, '2021-10-21 00:00:00', '2021-10-23 00:00:00', '2021-10-20 17:18:08'); +INSERT INTO `zz_test_flow_leave` VALUES (1476751923557175296, 1440911410581213417, '1111', 1, '2021-12-01 00:00:00', '2021-12-04 00:00:00', '2021-12-31 11:07:50'); +INSERT INTO `zz_test_flow_leave` VALUES (1476752044185358336, 1440911410581213417, '111', 1, '2021-12-01 00:00:00', '2021-12-08 00:00:00', '2021-12-31 11:08:19'); +INSERT INTO `zz_test_flow_leave` VALUES (1476752083360157696, 1440911410581213417, '111222', 1, '2021-12-01 00:00:00', '2021-12-09 00:00:00', '2021-12-31 11:08:28'); COMMIT; -- ---------------------------- @@ -7909,6 +8117,7 @@ INSERT INTO `zz_test_flow_submit` VALUES (1441213876367527936, '出差报销', 1 INSERT INTO `zz_test_flow_submit` VALUES (1441312736167333888, '出差', 1, 800, '出差', NULL, 1440966324770574336, '2021-09-24 16:05:09', 1440966324770574336, '2021-09-24 16:05:09'); INSERT INTO `zz_test_flow_submit` VALUES (1441340309442138112, '团建', 2, 500, '团建', NULL, 1440966324770574336, '2021-09-24 17:54:43', 1440966324770574336, '2021-09-24 17:54:43'); INSERT INTO `zz_test_flow_submit` VALUES (1450748608977571840, '出差报销', 1, 1200, '出差见客户', '去广州出差拜访客户', 1440966324770574336, '2021-10-20 16:59:57', 1440966324770574336, '2021-10-20 16:59:57'); +INSERT INTO `zz_test_flow_submit` VALUES (1476751964434862080, '1111', 1, 11, '1111', '1111', 1440911410581213417, '2021-12-31 11:08:00', 1440911410581213417, '2021-12-31 11:08:00'); COMMIT; -- ---------------------------- diff --git a/orange-demo-flowable/orange-demo-flowable-service/.gitignore b/orange-demo-flowable/orange-demo-flowable-service/.gitignore index ac242580..e3fa94cd 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/.gitignore +++ b/orange-demo-flowable/orange-demo-flowable-service/.gitignore @@ -1,4 +1,4 @@ -/target/ +target/ !.mvn/wrapper/maven-wrapper.jar /.mvn/* diff --git a/orange-demo-flowable/orange-demo-flowable-service/README.md b/orange-demo-flowable/orange-demo-flowable-service/README.md index 0939c817..20274fd0 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/README.md +++ b/orange-demo-flowable/orange-demo-flowable-service/README.md @@ -1,5 +1,7 @@ ### 服务接口文档 --- +- Knife4j + - 服务启动后,Knife4j的文档入口地址 [http://localhost:8082/doc.html#/plus](http://localhost:8082/doc.html#/plus) - Postman - 无需启动服务,即可将当前工程的接口导出成Postman格式。在工程的common/common-tools/模块下,找到ExportApiApp文件,并执行main函数。 diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/pom.xml b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/pom.xml index acac14b4..50e810a4 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/pom.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/pom.xml @@ -45,6 +45,11 @@ common-datafilter 1.0.0 + + com.orangeforms + common-swagger + 1.0.0 + diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/controller/AreaCodeController.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/controller/AreaCodeController.java index f9d34991..b43e0957 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/controller/AreaCodeController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/controller/AreaCodeController.java @@ -1,5 +1,6 @@ package com.orangeforms.webadmin.app.controller; +import io.swagger.annotations.Api; import cn.jimmyshi.beanquery.BeanQuery; import com.orangeforms.webadmin.app.model.AreaCode; import com.orangeforms.webadmin.app.service.AreaCodeService; @@ -21,6 +22,7 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "行政区划数据访问接口") @RestController @RequestMapping("/admin/app/areaCode") public class AreaCodeController { diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/vo/AreaCodeVo.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/vo/AreaCodeVo.java index d7a7c5a7..4dce7d89 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/vo/AreaCodeVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/app/vo/AreaCodeVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.app.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,26 +10,31 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("行政区划实体对象") @Data public class AreaCodeVo { /** * 行政区划主键Id */ + @ApiModelProperty(value = "行政区划主键Id", required = true) private Long areaId; /** * 行政区划名称 */ + @ApiModelProperty(value = "行政区划名称") private String areaName; /** * 行政区划级别 (1: 省级别 2: 市级别 3: 区级别) */ + @ApiModelProperty(value = "行政区划级别") private Integer areaLevel; /** * 父级行政区划Id */ + @ApiModelProperty(value = "父级行政区划Id") private Long parentId; } \ No newline at end of file diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginController.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginController.java index dfe78c08..5d295fc3 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginController.java @@ -3,6 +3,10 @@ package com.orangeforms.webadmin.upms.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; +import com.github.xiaoymin.knife4j.annotations.ApiSupport; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import lombok.extern.slf4j.Slf4j; import com.orangeforms.webadmin.config.ApplicationConfig; import com.orangeforms.webadmin.upms.service.*; @@ -42,6 +46,8 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@ApiSupport(order = 1) +@Api(tags = "用户登录接口") @Slf4j @RestController @RequestMapping("/admin/upms/login") @@ -81,6 +87,12 @@ public class LoginController { * @param password 密码。 * @return 应答结果对象,其中包括JWT的Token数据,以及菜单列表。 */ + @ApiImplicitParams({ + // 这里包含密码密文,仅用于方便开发期间的接口测试,集成测试和发布阶段,需要将当前注解去掉。 + // 如果您重新生成了公钥和私钥,请替换password的缺省值。 + @ApiImplicitParam(name = "loginName", defaultValue = "admin"), + @ApiImplicitParam(name = "password", defaultValue = "IP3ccke3GhH45iGHB5qP9p7iZw6xUyj28Ju10rnBiPKOI35sc%2BjI7%2FdsjOkHWMfUwGYGfz8ik31HC2Ruk%2Fhkd9f6RPULTHj7VpFdNdde2P9M4mQQnFBAiPM7VT9iW3RyCtPlJexQ3nAiA09OqG%2F0sIf1kcyveSrulxembARDbDo%3D") + }) @NoAuthInterface @PostMapping("/doLogin") public ResponseResult doLogin( diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginUserController.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginUserController.java index a0ac1220..a3cb16af 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginUserController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/LoginUserController.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.object.*; import com.orangeforms.common.core.util.RedisKeyUtil; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.redisson.api.RBucket; import org.redisson.api.RedissonClient; @@ -22,6 +23,7 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "在线用户接口") @Slf4j @RestController @RequestMapping("/admin/upms/loginUser") diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDataPermController.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDataPermController.java index c2ccb7af..2f396b8f 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDataPermController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDataPermController.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.alibaba.fastjson.TypeReference; import com.github.pagehelper.Page; import com.github.pagehelper.page.PageMethod; @@ -30,6 +32,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "数据权限管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysDataPerm") @@ -47,6 +50,11 @@ public class SysDataPermController { * @param deptIdListString 数据权限关联的部门Id列表,多个之间逗号分隔。 * @return 应答结果对象。包含新增数据权限对象的主键Id。 */ + @ApiOperationSupport(ignoreParameters = { + "sysDataPermDto.dataPermId", + "sysDataPermDto.createTimeStart", + "sysDataPermDto.createTimeEnd", + "sysDataPermDto.searchString"}) @PostMapping("/add") public ResponseResult add( @MyRequestBody SysDataPermDto sysDataPermDto, @MyRequestBody String deptIdListString) { @@ -74,6 +82,10 @@ public class SysDataPermController { * @param deptIdListString 数据权限关联的部门Id列表,多个之间逗号分隔。 * @return 应答结果对象。 */ + @ApiOperationSupport(ignoreParameters = { + "sysDataPermDto.createTimeStart", + "sysDataPermDto.createTimeEnd", + "sysDataPermDto.searchString"}) @PostMapping("/update") public ResponseResult update( @MyRequestBody SysDataPermDto sysDataPermDto, @MyRequestBody String deptIdListString) { diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDeptController.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDeptController.java index 6978e5ee..b20f51f4 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDeptController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysDeptController.java @@ -10,6 +10,8 @@ import com.orangeforms.common.core.object.*; import com.orangeforms.common.core.util.*; import com.orangeforms.common.core.constant.*; import com.orangeforms.common.core.annotation.MyRequestBody; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -24,6 +26,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "部门管理管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysDept") @@ -40,6 +43,7 @@ public class SysDeptController { * @param sysDeptDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysDeptDto.deptId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody SysDeptDto sysDeptDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysDeptDto, false); diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysMenuController.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysMenuController.java index 50620d11..c822ee4a 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysMenuController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysMenuController.java @@ -2,6 +2,8 @@ package com.orangeforms.webadmin.upms.controller; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.TypeReference; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import com.orangeforms.webadmin.upms.dto.SysMenuDto; import com.orangeforms.webadmin.upms.vo.SysMenuVo; @@ -25,6 +27,7 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "菜单管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysMenu") @@ -40,6 +43,7 @@ public class SysMenuController { * @param permCodeIdListString 与当前菜单Id绑定的权限Id列表,多个权限之间逗号分隔。 * @return 应答结果对象,包含新增菜单的主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysMenuDto.menuId"}) @PostMapping("/add") public ResponseResult add( @MyRequestBody SysMenuDto sysMenuDto, @MyRequestBody String permCodeIdListString) { diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermCodeController.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermCodeController.java index 49a76e03..22291fb0 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermCodeController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermCodeController.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.alibaba.fastjson.TypeReference; import lombok.extern.slf4j.Slf4j; import com.orangeforms.webadmin.upms.dto.SysPermCodeDto; @@ -24,6 +26,7 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "权限字管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysPermCode") @@ -39,6 +42,7 @@ public class SysPermCodeController { * @param permIdListString 与当前权限Id绑定的权限资源Id列表,多个权限资源之间逗号分隔。 * @return 应答结果对象,包含新增权限字的主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysPermCodeDto.permCodeId"}) @PostMapping("/add") public ResponseResult add( @MyRequestBody SysPermCodeDto sysPermCodeDto, @MyRequestBody String permIdListString) { diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermController.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermController.java index d1b63293..e6aa7d3a 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermController.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.github.pagehelper.Page; import com.github.pagehelper.page.PageMethod; import lombok.extern.slf4j.Slf4j; @@ -25,6 +27,7 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "权限资源管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysPerm") @@ -39,6 +42,7 @@ public class SysPermController { * @param sysPermDto 新增权限资源对象。 * @return 应答结果对象,包含新增权限资源的主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysPermDto.permId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody SysPermDto sysPermDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermDto); diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermModuleController.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermModuleController.java index 4ac1e067..d8e2e4b9 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermModuleController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPermModuleController.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import com.orangeforms.webadmin.upms.dto.SysPermModuleDto; import com.orangeforms.webadmin.upms.vo.SysPermModuleVo; @@ -27,6 +29,7 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "权限资源模块管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysPermModule") @@ -41,6 +44,7 @@ public class SysPermModuleController { * @param sysPermModuleDto 新增权限资源模块对象。 * @return 应答结果对象,包含新增权限资源模块的主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysPermModuleDto.moduleId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody SysPermModuleDto sysPermModuleDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermModuleDto); diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPostController.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPostController.java index daecc152..a8ce9c79 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPostController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysPostController.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import cn.jimmyshi.beanquery.BeanQuery; import com.github.pagehelper.page.PageMethod; import com.orangeforms.common.core.object.*; @@ -24,6 +26,7 @@ import javax.validation.groups.Default; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "岗位管理操作管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysPost") @@ -38,6 +41,7 @@ public class SysPostController { * @param sysPostDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysPostDto.postId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody SysPostDto sysPostDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysPostDto); diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysRoleController.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysRoleController.java index a510110e..a4d01c6c 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysRoleController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysRoleController.java @@ -1,6 +1,8 @@ package com.orangeforms.webadmin.upms.controller; import cn.jimmyshi.beanquery.BeanQuery; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.alibaba.fastjson.TypeReference; import com.github.pagehelper.Page; import com.github.pagehelper.page.PageMethod; @@ -32,6 +34,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "角色管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysRole") @@ -49,6 +52,7 @@ public class SysRoleController { * @param menuIdListString 与当前角色Id绑定的menuId列表,多个menuId之间逗号分隔。 * @return 应答结果对象,包含新增角色的主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"sysRoleDto.roleId", "sysRoleDto.createTimeStart", "sysRoleDto.createTimeEnd"}) @PostMapping("/add") public ResponseResult add( @MyRequestBody SysRoleDto sysRoleDto, @MyRequestBody String menuIdListString) { @@ -76,6 +80,7 @@ public class SysRoleController { * @param menuIdListString 与当前角色Id绑定的menuId列表,多个menuId之间逗号分隔。 * @return 应答结果对象。 */ + @ApiOperationSupport(ignoreParameters = {"sysRoleDto.createTimeStart", "sysRoleDto.createTimeEnd"}) @PostMapping("/update") public ResponseResult update( @MyRequestBody SysRoleDto sysRoleDto, @MyRequestBody String menuIdListString) { diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysUserController.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysUserController.java index 93740918..fa4aa233 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysUserController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/controller/SysUserController.java @@ -11,6 +11,8 @@ import com.orangeforms.common.core.util.*; import com.orangeforms.common.core.constant.*; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.webadmin.config.ApplicationConfig; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.beans.factory.annotation.Autowired; @@ -24,6 +26,7 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "用户管理管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysUser") @@ -45,6 +48,10 @@ public class SysUserController { * @param roleIdListString 逗号分隔的角色Id列表。 * @return 应答结果对象,包含新增用户的主键Id。 */ + @ApiOperationSupport(ignoreParameters = { + "sysUserDto.userId", + "sysUserDto.createTimeStart", + "sysUserDto.createTimeEnd"}) @PostMapping("/add") public ResponseResult add( @MyRequestBody SysUserDto sysUserDto, @@ -77,6 +84,9 @@ public class SysUserController { * @param roleIdListString 逗号分隔的角色Id列表。 * @return 应答结果对象。 */ + @ApiOperationSupport(ignoreParameters = { + "sysUserDto.createTimeStart", + "sysUserDto.createTimeEnd"}) @PostMapping("/update") public ResponseResult update( @MyRequestBody SysUserDto sysUserDto, diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDeptDto.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDeptDto.java index b75fd7e3..c0065cfe 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDeptDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDeptDto.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,16 +10,19 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("数据权限与部门关联Dto") @Data public class SysDataPermDeptDto { /** * 数据权限Id。 */ + @ApiModelProperty(value = "数据权限Id", required = true) private Long dataPermId; /** * 关联部门Id。 */ + @ApiModelProperty(value = "关联部门Id", required = true) private Long deptId; } \ No newline at end of file diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDto.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDto.java index e5937859..bfaa1622 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDataPermDto.java @@ -4,6 +4,8 @@ import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.datafilter.constant.DataPermRuleType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -14,24 +16,28 @@ import javax.validation.constraints.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("数据权限Dto") @Data public class SysDataPermDto { /** * 数据权限Id。 */ + @ApiModelProperty(value = "数据权限Id", required = true) @NotNull(message = "数据权限Id不能为空!", groups = {UpdateGroup.class}) private Long dataPermId; /** * 显示名称。 */ + @ApiModelProperty(value = "显示名称", required = true) @NotBlank(message = "数据权限名称不能为空!") private String dataPermName; /** * 数据权限规则类型(0: 全部可见 1: 只看自己 2: 只看本部门 3: 本部门及子部门 4: 多部门及子部门 5: 自定义部门列表)。 */ + @ApiModelProperty(value = "数据权限规则类型", required = true) @NotNull(message = "数据权限规则类型不能为空!") @ConstDictRef(constDictClass = DataPermRuleType.class) private Integer ruleType; @@ -39,10 +45,12 @@ public class SysDataPermDto { /** * 部门Id列表(逗号分隔)。 */ + @ApiModelProperty(hidden = true) private String deptIdListString; /** * 搜索字符串。 */ + @ApiModelProperty(value = "LIKE 模糊搜索字符串") private String searchString; } \ No newline at end of file diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptDto.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptDto.java index 9efb6ae3..a2054d46 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptDto.java @@ -2,6 +2,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -14,49 +16,58 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("SysDeptDto对象") @Data public class SysDeptDto { /** * 部门Id。 */ + @ApiModelProperty(value = "部门Id", required = true) @NotNull(message = "数据验证失败,部门Id不能为空!", groups = {UpdateGroup.class}) private Long deptId; /** * 部门名称。 */ + @ApiModelProperty(value = "部门名称", required = true) @NotBlank(message = "数据验证失败,部门名称不能为空!") private String deptName; /** * 显示顺序。 */ + @ApiModelProperty(value = "显示顺序", required = true) @NotNull(message = "数据验证失败,显示顺序不能为空!") private Integer showOrder; /** * 父部门Id。 */ + @ApiModelProperty(value = "父部门Id") private Long parentId; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptPostDto.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptPostDto.java index 85179e06..06a0814c 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptPostDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysDeptPostDto.java @@ -2,6 +2,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -12,30 +14,35 @@ import javax.validation.constraints.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("部门岗位Dto") @Data public class SysDeptPostDto { /** * 部门岗位Id。 */ + @ApiModelProperty(value = "部门岗位Id", required = true) @NotNull(message = "数据验证失败,部门岗位Id不能为空!", groups = {UpdateGroup.class}) private Long deptPostId; /** * 部门Id。 */ + @ApiModelProperty(value = "部门Id", required = true) @NotNull(message = "数据验证失败,部门Id不能为空!", groups = {UpdateGroup.class}) private Long deptId; /** * 岗位Id。 */ + @ApiModelProperty(value = "岗位Id", required = true) @NotNull(message = "数据验证失败,岗位Id不能为空!", groups = {UpdateGroup.class}) private Long postId; /** * 部门岗位显示名称。 */ + @ApiModelProperty(value = "部门岗位显示名称", required = true) @NotBlank(message = "数据验证失败,部门岗位显示名称不能为空!") private String postShowName; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysMenuDto.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysMenuDto.java index 15b7ef83..62314a90 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysMenuDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysMenuDto.java @@ -3,6 +3,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.webadmin.upms.model.constant.SysMenuType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -14,29 +16,34 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("菜单Dto") @Data public class SysMenuDto { /** * 菜单Id。 */ + @ApiModelProperty(value = "菜单Id", required = true) @NotNull(message = "菜单Id不能为空!", groups = {UpdateGroup.class}) private Long menuId; /** * 父菜单Id,目录菜单的父菜单为null */ + @ApiModelProperty(value = "父菜单Id") private Long parentId; /** * 菜单显示名称。 */ + @ApiModelProperty(value = "菜单显示名称", required = true) @NotBlank(message = "菜单显示名称不能为空!") private String menuName; /** * 菜单类型 (0: 目录 1: 菜单 2: 按钮 3: UI片段)。 */ + @ApiModelProperty(value = "菜单类型", required = true) @NotNull(message = "菜单类型不能为空!") @ConstDictRef(constDictClass = SysMenuType.class, message = "数据验证失败,菜单类型为无效值!") private Integer menuType; @@ -44,26 +51,31 @@ public class SysMenuDto { /** * 前端表单路由名称,仅用于menu_type为1的菜单类型。 */ + @ApiModelProperty(value = "前端表单路由名称") private String formRouterName; /** * 在线表单主键Id,仅用于在线表单绑定的菜单。 */ + @ApiModelProperty(value = "在线表单主键Id") private Long onlineFormId; /** * 仅用于在线表单的流程Id。 */ + @ApiModelProperty(value = "仅用于在线表单的流程Id") private Long onlineFlowEntryId; /** * 菜单显示顺序 (值越小,排序越靠前)。 */ + @ApiModelProperty(value = "菜单显示顺序", required = true) @NotNull(message = "菜单显示顺序不能为空!") private Integer showOrder; /** * 菜单图标。 */ + @ApiModelProperty(value = "菜单显示顺序") private String icon; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermCodeDto.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermCodeDto.java index 60489b39..e6aa1878 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermCodeDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermCodeDto.java @@ -3,6 +3,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.webadmin.upms.model.constant.SysPermCodeType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -14,29 +16,34 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("权限字Dto") @Data public class SysPermCodeDto { /** * 权限字Id。 */ + @ApiModelProperty(value = "权限字Id", required = true) @NotNull(message = "权限字Id不能为空!", groups = {UpdateGroup.class}) private Long permCodeId; /** * 权限字标识(一般为有含义的英文字符串)。 */ + @ApiModelProperty(value = "权限字标识", required = true) @NotBlank(message = "权限字编码不能为空!") private String permCode; /** * 上级权限字Id。 */ + @ApiModelProperty(value = "上级权限字Id") private Long parentId; /** * 权限字类型(0: 表单 1: UI片段 2: 操作)。 */ + @ApiModelProperty(value = "权限字类型", required = true) @NotNull(message = "权限字类型不能为空!") @ConstDictRef(constDictClass = SysPermCodeType.class, message = "数据验证失败,权限类型为无效值!") private Integer permCodeType; @@ -44,12 +51,14 @@ public class SysPermCodeDto { /** * 显示名称。 */ + @ApiModelProperty(value = "显示名称", required = true) @NotBlank(message = "权限字显示名称不能为空!") private String showName; /** * 显示顺序(数值越小,越靠前)。 */ + @ApiModelProperty(value = "显示顺序", required = true) @NotNull(message = "权限字显示顺序不能为空!") private Integer showOrder; } \ No newline at end of file diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermDto.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermDto.java index 0ea2b71e..163bed3e 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermDto.java @@ -1,6 +1,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -12,41 +14,48 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("权限资源Dto") @Data public class SysPermDto { /** * 权限资源Id。 */ + @ApiModelProperty(value = "权限资源Id", required = true) @NotNull(message = "权限Id不能为空!", groups = {UpdateGroup.class}) private Long permId; /** * 权限资源名称。 */ + @ApiModelProperty(value = "权限资源名称", required = true) @NotBlank(message = "权限资源名称不能为空!") private String permName; /** * shiro格式的权限字,如(upms:sysUser:add)。 */ + @ApiModelProperty(value = "权限字") private String permCode; /** * 权限所在的权限模块Id。 */ + @ApiModelProperty(value = "权限所在的权限模块Id") @NotNull(message = "权限模块Id不能为空!") private Long moduleId; /** * 关联的URL。 */ + @ApiModelProperty(value = "关联的URL", required = true) @NotBlank(message = "权限关联的url不能为空!") private String url; /** * 权限在当前模块下的顺序,由小到大。 */ + @ApiModelProperty(value = "显示顺序", required = true) @NotNull(message = "权限显示顺序不能为空!") private Integer showOrder; } \ No newline at end of file diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermModuleDto.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermModuleDto.java index efeb1cbe..29459739 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermModuleDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPermModuleDto.java @@ -3,6 +3,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.webadmin.upms.model.constant.SysPermModuleType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -14,29 +16,34 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("权限资源模块Dto") @Data public class SysPermModuleDto { /** * 权限模块Id。 */ + @ApiModelProperty(value = "权限模块Id", required = true) @NotNull(message = "权限模块Id不能为空!", groups = {UpdateGroup.class}) private Long moduleId; /** * 权限模块名称。 */ + @ApiModelProperty(value = "权限模块名称", required = true) @NotBlank(message = "权限模块名称不能为空!") private String moduleName; /** * 上级权限模块Id。 */ + @ApiModelProperty(value = "上级权限模块Id") private Long parentId; /** * 权限模块类型(0: 普通模块 1: Controller模块)。 */ + @ApiModelProperty(value = "权限模块类型", required = true) @NotNull(message = "模块类型不能为空!") @ConstDictRef(constDictClass = SysPermModuleType.class, message = "数据验证失败,权限模块类型为无效值!") private Integer moduleType; @@ -44,6 +51,7 @@ public class SysPermModuleDto { /** * 权限模块在当前层级下的顺序,由小到大。 */ + @ApiModelProperty(value = "显示顺序", required = true) @NotNull(message = "权限模块显示顺序不能为空!") private Integer showOrder; } \ No newline at end of file diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPostDto.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPostDto.java index 8dfc02b0..ea4d0d62 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPostDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysPostDto.java @@ -2,6 +2,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -12,30 +14,35 @@ import javax.validation.constraints.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("岗位Dto") @Data public class SysPostDto { /** * 岗位Id。 */ + @ApiModelProperty(value = "岗位Id", required = true) @NotNull(message = "数据验证失败,岗位Id不能为空!", groups = {UpdateGroup.class}) private Long postId; /** * 岗位名称。 */ + @ApiModelProperty(value = "岗位名称", required = true) @NotBlank(message = "数据验证失败,岗位名称不能为空!") private String postName; /** * 岗位层级,数值越小级别越高。 */ + @ApiModelProperty(value = "岗位层级", required = true) @NotNull(message = "数据验证失败,岗位层级不能为空!") private Integer level; /** * 是否领导岗位。 */ + @ApiModelProperty(value = "是否领导岗位", required = true) @NotNull(message = "数据验证失败,领导岗位不能为空!", groups = {UpdateGroup.class}) private Boolean leaderPost; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysRoleDto.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysRoleDto.java index d3c72d1a..bd14fed8 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysRoleDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysRoleDto.java @@ -1,6 +1,8 @@ package com.orangeforms.webadmin.upms.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -11,18 +13,21 @@ import javax.validation.constraints.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("角色Dto") @Data public class SysRoleDto { /** * 角色Id。 */ + @ApiModelProperty(value = "角色Id", required = true) @NotNull(message = "角色Id不能为空!", groups = {UpdateGroup.class}) private Long roleId; /** * 角色名称。 */ + @ApiModelProperty(value = "角色名称", required = true) @NotBlank(message = "角色名称不能为空!") private String roleName; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysUserDto.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysUserDto.java index dbb5377f..b09269c1 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysUserDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/dto/SysUserDto.java @@ -6,6 +6,8 @@ import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.webadmin.upms.model.constant.SysUserType; import com.orangeforms.webadmin.upms.model.constant.SysUserStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -18,42 +20,49 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("SysUserDto对象") @Data public class SysUserDto { /** * 用户Id。 */ + @ApiModelProperty(value = "用户Id", required = true) @NotNull(message = "数据验证失败,用户Id不能为空!", groups = {UpdateGroup.class}) private Long userId; /** * 登录用户名。 */ + @ApiModelProperty(value = "登录用户名", required = true) @NotBlank(message = "数据验证失败,登录用户名不能为空!") private String loginName; /** * 用户密码。 */ + @ApiModelProperty(value = "用户密码", required = true) @NotBlank(message = "数据验证失败,用户密码不能为空!", groups = {AddGroup.class}) private String password; /** * 用户显示名称。 */ + @ApiModelProperty(value = "用户显示名称", required = true) @NotBlank(message = "数据验证失败,用户显示名称不能为空!") private String showName; /** * 用户部门Id。 */ + @ApiModelProperty(value = "用户部门Id", required = true) @NotNull(message = "数据验证失败,用户部门Id不能为空!") private Long deptId; /** * 用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)。 */ + @ApiModelProperty(value = "用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)", required = true) @NotNull(message = "数据验证失败,用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)不能为空!") @ConstDictRef(constDictClass = SysUserType.class, message = "数据验证失败,用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)为无效值!") private Integer userType; @@ -61,11 +70,13 @@ public class SysUserDto { /** * 用户头像的Url。 */ + @ApiModelProperty(value = "用户头像的Url") private String headImageUrl; /** * 用户状态(0: 正常 1: 锁定)。 */ + @ApiModelProperty(value = "用户状态(0: 正常 1: 锁定)", required = true) @NotNull(message = "数据验证失败,用户状态(0: 正常 1: 锁定)不能为空!") @ConstDictRef(constDictClass = SysUserStatus.class, message = "数据验证失败,用户状态(0: 正常 1: 锁定)为无效值!") private Integer userStatus; @@ -73,30 +84,36 @@ public class SysUserDto { /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * createTime 范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "createTime 范围过滤起始值(>=)") private String createTimeStart; /** * createTime 范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "createTime 范围过滤结束值(<=)") private String createTimeEnd; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermDeptVo.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermDeptVo.java index 7b1ea64f..b789ce21 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermDeptVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermDeptVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,16 +10,19 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("数据权限与部门关联VO") @Data public class SysDataPermDeptVo { /** * 数据权限Id。 */ + @ApiModelProperty(value = "数据权限Id") private Long dataPermId; /** * 关联部门Id。 */ + @ApiModelProperty(value = "关联部门Id") private Long deptId; } \ No newline at end of file diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermVo.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermVo.java index 531943e0..20c05f90 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDataPermVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.*; @@ -10,51 +12,61 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("数据权限VO") @Data public class SysDataPermVo { /** * 数据权限Id。 */ + @ApiModelProperty(value = "数据权限Id") private Long dataPermId; /** * 显示名称。 */ + @ApiModelProperty(value = "显示名称") private String dataPermName; /** * 数据权限规则类型(0: 全部可见 1: 只看自己 2: 只看本部门 3: 本部门及子部门 4: 多部门及子部门 5: 自定义部门列表)。 */ + @ApiModelProperty(value = "数据权限规则类型") private Integer ruleType; /** * 部门Id列表(逗号分隔)。 */ + @ApiModelProperty(value = "部门Id列表") private String deptIdListString; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 数据权限与部门关联对象列表。 */ + @ApiModelProperty(value = "数据权限与部门关联对象列表") private List> dataPermDeptList; } \ No newline at end of file diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptPostVo.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptPostVo.java index 79216d81..208949fe 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptPostVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptPostVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,26 +10,31 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("部门岗位VO") @Data public class SysDeptPostVo { /** * 部门岗位Id。 */ + @ApiModelProperty(value = "部门岗位Id") private Long deptPostId; /** * 部门Id。 */ + @ApiModelProperty(value = "部门Id") private Long deptId; /** * 岗位Id。 */ + @ApiModelProperty(value = "岗位Id") private Long postId; /** * 部门岗位显示名称。 */ + @ApiModelProperty(value = "部门岗位显示名称") private String postShowName; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptVo.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptVo.java index 126492b4..34a2b9cf 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysDeptVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,46 +12,55 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("SysDeptVO视图对象") @Data public class SysDeptVo { /** * 部门Id。 */ + @ApiModelProperty(value = "部门Id") private Long deptId; /** * 部门名称。 */ + @ApiModelProperty(value = "部门名称") private String deptName; /** * 显示顺序。 */ + @ApiModelProperty(value = "显示顺序") private Integer showOrder; /** * 父部门Id。 */ + @ApiModelProperty(value = "父部门Id") private Long parentId; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysMenuVo.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysMenuVo.java index 7841d31b..3919fc22 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysMenuVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysMenuVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.*; @@ -10,81 +12,97 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("菜单VO") @Data public class SysMenuVo { /** * 菜单Id。 */ + @ApiModelProperty(value = "菜单Id") private Long menuId; /** * 父菜单Id,目录菜单的父菜单为null */ + @ApiModelProperty(value = "父菜单Id") private Long parentId; /** * 菜单显示名称。 */ + @ApiModelProperty(value = "菜单显示名称") private String menuName; /** * 菜单类型 (0: 目录 1: 菜单 2: 按钮 3: UI片段)。 */ + @ApiModelProperty(value = "菜单类型") private Integer menuType; /** * 前端表单路由名称,仅用于menu_type为1的菜单类型。 */ + @ApiModelProperty(value = "前端表单路由名称") private String formRouterName; /** * 在线表单主键Id,仅用于在线表单绑定的菜单。 */ + @ApiModelProperty(value = "在线表单主键Id") private Long onlineFormId; /** * 在线表单菜单的权限控制类型,具体值可参考SysOnlineMenuPermType常量对象。 */ + @ApiModelProperty(value = "在线表单菜单的权限控制类型") private Integer onlineMenuPermType; /** * 仅用于在线表单的流程Id。 */ + @ApiModelProperty(value = "仅用于在线表单的流程Id") private Long onlineFlowEntryId; /** * 菜单显示顺序 (值越小,排序越靠前)。 */ + @ApiModelProperty(value = "菜单显示顺序") private Integer showOrder; /** * 菜单图标。 */ + @ApiModelProperty(value = "菜单显示顺序") private String icon; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 菜单与权限字关联对象列表。 */ + @ApiModelProperty(value = "菜单与权限字关联对象列表") private List> sysMenuPermCodeList; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermCodeVo.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermCodeVo.java index 758d1435..bde57320 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermCodeVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermCodeVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.*; @@ -10,61 +12,73 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("权限字VO") @Data public class SysPermCodeVo { /** * 权限字Id。 */ + @ApiModelProperty(value = "权限字Id") private Long permCodeId; /** * 权限字标识(一般为有含义的英文字符串)。 */ + @ApiModelProperty(value = "权限字标识") private String permCode; /** * 上级权限字Id。 */ + @ApiModelProperty(value = "上级权限字Id") private Long parentId; /** * 权限字类型(0: 表单 1: UI片段 2: 操作)。 */ + @ApiModelProperty(value = "权限字类型") private Integer permCodeType; /** * 显示名称。 */ + @ApiModelProperty(value = "显示名称") private String showName; /** * 显示顺序(数值越小,越靠前)。 */ + @ApiModelProperty(value = "显示顺序") private Integer showOrder; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 权限字与权限资源关联对象列表。 */ + @ApiModelProperty(value = "权限字与权限资源关联对象列表") private List> sysPermCodePermList; } \ No newline at end of file diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermModuleVo.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermModuleVo.java index f51885b6..8176124e 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermModuleVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermModuleVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.*; @@ -10,56 +12,67 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("权限资源模块VO") @Data public class SysPermModuleVo { /** * 权限模块Id。 */ + @ApiModelProperty(value = "权限模块Id") private Long moduleId; /** * 权限模块名称。 */ + @ApiModelProperty(value = "权限模块名称") private String moduleName; /** * 上级权限模块Id。 */ + @ApiModelProperty(value = "上级权限模块Id") private Long parentId; /** * 权限模块类型(0: 普通模块 1: Controller模块)。 */ + @ApiModelProperty(value = "权限模块类型") private Integer moduleType; /** * 权限模块在当前层级下的顺序,由小到大。 */ + @ApiModelProperty(value = "显示顺序") private Integer showOrder; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 权限资源对象列表。 */ + @ApiModelProperty(value = "权限资源对象列表") private List sysPermList; } \ No newline at end of file diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermVo.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermVo.java index fab9a839..04deb5df 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPermVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.*; @@ -10,61 +12,73 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("权限资源VO") @Data public class SysPermVo { /** * 权限资源Id。 */ + @ApiModelProperty(value = "权限资源Id") private Long permId; /** * 权限资源名称。 */ + @ApiModelProperty(value = "权限资源名称") private String permName; /** * shiro格式的权限字,如(upms:sysUser:add)。 */ + @ApiModelProperty(value = "权限字") private String permCode; /** * 权限所在的权限模块Id。 */ + @ApiModelProperty(value = "权限所在的权限模块Id") private Long moduleId; /** * 关联的URL。 */ + @ApiModelProperty(value = "关联的URL") private String url; /** * 权限在当前模块下的顺序,由小到大。 */ + @ApiModelProperty(value = "显示顺序") private Integer showOrder; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 模块Id的字典关联数据。 */ + @ApiModelProperty(value = "模块Id的字典关联数据") private Map moduleIdDictMap; } \ No newline at end of file diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPostVo.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPostVo.java index dacc6ee0..32e36d75 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPostVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysPostVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -11,51 +13,61 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("岗位VO") @Data public class SysPostVo { /** * 岗位Id。 */ + @ApiModelProperty(value = "岗位Id") private Long postId; /** * 岗位名称。 */ + @ApiModelProperty(value = "岗位名称") private String postName; /** * 岗位层级,数值越小级别越高。 */ + @ApiModelProperty(value = "岗位层级,数值越小级别越高") private Integer level; /** * 是否领导岗位。 */ + @ApiModelProperty(value = "是否领导岗位") private Boolean leaderPost; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * postId 的多对多关联表数据对象,数据对应类型为SysDeptPostVo。 */ + @ApiModelProperty(value = "postId 的多对多关联表数据对象") private Map sysDeptPost; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysRoleVo.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysRoleVo.java index 9d6fd44a..634f4702 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysRoleVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysRoleVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.*; @@ -10,41 +12,49 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("角色VO") @Data public class SysRoleVo { /** * 角色Id。 */ + @ApiModelProperty(value = "角色Id") private Long roleId; /** * 角色名称。 */ + @ApiModelProperty(value = "角色名称") private String roleName; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 角色与菜单关联对象列表。 */ + @ApiModelProperty(value = "角色与菜单关联对象列表") private List> sysRoleMenuList; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysUserVo.java b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysUserVo.java index 14b4c281..085efdad 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysUserVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/java/com/orangeforms/webadmin/upms/vo/SysUserVo.java @@ -1,5 +1,7 @@ package com.orangeforms.webadmin.upms.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -12,91 +14,109 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@ApiModel("SysUserVO视图对象") @Data public class SysUserVo { /** * 用户Id。 */ + @ApiModelProperty(value = "用户Id") private Long userId; /** * 登录用户名。 */ + @ApiModelProperty(value = "登录用户名") private String loginName; /** * 用户显示名称。 */ + @ApiModelProperty(value = "用户显示名称") private String showName; /** * 用户部门Id。 */ + @ApiModelProperty(value = "用户部门Id") private Long deptId; /** * 用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)。 */ + @ApiModelProperty(value = "用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)") private Integer userType; /** * 用户头像的Url。 */ + @ApiModelProperty(value = "用户头像的Url") private String headImageUrl; /** * 用户状态(0: 正常 1: 锁定)。 */ + @ApiModelProperty(value = "用户状态(0: 正常 1: 锁定)") private Integer userStatus; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 多对多用户岗位数据集合。 */ + @ApiModelProperty(value = "多对多用户岗位数据集合") private List> sysUserPostList; /** * 多对多用户角色数据集合。 */ + @ApiModelProperty(value = "多对多用户角色数据集合") private List> sysUserRoleList; /** * 多对多用户数据权限数据集合。 */ + @ApiModelProperty(value = "多对多用户数据权限数据集合") private List> sysDataPermUserList; /** * deptId 字典关联数据。 */ + @ApiModelProperty(value = "deptId 字典关联数据") private Map deptIdDictMap; /** * userType 常量字典关联数据。 */ + @ApiModelProperty(value = "userType 常量字典关联数据") private Map userTypeDictMap; /** * userStatus 常量字典关联数据。 */ + @ApiModelProperty(value = "userStatus 常量字典关联数据") private Map userStatusDictMap; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/application.yml b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/application.yml index 8f230aec..9f660bc5 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/application.yml +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/application.yml @@ -126,6 +126,17 @@ common-flow: # 请慎重修改urlPrefix的缺省配置,注意不要以反斜杠(/)结尾。如必须修改其他路径,请同步修改数据库脚本。 urlPrefix: /admin/flow +swagger: + # 当enabled为false的时候,则可禁用swagger。 + enabled: true + # 工程的基础包名。 + basePackage: com.orangeforms + # 工程服务的基础包名。 + serviceBasePackage: com.orangeforms.webadmin + title: 橙单单体服务工程 + description: 橙单单体服务工程详情 + version: 1.0 + datafilter: tenant: # 对于单体服务,该值始终为false。 diff --git a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/log4j2.xml b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/log4j2.xml index edff5d66..d26fa86d 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/log4j2.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/application-webadmin/src/main/resources/log4j2.xml @@ -53,6 +53,9 @@ + + + diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyModelUtil.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyModelUtil.java index 06154f33..d6c692ac 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyModelUtil.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyModelUtil.java @@ -2,12 +2,14 @@ package com.orangeforms.common.core.util; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ReflectUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.annotation.*; import com.orangeforms.common.core.exception.InvalidDataFieldException; import com.orangeforms.common.core.annotation.*; import com.orangeforms.common.core.exception.MyRuntimeException; import com.orangeforms.common.core.object.TokenData; import com.orangeforms.common.core.object.Tuple2; +import com.orangeforms.common.core.upload.UploadResponseInfo; import com.orangeforms.common.core.upload.UploadStoreInfo; import com.google.common.base.CaseFormat; import lombok.extern.slf4j.Slf4j; @@ -707,6 +709,46 @@ public class MyModelUtil { ReflectUtil.setFieldValue(data, fieldName, defaultValue); } } + + /** + * 获取当前数据对象中,所有上传文件字段的数据,并将上传后的文件名存到集合中并返回。 + * + * @param data 数据对象。 + * @param clazz 数据对象的Class类型。 + * @param 数据对象类型。 + * @return 当前数据对象中,所有上传文件字段中,文件名属性的集合。 + */ + public static Set extractDownloadFileName(M data, Class clazz) { + Set resultSet = new HashSet<>(); + Field[] fields = ReflectUtil.getFields(clazz); + for (Field field : fields) { + if (field.isAnnotationPresent(UploadFlagColumn.class)) { + String v = (String) ReflectUtil.getFieldValue(data, field); + List fileInfoList = JSON.parseArray(v, UploadResponseInfo.class); + if (CollectionUtils.isNotEmpty(fileInfoList)) { + fileInfoList.forEach(fileInfo -> resultSet.add(fileInfo.getFilename())); + } + } + } + return resultSet; + } + + /** + * 获取当前数据对象列表中,所有上传文件字段的数据,并将上传后的文件名存到集合中并返回。 + * + * @param dataList 数据对象。 + * @param clazz 数据对象的Class类型。 + * @param 数据对象类型。 + * @return 当前数据对象中,所有上传文件字段中,文件名属性的集合。 + */ + public static Set extractDownloadFileName(List dataList, Class clazz) { + if (CollectionUtils.isEmpty(dataList)) { + return null; + } + Set resultSet = new HashSet<>(); + dataList.forEach(data -> resultSet.addAll(extractDownloadFileName(data, clazz))); + return resultSet; + } /** * 私有构造函数,明确标识该常量类的作用。 diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/MybatisDataFilterInterceptor.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/MybatisDataFilterInterceptor.java index bc0ce3ee..1c8c5415 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/MybatisDataFilterInterceptor.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/MybatisDataFilterInterceptor.java @@ -276,10 +276,11 @@ public class MybatisDataFilterInterceptor implements Interceptor { return; } String dataPermSessionKey = RedisKeyUtil.makeSessionDataPermIdKey(tokenData.getSessionId()); - String dataPermData = redissonClient.getBucket(dataPermSessionKey).get().toString(); - if (StringUtils.isBlank(dataPermData)) { + Object cachedData = redissonClient.getBucket(dataPermSessionKey).get(); + if (cachedData == null) { throw new NoDataPermException("No Related DataPerm found for SQL_ID [ " + sqlId + " ]."); } + String dataPermData = cachedData.toString(); Map dataPermMap = new HashMap<>(8); for (Map.Entry entry : JSON.parseObject(dataPermData).entrySet()) { dataPermMap.put(Integer.valueOf(entry.getKey()), entry.getValue().toString()); diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow-online/pom.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow-online/pom.xml index 28e1fb63..558a1eea 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow-online/pom.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow-online/pom.xml @@ -25,6 +25,11 @@ common-online 1.0.0 + + com.orangeforms + common-swagger + 1.0.0 + diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow-online/src/main/java/com/orangeforms/common/flow/online/controller/FlowOnlineOperationController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow-online/src/main/java/com/orangeforms/common/flow/online/controller/FlowOnlineOperationController.java index edb8f13e..dbb51e36 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow-online/src/main/java/com/orangeforms/common/flow/online/controller/FlowOnlineOperationController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow-online/src/main/java/com/orangeforms/common/flow/online/controller/FlowOnlineOperationController.java @@ -1,5 +1,6 @@ package com.orangeforms.common.flow.online.controller; +import io.swagger.annotations.Api; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; @@ -8,6 +9,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.page.PageMethod; +import com.orangeforms.common.core.annotation.DisableDataFilter; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.object.*; @@ -54,6 +56,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "在线标案流程操作接口") @Slf4j @RestController @RequestMapping("${common-flow.urlPrefix}/flowOnlineOperation") @@ -82,6 +85,7 @@ public class FlowOnlineOperationController { /** * 根据指定流程的主版本,发起一个流程实例,同时作为第一个任务节点的执行人,执行第一个用户任务。 + * 该接口无需数据权限过滤,因此用DisableDataFilter注解标注。如果当前系统没有支持数据权限过滤,该注解不会有任何影响。 * * @param processDefinitionKey 流程定义标识。 * @param flowTaskCommentDto 审批意见。 @@ -90,6 +94,7 @@ public class FlowOnlineOperationController { * @param slaveData 流程审批相关的多个从表数据。 * @return 应答结果对象。 */ + @DisableDataFilter @PostMapping("/startAndTakeUserTask/{processDefinitionKey}") public ResponseResult startAndTakeUserTask( @PathVariable("processDefinitionKey") String processDefinitionKey, @@ -157,6 +162,7 @@ public class FlowOnlineOperationController { /** * 提交流程的用户任务。 + * 该接口无需数据权限过滤,因此用DisableDataFilter注解标注。如果当前系统没有支持数据权限过滤,该注解不会有任何影响。 * * @param processInstanceId 流程实例Id。 * @param taskId 流程任务Id。 @@ -166,6 +172,7 @@ public class FlowOnlineOperationController { * @param slaveData 流程审批相关的多个从表数据。 * @return 应答结果对象。 */ + @DisableDataFilter @PostMapping("/submitUserTask") public ResponseResult submitUserTask( @MyRequestBody(required = true) String processInstanceId, @@ -219,11 +226,13 @@ public class FlowOnlineOperationController { /** * 获取当前流程实例的详情数据。包括主表数据、一对一从表数据、一对多从表数据列表等。 + * 该接口无需数据权限过滤,因此用DisableDataFilter注解标注。如果当前系统没有支持数据权限过滤,该注解不会有任何影响。 * * @param processInstanceId 当前运行时的流程实例Id。 * @param taskId 流程任务Id。 * @return 当前流程实例的详情数据。 */ + @DisableDataFilter @GetMapping("/viewUserTask") public ResponseResult viewUserTask(@RequestParam String processInstanceId, @RequestParam String taskId) { String errorMessage; @@ -257,11 +266,13 @@ public class FlowOnlineOperationController { /** * 获取已经结束的流程实例的详情数据。包括主表数据、一对一从表数据、一对多从表数据列表等。 + * 该接口无需数据权限过滤,因此用DisableDataFilter注解标注。如果当前系统没有支持数据权限过滤,该注解不会有任何影响。 * * @param processInstanceId 历史流程实例Id。 * @param taskId 历史任务Id。如果该值为null,仅有发起人可以查看当前流程数据,否则只有任务的指派人才能查看。 * @return 历史流程实例的详情数据。 */ + @DisableDataFilter @GetMapping("/viewHistoricProcessInstance") public ResponseResult viewHistoricProcessInstance( @RequestParam String processInstanceId, @RequestParam(required = false) String taskId) { @@ -336,6 +347,8 @@ public class FlowOnlineOperationController { List flowWorkOrderList = flowWorkOrderService.getFlowWorkOrderList(flowWorkOrderFilter, orderBy); MyPageData resultData = MyPageUtil.makeResponseData(flowWorkOrderList, FlowWorkOrder.INSTANCE); + // 工单自身的查询中可以受到数据权限的过滤,但是工单集成业务数据时,则无需再对业务数据进行数据权限过滤了。 + GlobalThreadLocal.setDataFilter(false); ResponseResult responseResult = this.makeWorkOrderTaskInfo(resultData.getDataList()); if (!responseResult.isSuccess()) { return ResponseResult.errorFrom(responseResult); @@ -385,6 +398,7 @@ public class FlowOnlineOperationController { * 越权访问限制说明: * taskId为空,当前用户必须为当前流程的发起人,否则必须为当前任务的指派人或候选人。 * relationId为空,下载数据为主表字段,否则为关联的从表字段。 + * 该接口无需数据权限过滤,因此用DisableDataFilter注解标注。如果当前系统没有支持数据权限过滤,该注解不会有任何影响。 * * @param processDefinitionKey 流程引擎流程定义标识。 * @param processInstanceId 流程实例Id。 @@ -396,6 +410,7 @@ public class FlowOnlineOperationController { * @param asImage 是否为图片文件。 * @param response Http 应答对象。 */ + @DisableDataFilter @GetMapping("/download") public void download( @RequestParam String processDefinitionKey, diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/pom.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/pom.xml index b43f40a2..2896f264 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/pom.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/pom.xml @@ -30,6 +30,11 @@ common-log 1.0.0 + + com.orangeforms + common-swagger + 1.0.0 + org.flowable flowable-spring-boot-starter-basic diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowCategoryController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowCategoryController.java index 4ed37b6d..642a1de5 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowCategoryController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowCategoryController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import cn.jimmyshi.beanquery.BeanQuery; @@ -31,6 +33,7 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "工作流分类操作接口") @Slf4j @RestController @RequestMapping("${common-flow.urlPrefix}/flowCategory") @@ -47,6 +50,7 @@ public class FlowCategoryController { * @param flowCategoryDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"flowCategoryDto.categoryId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody FlowCategoryDto flowCategoryDto) { String errorMessage = MyCommonUtil.getModelValidationError(flowCategoryDto); diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryController.java index ba951750..f2eaf3f6 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; @@ -39,6 +41,7 @@ import java.util.*; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "工作流操作接口") @Slf4j @RestController @RequestMapping("${common-flow.urlPrefix}/flowEntry") @@ -59,6 +62,7 @@ public class FlowEntryController { * @param flowEntryDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"flowEntryDto.entryId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody FlowEntryDto flowEntryDto) { String errorMessage = MyCommonUtil.getModelValidationError(flowEntryDto); diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryVariableController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryVariableController.java index 66cbd3be..b515aa35 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryVariableController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowEntryVariableController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.github.pagehelper.page.PageMethod; import com.orangeforms.common.flow.vo.*; import com.orangeforms.common.flow.dto.*; @@ -23,6 +25,7 @@ import javax.validation.groups.Default; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "工作流变量操作接口") @Slf4j @RestController @RequestMapping("${common-flow.urlPrefix}/flowEntryVariable") @@ -37,6 +40,7 @@ public class FlowEntryVariableController { * @param flowEntryVariableDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"flowEntryVariableDto.variableId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody FlowEntryVariableDto flowEntryVariableDto) { String errorMessage = MyCommonUtil.getModelValidationError(flowEntryVariableDto); diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowMessageController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowMessageController.java index 6c11db4c..fa4b8191 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowMessageController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowMessageController.java @@ -1,5 +1,6 @@ package com.orangeforms.common.flow.controller; +import io.swagger.annotations.Api; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.object.*; import com.orangeforms.common.core.util.MyPageUtil; @@ -19,6 +20,7 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "工作流消息操作接口") @Slf4j @RestController @RequestMapping("${common-flow.urlPrefix}/flowMessage") diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowOperationController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowOperationController.java index 5601a4d9..eb75198c 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowOperationController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/controller/FlowOperationController.java @@ -1,11 +1,13 @@ package com.orangeforms.common.flow.controller; +import io.swagger.annotations.Api; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.orangeforms.common.core.annotation.DisableDataFilter; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.object.*; @@ -47,6 +49,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "通用流程操作接口") @Slf4j @RestController @RequestMapping("${common-flow.urlPrefix}/flowOperation") @@ -552,10 +555,14 @@ public class FlowOperationController { /** * 催办工单,只有流程发起人才可以催办工单。 + * 催办场景必须要取消数据权限过滤,因为流程的指派很可能是跨越部门的。 + * 既然被指派和催办了,这里就应该禁用工单表的数据权限过滤约束。 + * 如果您的系统没有支持数据权限过滤,DisableDataFilter不会有任何影响,建议保留。 * * @param workOrderId 工单Id。 * @return 应答结果。 */ + @DisableDataFilter @PostMapping("/remindRuntimeTask") public ResponseResult remindRuntimeTask(@MyRequestBody(required = true) Long workOrderId) { FlowWorkOrder flowWorkOrder = flowWorkOrderService.getById(workOrderId); @@ -582,6 +589,7 @@ public class FlowOperationController { * @param cancelReason 取消原因。 * @return 应答结果。 */ + @DisableDataFilter @PostMapping("/cancelWorkOrder") public ResponseResult cancelWorkOrder( @MyRequestBody(required = true) Long workOrderId, @@ -614,6 +622,7 @@ public class FlowOperationController { * @param stopReason 停止原因。 * @return 执行结果应答。 */ + @DisableDataFilter @PostMapping("/stopProcessInstance") public ResponseResult stopProcessInstance( @MyRequestBody(required = true) String processInstanceId, diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowMessageMapper.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowMessageMapper.xml index 621618a3..b4a0e48a 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowMessageMapper.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dao/mapper/FlowMessageMapper.xml @@ -3,9 +3,9 @@ - - - + + + @@ -18,6 +18,7 @@ + diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowCategoryDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowCategoryDto.java index e65f631c..c0588dd5 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowCategoryDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowCategoryDto.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import com.orangeforms.common.core.validator.UpdateGroup; import lombok.Data; @@ -12,30 +14,35 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程分类的Dto对象") @Data public class FlowCategoryDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long categoryId; /** * 显示名称。 */ + @ApiModelProperty(value = "显示名称") @NotBlank(message = "数据验证失败,显示名称不能为空!") private String name; /** * 分类编码。 */ + @ApiModelProperty(value = "分类编码") @NotBlank(message = "数据验证失败,分类编码不能为空!") private String code; /** * 实现顺序。 */ + @ApiModelProperty(value = "实现顺序") @NotNull(message = "数据验证失败,实现顺序不能为空!") private Integer showOrder; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryDto.java index 32adb30e..292358ce 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryDto.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.flow.model.constant.FlowBindFormType; @@ -15,47 +17,55 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程的Dto对象") @Data public class FlowEntryDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键不能为空!", groups = {UpdateGroup.class}) private Long entryId; /** * 流程名称。 */ + @ApiModelProperty(value = "流程名称") @NotBlank(message = "数据验证失败,流程名称不能为空!") private String processDefinitionName; /** * 流程标识Key。 */ + @ApiModelProperty(value = "流程标识Key") @NotBlank(message = "数据验证失败,流程标识Key不能为空!") private String processDefinitionKey; /** * 流程分类。 */ + @ApiModelProperty(value = "流程分类") @NotNull(message = "数据验证失败,流程分类不能为空!") private Long categoryId; /** * 流程状态。 */ + @ApiModelProperty(value = "流程状态") @ConstDictRef(constDictClass = FlowEntryStatus.class, message = "数据验证失败,工作流状态为无效值!") private Integer status; /** * 流程定义的xml。 */ + @ApiModelProperty(value = "流程定义的xml") private String bpmnXml; /** * 绑定表单类型。 */ + @ApiModelProperty(value = "绑定表单类型") @ConstDictRef(constDictClass = FlowBindFormType.class, message = "数据验证失败,工作流绑定表单类型为无效值!") @NotNull(message = "数据验证失败,工作流绑定表单类型不能为空!") private Integer bindFormType; @@ -63,15 +73,18 @@ public class FlowEntryDto { /** * 在线表单的页面Id。 */ + @ApiModelProperty(value = "在线表单的页面Id") private Long pageId; /** * 在线表单Id。 */ + @ApiModelProperty(value = "在线表单Id") private Long defaultFormId; /** * 在线表单的缺省路由名称。 */ + @ApiModelProperty(value = "在线表单的缺省路由名称") private String defaultRouterName; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryVariableDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryVariableDto.java index 890aea29..b211d9bb 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryVariableDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowEntryVariableDto.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.flow.model.constant.FlowVariableType; @@ -13,36 +15,42 @@ import javax.validation.constraints.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程变量Dto对象") @Data public class FlowEntryVariableDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long variableId; /** * 流程Id。 */ + @ApiModelProperty(value = "流程Id") @NotNull(message = "数据验证失败,流程Id不能为空!") private Long entryId; /** * 变量名。 */ + @ApiModelProperty(value = "变量名") @NotBlank(message = "数据验证失败,变量名不能为空!") private String variableName; /** * 显示名。 */ + @ApiModelProperty(value = "显示名") @NotBlank(message = "数据验证失败,显示名不能为空!") private String showName; /** * 流程变量类型。 */ + @ApiModelProperty(value = "流程变量类型") @ConstDictRef(constDictClass = FlowVariableType.class, message = "数据验证失败,流程变量类型为无效值!") @NotNull(message = "数据验证失败,流程变量类型不能为空!") private Integer variableType; @@ -50,21 +58,25 @@ public class FlowEntryVariableDto { /** * 绑定数据源Id。 */ + @ApiModelProperty(value = "绑定数据源Id") private Long bindDatasourceId; /** * 绑定数据源关联Id。 */ + @ApiModelProperty(value = "绑定数据源关联Id") private Long bindRelationId; /** * 绑定字段Id。 */ + @ApiModelProperty(value = "绑定字段Id") private Long bindColumnId; /** * 是否内置。 */ + @ApiModelProperty(value = "是否内置") @NotNull(message = "数据验证失败,是否内置不能为空!") private Boolean builtin; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowMessageDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowMessageDto.java index 357e3ec9..7d1cc68c 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowMessageDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowMessageDto.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,36 +10,43 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("工作流通知消息Dto对象") @Data public class FlowMessageDto { /** * 消息类型。 */ + @ApiModelProperty(value = "消息类型") private Integer messageType; /** * 工单Id。 */ + @ApiModelProperty(value = "工单Id") private Long workOrderId; /** * 流程名称。 */ + @ApiModelProperty(value = "流程名称") private String processDefinitionName; /** * 流程任务名称。 */ + @ApiModelProperty(value = "流程任务名称") private String taskName; /** * 更新时间范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "updateTime 范围过滤起始值") private String updateTimeStart; /** * 更新时间范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "updateTime 范围过滤结束值") private String updateTimeEnd; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowTaskCommentDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowTaskCommentDto.java index d7941c8a..9ab9a644 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowTaskCommentDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowTaskCommentDto.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -11,23 +13,27 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程任务的批注") @Data public class FlowTaskCommentDto { /** * 流程任务触发按钮类型,内置值可参考FlowTaskButton。 */ + @ApiModelProperty(value = "流程任务触发按钮类型") @NotNull(message = "数据验证失败,任务的审批类型不能为空!") private String approvalType; /** * 流程任务的批注内容。 */ + @ApiModelProperty(value = "流程任务的批注内容") @NotBlank(message = "数据验证失败,任务审批内容不能为空!") private String comment; /** * 委托指定人,比如加签、转办等。 */ + @ApiModelProperty(value = "委托指定人,比如加签、转办等") private String delegateAssginee; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowWorkOrderDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowWorkOrderDto.java index d74758f9..228f5588 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowWorkOrderDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/dto/FlowWorkOrderDto.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,21 +10,25 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("工作流工单Dto对象") @Data public class FlowWorkOrderDto { /** * 流程状态。参考FlowTaskStatus常量值对象。 */ + @ApiModelProperty(value = "流程状态") private Integer flowStatus; /** * createTime 范围过滤起始值(>=)。 */ + @ApiModelProperty(value = "createTime 范围过滤起始值") private String createTimeStart; /** * createTime 范围过滤结束值(<=)。 */ + @ApiModelProperty(value = "createTime 范围过滤结束值") private String createTimeEnd; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/model/FlowMessage.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/model/FlowMessage.java index 9931b000..c2ebe281 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/model/FlowMessage.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/model/FlowMessage.java @@ -117,6 +117,12 @@ public class FlowMessage { @TableField(value = "task_finished") private Boolean taskFinished; + /** + * 业务数据快照。 + */ + @TableField(value = "business_data_shot") + private String businessDataShot; + /** * 更新时间。 */ diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/service/impl/FlowApiServiceImpl.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/service/impl/FlowApiServiceImpl.java index 293428fd..9a81faa2 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/service/impl/FlowApiServiceImpl.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/service/impl/FlowApiServiceImpl.java @@ -181,9 +181,9 @@ public class FlowApiServiceImpl implements FlowApiService { this.handleMultiInstanceApprovalType( task.getExecutionId(), flowTaskComment.getApprovalType(), taskVariableData); taskVariableData.put(FlowConstant.OPERATION_TYPE_VAR, flowTaskComment.getApprovalType()); - taskService.complete(task.getId(), taskVariableData); flowTaskComment.fillWith(task); flowTaskCommentService.saveNew(flowTaskComment); + taskService.complete(task.getId(), taskVariableData); } else { taskService.complete(task.getId(), taskVariableData); } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowCategoryVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowCategoryVo.java index 9e528bb5..80e18d00 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowCategoryVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowCategoryVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,46 +12,55 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程分类的Vo对象") @Data public class FlowCategoryVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long categoryId; /** * 显示名称。 */ + @ApiModelProperty(value = "显示名称") private String name; /** * 分类编码。 */ + @ApiModelProperty(value = "分类编码") private String code; /** * 实现顺序。 */ + @ApiModelProperty(value = "实现顺序") private Integer showOrder; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryPublishVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryPublishVo.java index 6c6d19d1..09500797 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryPublishVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryPublishVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,41 +12,49 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程发布信息的Vo对象") @Data public class FlowEntryPublishVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long entryPublishId; /** * 发布版本。 */ + @ApiModelProperty(value = "发布版本") private Integer publishVersion; /** * 流程引擎中的流程定义Id。 */ + @ApiModelProperty(value = "流程引擎中的流程定义Id") private String processDefinitionId; /** * 激活状态。 */ + @ApiModelProperty(value = "激活状态") private Boolean activeStatus; /** * 是否为主版本。 */ + @ApiModelProperty(value = "是否为主版本") private Boolean mainVersion; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 发布时间。 */ + @ApiModelProperty(value = "发布时间") private Date publishTime; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVariableVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVariableVo.java index 2be98838..8d262e19 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVariableVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVariableVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,56 +12,67 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程变量Vo对象") @Data public class FlowEntryVariableVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long variableId; /** * 流程Id。 */ + @ApiModelProperty(value = "流程Id") private Long entryId; /** * 变量名。 */ + @ApiModelProperty(value = "变量名") private String variableName; /** * 显示名。 */ + @ApiModelProperty(value = "显示名") private String showName; /** * 变量类型。 */ + @ApiModelProperty(value = "变量类型") private Integer variableType; /** * 绑定数据源Id。 */ + @ApiModelProperty(value = "绑定数据源Id") private Long bindDatasourceId; /** * 绑定数据源关联Id。 */ + @ApiModelProperty(value = "绑定数据源关联Id") private Long bindRelationId; /** * 绑定字段Id。 */ + @ApiModelProperty(value = "绑定字段Id") private Long bindColumnId; /** * 是否内置。 */ + @ApiModelProperty(value = "是否内置") private Boolean builtin; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVo.java index 421b23cc..9077796c 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowEntryVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -12,101 +14,121 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程的Vo对象") @Data public class FlowEntryVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long entryId; /** * 流程名称。 */ + @ApiModelProperty(value = "流程名称") private String processDefinitionName; /** * 流程标识Key。 */ + @ApiModelProperty(value = "流程标识Key") private String processDefinitionKey; /** * 流程分类。 */ + @ApiModelProperty(value = "流程分类") private Long categoryId; /** * 工作流部署的发布主版本Id。 */ + @ApiModelProperty(value = "工作流部署的发布主版本Id") private Long mainEntryPublishId; /** * 最新发布时间。 */ + @ApiModelProperty(value = "最新发布时间") private Date lastestPublishTime; /** * 流程状态。 */ + @ApiModelProperty(value = "流程状态") private Integer status; /** * 流程定义的xml。 */ + @ApiModelProperty(value = "流程定义的xml") private String bpmnXml; /** * 绑定表单类型。 */ + @ApiModelProperty(value = "绑定表单类型") private Integer bindFormType; /** * 在线表单的页面Id。 */ + @ApiModelProperty(value = "在线表单的页面Id") private Long pageId; /** * 在线表单Id。 */ + @ApiModelProperty(value = "在线表单Id") private Long defaultFormId; /** * 在线表单的缺省路由名称。 */ + @ApiModelProperty(value = "在线表单的缺省路由名称") private String defaultRouterName; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * categoryId 的一对一关联数据对象,数据对应类型为FlowCategoryVo。 */ + @ApiModelProperty(value = "categoryId 的一对一关联数据对象") private Map flowCategory; /** * mainEntryPublishId 的一对一关联数据对象,数据对应类型为FlowEntryPublishVo。 */ + @ApiModelProperty(value = "mainEntryPublishId 的一对一关联数据对象") private Map mainFlowEntryPublish; /** * 关联的在线表单列表。 */ + @ApiModelProperty(value = "关联的在线表单列表") private List> formList; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowMessageVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowMessageVo.java index 184b9358..efc3ac47 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowMessageVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowMessageVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,101 +12,127 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("工作流通知消息Vo对象") @Data public class FlowMessageVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long messageId; /** * 消息类型。 */ + @ApiModelProperty(value = "消息类型") private Integer messageType; /** * 消息内容。 */ + @ApiModelProperty(value = "消息内容") private String messageContent; /** * 催办次数。 */ + @ApiModelProperty(value = "催办次数") private Integer remindCount; /** * 工单Id。 */ + @ApiModelProperty(value = "工单Id") private Long workOrderId; /** * 流程定义Id。 */ + @ApiModelProperty(value = "流程定义Id") private String processDefinitionId; /** * 流程定义标识。 */ + @ApiModelProperty(value = "流程定义标识") private String processDefinitionKey; /** * 流程名称。 */ + @ApiModelProperty(value = "流程名称") private String processDefinitionName; /** * 流程实例Id。 */ + @ApiModelProperty(value = "流程实例Id") private String processInstanceId; /** * 流程实例发起者。 */ + @ApiModelProperty(value = "流程实例发起者") private String processInstanceInitiator; /** * 流程任务Id。 */ + @ApiModelProperty(value = "流程任务Id") private String taskId; /** * 流程任务定义标识。 */ + @ApiModelProperty(value = "流程任务定义标识") private String taskDefinitionKey; /** * 流程任务名称。 */ + @ApiModelProperty(value = "流程任务名称") private String taskName; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date taskStartTime; + /** + * 业务数据快照。 + */ + @ApiModelProperty(value = "业务数据快照") + private String businessDataShot; + /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建者显示名。 */ + @ApiModelProperty(value = "创建者显示名") private String createUsername; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskCommentVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskCommentVo.java index f751142e..0969e2a5 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskCommentVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskCommentVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,61 +12,73 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("FlowTaskCommentVO对象") @Data public class FlowTaskCommentVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long id; /** * 流程实例Id。 */ + @ApiModelProperty(value = "流程实例Id") private String processInstanceId; /** * 任务Id。 */ + @ApiModelProperty(value = "任务Id") private String taskId; /** * 任务标识。 */ + @ApiModelProperty(value = "任务标识") private String taskKey; /** * 任务名称。 */ + @ApiModelProperty(value = "任务名称") private String taskName; /** * 审批类型。 */ + @ApiModelProperty(value = "审批类型") private String approvalType; /** * 批注内容。 */ + @ApiModelProperty(value = "批注内容") private String comment; /** * 委托指定人,比如加签、转办等。 */ + @ApiModelProperty(value = "委托指定人,比如加签、转办等") private String delegateAssginee; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * 创建者显示名。 */ + @ApiModelProperty(value = "创建者显示名") private String createUsername; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskVo.java index 4357120c..8a7f1c6b 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowTaskVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,71 +12,85 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程任务Vo对象") @Data public class FlowTaskVo { /** * 流程任务Id。 */ + @ApiModelProperty(value = "流程任务Id") private String taskId; /** * 流程任务名称。 */ + @ApiModelProperty(value = "流程任务名称") private String taskName; /** * 流程任务标识。 */ + @ApiModelProperty(value = "流程任务标识") private String taskKey; /** * 任务的表单信息。 */ + @ApiModelProperty(value = "任务的表单信息") private String taskFormKey; /** * 流程Id。 */ + @ApiModelProperty(value = "流程Id") private Long entryId; /** * 流程定义Id。 */ + @ApiModelProperty(value = "流程定义Id") private String processDefinitionId; /** * 流程定义名称。 */ + @ApiModelProperty(value = "流程定义名称") private String processDefinitionName; /** * 流程定义标识。 */ + @ApiModelProperty(value = "流程定义标识") private String processDefinitionKey; /** * 流程定义版本。 */ + @ApiModelProperty(value = "流程定义版本") private Integer processDefinitionVersion; /** * 流程实例Id。 */ + @ApiModelProperty(value = "流程实例Id") private String processInstanceId; /** * 流程实例发起人。 */ + @ApiModelProperty(value = "流程实例发起人") private String processInstanceInitiator; /** * 流程实例创建时间。 */ + @ApiModelProperty(value = "流程实例创建时间") private Date processInstanceStartTime; /** * 流程实例主表业务数据主键。 */ + @ApiModelProperty(value = "流程实例主表业务数据主键") private String businessKey; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowWorkOrderVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowWorkOrderVo.java index 6428c78a..41ca9b5c 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowWorkOrderVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/FlowWorkOrderVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import com.alibaba.fastjson.JSONArray; import lombok.Data; @@ -12,97 +14,116 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("工作流工单Vo对象") @Data public class FlowWorkOrderVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long workOrderId; /** * 流程定义标识。 */ + @ApiModelProperty(value = "流程定义标识") private String processDefinitionKey; /** * 流程名称。 */ + @ApiModelProperty(value = "流程名称") private String processDefinitionName; /** * 流程引擎的定义Id。 */ + @ApiModelProperty(value = "流程引擎的定义Id") private String processDefinitionId; /** * 流程实例Id。 */ + @ApiModelProperty(value = "流程实例Id") private String processInstanceId; /** * 在线表单的主表Id。 */ + @ApiModelProperty(value = "在线表单的主表Id") private Long onlineTableId; /** * 业务主键值。 */ + @ApiModelProperty(value = "业务主键值") private String businessKey; /** * 流程状态。参考FlowTaskStatus常量值对象。 */ + @ApiModelProperty(value = "流程状态") private Integer flowStatus; /** * 提交用户登录名称。 */ + @ApiModelProperty(value = "提交用户登录名称") private String submitUsername; /** * 提交用户所在部门Id。 */ + @ApiModelProperty(value = "提交用户所在部门Id") private Long deptId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 更新者Id。 */ + @ApiModelProperty(value = "更新者Id") private Long updateUserId; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 创建者Id。 */ + @ApiModelProperty(value = "创建者Id") private Long createUserId; /** * flowStatus 常量字典关联数据。 */ + @ApiModelProperty(value = "flowStatus 常量字典关联数据") private Map flowStatusDictMap; /** * FlowEntryPublish对象中的同名字段。 */ + @ApiModelProperty(value = "FlowEntryPublish对象中的同名字段") private String initTaskInfo; /** * 当前实例的运行时任务列表。 * 正常情况下只有一个,在并行网关下可能存在多个。 */ + @ApiModelProperty(value = "实例的运行时任务列表") private JSONArray runtimeTaskInfoList; /** * 业务主表数据。 */ + @ApiModelProperty(value = "业务主表数据") private Map masterData; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/TaskInfoVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/TaskInfoVo.java index a1665877..02eac4ab 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/TaskInfoVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-flow/src/main/java/com/orangeforms/common/flow/vo/TaskInfoVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.flow.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import com.alibaba.fastjson.JSONObject; import lombok.Data; @@ -11,57 +13,68 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@ApiModel("流程任务信息Vo对象") @Data public class TaskInfoVo { /** * 流程节点任务类型。具体值可参考FlowTaskType常量值。 */ + @ApiModelProperty(value = "流程节点任务类型") private Integer taskType; /** * 指定人。 */ + @ApiModelProperty(value = "指定人") private String assignee; /** * 任务标识。 */ + @ApiModelProperty(value = "任务标识") private String taskKey; /** * 是否分配给当前登录用户的标记。 * 当该值为true时,登录用户启动流程时,就自动完成了第一个用户任务。 */ + @ApiModelProperty(value = "是否分配给当前登录用户的标记") private Boolean assignedMe; /** * 动态表单Id。 */ + @ApiModelProperty(value = "动态表单Id") private Long formId; /** * 静态表单路由。 */ + @ApiModelProperty(value = "静态表单路由") private String routerName; /** * 候选组类型。 */ + @ApiModelProperty(value = "候选组类型") private String groupType; /** * 只读标记。 */ + @ApiModelProperty(value = "只读标记") private Boolean readOnly; /** * 前端所需的操作列表。 */ + @ApiModelProperty(value = "前端所需的操作列表") List operationList; /** * 任务节点的自定义变量列表。 */ + @ApiModelProperty(value = "任务节点的自定义变量列表") List variableList; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-log/src/main/java/com/orangeforms/common/log/aop/OperationLogAspect.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-log/src/main/java/com/orangeforms/common/log/aop/OperationLogAspect.java index 991f13ec..9e7a5bfb 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-log/src/main/java/com/orangeforms/common/log/aop/OperationLogAspect.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-log/src/main/java/com/orangeforms/common/log/aop/OperationLogAspect.java @@ -116,6 +116,10 @@ public class OperationLogAspect { if (saveOperationLog) { this.operationLogPostProcess(operationLogAnnotation, respData, operationLog, result); } + if (elapse > properties.getSlowLogMs()) { + log.warn("耗时较长的请求完成警告, url={},elapse={}ms reqData={} respData={}", + request.getRequestURI(), elapse, params, respData); + } log.info("请求完成, url={},elapse={}ms, respData={}", request.getRequestURI(), elapse, respData); } catch (Exception e) { if (saveOperationLog) { diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-log/src/main/java/com/orangeforms/common/log/config/OperationLogProperties.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-log/src/main/java/com/orangeforms/common/log/config/OperationLogProperties.java index 2267f3a7..9c76e20a 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-log/src/main/java/com/orangeforms/common/log/config/OperationLogProperties.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-log/src/main/java/com/orangeforms/common/log/config/OperationLogProperties.java @@ -17,4 +17,8 @@ public class OperationLogProperties { * 是否采集操作日志。 */ private boolean enabled = true; + /** + * 接口调用的毫秒数大于该值后,将输出慢日志警告。 + */ + private long slowLogMs = 50000; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/pom.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/pom.xml index 10097b10..519dabcf 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/pom.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/pom.xml @@ -20,6 +20,11 @@ common-online 1.0.0 + + com.orangeforms + common-swagger + 1.0.0 + diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineColumnController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineColumnController.java index 530b8c99..18a2252a 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineColumnController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineColumnController.java @@ -1,5 +1,6 @@ package com.orangeforms.common.online.api.controller; +import io.swagger.annotations.Api; import cn.hutool.core.collection.CollUtil; import cn.jimmyshi.beanquery.BeanQuery; import com.orangeforms.common.core.annotation.MyRequestBody; @@ -35,6 +36,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "字段数据操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineColumn") diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceController.java index 691c0730..35b1eea7 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.api.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import cn.hutool.core.collection.CollUtil; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; @@ -30,6 +32,7 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "数据模型操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineDatasource") @@ -53,6 +56,7 @@ public class OnlineDatasourceController { * @param pageId 关联的页面Id。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"onlineDatasourceDto.datasourceId"}) @PostMapping("/add") public ResponseResult add( @MyRequestBody OnlineDatasourceDto onlineDatasourceDto, diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceRelationController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceRelationController.java index 1e28acec..f53594e3 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceRelationController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDatasourceRelationController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.api.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import cn.hutool.core.collection.CollUtil; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; @@ -29,6 +31,7 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "数据源关联操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineDatasourceRelation") @@ -51,6 +54,7 @@ public class OnlineDatasourceRelationController { * @param onlineDatasourceRelationDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"onlineDatasourceRelationDto.relationId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody OnlineDatasourceRelationDto onlineDatasourceRelationDto) { String errorMessage = MyCommonUtil.getModelValidationError( diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDblinkController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDblinkController.java index cff4aa9c..30212289 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDblinkController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDblinkController.java @@ -1,5 +1,6 @@ package com.orangeforms.common.online.api.controller; +import io.swagger.annotations.Api; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.object.MyOrderParam; @@ -27,6 +28,7 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "数据库链接操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineDblink") diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDictController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDictController.java index 7731f3d0..5adf0aca 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDictController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineDictController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.api.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.object.*; @@ -25,6 +27,7 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "在线表单字典操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineDict") @@ -39,6 +42,7 @@ public class OnlineDictController { * @param onlineDictDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"onlineDictDto.dictId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody OnlineDictDto onlineDictDto) { String errorMessage = MyCommonUtil.getModelValidationError(onlineDictDto); diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineFormController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineFormController.java index 5e953c77..d5245be1 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineFormController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineFormController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.api.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import cn.hutool.core.collection.CollUtil; import cn.hutool.json.JSONObject; import com.orangeforms.common.core.annotation.MyRequestBody; @@ -30,6 +32,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "在线表单操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineForm") @@ -58,6 +61,7 @@ public class OnlineFormController { * @param onlineFormDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"onlineFormDto.formId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody OnlineFormDto onlineFormDto) { String errorMessage = MyCommonUtil.getModelValidationError(onlineFormDto); diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlinePageController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlinePageController.java index e5c0433c..8fabcade 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlinePageController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlinePageController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.api.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.alibaba.fastjson.JSONObject; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; @@ -37,6 +39,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "在线表单页面操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlinePage") @@ -55,6 +58,7 @@ public class OnlinePageController { * @param onlinePageDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"onlinePageDto.pageId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody OnlinePageDto onlinePageDto) { String errorMessage = MyCommonUtil.getModelValidationError(onlinePageDto); diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineRuleController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineRuleController.java index e5202fe5..0e977f56 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineRuleController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineRuleController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.api.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; import com.orangeforms.common.core.object.*; @@ -25,6 +27,7 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "验证规则操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineRule") @@ -39,6 +42,7 @@ public class OnlineRuleController { * @param onlineRuleDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"onlineRuleDto.ruleId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody OnlineRuleDto onlineRuleDto) { String errorMessage = MyCommonUtil.getModelValidationError(onlineRuleDto); diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineTableController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineTableController.java index 41b9cef6..4cebc6a0 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineTableController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineTableController.java @@ -1,5 +1,6 @@ package com.orangeforms.common.online.api.controller; +import io.swagger.annotations.Api; import cn.jimmyshi.beanquery.BeanQuery; import com.orangeforms.common.core.annotation.MyRequestBody; import com.orangeforms.common.core.constant.ErrorCodeEnum; @@ -27,6 +28,7 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "数据表操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineTable") diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineVirtualColumnController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineVirtualColumnController.java index b79cac32..db7609f6 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineVirtualColumnController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online-api/src/main/java/com/orangeforms/common/online/api/controller/OnlineVirtualColumnController.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.api.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; import com.github.pagehelper.page.PageMethod; import com.orangeforms.common.core.object.*; import com.orangeforms.common.core.util.*; @@ -24,6 +26,7 @@ import javax.validation.groups.Default; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "虚拟字段操作接口") @Slf4j @RestController @RequestMapping("${common-online-api.urlPrefix}/onlineVirtualColumn") @@ -38,6 +41,7 @@ public class OnlineVirtualColumnController { * @param onlineVirtualColumnDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ + @ApiOperationSupport(ignoreParameters = {"onlineVirtualColumnDto.virtualColumnId"}) @PostMapping("/add") public ResponseResult add(@MyRequestBody OnlineVirtualColumnDto onlineVirtualColumnDto) { String errorMessage = MyCommonUtil.getModelValidationError(onlineVirtualColumnDto); diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/pom.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/pom.xml index 92f4fc9c..0896a3ee 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/pom.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/pom.xml @@ -40,6 +40,11 @@ common-log 1.0.0 + + com.orangeforms + common-swagger + 1.0.0 + diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/controller/OnlineOperationController.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/controller/OnlineOperationController.java index 70b7ca75..e14548ac 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/controller/OnlineOperationController.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/controller/OnlineOperationController.java @@ -1,5 +1,6 @@ package com.orangeforms.common.online.controller; +import io.swagger.annotations.Api; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.CharUtil; import cn.hutool.core.util.StrUtil; @@ -36,6 +37,7 @@ import java.util.stream.Collectors; * @author Jerry * @date 2021-06-06 */ +@Api(tags = "在线操作接口接口") @Slf4j @RestController @ConditionalOnProperty(name = "common-online.operationEnabled", havingValue = "true") diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnDto.java index bf3818a2..1af47717 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnDto.java @@ -4,6 +4,8 @@ import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.online.model.constant.FieldFilterType; import com.orangeforms.common.online.model.constant.FieldKind; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -15,88 +17,103 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表字段Dto对象") @Data public class OnlineColumnDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long columnId; /** * 字段名。 */ + @ApiModelProperty(value = "字段名") @NotBlank(message = "数据验证失败,字段名不能为空!") private String columnName; /** * 数据表Id。 */ + @ApiModelProperty(value = "数据表Id") @NotNull(message = "数据验证失败,数据表Id不能为空!") private Long tableId; /** * 数据表中的字段类型。 */ + @ApiModelProperty(value = "数据表中的字段类型") @NotBlank(message = "数据验证失败,数据表中的字段类型不能为空!") private String columnType; /** * 数据表中的完整字段类型(包括了精度和刻度)。 */ + @ApiModelProperty(value = "数据表中的完整字段类型") @NotBlank(message = "数据验证失败,数据表中的完整字段类型(包括了精度和刻度)不能为空!") private String fullColumnType; /** * 是否为主键。 */ + @ApiModelProperty(value = "是否为主键") @NotNull(message = "数据验证失败,是否为主键不能为空!") private Boolean primaryKey; /** * 是否是自增主键(0: 不是 1: 是)。 */ + @ApiModelProperty(value = "是否是自增主键") @NotNull(message = "数据验证失败,是否是自增主键(0: 不是 1: 是)不能为空!") private Boolean autoIncrement; /** * 是否可以为空 (0: 不可以为空 1: 可以为空)。 */ + @ApiModelProperty(value = "是否可以为空") @NotNull(message = "数据验证失败,是否可以为空 (0: 不可以为空 1: 可以为空)不能为空!") private Boolean nullable; /** * 缺省值。 */ + @ApiModelProperty(value = "缺省值") private String columnDefault; /** * 字段在数据表中的显示位置。 */ + @ApiModelProperty(value = "字段在数据表中的显示位置") @NotNull(message = "数据验证失败,字段在数据表中的显示位置不能为空!") private Integer columnShowOrder; /** * 数据表中的字段注释。 */ + @ApiModelProperty(value = "数据表中的字段注释") private String columnComment; /** * 对象映射字段名称。 */ + @ApiModelProperty(value = "对象映射字段名称") @NotBlank(message = "数据验证失败,对象映射字段名称不能为空!") private String objectFieldName; /** * 对象映射字段类型。 */ + @ApiModelProperty(value = "对象映射字段类型") @NotBlank(message = "数据验证失败,对象映射字段类型不能为空!") private String objectFieldType; /** * 过滤类型字段。 */ + @ApiModelProperty(value = "过滤类型字段") @NotNull(message = "数据验证失败,过滤类型字段不能为空!", groups = {UpdateGroup.class}) @ConstDictRef(constDictClass = FieldFilterType.class, message = "数据验证失败,过滤类型字段为无效值!") private Integer filterType; @@ -104,34 +121,40 @@ public class OnlineColumnDto { /** * 是否是主键的父Id。 */ + @ApiModelProperty(value = "是否是主键的父Id") @NotNull(message = "数据验证失败,是否是主键的父Id不能为空!") private Boolean parentKey; /** * 是否部门过滤字段。 */ + @ApiModelProperty(value = "是否部门过滤字段") @NotNull(message = "数据验证失败,是否部门过滤字段标记不能为空!") private Boolean deptFilter; /** * 是否用户过滤字段。 */ + @ApiModelProperty(value = "是否用户过滤字段") @NotNull(message = "数据验证失败,是否用户过滤字段标记不能为空!") private Boolean userFilter; /** * 字段类别。 */ + @ApiModelProperty(value = "字段类别") @ConstDictRef(constDictClass = FieldKind.class, message = "数据验证失败,字段类别为无效值!") private Integer fieldKind; /** * 包含的文件文件数量,0表示无限制。 */ + @ApiModelProperty(value = "包含的文件文件数量,0表示无限制") private Integer maxFileCount; /** * 字典Id。 */ + @ApiModelProperty(value = "字典Id") private Long dictId; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnRuleDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnRuleDto.java index 4840b3f9..6f7395bf 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnRuleDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineColumnRuleDto.java @@ -1,6 +1,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; @@ -11,23 +13,27 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表字段规则和字段多对多关联Dto对象") @Data public class OnlineColumnRuleDto { /** * 字段Id。 */ + @ApiModelProperty(value = "字段Id") @NotNull(message = "数据验证失败,字段Id不能为空!", groups = {UpdateGroup.class}) private Long columnId; /** * 规则Id。 */ + @ApiModelProperty(value = "规则Id") @NotNull(message = "数据验证失败,规则Id不能为空!", groups = {UpdateGroup.class}) private Long ruleId; /** * 规则属性数据。 */ + @ApiModelProperty(value = "规则属性数据") private String propDataJson; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceDto.java index bff150f5..6b753f9e 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceDto.java @@ -2,6 +2,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.validator.AddGroup; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -13,42 +15,49 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单的数据源Dto对象") @Data public class OnlineDatasourceDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long datasourceId; /** * 数据源名称。 */ + @ApiModelProperty(value = "数据源名称") @NotBlank(message = "数据验证失败,数据源名称不能为空!") private String datasourceName; /** * 数据源变量名,会成为数据访问url的一部分。 */ + @ApiModelProperty(value = "数据源变量名,会成为数据访问url的一部分") @NotBlank(message = "数据验证失败,数据源变量名不能为空!") private String variableName; /** * 主表所在的数据库链接Id。 */ + @ApiModelProperty(value = "主表所在的数据库链接Id") @NotNull(message = "数据验证失败,数据库链接Id不能为空!") private Long dblinkId; /** * 主表Id。 */ + @ApiModelProperty(value = "主表Id") @NotNull(message = "数据验证失败,主表Id不能为空!", groups = {UpdateGroup.class}) private Long masterTableId; /** * 主表表名。 */ + @ApiModelProperty(value = "主表表名") @NotBlank(message = "数据验证失败,主表名不能为空!", groups = {AddGroup.class}) private String masterTableName; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceRelationDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceRelationDto.java index d7e02966..5907a1e7 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceRelationDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDatasourceRelationDto.java @@ -4,6 +4,8 @@ import com.orangeforms.common.core.validator.AddGroup; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.online.model.constant.RelationType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -15,36 +17,42 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单的数据源关联Dto对象") @Data public class OnlineDatasourceRelationDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long relationId; /** * 关联名称。 */ + @ApiModelProperty(value = "关联名称") @NotBlank(message = "数据验证失败,关联名称不能为空!") private String relationName; /** * 变量名。 */ + @ApiModelProperty(value = "变量名") @NotBlank(message = "数据验证失败,变量名不能为空!") private String variableName; /** * 主数据源Id。 */ + @ApiModelProperty(value = "主数据源Id") @NotNull(message = "数据验证失败,主数据源Id不能为空!") private Long datasourceId; /** * 关联类型。 */ + @ApiModelProperty(value = "关联类型") @NotNull(message = "数据验证失败,关联类型不能为空!") @ConstDictRef(constDictClass = RelationType.class, message = "数据验证失败,关联类型为无效值!") private Integer relationType; @@ -52,42 +60,49 @@ public class OnlineDatasourceRelationDto { /** * 主表关联字段Id。 */ + @ApiModelProperty(value = "主表关联字段Id") @NotNull(message = "数据验证失败,主表关联字段Id不能为空!") private Long masterColumnId; /** * 从表Id。 */ + @ApiModelProperty(value = "从表Id") @NotNull(message = "数据验证失败,从表Id不能为空!", groups = {UpdateGroup.class}) private Long slaveTableId; /** * 从表名。 */ + @ApiModelProperty(value = "从表名") @NotBlank(message = "数据验证失败,从表名不能为空!", groups = {AddGroup.class}) private String slaveTableName; /** * 从表关联字段Id。 */ + @ApiModelProperty(value = "从表关联字段Id") @NotNull(message = "数据验证失败,从表关联字段Id不能为空!", groups = {UpdateGroup.class}) private Long slaveColumnId; /** * 从表字段名。 */ + @ApiModelProperty(value = "从表字段名") @NotBlank(message = "数据验证失败,从表字段名不能为空!", groups = {AddGroup.class}) private String slaveColumnName; /** * 是否级联删除标记。 */ + @ApiModelProperty(value = "是否级联删除标记") @NotNull(message = "数据验证失败,是否级联删除标记不能为空!") private Boolean cascadeDelete; /** * 是否左连接标记。 */ + @ApiModelProperty(value = "是否左连接标记") @NotNull(message = "数据验证失败,是否左连接标记不能为空!") private Boolean leftJoin; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDblinkDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDblinkDto.java index 60812cf5..636c3a1c 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDblinkDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDblinkDto.java @@ -1,6 +1,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -12,35 +14,41 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表所在数据库链接Dto对象") @Data public class OnlineDblinkDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long dblinkId; /** * 链接中文名称。 */ + @ApiModelProperty(value = "链接中文名称") @NotBlank(message = "数据验证失败,链接中文名称不能为空!") private String dblinkName; /** * 链接英文名称。 */ + @ApiModelProperty(value = "链接英文名称") @NotBlank(message = "数据验证失败,链接英文名称不能为空!") private String variableName; /** * 链接描述。 */ + @ApiModelProperty(value = "链接描述") private String dblinkDesc; /** * 数据源配置常量。 */ + @ApiModelProperty(value = "数据源配置常量") @NotNull(message = "数据验证失败,数据源配置常量不能为空!") private Integer dblinkConfigConstant; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDictDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDictDto.java index f4a476b4..977c538d 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDictDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineDictDto.java @@ -3,6 +3,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.online.model.constant.DictType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -14,24 +16,28 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单关联的字典Dto对象") @Data public class OnlineDictDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long dictId; /** * 字典名称。 */ + @ApiModelProperty(value = "字典名称") @NotBlank(message = "数据验证失败,字典名称不能为空!") private String dictName; /** * 字典类型。 */ + @ApiModelProperty(value = "字典类型") @NotNull(message = "数据验证失败,字典类型不能为空!") @ConstDictRef(constDictClass = DictType.class, message = "数据验证失败,字典类型为无效值!") private Integer dictType; @@ -39,66 +45,79 @@ public class OnlineDictDto { /** * 数据库链接Id。 */ + @ApiModelProperty(value = "数据库链接Id") private Long dblinkId; /** * 字典表名称。 */ + @ApiModelProperty(value = "字典表名称") private String tableName; /** * 字典表键字段名称。 */ + @ApiModelProperty(value = "字典表键字段名称") private String keyColumnName; /** * 字典表父键字段名称。 */ + @ApiModelProperty(value = "字典表父键字段名称") private String parentKeyColumnName; /** * 字典值字段名称。 */ + @ApiModelProperty(value = "字典值字段名称") private String valueColumnName; /** * 逻辑删除字段。 */ + @ApiModelProperty(value = "逻辑删除字段") private String deletedColumnName; /** * 用户过滤滤字段名称。 */ + @ApiModelProperty(value = "用户过滤滤字段名称") private String userFilterColumnName; /** * 部门过滤字段名称。 */ + @ApiModelProperty(value = "部门过滤字段名称") private String deptFilterColumnName; /** * 租户过滤字段名称。 */ + @ApiModelProperty(value = "租户过滤字段名称") private String tenantFilterColumnName; /** * 是否树形标记。 */ + @ApiModelProperty(value = "是否树形标记") @NotNull(message = "数据验证失败,是否树形标记不能为空!") private Boolean treeFlag; /** * 获取字典数据的url。 */ + @ApiModelProperty(value = "获取字典数据的url") private String dictListUrl; /** * 根据主键id批量获取字典数据的url。 */ + @ApiModelProperty(value = "根据主键id批量获取字典数据的url") private String dictIdsUrl; /** * 字典的JSON数据。 */ + @ApiModelProperty(value = "字典的JSON数据") private String dictDataJson; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFilterDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFilterDto.java index 4e080f76..01f16026 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFilterDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFilterDto.java @@ -1,6 +1,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.online.model.constant.FieldFilterType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Set; @@ -11,41 +13,49 @@ import java.util.Set; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据过滤参数对象") @Data public class OnlineFilterDto { /** * 表名。 */ + @ApiModelProperty(value = "表名") private String tableName; /** * 过滤字段名。 */ + @ApiModelProperty(value = "过滤字段名") private String columnName; /** * 过滤值。 */ + @ApiModelProperty(value = "过滤值") private Object columnValue; /** * 范围比较的最小值。 */ + @ApiModelProperty(value = "范围比较的最小值") private Object columnValueStart; /** * 范围比较的最大值。 */ + @ApiModelProperty(value = "范围比较的最大值") private Object columnValueEnd; /** * 仅当操作符为IN的时候使用。 */ + @ApiModelProperty(value = "仅当操作符为IN的时候使用") private Set columnValueList; /** * 过滤类型,参考FieldFilterType常量对象。缺省值就是等于过滤了。 */ + @ApiModelProperty(value = "过滤类型") private Integer filterType = FieldFilterType.EQUAL_FILTER; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFormDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFormDto.java index 37b30230..2a938b2a 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFormDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineFormDto.java @@ -4,6 +4,8 @@ import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.online.model.constant.FormKind; import com.orangeforms.common.online.model.constant.FormType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -16,35 +18,41 @@ import java.util.List; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单Dto对象") @Data public class OnlineFormDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long formId; /** * 页面id。 */ + @ApiModelProperty(value = "页面id") @NotNull(message = "数据验证失败,页面id不能为空!") private Long pageId; /** * 表单编码。 */ + @ApiModelProperty(value = "表单编码") private String formCode; /** * 表单名称。 */ + @ApiModelProperty(value = "表单名称") @NotBlank(message = "数据验证失败,表单名称不能为空!") private String formName; /** * 表单类别。 */ + @ApiModelProperty(value = "表单类别") @NotNull(message = "数据验证失败,表单类别不能为空!") @ConstDictRef(constDictClass = FormKind.class, message = "数据验证失败,表单类别为无效值!") private Integer formKind; @@ -52,6 +60,7 @@ public class OnlineFormDto { /** * 表单类型。 */ + @ApiModelProperty(value = "表单类型") @NotNull(message = "数据验证失败,表单类型不能为空!") @ConstDictRef(constDictClass = FormType.class, message = "数据验证失败,表单类型为无效值!") private Integer formType; @@ -59,21 +68,25 @@ public class OnlineFormDto { /** * 表单主表id。 */ + @ApiModelProperty(value = "表单主表id") @NotNull(message = "数据验证失败,表单主表id不能为空!") private Long masterTableId; /** * 当前表单关联的数据源Id集合。 */ + @ApiModelProperty(value = "当前表单关联的数据源Id集合") private List datasourceIdList; /** * 表单组件JSON。 */ + @ApiModelProperty(value = "表单组件JSON") private String widgetJson; /** * 表单参数JSON。 */ + @ApiModelProperty(value = "表单参数JSON") private String paramsJson; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDatasourceDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDatasourceDto.java index 4276052d..19427ff0 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDatasourceDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDatasourceDto.java @@ -1,6 +1,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; @@ -11,24 +13,28 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单页面和数据源多对多关联Dto对象") @Data public class OnlinePageDatasourceDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long id; /** * 页面主键Id。 */ + @ApiModelProperty(value = "页面主键Id") @NotNull(message = "数据验证失败,页面主键Id不能为空!") private Long pageId; /** * 数据源主键Id。 */ + @ApiModelProperty(value = "数据源主键Id") @NotNull(message = "数据验证失败,数据源主键Id不能为空!") private Long datasourceId; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDto.java index 7269b547..c9b5096c 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlinePageDto.java @@ -4,6 +4,8 @@ import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.online.model.constant.PageStatus; import com.orangeforms.common.online.model.constant.PageType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -15,29 +17,34 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单所在页面Dto对象") @Data public class OnlinePageDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long pageId; /** * 页面编码。 */ + @ApiModelProperty(value = "页面编码") private String pageCode; /** * 页面名称。 */ + @ApiModelProperty(value = "页面名称") @NotBlank(message = "数据验证失败,页面名称不能为空!") private String pageName; /** * 页面类型。 */ + @ApiModelProperty(value = "页面类型") @NotNull(message = "数据验证失败,页面类型不能为空!") @ConstDictRef(constDictClass = PageType.class, message = "数据验证失败,页面类型为无效值!") private Integer pageType; @@ -45,6 +52,7 @@ public class OnlinePageDto { /** * 页面编辑状态。 */ + @ApiModelProperty(value = "页面编辑状态") @NotNull(message = "数据验证失败,状态不能为空!") @ConstDictRef(constDictClass = PageStatus.class, message = "数据验证失败,状态为无效值!") private Integer status; diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineRuleDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineRuleDto.java index fbd12215..5c93c774 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineRuleDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineRuleDto.java @@ -3,6 +3,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; import com.orangeforms.common.online.model.constant.RuleType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -14,24 +16,28 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表字段验证规则Dto对象") @Data public class OnlineRuleDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long ruleId; /** * 规则名称。 */ + @ApiModelProperty(value = "规则名称") @NotBlank(message = "数据验证失败,规则名称不能为空!") private String ruleName; /** * 规则类型。 */ + @ApiModelProperty(value = "规则类型") @NotNull(message = "数据验证失败,规则类型不能为空!") @ConstDictRef(constDictClass = RuleType.class, message = "数据验证失败,规则类型为无效值!") private Integer ruleType; @@ -39,11 +45,13 @@ public class OnlineRuleDto { /** * 内置规则标记。 */ + @ApiModelProperty(value = "内置规则标记") @NotNull(message = "数据验证失败,内置规则标记不能为空!") private Boolean builtin; /** * 自定义规则的正则表达式。 */ + @ApiModelProperty(value = "自定义规则的正则表达式") private String pattern; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineTableDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineTableDto.java index 62216166..277a62c0 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineTableDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineTableDto.java @@ -1,6 +1,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -12,30 +14,35 @@ import javax.validation.constraints.NotNull; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单的数据表Dto对象") @Data public class OnlineTableDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long tableId; /** * 表名称。 */ + @ApiModelProperty(value = "表名称") @NotBlank(message = "数据验证失败,表名称不能为空!") private String tableName; /** * 实体名称。 */ + @ApiModelProperty(value = "实体名称") @NotBlank(message = "数据验证失败,实体名称不能为空!") private String modelName; /** * 数据库链接Id。 */ + @ApiModelProperty(value = "数据库链接Id") @NotNull(message = "数据验证失败,数据库链接Id不能为空!") private Long dblinkId; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineVirtualColumnDto.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineVirtualColumnDto.java index eadfd79e..98023759 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineVirtualColumnDto.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/dto/OnlineVirtualColumnDto.java @@ -3,6 +3,8 @@ package com.orangeforms.common.online.dto; import com.orangeforms.common.core.constant.AggregationType; import com.orangeforms.common.core.validator.ConstDictRef; import com.orangeforms.common.core.validator.UpdateGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import com.orangeforms.common.online.model.constant.VirtualType; import lombok.Data; @@ -15,41 +17,48 @@ import javax.validation.constraints.*; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线数据表虚拟字段Dto对象") @Data public class OnlineVirtualColumnDto { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long virtualColumnId; /** * 所在表Id。 */ + @ApiModelProperty(value = "所在表Id") private Long tableId; /** * 字段名称。 */ + @ApiModelProperty(value = "字段名称") @NotBlank(message = "数据验证失败,字段名称不能为空!") private String objectFieldName; /** * 属性类型。 */ + @ApiModelProperty(value = "属性类型") @NotBlank(message = "数据验证失败,属性类型不能为空!") private String objectFieldType; /** * 字段提示名。 */ + @ApiModelProperty(value = "字段提示名") @NotBlank(message = "数据验证失败,字段提示名不能为空!") private String columnPrompt; /** * 虚拟字段类型(0: 聚合)。 */ + @ApiModelProperty(value = "虚拟字段类型(0: 聚合)") @ConstDictRef(constDictClass = VirtualType.class, message = "数据验证失败,虚拟字段类型为无效值!") @NotNull(message = "数据验证失败,虚拟字段类型(0: 聚合)不能为空!") private Integer virtualType; @@ -57,32 +66,38 @@ public class OnlineVirtualColumnDto { /** * 关联数据源Id。 */ + @ApiModelProperty(value = "关联数据源Id") @NotNull(message = "数据验证失败,关联数据源Id不能为空!") private Long datasourceId; /** * 关联Id。 */ + @ApiModelProperty(value = "关联Id") private Long relationId; /** * 聚合字段所在关联表Id。 */ + @ApiModelProperty(value = "聚合字段所在关联表Id") private Long aggregationTableId; /** * 关联表聚合字段Id。 */ + @ApiModelProperty(value = "关联表聚合字段Id") private Long aggregationColumnId; /** * 聚合类型(0: sum 1: count 2: avg 3: min 4: max)。 */ + @ApiModelProperty(value = "聚合类型(0: sum 1: count 2: avg 3: min 4: max)") @ConstDictRef(constDictClass = AggregationType.class, message = "数据验证失败,虚拟字段聚合计算类型为无效值!") private Integer aggregationType; /** * 存储过滤条件的json。 */ + @ApiModelProperty(value = "存储过滤条件的json") private String whereClauseJson; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnRuleVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnRuleVo.java index e4d3a9df..6912fde4 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnRuleVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnRuleVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,21 +10,25 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表字段规则和字段多对多关联VO对象") @Data public class OnlineColumnRuleVo { /** * 字段Id。 */ + @ApiModelProperty(value = "字段Id") private Long columnId; /** * 规则Id。 */ + @ApiModelProperty(value = "规则Id") private Long ruleId; /** * 规则属性数据。 */ + @ApiModelProperty(value = "规则属性数据") private String propDataJson; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnVo.java index 41b3a63a..00bcb3b3 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineColumnVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -11,126 +13,151 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表字段规则和字段多对多关联VO对象") @Data public class OnlineColumnVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long columnId; /** * 字段名。 */ + @ApiModelProperty(value = "字段名") private String columnName; /** * 数据表Id。 */ + @ApiModelProperty(value = "数据表Id") private Long tableId; /** * 数据表中的字段类型。 */ + @ApiModelProperty(value = "数据表中的字段类型") private String columnType; /** * 数据表中的完整字段类型(包括了精度和刻度)。 */ + @ApiModelProperty(value = "数据表中的完整字段类型") private String fullColumnType; /** * 是否为主键。 */ + @ApiModelProperty(value = "是否为主键") private Boolean primaryKey; /** * 是否是自增主键(0: 不是 1: 是)。 */ + @ApiModelProperty(value = "是否是自增主键") private Boolean autoIncrement; /** * 是否可以为空 (0: 不可以为空 1: 可以为空)。 */ + @ApiModelProperty(value = "是否可以为空") private Boolean nullable; /** * 缺省值。 */ + @ApiModelProperty(value = "缺省值") private String columnDefault; /** * 字段在数据表中的显示位置。 */ + @ApiModelProperty(value = "字段在数据表中的显示位置") private Integer columnShowOrder; /** * 数据表中的字段注释。 */ + @ApiModelProperty(value = "数据表中的字段注释") private String columnComment; /** * 对象映射字段名称。 */ + @ApiModelProperty(value = "对象映射字段名称") private String objectFieldName; /** * 对象映射字段类型。 */ + @ApiModelProperty(value = "对象映射字段类型") private String objectFieldType; /** * 过滤类型。 */ + @ApiModelProperty(value = "过滤类型") private Integer filterType; /** * 是否是主键的父Id。 */ + @ApiModelProperty(value = "是否是主键的父Id") private Boolean parentKey; /** * 是否部门过滤字段。 */ + @ApiModelProperty(value = "是否部门过滤字段") private Boolean deptFilter; /** * 是否用户过滤字段。 */ + @ApiModelProperty(value = "是否用户过滤字段") private Boolean userFilter; /** * 字段类别。 */ + @ApiModelProperty(value = "字段类别") private Integer fieldKind; /** * 包含的文件文件数量,0表示无限制。 */ + @ApiModelProperty(value = "包含的文件文件数量,0表示无限制") private Integer maxFileCount; /** * 字典Id。 */ + @ApiModelProperty(value = "字典Id") private Long dictId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * fieldKind 常量字典关联数据。 */ + @ApiModelProperty(value = "常量字典关联数据") private Map fieldKindDictMap; /** * dictId 的一对一关联。 */ + @ApiModelProperty(value = "dictId 的一对一关联") private Map dictInfo; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceRelationVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceRelationVo.java index 9b555418..ed6ab481 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceRelationVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceRelationVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -11,101 +13,121 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单的数据源关联VO对象") @Data public class OnlineDatasourceRelationVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long relationId; /** * 关联名称。 */ + @ApiModelProperty(value = "关联名称") private String relationName; /** * 变量名。 */ + @ApiModelProperty(value = "变量名") private String variableName; /** * 主数据源Id。 */ + @ApiModelProperty(value = "主数据源Id") private Long datasourceId; /** * 关联类型。 */ + @ApiModelProperty(value = "关联类型") private Integer relationType; /** * 主表关联字段Id。 */ + @ApiModelProperty(value = "主表关联字段Id") private Long masterColumnId; /** * 从表Id。 */ + @ApiModelProperty(value = "从表Id") private Long slaveTableId; /** * 从表关联字段Id。 */ + @ApiModelProperty(value = "从表关联字段Id") private Long slaveColumnId; /** * 删除主表的时候是否级联删除一对一和一对多的从表数据,多对多只是删除关联,不受到这个标记的影响。。 */ + @ApiModelProperty(value = "一对多从表级联删除标记") private Boolean cascadeDelete; /** * 是否左连接。 */ + @ApiModelProperty(value = "是否左连接") private Boolean leftJoin; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * masterColumnId 的一对一关联数据对象,数据对应类型为OnlineColumnVo。 */ + @ApiModelProperty(value = "masterColumnId字段的一对一关联数据对象") private Map masterColumn; /** * slaveTableId 的一对一关联数据对象,数据对应类型为OnlineTableVo。 */ + @ApiModelProperty(value = "slaveTableId字段的一对一关联数据对象") private Map slaveTable; /** * slaveColumnId 的一对一关联数据对象,数据对应类型为OnlineColumnVo。 */ + @ApiModelProperty(value = "slaveColumnId字段的一对一关联数据对象") private Map slaveColumn; /** * masterColumnId 字典关联数据。 */ + @ApiModelProperty(value = "masterColumnId的字典关联数据") private Map masterColumnIdDictMap; /** * slaveTableId 字典关联数据。 */ + @ApiModelProperty(value = "slaveTableId的字典关联数据") private Map slaveTableIdDictMap; /** * slaveColumnId 字典关联数据。 */ + @ApiModelProperty(value = "slaveColumnId的字典关联数据") private Map slaveColumnIdDictMap; /** * relationType 常量字典关联数据。 */ + @ApiModelProperty(value = "常量字典关联数据") private Map relationTypeDictMap; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceVo.java index 263eb953..9792ab80 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDatasourceVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -12,56 +14,67 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单的数据源VO对象") @Data public class OnlineDatasourceVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long datasourceId; /** * 数据源名称。 */ + @ApiModelProperty(value = "数据源名称") private String datasourceName; /** * 数据源变量名,会成为数据访问url的一部分。 */ + @ApiModelProperty(value = "数据源变量名") private String variableName; /** * 数据库链接Id。 */ + @ApiModelProperty(value = "数据库链接Id") private Long dblinkId; /** * 主表Id。 */ + @ApiModelProperty(value = "主表Id") private Long masterTableId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * datasourceId 的多对多关联表数据对象,数据对应类型为OnlinePageDatasourceVo。 */ + @ApiModelProperty(value = "datasourceId 的多对多关联表数据对象") private Map onlinePageDatasource; /** * masterTableId 字典关联数据。 */ + @ApiModelProperty(value = "masterTableId 字典关联数据") private Map masterTableIdDictMap; /** * 当前数据源及其关联,引用的数据表对象列表。 */ + @ApiModelProperty(value = "当前数据源及其关联,引用的数据表对象列表") private List tableList; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDblinkVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDblinkVo.java index 436ffa48..c965d981 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDblinkVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDblinkVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,36 +12,43 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表所在数据库链接VO对象") @Data public class OnlineDblinkVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long dblinkId; /** * 链接中文名称。 */ + @ApiModelProperty(value = "链接中文名称") private String dblinkName; /** * 链接英文名称。 */ + @ApiModelProperty(value = "链接英文名称") private String variableName; /** * 链接描述。 */ + @ApiModelProperty(value = "链接描述") private String dblinkDesc; /** * 数据源配置常量。 */ + @ApiModelProperty(value = "数据源配置常量") private Integer dblinkConfigConstant; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDictVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDictVo.java index f78674cf..3e5bf338 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDictVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineDictVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -11,106 +13,127 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单关联的字典VO对象") @Data public class OnlineDictVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long dictId; /** * 字典名称。 */ + @ApiModelProperty(value = "字典名称") private String dictName; /** * 字典类型。 */ + @ApiModelProperty(value = "字典类型") private Integer dictType; /** * 数据库链接Id。 */ + @ApiModelProperty(value = "数据库链接Id") private Long dblinkId; /** * 字典表名称。 */ + @ApiModelProperty(value = "字典表名称") private String tableName; /** * 字典表键字段名称。 */ + @ApiModelProperty(value = "字典表键字段名称") private String keyColumnName; /** * 字典表父键字段名称。 */ + @ApiModelProperty(value = "字典表父键字段名称") private String parentKeyColumnName; /** * 字典值字段名称。 */ + @ApiModelProperty(value = "字典值字段名称") private String valueColumnName; /** * 逻辑删除字段。 */ + @ApiModelProperty(value = "逻辑删除字段") private String deletedColumnName; /** * 用户过滤滤字段名称。 */ + @ApiModelProperty(value = "用户过滤滤字段名称") private String userFilterColumnName; /** * 部门过滤字段名称。 */ + @ApiModelProperty(value = "部门过滤字段名称") private String deptFilterColumnName; /** * 租户过滤字段名称。 */ + @ApiModelProperty(value = "租户过滤字段名称") private String tenantFilterColumnName; /** * 是否树形标记。 */ + @ApiModelProperty(value = "是否树形标记") private Boolean treeFlag; /** * 获取字典数据的url。 */ + @ApiModelProperty(value = "获取字典数据的url") private String dictListUrl; /** * 根据主键id批量获取字典数据的url。 */ + @ApiModelProperty(value = "根据主键id批量获取字典数据的url") private String dictIdsUrl; /** * 字典的JSON数据。 */ + @ApiModelProperty(value = "字典的JSON数据") private String dictDataJson; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * dictType 常量字典关联数据。 */ + @ApiModelProperty(value = "dictType 常量字典关联数据") private Map dictTypeDictMap; /** * 数据库链接Id字典关联数据。 */ + @ApiModelProperty(value = "数据库链接Id字典关联数据") private Map dblinkIdDictMap; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineFormVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineFormVo.java index 2ec3a24c..6607eab9 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineFormVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineFormVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -12,81 +14,97 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单VO对象") @Data public class OnlineFormVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long formId; /** * 页面Id。 */ + @ApiModelProperty(value = "页面Id") private Long pageId; /** * 表单编码。 */ + @ApiModelProperty(value = "表单编码") private String formCode; /** * 表单名称。 */ + @ApiModelProperty(value = "表单名称") private String formName; /** * 表单类型。 */ + @ApiModelProperty(value = "表单类型") private Integer formType; /** * 表单类别。 */ + @ApiModelProperty(value = "表单类别") private Integer formKind; /** * 表单主表Id。 */ + @ApiModelProperty(value = "表单主表Id") private Long masterTableId; /** * 表单组件JSON。 */ + @ApiModelProperty(value = "表单组件JSON") private String widgetJson; /** * 表单参数JSON。 */ + @ApiModelProperty(value = "表单参数JSON") private String paramsJson; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * masterTableId 的一对一关联数据对象,数据对应类型为OnlineTableVo。 */ + @ApiModelProperty(value = "asterTableId 的一对一关联数据对象") private Map onlineTable; /** * masterTableId 字典关联数据。 */ + @ApiModelProperty(value = "masterTableId 字典关联数据") private Map masterTableIdDictMap; /** * formType 常量字典关联数据。 */ + @ApiModelProperty(value = "formType 常量字典关联数据") private Map formTypeDictMap; /** * 当前表单关联的数据源Id集合。 */ + @ApiModelProperty(value = "当前表单关联的数据源Id集合") private List datasourceIdList; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageDatasourceVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageDatasourceVo.java index 131c4ea3..3a6e4ca1 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageDatasourceVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageDatasourceVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,21 +10,25 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单页面和数据源多对多关联VO对象") @Data public class OnlinePageDatasourceVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long id; /** * 页面主键Id。 */ + @ApiModelProperty(value = "页面主键Id") private Long pageId; /** * 数据源主键Id。 */ + @ApiModelProperty(value = "数据源主键Id") private Long datasourceId; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageVo.java index 1c821859..cc7e1c52 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlinePageVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -11,56 +13,67 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单所在页面VO对象") @Data public class OnlinePageVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long pageId; /** * 页面编码。 */ + @ApiModelProperty(value = "页面编码") private String pageCode; /** * 页面名称。 */ + @ApiModelProperty(value = "页面名称") private String pageName; /** * 页面类型。 */ + @ApiModelProperty(value = "页面类型") private Integer pageType; /** * 页面编辑状态。 */ + @ApiModelProperty(value = "页面编辑状态") private Integer status; /** * 是否发布。 */ + @ApiModelProperty(value = "是否发布") private Boolean published; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * pageType 常量字典关联数据。 */ + @ApiModelProperty(value = "pageType 常量字典关联数据") private Map pageTypeDictMap; /** * status 常量字典关联数据。 */ + @ApiModelProperty(value = "status 常量字典关联数据") private Map statusDictMap; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineRuleVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineRuleVo.java index 80c92e40..b7182fba 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineRuleVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineRuleVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -11,51 +13,61 @@ import java.util.Map; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单数据表字段验证规则VO对象") @Data public class OnlineRuleVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long ruleId; /** * 规则名称。 */ + @ApiModelProperty(value = "规则名称") private String ruleName; /** * 规则类型。 */ + @ApiModelProperty(value = "规则类型") private Integer ruleType; /** * 内置规则标记。 */ + @ApiModelProperty(value = "内置规则标记") private Boolean builtin; /** * 自定义规则的正则表达式。 */ + @ApiModelProperty(value = "自定义规则的正则表达式") private String pattern; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * ruleId 的多对多关联表数据对象,数据对应类型为OnlineColumnRuleVo。 */ + @ApiModelProperty(value = "ruleId 的多对多关联表数据对象") private Map onlineColumnRule; /** * ruleType 常量字典关联数据。 */ + @ApiModelProperty(value = "ruleType 常量字典关联数据") private Map ruleTypeDictMap; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineTableVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineTableVo.java index f2f9f382..17565672 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineTableVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineTableVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -10,36 +12,43 @@ import java.util.Date; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线表单的数据表VO对象") @Data public class OnlineTableVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long tableId; /** * 表名称。 */ + @ApiModelProperty(value = "表名称") private String tableName; /** * 实体名称。 */ + @ApiModelProperty(value = "实体名称") private String modelName; /** * 数据库链接Id。 */ + @ApiModelProperty(value = "数据库链接Id") private Long dblinkId; /** * 更新时间。 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间。 */ + @ApiModelProperty(value = "创建时间") private Date createTime; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineVirtualColumnVo.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineVirtualColumnVo.java index 8d526904..437df5a6 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineVirtualColumnVo.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-online/src/main/java/com/orangeforms/common/online/vo/OnlineVirtualColumnVo.java @@ -1,5 +1,7 @@ package com.orangeforms.common.online.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,66 +10,79 @@ import lombok.Data; * @author Jerry * @date 2021-06-06 */ +@ApiModel("在线数据表虚拟字段VO对象") @Data public class OnlineVirtualColumnVo { /** * 主键Id。 */ + @ApiModelProperty(value = "主键Id") private Long virtualColumnId; /** * 所在表Id。 */ + @ApiModelProperty(value = "所在表Id") private Long tableId; /** * 字段名称。 */ + @ApiModelProperty(value = "字段名称") private String objectFieldName; /** * 属性类型。 */ + @ApiModelProperty(value = "属性类型") private String objectFieldType; /** * 字段提示名。 */ + @ApiModelProperty(value = "字段提示名") private String columnPrompt; /** * 虚拟字段类型(0: 聚合)。 */ + @ApiModelProperty(value = "虚拟字段类型(0: 聚合)") private Integer virtualType; /** * 关联数据源Id。 */ + @ApiModelProperty(value = "关联数据源Id") private Long datasourceId; /** * 关联Id。 */ + @ApiModelProperty(value = "关联Id") private Long relationId; /** * 聚合字段所在关联表Id。 */ + @ApiModelProperty(value = "聚合字段所在关联表Id") private Long aggregationTableId; /** * 关联表聚合字段Id。 */ + @ApiModelProperty(value = "关联表聚合字段Id") private Long aggregationColumnId; /** * 聚合类型(0: count 1: sum 2: avg 3: max 4:min)。 */ + @ApiModelProperty(value = "聚合类型(0: count 1: sum 2: avg 3: max 4:min)") private Integer aggregationType; /** * 存储过滤条件的json。 */ + @ApiModelProperty(value = "存储过滤条件的json") private String whereClauseJson; } diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/SessionCacheHelper.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/SessionCacheHelper.java index 23fc6a55..9636aa54 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/SessionCacheHelper.java +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/SessionCacheHelper.java @@ -1,5 +1,6 @@ package com.orangeforms.common.redis.cache; +import cn.hutool.core.collection.CollUtil; import com.orangeforms.common.core.object.TokenData; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.Cache; @@ -43,6 +44,28 @@ public class SessionCacheHelper { } } + /** + * 缓存当前Session可以下载的文件集合。 + * + * @param filenameSet 后台服务本地存储的文件名,而不是上传时的原始文件名。 + */ + public void putSessionDownloadableFileNameSet(Set filenameSet) { + if (CollUtil.isEmpty(filenameSet)) { + return; + } + Set sessionUploadFileSet = null; + Cache cache = cacheManager.getCache(RedissonCacheConfig.CacheEnum.UPLOAD_FILENAME_CACHE.name()); + Cache.ValueWrapper valueWrapper = cache.get(TokenData.takeFromRequest().getSessionId()); + if (valueWrapper != null) { + sessionUploadFileSet = (Set) valueWrapper.get(); + } + if (sessionUploadFileSet == null) { + sessionUploadFileSet = new HashSet<>(); + } + sessionUploadFileSet.addAll(filenameSet); + cache.put(TokenData.takeFromRequest().getSessionId(), sessionUploadFileSet); + } + /** * 判断参数中的文件名,是否有当前session上传。 * diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/pom.xml b/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/pom.xml new file mode 100644 index 00000000..c1e9bcde --- /dev/null +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/pom.xml @@ -0,0 +1,39 @@ + + + + common + com.orangeforms + 1.0.0 + + 4.0.0 + + common-swagger + 1.0.0 + common-swagger + jar + + + + com.github.xiaoymin + knife4j-spring-boot-starter + ${knife4j.version} + + + org.springframework.plugin + spring-plugin-core + + + org.springframework.plugin + spring-plugin-metadata + + + + + com.orangeforms + common-core + 1.0.0 + + + \ No newline at end of file diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerAutoConfiguration.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerAutoConfiguration.java new file mode 100644 index 00000000..39680503 --- /dev/null +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerAutoConfiguration.java @@ -0,0 +1,67 @@ +package com.orangeforms.common.swagger.config; + +import com.orangeforms.common.core.annotation.MyRequestBody; +import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; + +/** + * 自动加载bean的配置对象。 + * + * @author Jerry + * @date 2021-06-06 + */ +@EnableSwagger2WebMvc +@EnableKnife4j +@EnableConfigurationProperties(SwaggerProperties.class) +@ConditionalOnProperty(prefix = "swagger", name = "enabled") +public class SwaggerAutoConfiguration { + + @Bean + public Docket upmsDocket(SwaggerProperties properties) { + return new Docket(DocumentationType.SWAGGER_2) + .groupName("1. 用户权限分组接口") + .ignoredParameterTypes(MyRequestBody.class) + .apiInfo(apiInfo(properties)) + .select() + .apis(RequestHandlerSelectors.basePackage(properties.getServiceBasePackage() + ".upms.controller")) + .paths(PathSelectors.any()).build(); + } + + @Bean + public Docket bizDocket(SwaggerProperties properties) { + return new Docket(DocumentationType.SWAGGER_2) + .groupName("2. 业务应用分组接口") + .ignoredParameterTypes(MyRequestBody.class) + .apiInfo(apiInfo(properties)) + .select() + .apis(RequestHandlerSelectors.basePackage(properties.getServiceBasePackage() + ".app.controller")) + .paths(PathSelectors.any()).build(); + } + + @Bean + public Docket workflowDocket(SwaggerProperties properties) { + return new Docket(DocumentationType.SWAGGER_2) + .groupName("3. 工作流通用操作接口") + .ignoredParameterTypes(MyRequestBody.class) + .apiInfo(apiInfo(properties)) + .select() + .apis(RequestHandlerSelectors.basePackage(properties.getBasePackage() + ".common.flow.controller")) + .paths(PathSelectors.any()).build(); + } + + private ApiInfo apiInfo(SwaggerProperties properties) { + return new ApiInfoBuilder() + .title(properties.getTitle()) + .description(properties.getDescription()) + .version(properties.getVersion()).build(); + } +} diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerProperties.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerProperties.java new file mode 100644 index 00000000..e5e43aeb --- /dev/null +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerProperties.java @@ -0,0 +1,45 @@ +package com.orangeforms.common.swagger.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * 配置参数对象。 + * + * @author Jerry + * @date 2021-06-06 + */ +@Data +@ConfigurationProperties("swagger") +public class SwaggerProperties { + + /** + * 是否开启Swagger。 + */ + private Boolean enabled; + + /** + * Swagger解析的基础包路径。 + **/ + private String basePackage = ""; + + /** + * Swagger解析的服务包路径。 + **/ + private String serviceBasePackage = ""; + + /** + * ApiInfo中的标题。 + **/ + private String title = ""; + + /** + * ApiInfo中的描述信息。 + **/ + private String description = ""; + + /** + * ApiInfo中的版本信息。 + **/ + private String version = ""; +} diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/ByteBuddyUtil.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/ByteBuddyUtil.java new file mode 100644 index 00000000..adc5d790 --- /dev/null +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/ByteBuddyUtil.java @@ -0,0 +1,85 @@ +package com.orangeforms.common.swagger.plugin; + +import cn.hutool.core.lang.Assert; +import com.orangeforms.common.core.annotation.MyRequestBody; +import com.github.xiaoymin.knife4j.core.conf.Consts; +import javassist.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import springfox.documentation.service.ResolvedMethodParameter; + +import java.util.List; + +/** + * 通过字节码方式动态创建接口参数封装对象。 + * + * @author Jerry + * @date 2021-06-06 + */ +@Slf4j +class ByteBuddyUtil { + private static final ClassPool CLASS_POOL = ClassPool.getDefault(); + + static Class createDynamicModelClass(String name, List parameters) { + String clazzName = Consts.BASE_PACKAGE_PREFIX + name; + try { + CtClass tmp = CLASS_POOL.getCtClass(clazzName); + if (tmp != null) { + tmp.detach(); + } + } catch (NotFoundException e) { + // 需要吃掉这个异常。 + } + CtClass ctClass = CLASS_POOL.makeClass(clazzName); + try { + int fieldCount = 0; + for (ResolvedMethodParameter dynamicParameter : parameters) { + // 因为在调用这个方法之前,这些参数都包含MyRequestBody注解。 + MyRequestBody myRequestBody = + dynamicParameter.findAnnotation(MyRequestBody.class).orElse(null); + Assert.notNull(myRequestBody); + String fieldName = dynamicParameter.defaultName().isPresent() + ? dynamicParameter.defaultName().get() : "parameter"; + if (StringUtils.isNotBlank(myRequestBody.value())) { + fieldName = myRequestBody.value(); + } + ctClass.addField(createField(dynamicParameter, fieldName, ctClass)); + fieldCount++; + } + if (fieldCount > 0) { + return ctClass.toClass(); + } + } catch (Throwable e) { + log.error(e.getMessage()); + } + return null; + } + + private static CtField createField(ResolvedMethodParameter parameter, String parameterName, CtClass ctClass) + throws NotFoundException, CannotCompileException { + CtField field = new CtField(getFieldType(parameter.getParameterType().getErasedType()), parameterName, ctClass); + field.setModifiers(Modifier.PUBLIC); + return field; + } + + private static CtClass getFieldType(Class propetyType) { + CtClass fieldType = null; + try { + if (!propetyType.isAssignableFrom(Void.class)) { + fieldType = CLASS_POOL.get(propetyType.getName()); + } else { + fieldType = CLASS_POOL.get(String.class.getName()); + } + } catch (NotFoundException e) { + // 抛异常 + ClassClassPath path = new ClassClassPath(propetyType); + CLASS_POOL.insertClassPath(path); + try { + fieldType = CLASS_POOL.get(propetyType.getName()); + } catch (NotFoundException e1) { + log.error(e1.getMessage(), e1); + } + } + return fieldType; + } +} diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyModelPlugin.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyModelPlugin.java new file mode 100644 index 00000000..98f68e86 --- /dev/null +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyModelPlugin.java @@ -0,0 +1,61 @@ +package com.orangeforms.common.swagger.plugin; + +import com.orangeforms.common.core.annotation.MyRequestBody; +import com.fasterxml.classmate.TypeResolver; +import com.google.common.base.CaseFormat; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import springfox.documentation.service.ResolvedMethodParameter; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.OperationModelsProviderPlugin; +import springfox.documentation.spi.service.contexts.RequestMappingContext; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 生成参数包装类的插件。 + * + * @author Jerry + * @date 2021-06-06 + */ +@Component +@Order(Ordered.HIGHEST_PRECEDENCE + 200) +@ConditionalOnProperty(prefix = "swagger", name = "enabled") +public class DynamicBodyModelPlugin implements OperationModelsProviderPlugin { + + private final TypeResolver typeResolver; + + public DynamicBodyModelPlugin(TypeResolver typeResolver) { + this.typeResolver = typeResolver; + } + + @Override + public void apply(RequestMappingContext context) { + List parameterTypes = context.getParameters(); + if (CollectionUtils.isEmpty(parameterTypes)) { + return; + } + List bodyParameter = parameterTypes.stream() + .filter(p -> p.hasParameterAnnotation(MyRequestBody.class)).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(bodyParameter)) { + return; + } + String groupName = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, context.getGroupName()); + String clazzName = groupName + StringUtils.capitalize(context.getName()); + Class clazz = ByteBuddyUtil.createDynamicModelClass(clazzName, bodyParameter); + if (clazz != null) { + context.operationModelsBuilder().addInputParam(typeResolver.resolve(clazz)); + } + } + + @Override + public boolean supports(DocumentationType delimiter) { + // 支持2.0版本 + return delimiter == DocumentationType.SWAGGER_2; + } +} diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyParameterBuilder.java b/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyParameterBuilder.java new file mode 100644 index 00000000..5c60299a --- /dev/null +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyParameterBuilder.java @@ -0,0 +1,64 @@ +package com.orangeforms.common.swagger.plugin; + +import com.orangeforms.common.core.annotation.MyRequestBody; +import com.google.common.base.CaseFormat; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import springfox.documentation.builders.ParameterBuilder; +import springfox.documentation.schema.ModelRef; +import springfox.documentation.service.Parameter; +import springfox.documentation.service.ResolvedMethodParameter; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.OperationBuilderPlugin; +import springfox.documentation.spi.service.contexts.OperationContext; +import springfox.documentation.spi.service.contexts.ParameterContext; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 构建操作接口参数对象的插件。 + * + * @author Jerry + * @date 2021-06-06 + */ +@Component +@Order(Ordered.HIGHEST_PRECEDENCE + 102) +@ConditionalOnProperty(prefix = "swagger", name = "enabled") +public class DynamicBodyParameterBuilder implements OperationBuilderPlugin { + + @Override + public void apply(OperationContext context) { + List methodParameters = context.getParameters(); + List parameters = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(methodParameters)) { + List bodyParameter = methodParameters.stream() + .filter(p -> p.hasParameterAnnotation(MyRequestBody.class)).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(bodyParameter)) { + // 构造model + String groupName = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, context.getGroupName()); + String clazzName = groupName + StringUtils.capitalize(context.getName()); + ResolvedMethodParameter methodParameter = bodyParameter.get(0); + ParameterContext parameterContext = new ParameterContext(methodParameter, + new ParameterBuilder(), + context.getDocumentationContext(), + context.getGenericsNamingStrategy(), + context); + Parameter parameter = parameterContext.parameterBuilder() + .parameterType("body").modelRef(new ModelRef(clazzName)).name(clazzName).build(); + parameters.add(parameter); + } + } + context.operationBuilder().parameters(parameters); + } + + @Override + public boolean supports(DocumentationType delimiter) { + return delimiter == DocumentationType.SWAGGER_2; + } +} diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/resources/META-INF/spring.factories b/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/resources/META-INF/spring.factories new file mode 100644 index 00000000..cc7814c5 --- /dev/null +++ b/orange-demo-flowable/orange-demo-flowable-service/common/common-swagger/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.orangeforms.common.swagger.config.SwaggerAutoConfiguration \ No newline at end of file diff --git a/orange-demo-flowable/orange-demo-flowable-service/common/pom.xml b/orange-demo-flowable/orange-demo-flowable-service/common/pom.xml index 1dc6d46f..2f63ca4f 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/common/pom.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/common/pom.xml @@ -21,5 +21,6 @@ common-flow common-redis common-sequence + common-swagger diff --git a/orange-demo-flowable/orange-demo-flowable-service/framework/apidoc-tools/src/main/resources/export-api-config.json b/orange-demo-flowable/orange-demo-flowable-service/framework/apidoc-tools/src/main/resources/export-api-config.json index 1f2ccc71..3898d9e6 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/framework/apidoc-tools/src/main/resources/export-api-config.json +++ b/orange-demo-flowable/orange-demo-flowable-service/framework/apidoc-tools/src/main/resources/export-api-config.json @@ -1,5 +1,5 @@ { - "projectName": "橙单在线表单", + "projectName": "橙单工作流开源版", "basePackage": "com.orangeforms", "projectRootPath": "这里请使用当前工程的根目录,如:e:/xxx/OrangeDemo 或者 /Users/xxx/OrangeDemo", "microService": "false", diff --git a/orange-demo-flowable/orange-demo-flowable-service/pom.xml b/orange-demo-flowable/orange-demo-flowable-service/pom.xml index fccdda6b..0a530e64 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/pom.xml +++ b/orange-demo-flowable/orange-demo-flowable-service/pom.xml @@ -29,6 +29,7 @@ 3.0.2 1.4.2.Final 1.18.20 + 2.17.0 3.4.3 6.2.0.Final 6.6.0 @@ -38,6 +39,7 @@ 1.3.0 3.15.4 2.0.0 + 2.0.8 @@ -91,7 +93,7 @@ org.apache.logging.log4j log4j-core - 2.15.0 + ${log4j2.version} log4j-api @@ -102,7 +104,7 @@ org.apache.logging.log4j log4j-jul - 2.15.0 + ${log4j2.version} log4j-api @@ -113,7 +115,7 @@ org.apache.logging.log4j log4j-slf4j-impl - 2.15.0 + ${log4j2.version} log4j-core @@ -128,7 +130,7 @@ org.apache.logging.log4j log4j-api - 2.15.0 + ${log4j2.version} diff --git a/orange-demo-flowable/orange-demo-flowable-service/zz-resource/db-scripts/zzdemo-online.sql b/orange-demo-flowable/orange-demo-flowable-service/zz-resource/db-scripts/zzdemo-online.sql index bc7556fd..e7df2be4 100644 --- a/orange-demo-flowable/orange-demo-flowable-service/zz-resource/db-scripts/zzdemo-online.sql +++ b/orange-demo-flowable/orange-demo-flowable-service/zz-resource/db-scripts/zzdemo-online.sql @@ -11,7 +11,7 @@ Target Server Version : 80027 File Encoding : 65001 - Date: 16/12/2021 15:03:16 + Date: 31/12/2021 10:54:29 */ SET NAMES utf8mb4; @@ -67,12 +67,22 @@ INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('1d1dbf35-1c51-11ec-94ee-5ef70686b817', 1 INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('1d2ba1e6-1c51-11ec-94ee-5ef70686b817', 1, 'flowSubmit.flowSubmit.png', '1d1dbf34-1c51-11ec-94ee-5ef70686b817', 0x89504E470D0A1A0A0000000D49484452000003D2000001FE0806000000706236BA000041BD4944415478DAEDDD09981C659D3F702EEF83435C595714165DEF733D38D63FB3EB0928A0CB10270104C2722733138EA8180D2CAB1B8D24D3934070552E891C1A578E0824DD4DC20DE18620E10A2127444208920448EAFFFE6AA6673B93999C93648ECFE779DE67BAABAA8FA97EBBDEFAF6FB56D5565B010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000BD4CED15576C7BCAC8F2CE6B5D30CBB61E5498F8F6CADD13C796DF6AED010000D0E7349E53FC878642F9AAB8DDD0543AABA150FA5375696C2A7F3D9FD75CAE696C2AFDBEF2B8FA42F19E863193F71A7AFEA4ED870F2F6F674D020000D0EB9D36B6BC4B7D73E96B0DCDA529839BCA1F4BC1B918F787144A9FAC9413CEBD69C796205DBA3085E983E3F690A6D2FE0D85E28CB4FC35A92C49F3F6B136010000E8F5EA0BA52352B92D85E185F5CDE5098D85D2E42185F29E0DA3CABB4539654CF17DB15C0CE34EC1F981FA31E56FD43795C6A6E51FCD97193379AF08DFD6240000007D46F5D0EE08D229305FD9D2FB9C4AA1F45C3EBDB95C9F02F723D10B5D5F28FE479AFE627D73E9DA08E011A45399634D020000D027E443BA9B4B4FE4C743A7201DC1BA322F8E836E09DBD7ED946E9F9CE6FF2CEEA765EFCAFF3697A654DF070000805E2D05E1610D85F2AD31BC3B866FB7F448977E9DFE364549B7E7C772830AC53DD232F31A0BC5FF6E6C2E35A6E9F7472F76FA3BABF5EF4C6B130000803E6195B376C730EDE6724DFDE8D207A30C6E9AF281983EB8A9B8774353F9A4FAD1933F1197C06ADF037D72F394DDD3F25FB036010000E8F5EA9B26BDB7FA18E9C642F1F343C64ED9B5521A469577681C5B7E7F0AD83FCE4F4CD6541C1D43BE63B877E53952C83E23CD1B6C6D020000D0AB0D294CF97443A1745F84E496409C5F47FA7FAB4B7DA17C5C437371BF14B60744A86E5DEEFB69DE1D9561E1E9F6F893C64C7E87350A0000000000000000000000000000000000000000000000000000000000000000006BF19DEF7C2753942D597C0B0100801E17A4AD05D43F0000004106F50F0000409041FD030000106450FF000000041950FF0000004106D43F00004090B11650FF0000000419D43F0000004106F50F0000409041FD030000106440FD030000041950FF00000041C65A40FD0300001064E8E666CC9871ECC89123B3DADADADDAD0D000040908635C8B2ECAD8B172F5EBA70E1C26CE0C081D75B23000080200D6BF0F8E38F5F9BB52A954ACFD5D5D51D6AAD000000823474E0A9A79EDA77C58A15951C9DAD5CB972C5B061C316D4D6D66E6FED00000082345449B979DB050B163C9BB513D3060C18709E3504000008D25065C68C19A3B24E8C1F3FFE857EFDFAED692D010000DD2934972338AFA594AD29368579F3E6EDB66CD9B2159D05E9D75E7BEDE5C183074FAFA9A9D9CEDA020000BA4B90AE5987205D634DB129CC9A35EBA16C2DA64F9F3EBFAEAEEE746B0B0000E84E61BAAC379ACDADB6B676DB7BEEB967F9DA82F4F3CF3F7F53AA87CFC5F2D61A0000D05D82748DDE68B68461C386FDD7F2E5CB5F5D438E7EB1B1B1B1A4471A0000E88E61BAAC379ACD2D8E7DBEFCF2CBE77496A2A74D9B7661AA87F73B461A0000E88E41BA466F345BC251471DB5F7CC99335F691FA257AC5871EF800103663B6B370000D09DC374596F345BC2881123AE5C99549FB03BA6A57A78AEB503000074E7205DA3379A2DA1B6B676FB4993262DA9A4E879F3E65D96EAE0EC986EED000000DD3D4CE7BDD2D6049B5B7D7DFD118B162D7A65E1C285D9D1471FFD605D5DDDA1D60A0000D01382748D20CD96326EDCB8BB478E1C192322265A1B0000D0076459F6FA279F7CF28ADB6EBBED9562B1984D9A34A9479608D23DF5BDA7F5BE72EAD4A9734BA5D241EA5FCFFBFC264C9890D7BFF8ABFE0100401F9042CC9569273A5BB06041B674E9D26CF9F2E5CA662EB1DE63FDDF78E38D8B53B03940FDEB7965EEDCB9EA1F0000F415D113183BD102ED962FF3E6CD5B9882CC9DEA9FA2FE0100403716C369F544779F9EC1146496A97F8AFA070000DD581C232944749F129F87FAA7A87F0000D00B82CC4B2FCCCB9EBCEB82ECE1C967E5256EC734E1439051FFD43F000010A4DB95258BE6640F5D3F2CBBFFDAD35629312DE60920828CFAA7FE0100802053559E79F8AAD5424CA5CC7EF86A01449051FFD43F00001064AACB23E5119D06999827800832EA9FFA070000824C557968D2F04E834CCC13400419F54FFD0300004146901164D43FF50F0000D8B020136749EE2CC8C43C01449051FFD43F00001064AACA63B78CE934C8C43C01449051FFD43F00001064AACA5FE73C903D74C38F571F569BA6C53C01449051FFD43F00001064DA95A7A65DBC5A908969C28720A3FEA97FACB7375B050000BD3DC82C5B963D76EB79AB0FAB4DD3629E0022C8A87FEA1FEB6CDF5416B4FE0500A0370699258BE664336E69EEF418D59817CB0821828CFAA7FEB1CE21FA54611A00A037069965CBB2798F95B207AFFB41A721A65262995856EFA020A3FEA97FAC3544EFDBC97D00007A7290595B2FA0DE414146FD53FFD8A810BDB6E90000F4B420B32EBD806BEA1D14480419F54FFD639DC3B2300D00D01B82CC8686984A11480419F54FFD63BD42B2300D00D0D3838C22C8A87FEA1F9B2D440BD3006C90238F3C7287EF7CE73B87F4EBD7AF90FE1653792A959753C95AFFC6FD62EBFC4362796B8D4E2D5EBC78A7ABAEBAEAAC3163C6DC7FE699672E1C3A74E8D2134E38616554A8E38F3FFED5534F3DF5C533CE3863D659679D75F569A79DF6F5F490AD056901429051FF94EE55FF1AC796DFDF78CEAD6FEA23215A9866CBCAB2AD4F3DEFFABF5BEBF7327D276BAFB862DBEA69830A13DFBEA6EFEAB1E74F7B5D94CEE6378C2AEFE60380F5535757F795946D26A4B2BC3534AF6B89E527C4E3AD45DADC71C71DC78F1E3D7ACE71C71D97A5F09C5D79E595D9DD77DF9D3DF1C413D95FFFFAD72CC4DFB81FD363FEE9A79FBE72E0C081CB53A0BEBE7FFFFEFF28482B828CFAA7FE75AD13C796DF5A5F28FD794D25968965D3EDC18DCDC5EF4569682E4E6F28942E6ABB5F2836F4F2102D4CB3C5B47E4F6FCBC37273A9317DF7FE5455CE6D0BBD4DC5D10D4DE563F2DB85625DC3A8291F6E682A9DD5D854FC567A5CFFFAD1C5FFB76A489EFAF769B907A2B40FEAC32F28BF715061EA3BD3F33F34A830F9238DE75CB75363A1DC5CDF5C9E5029E9B987B47FAFF11AE931E33A0CE585E2FF74BAAD692A9DD359D06F3F6DF8F0E1DB74B4ECFA4E874D10A0F74A41F8F6F50CCF9D95DBE3F9ACD53EEC81071ED8FFDC73CF9D7BECB1C7667FF8C31FB2E79E7B2E5B1FB17C3C2E05EA571A1B1BAF48156A67414611A4D53FF5AF6B9C70EE4D3B363497EE6D6C9EF2F18E4ACC8B655A76824B07B4ECC4A71DEFE6F2C17929941E4BF74F88797D20440BD36C76A78D2DEF92BE87FBC4F7AE714CE9A329145F32A4A9B47FFDE8D207F3A09C826E4B58BCE2F5E9F6B3F123577DA1784F6353E9A074FFF296205DFE4E4C3F6564B96D1F2A4695A4F90F3614CA874489C7D4374D7A6F5B206E2E0F4CF3EF48C1FC8614A0AF48EFE189FC316326EF9596BF33C2F5C9CD37BCBBFDFB6D2C94F68DC0DCD1FF928F64A96C5B9A8AA746E0AEDC1F5428EED17EF9F83FD3F34D6E9B90655BC70F07A9CC4CEF6162FC10B041D3A18B1D79E4916FECD7AFDFD8147E57B60FC40D0D0DD9A5975EBAC60EC4981FCB7510A657C6F3C6F35BCB7D48AA1FDB4E9C38F1AA08D0175D7451B664C9926C63C4E3E37952457AF9B0C30E3B5890510469F54FFDEBA2205D28DD1C3D4BB1C3BC6AC977746F8E65D24EF9A1F98E74A1F4649A362B6EB796D995DBB1B3DE0742B430CD669502ED61E9FB35257DEF1647A08D207D4A73F94351EA0BA5D3E2BBDAB25CE9DF5380FD63E571D1A39CCF6F2EFF3C7D9707A5EFF0B1C38797B78BC09D42F30FE3F9E231F5A327BF2B2FCDE57E69DA0BE9F9CE185498F8863C6037954644801FDC54FA5204DAD826A4BFD3D2727F4DE5A62185F29E2D217EF836117ADB07E978AE63CFBFFACD1D86EAD8A6A490DFD1BCBC07BEA9744E7A8D2CDE7F657A7ABE93D2B4EBE2F5D263BFDFD85CAEDF90E9D09552D8DDB5AEAEEEFEEA00DCBF7FFFECFCF3CFCF66CF9EBD5E7927968FC7C5E3DB05EAFBE275ACEDBE11A277B8E4924B669C74D249D9934F3E9975A578BE14CE970E1C38F04C414611A4D53FF5AF6B8274F47A450FD7AA65F2BB2A413ADF296DE9FDFA6DDA49BEA0BAC48E7DF44EF5A1102D4CB359AD32B4BB3548470F6E0CD7AE1CFFDCFAC3D7C5A95C9FC2EC2F1B9B8BC7A7DBF7A5C0FAFB28E9F6D30D638A9F490179403E04BCB9F49378AEBCD7B950BE336ED737957F1A01364275F45EA779F7A7E76A4AE5E1FA31E56FA4C79C9F96F997F4BA27A6F7F3A398D6129E277FB1D273BC4A908EC33F52806FD97E947738B979CAEE9592C2FCC969FE98EA69B14CEB8F07035B427CE9E608F4AD3B975BB7FC9837F98BAD3F1C1C183F2CACF774E84229407F289539D5A177C48811D933CF3CB35179271E1FCFD32E4C3F13AF67ADF7F2105D281416FDF0873FCC162D5A946D0AF1BC43870E7DF988238EB85890510469F54FFDDBF8207DFA889BDF96FECE4D3BAD57B594743BEDD4AE12A49B8BFF960FFF2C14475697B4CCDD31AF8F8568619ACD66C8D829BBC677328E4BCEC36FCB390AFE92CA3529D0CEAB5E36C2731E68F3205DBC32026B6B68BD2B82741E2A47973E58E9D54EA17A787ABEB32BF7A3B43C4FB12E7A70D3E3E6A7DB33F26D440AD269DA67631B11BDDDFF17A44B4D117EDB07E9FAD1933F57197ADE1AC42FAC2AD1CB7EFF2AD3DA1D2292EE3F33A8507E4FDCCEDF6BA1F474DBBCA6D290F45A3F5BDFE96A135DA5B5277A4E752FF455575DD5A599279EAF5DEFF4337AA67B6F88DEF6924B2E792C4274ECF46D4AF1FCA79E7AEA0B03060C384390510469F54FFDDBB8201D67F64D3BC753AB7660CB9579D5413AEDECDE9E7646CFAC2E798F56F70CD2D52137AE00F1DDAD36FE4A101D3D8F30CD26535F280F4DA514BDC2D1331D41BAB150FC6A0CB98E137B3536957E9587EDA6C9FF9A1F075C28BD147FF31FB99A4B8508B679B88DC3355A8374F4F6E63DCF51D273E7251F4A5D1E158F6BD906948FCC7BAA53988EC336A2473C827984DDE869AE04E938AE3A3FC4A3B537B9FD31D2B17D18DC54DCBBFDFFB5A6A1DD2102747AEC9CB6E50BC56FC60F07D5DBA8788EF59DAE46D115E298E5EAE1DC471D755476EFBDF76E92CC13CF1BCF5F3DCCDB31D3BD501C137DF2C9276FB29EE88E7AA68F39E6981753853A5090510469F54FFDDBD8209DF73CB50ED92ECD6F1FA4E3ACDD0DCDE59A384B777E06EF42A96970D3940FA410BD5F1CC7D9CD43F4AFE3F7DED6BF1B1AA6D7F43CC2349B4C4743BB53F01D9BF7528F9EFC89EA6557ED912EDDDF127EF300FC742548E7C70C174A37C619B1F3E59A8A835A4F567677E52CD979682F946E8930DE12D08B0D11EAF31EECA6F249295C7FB7E52468A55FC450EFFF0BBCED827453F1F0184ABEBE413A9F5F28FDA1ED078596C07E7BFEDED336A7727B7DA7AB4D7485D6138BB5F5446FAA105D1DA6AB7BA6E3F57D0ABD48FA800F88138B75F531D1EB72CCF461871DB6A8B6B6F69D828C2248AB7FEADF8605E97C87378672579538C6308672E7CBE4C756966E8AE3326387F4D49F5FFF96FAA6F279F563267F253FDE32EDB0C730CE6E18A2C3775BC36FB61161BA3A4457CA116B795DE81271E9A9EA20DD3A64FAF2BC273805DB388958CB72B7BE290FCC79F82D5E1001B92A60FF21BEC71194F3EF782CD3543E26863CB7F67A1F1797B78A7995301DDB8638B6388EA78E20DD32ACBBF4682C1B97DE6AB944D6C4375407D4F8512D8ED1AEDC6FB94EF5EA271C8BF01D235A3AFB9FA3773CBDEEE9AB3C26DE5FA13823027FF57919D6773A6C8CD64B5CADA884DAABAFBE7AB3649E789DAA5EE9152E8DD58BC425AEE2ACDA5BC279E79D373755A826414611A4D53FF56FFD0C3D7FD2F6D543BAAB76BA63F8E64311A42350A71DD22F474F53ECB0C759705B8679A69DECF437CED63BA450FA645C16A71B86E8CE42F0FA84E98E1EFFAB4E1E2F4CD3B521BA79CAC7D3F7EC910896ADDFCD8B53B8BDB6A517397D1F9BCB3F8FCBD2B5FE18B65B0CF58EB369C731CB959EE218E21CC754C7F73D4E16966E17D754E2BBDEFAB8EBA2F739EFFD4EA1360269655E7A4F475407E1C65193FF31DE67941856DDF9FF9387F13BE2D25BEDAF6BBD2E2AD7B5DFD8E9B0A1AAAF131D2704DB9CDA9D80EC769F462F70C71D771C1FBDD12FBEF8E21609D2F1BA871F7EF8E2FEFDFBFFA320A308D2EA9FFAD767AD29C46E68985E9F102D4C03F462871E7AE897AB87746FECD9B937E46CDED543BCE3FDF8547AB8D1A347CF99306142B6255D7CF1C54FA40A75BE20A30832EA9FFA2744AF47285E5398DE90102D4C03F452296B4CA884D8B8DEF39610AF5BD52B3DC1A7D283BDF8E28BEF38FEF8E3B3679F7D768B06E9F4FAAFF5EFDF7F416F3B91842023C8A87FCABAD6BF3E7C229DF509ADEB1AA63726440BD300BD4CCA193BA6E0BABC126237776F7475AF7455905E1EEFCBA7D3435D73CD35670E1D3A34EB0E8E39E69899A942EDDD437ED12AA75223C808D2EA9FB2B1F56FFEFCF9BBCF9A35EBA17BEEB967F98F7EF4A39FD4D4D46CD75BEB641785D5B585E9AE08D1C234402F6A83D2FC432A01B6A1A1618B669E78FDAA307D884FB0876A6E6E7EF0CA2BAFEC16417ADCB871F7A5CAF4DF3DE40B5BA9FC6BFCE20A3282B4FAA77456FFD2666FDB1933668C5AB66CD98ACA76302DF7EAE5975F3EE7A8A38EDABB37D6C92E0CA99D85E96DBA30440BD300BDA40D4AD39B2BCBFDF6B7BFDDA299275EBFEA3D37FB047BA833CF3C73E1DD77DFDD2D82F4D4A9531FE8D7AFDF553DEC0BBBC62FAE202348AB7F4A47F5EFA9A79EDA77C182059D1E533373E6CC57468C1871656D6DEDF6BDA94E767138ED284C3FDAC5215A9806E8056D505D5D5DA9327FDAB4695B34F3C4EB57DE4BBC2F9F600F75FAE9A72FDDDCD78EEECCA38F3E1A43BBEFEAA15FD80EBFB8828C20ADFE29D5F52F79DBE38F3F7EED8A152BD6BA4D5C99A4C72C696C6CFC6E6FA9939B20947614A6BB3A440BD3003DBC0D4A7F6755A66FE9EC13AF5FF51E67F9047BA8E38F3F7EE5F3CF3FDF2D82F45FFFFAD725A932CDE9E15FD855BEB8828C20ADFE299572DB6DB7658B172F5EBABEDBC6458B16BD326EDCB8BB6B6B6B77EFE975721385D118CEDDBE27FAD1D6E95D4D9806E8996DD0DF2AF7B774F689D7AFEA917ED127D8431D7EF8E1D9ABAFBEDA2D82747A1F2FAEC317A147954D1D64962D5B96FDE52F7FC9962C59B2D665E34BDBD172F1F8975E7AA9C3C73CFDF4D3ABDCBFFFFEFBBBE47DC7B5C353A0D8EC41A6B7D5AFCD5DFFE6CE9D9B3DF2C823EBB4ECF4E9D3B3A54B97AED3B2B367CFCEAF1CB0A93EF7050B16E421B6B3F9CF3DF75CF6F0C30FE7B767CE9C99BDF0C20BF97B5FD7EFD6BAAEBB912347660B172E5CEF6D633C261EDBD3EB636D6D6DF6C637BE3142EEA95DD88CADA9477A5DAE33BD214EED6BDB12455194DE54B674F689D7AF7A3FAF49A43DD471C71DF76A77E9914E3BB38FF7821EE9CD3AB4360269EC3096CBE5EC8F7FFC63F6F18F7F7C95F2C52F7EB16DD9F459E7D362A73C42C3A04183621440FEF82953A664C71E7B6C76C30D37AC12A2DFF296B764BFFCE52FF3FB575F7D75B6F5D65B67F7DC73CF2AEF218EF378FFFBDFDF61193B766C87EF7BDF7DF7CDBEFAD5AF761AE0F54877AFFA376FDEBCECA69B6ECA0E3EF8E0BC0EC5ED28C3860DCB3EF2918FB4954B2EB9245F3E2EEDF0E637BF39FBC94F7E92D7B5AF7CE52BAB955826968DE14D3BEEB863F64FFFF44F79DDDC6BAFBD5679CE28CDCDCDF9B23FFFF9CF579B575D2AA1375EF3A73FFD695B39E08003B26DB6D9263BFBECB35799FED8638FE5CB5F7AE9A5D93BDFF9CEFCF6F6DB6F9F5D7EF9E5D99C3973F2EF46D4EFAEAA7F13264C88AB13DC502A959E5BB972E58A75D82CBE96D6FD65471F7DF483E9739DD8437BA4DB0FEDDED4C3BA1FDDC4615A8F34400F6C83A2E7578F345DEA94534E79B1BB1C233D7DFAF4693DF818E9CD7EB2A7E82DFBDFFFFDDF7C6731024604835D76D9250F0551E2FAE0FFF00FFF902F1B81F96D6F7B5BDBCEE5E0C183F3F0D2D4D494DFFFAFFFFAAF6CBBEDB6CB1E7AE8A17CF96BAFBD363F357F84930818713B824E3C7FDC8E505DDD9B17671FBCF0C20B5729EF7EF7BBF3E7EDE8BDDF7AEBAD79D03AEDB4D304E91E50FF2EBEF8E28E7AFBB2238E3822FB977FF997BCFEC5FDABAEBA2A6F1C62F91FFFF8C779EFE31D77DCB14A788DCBEDC5B28F3EFA68DEEB1B3FAA7CE10B5FC8BEF4A52F65071D7450FED85FFFFAD779FD881F77E27625CC9E7AEAA9793D8CC05E5DBEFFFDEFE7CF193F2CC572712582A8CF5FFFFAD73B2DB1FCC48913B3279E78223BFDF4D3B31D76D8212B168B9B344857EA5F6A340F1D366CD882359D6C6CC58A15F7C6C9C6D2E73A3B96EF2D75B20BC3686797B8EAE8ACDD5D15A68568801EDA0639469A2EF7C31FFEF099EE72D6EEC99327177BE059BBB7D8E5872294C4CE7FEC2846483EF0C003B30F7CE003F9BC9FFDEC6779CFDEE73FFFF9FCFEB9E79E9BF7C8C5FB89E1D9B366CDCA4E3AE9A42C7DFEF9E34F3CF1C4AC7FFFFE79E08EE52398BCE73DEFC9A71F76D861F93203060CC8EF47408EF9D5EFE5431FFA508741ABB3201DE517BFF845DEE31DC37A05E9EE5FFF226C9E75D659F9E104FFF66FFF9607DCA38F3E3AAF1F51DFE20797BFFDED6FF98F31F1D9472371DF7DF7ADF63C8F3FFE785B908E1EEBA8BBF1DC31A262A79D76CA3EF8C10F66EF7DEF7BF365E239E376E5FF8820BD55C743785709D2D75F7F7DF6D18F7E347BEAA9A7F212C3BA637E4CAF4CFBE4273F99DD72CB2DD9A851A3B237BCE10DF9688BA8C711A42FBAE8A27C9978CCF0E1C3F3EFD2030F3CD0A5F52FCEC69DBE53E78D1F3FFE85D75E7BEDE5AA4DE18B29BC5F98E6CD4E9FEDB93DF0ACDDEB7AF9ABAEBEF455F589C5D6769D69211AA07706E94EDB2067EDA6CBA59DC4ABBBCB75A4CF3EFBEC093DE83AD2EBB4B3B8398776FFE637BF690BD2119C2374446F60DC1F326448B6EDB6DB661FFEF087F372C51557E48F8BF010013B4ADCAFBCDF08CA1162BEFDED6F675FFBDAD7F279F137EEFFDDDFFD5D5B908EE1DF517FA2073A5EBFBAFCFDDFFF7D1EBE637E1C77DAFEBDC730E178DEE8E116A4BB77FD9B3163467E68C06EBBED967F9EF1B98D1B372E0FD1513EF1894F64279C7042BE6C2548B73FBEBEA3201D3DD95157A2973A868CC7FB8D5EE8CF7DEE7379B88E1F5B5EFFFAD7B78D80883A1D3FE4C4A108B7DF7EFB2A2546397CF6B39FCD7EF7BBDFB50DD75E53E88EE7AEBCA7F643BB637E1C16117FE3C79E18DD11EB6053D4BF7EFDFAED595F5F3F3D99FFFCF3CFDF94BEABD1D0DF1FD37B639DEC8270BAB610BDD52608D34234400F6F835C479A2E977660BF967658577687738DF5EFDFFF815499F6EE4DEB777305E9E821FCE637BF9987E577BDEB5D6D2586625796BDF3CE3BF3E1AEDFFBDEF7F29EC278DCFFFCCFFFE4C7BA964AA5D582740CA18DB0F1831FFC209F178F8BFB31BD12A4FFFCE73F67BBEFBE7BDE7B1D7F23E4C4B2D18B18F7A3A72FFE560F058F1227AC8AF01E0125968970254877DFFA178702741446E358E7BABABAFCC79908DAEB1BA4E3A45EF1A34FD4ABE80D8E63A18F39E6987C74450C198F9EEE181E5EA93F175C7041FEE34F67E138427004EA4A388E1EEE18711343B8637EFC0810F7F7D8638FD582F4DBDFFEF6FC18E6788E3896FAE69B6FCE1F13BDD69BBAFED5D4D46C97D6E3E969FBF75CFC8DFB7DA89AAE4F485DD710DD95615A8806E81D61FB904A788D4E9C2DA9BEBE7E6555903EC4A7D3430D1F3E7C9BB4E3BA3CCE98BB25CD9E3DFB965491E6C5FB1164D6AD9C77DE79794F60EC1C46E8885EBDE8058EE34DFBF5EB979D7CF2C96DC748C790D67DF6D9270FAF71DC7304D8AD5A87CE46088EE5DA07E91872BBE79E7BE6436063DEA73EF5A9FC7E048DEAA1DD31C4FCD39FFE743E9437424C2C1BC3B5E3D7B6D7BDEE7579D86EFFDEE3F5E3B9E2F63FFFF33FE73DD78274F7AD7F319CFBFCF3CFCF436FA544B8AD0CED8E910FD1731C870CAC4F908EE5A35E45891F7D2224475D88201DF538CE545D09D2D1231CA136CE0B10BDCE9512F5EC631FFB581E7EA3AE557E9459D71EE9381EBA52C7F7DB6FBFCD728CF49AB6C77DB4295A97B0BABE21BA2BC2B4100DD04BF4EFDF7FC794359657026C9CF4744B88D7AD0AD1CBE37DF9747AB0D34E3BEDFAE889D992FEF33FFF737CAA4CE70B32EB5EE28CD88D8D8DAB0DED8E634DA347B8A6A6261FD25DE9258C6341A3C73A86CEC650EC785C1CA37AD96597E561A43A4847EFF5AF7EF5ABBC4450DEAAF578E7CAB4EA701167748ED78A30143D93B16C0CD38D105DDDEB5729D13B18E1280251A5573B027E0CCF15A4BB6FFD8BBAB3EBAEBBE63DC7716C7E84CE4A908EF9714CF2881123D62B48572E93153FE4C58F41F17CF103D0FEFBEF9F0FA98EB3C85782749CD86C4DC1B8528E3AEAA8B6201D27D48B7A1527418B79E3C78FCFEF57F748FFE94F7FCABEFCE52F673BEFBC73A767EDEEAAB3CBF7B5FAD785617A4343F4C68469211AA0974959634225C44607C19610AF5B15A427F8547AFE2F34FF3870E0C0576298F096B068D1A23B53457A36DE8720B3F1C74847EF61E5E45F77DD75D72ACBBFE94D6FCA43450CAD8EF9D193173D7F7152B24A908E701D41A9522A67FB8EBFD5D363B978CEF9F3E7B7859C08575BB51E5FFA8E77BC230F33F17EAA2FFF1343B9E3D257D5EF2B824CF4487674722A41BAFB04E9EBAEBB2EBF1D61B712A4E3ACDB713C737CDE1140D73748EFBDF7DEF9C88818861DE1357EF0893378473D891EE7183E1E6136EA7A9C0C2F7EC8891392451D8EFB51FFE2F9E28799B85F39E1D8C61C23DD3E481F7AE8A11DFE28A4FE6DB630FDDD8D08D16B0AD34708D1007D476ACFBF5C09B17192DDCDDD2B1DAF575757D736AC3BDE8F4FA517686C6CBC22CE54BB25A4D7BE3C55A6264166FD4A5C33B772AC732548C7B59BE338D308CC31FD5BDFFA561E082ABDD21186E218E7E83D8CF97136E3458B166553A74ECDEFC7E57FE2B25A71F9AB4A89E012F3E27AD2D5D363A86D1C5B1D01245E37FED7E841DCAA7568777D7D7DDED31C413DAEEB1BA1287AA963D86E25EC545F422B869E47AF60F4860BD2DD3348C7B1F831F43A826C25481F72C821D9BFFEEBBFE6C3F523C8AE29482F58B0A0ED525A9521D87122BAA893717C7D5C8A2AEA64FC20143FAE44DD89D78A21E095E78800FEBEF7BD2F5F269E2F1EBF55EB19B9AB5F2B9E27466C446F725C2FBAF2C352DC8F511693274F6EFB21E8CC33CFCCEB71CC8FFF334657C4A5B8E23163C68CC95F2B2E15A7FE6DB1305D1D82372444AFCFF308D100BD58CA1CB757826C8CA4DB9CE2F5AA7AA36FF769F412B5B5B5EF3CF2C8235FDEDCD7559B366D5A0CE97E365E5F9059BF1281337608E3244973E7CECD83741CEB1CC749C709C2E278D238D1578484CA99973FF399CFE4C79D56C24E848D380372DC8E93932D5CB8B0C3EB55C7FCF8DB7E5E5C4A6BD0A041F949A3CE38E38C7CB90844955EE80826114862F8770C658910F6F2CB2F77F8FF44A08FF014215D90EE9E41FA1BDFF8461E98E38798F643BB2B654D413AAEF91CF32AC7C7574A04E5184511C75EC7B0EBF8B125A645BD8EC305E2B25BED7BB5E3B9E20467F17CF1034D84F0CEDE7B256CDF7BEFBDABCDABFC50143F3AC510F2386740FC8FF1A35265A446D4E9F83148FDDBE261FA88AD36FE7AD06B7A1E211AA097ABABABDB2B658F1595401B6DFFE610AF5315A257C4FBF069F4226987F8E0B463BA3402CDE6F0ECB3CF4E4915E9E9540E146436EC0450F1C3C7E2C58BDB7A75A3B72E8E37AD2C133D84D543ABAB1F1B41277AE7E2760496B80670673DDF715C69FC5DD3FB89D77FF0C107F340BCB92E6725C86CBEFA17E1B55207A21737EA4CFC40127FDBD797A8071DD5BBA54B97B65DABBCA3C3142ABDD6ED7BB13B7B4F31DA22CEC2BDA665A244DD8E1F9E3AAAC3F11D88FFA3F2BD683F3FBE5F1D4D57FFB64898EE4DAF07C016D2AF5FBFB1D543BCE387F64D299EBF7A4877BCBE4FA1171A3870E09943870E7D3976FA36A5B4633A3D55DCBB52A5FABE20A308D2EA9FFAC7160CB74234401F72E49147BE3105DAFB2AC1364E54BAA9C2743C6F7ABD1555BDD1F7C5EBFB147AA9238E38E2E2534F3DF5854DD533FDECB3CFDE18213A55A45F09328A20A3FEA97F6CC1902B4403F4412987EC9ACA33D53DD37142DEAE14CF57DD13DDFA7ABB5AFBBDDC800103CE183870E08B5D7DCC74EB31D1B37A7B4FB42023C8A87F8A20DDEDC3AE100DD087A53CF2A1EA305D3901D9C69ECD3B1EDFEEC46279888ED7B3D6FBCE2F35071E76D8618BCE3BEFBCB9716CE1C678E18517EE683D3BF7B3BDF9986841469051FF14F5AF478469211A804ACFF47DD5A1377AA7E324B971159AF511CBC7E3DAF54267ADCFAF27BA0FFE52B3735C9AEAF0C30F5F7CE185173EF1DC73CFBDBA1EF5E9D53973E6DC72E699678E6F0DD04DF17C828C22C8A87FEA1F5B30FC0AD100B48963965B4F40D63E00670D0D0DD9A5975E9A9FDC34AE1012274D0DF137EEC7F4985F5F5FBFDA63E3F9E2791D13DDC7F5EFDFFF1F5365383F05E167FFE33FFEE3E971E3C6DD3B75EAD4071E7DF4D1590B172E7C29D5A725CF3EFBEC930F3FFCF0B4B4B338E9ECB3CF9E901EF3407ACCFC785C3CBE2FAE3741469051FF1441BA5B8569211A800EB55E1AEBF60E02F18694DB5DE28AF6B63EF4D043F74915E3A7FDFAF5BB2A55923BAB8E2D88BF77C6F4981FCB6DB5F1D7FC1464144146FD53FFE88A302C4403B02E81FA2B29D34C4865F97A86E7587E423CDE5A0441469051FF14F5AF378469211A80F572E49147EE9082F121FDFAF52BA4BFC5549E4AA57229AB975BEF175BE71F12CB5B6B20C80832EA9FA2FEF596302D4403B0D15258AEA9EA7DAEB14640901164D43F45FDEBAD615A8806A0AB8274B92A4897AD1110640419F54F51FF7A639816A201E8AA105DD3C131D135D60C0832828CFAA7A87FBD294C0BD1007465902E7710A4F54A832023C8A87F8AFAD76BC2F4A94234005D18A26BD670A6EE1A6B0804194146FD53D4BF1E1FA663C7468806A00B8374790D415AAF340832828CFAA7A87FBD6287C77A06A0ABDA949A75B87E748D3505828C20A3FE29EA9F200D005BADB5375AAF340832828CFAA7A87F823400686740905104699FBBFA67070700B43320C828828CFAA7FE61070700ED0C08328A20A3FEA97FD8C101403B030832828CFAA708D2767000D0CE00828C20A3FE29EA9F1D1C00B433802023C8A87F8AFA67070700B43320C82882B4CF5DFDB3830300DA191064144146FD53FFB083038076067AAD62B1B872E9D2A542443728E973989B82CC32F54F51FFECE000807606BAB1A953A7CE5DB0608120D10DCAD34F3F7D590A3277AA7F8AFA67070700B433D08D954AA5836EBCF1C6C5F3E6CD5BA867708BF504CE9B3973E6F8146266A57280FAA7A87F767000403B03DD5CEC3C474F542ACBE318C99E562EBEF8E22C36183DF1BDB796E5ADEBFF00F56F52A6A87F767000403B036CFA8D45D90603B0830300DA1960DD361435B1B1682D35D60860070700ED0CC09A3714E5AA205DB646003B38006867003ADF4854F746EB9506ECE000A09DD1CE006BD948943B08D27AA5013B38006867003AD84074D41BAD571AB08303807606A0930D44790D415AAF3460070700ED0C40D5C6614DBDD17AA5013B3800686700DA6D1CCAEB10A4F54A03767000D0CE00D86000B65700A09D016C3000DB2B00D0CE00361800B657006867001B0C00DB2B00B433800D0680ED1500DA19C00603C0F60A00ED0C800D06607B0500DA19C00603B0BD0200ED0C608301607B05807606B0C100B0BD02403B03D86000D85ED1376459F6FA279F7CF28ADB6EBBED9562B1984D9A3449D9CC25ADF79553A74E9D5B2A950E5223D1CE00361800B657747329445F99425CB660C1826CE9D2A5D9F2E5CB95CD5C62BDC7FABFF1C61B17A7607D805A897606B0C100B0BDA21B8B9EE8087102ED962FF3E6CD5B9882F49D6A25DA19C00603C0F68A6E2C8673EB89EE3E3DD329482F532BD1CE00361800B6577463718CAE10DB7D4A7C1E6A25DA19C00603C0F68A5E10A45F7A615EF6E45D17640F4F3E2B2F713BA609BF8234DA19C00603C0F60A41BA5D59B2684EF6D0F5C3B2FBAF3D6D9512D3629E002C48A39D016C30006CAF10A4ABCA330F5FB55A88AE94D90F5F2D000BD26867001B0C00DB2B04E9EAF2487944A7413AE609C08234DA19C00603C0F60A41BAAA3C346978A7413AE609C08234DA19C00603C0F60A415A9016A4D1CE00361800B657B061413ACED2DD59908E7902B0208D7606B0C100B0BD4290AE2A8FDD32A6D3201DF30460411AED0C608301D0B7B75759B6F5A9E75DFF776B5BACF19C5BDF547BC515DB564F1B5498F8F698DED9638E3D7FDAEBA27436BF615479B7F579ABF17A43CF9FB4BD5AB46983F45FE73C903D74C38F571FD69DA6C53C015890463B03D86000F4E9EDD58963CB6FAD2F946ECBC37273A9B1A150FA535539B72DF43615473734958FC96F178A750DA3A67CB8A1A974566353F15BE971FDEB4717FFDFAA2179EADFA7E51E88D23EA80FBFA0FCC64185A9EF4CCFFFD0A0C2E48F349E73DD4E8D8572737D737942A5A4E71ED2FEBDA6F739B8BE503CB9C3505E28FE4F9AFFE70E4B53E99CCE827EFB69C3870FDFA6A365D7777A4F0ED2519E9A76F16A413AA609BF8234DA19C00603A04F6FAF4E1B5BDEA5A1B9B44F84DDC631A58FA6507CC990A6D2FEF5A34B1FCC83720ABA2D61F18AD7A7DBCF363417A7A7207B4F6353E9A074FFF296205DFE4E4C3F656479E7CAF3368E2DBF3FCD7FB0A1503E244A3CA6BE69D27BDB02717379609A7F470AE637A4007D457A0F4FE48F193379AFB4FC9D11AE4F6EBEE1DDEDDF6F63A1F483C6E6E2511DFD2FF1F8C6E6291F8F9242FFA9E9F9C755EE0F2A14F768BF7CFC9FE9F926B74DC8B2ADE387835466A6F730317E08D8A0E9BD21482F5B963D76EB79AB0FEB4ED3629E002C48A39D016C3000FAECF62A05DAC352889D92C2E0E208B411A44F692E7F284A7DA1745A04DD96E54AFF9EC2F61F2B8F8B1EE57C7E73F9E729B40E4AC1FAD8E1C3CBDB45E04EA1F987F17CF198FAD193DF9597E672BF34ED85F47C670C2A4C7C431EB09B4A2322C00F6E2A7D29026D84DFF4775A5AEEAFA9DC34A450DE33C27763A1F8D54A89F09EDEE77F564F3B654CF17DAB85EAA6D2A111F23BFA9FF31EF8A6D239E9B9B278FF95E9E9BD9D94A65D173DCCE9B1DF6F6C2ED76FC8F49E1EA4972C9A93CDB8A5B9D363A4635E2C23040BD26867001B0C803EBBBD5A6568776B908E1EDC18AE5D39FEB9B587F7E254AE4F61F7978DCDC5E3D3EDFB5260FD7D9474FBE98631C5CFA4803C201F02DE5CFA493C57DEEB5C28DF19B7EB9BCA3F8D001BA13A7AAFD3BCFBD37335A5F270FD98F237D263CE4FCBFC4B7ADD13D3FBF9514C6B2C4CFE621EB82B2585ECB4FC93D5D3E2310DA3CA3B9CDC3C65F74A89E1DF69D931D5D36299D61F0F06B63ED7CD11E8F39510BDCBD12B9E5EAFF5878303E38785F59EDE9383F4B265D9BCC74AD983D7FDA0D3105D29B14C2CAB775A90463B03D86000F4C9EDD590B153764DA1726E1C979C87DFE6E2F474FF2FA95C9302EDBCEA65233CE7813B0FD2C52B23B0B686D6BB2248E7A17274E983955EED14AA87A7E73BBB723F4ACBF314EBA207373D6E7EBA3DE3F41137BF2D82749AF6D9146EAF8ADEEE08D2ABBCCFC2944FA7E51F4FF36F8D61DCD5F35A83F88555257AD9EF5F655AA17440BBFFE5994185F27BE276FE5E0BA5A7DBE6359586A4C0FEB3F59DDE5383F4DA7AA1F54E0BD26867001B0C00DBAB4A002D9487A6528A5EE1E8998E20DD3284BAF8409C3CACB1A9F4AB3CC4364DFED7FC38E042E9A5F89BC2F3C8144E0BE971FB468921E09520DDD24B5C3A272FE9B9F3920FA52E8F8AC7B584D8F291794F750AD3718C75F48847308FB09BCA451D05E9FC58EA1458E398EE08FD6BFABFD634B43B44804EAF33E7FF9EBBF8CDF8E1A02A6497E339D6777A4F0DD2EBD20BBDA6DE69815890463B03D86000F4A9ED554743BB53F01D9BF7528F9EFC89EA6557ED912EDDDF127EF300FC742548E7C70C174A37C619B1F3E59A8A835A4F567677E52CD979682F946E8930DE12D08B0D11EAF31EECA6F249295C7F3702F3FF05E3F27722AC562EBFD512F84B3FD8D0209DCF2F94FED0F68342D3A4F7A6D7BB3D7FEFCDC5FD2AB7D7777A4F0DD21B1AA22B452016A4D1CE003618007D6A7B15979EAA0ED2293C7F2E3F237773697604DB388958CB72B7BE290FCC79F82D5E1001B92A60FF21827404E53816395FA6A97C4CF420B7F67A1F1797B78A7995301DC728C7B1C5713C7504E99661DDA54763D9B8F4569CD02C7FBE96D79B517D56EC3C98B70CD7BEECD8F3AF7EF36AFF5373E9C414B4CFECEC7F8EDEF1F4F8D357794CBCBF789D14F8E3ACE11B3ABD2706694590463B03D86000D85EAD6B886E9EF2F114A21F8960D91A6E2F4EE1F6DA965EE4F2767156EBB8B6743E6F5479B718EA9D9F4DBBB93C30C26AEB63AE8963AA879E3F69FBFCC45F8552714D258682B73EEEBAE87DCE7BBF53A88D405A9997DED31111845BA7FFFAD49F5FFF960E0371BBB365B786F13BE2D25BEDAF6BBD2EA2A7BC2BA60BD28A20BD89B75D71B9BBD6932162BF18B0C1006CAFA896655B5B0982B420DD7BB51E5AF2E73595CA0F56E9F6E0C6E6E2F7A2B49E14F1A2B6FB8562836FB77606B0C1006CAF409016A47BBD13CEBD69C786E6D2BD313AA6A312F3629958364E46182364E264880DCDE583F352283D96EE9FD0FEACFCDA19ED0C608301D85E81202D48F7DE201DD7748F33F2C7D9FF5729F9F5EB6F8E65F21304E6D76E2F3D99A6CD8ADBAD6576E5769C94D0375C3B03D86000B65720480BD27D22489F36B6BC4B5C837ED532F95D95201DCB368C9AF2E174FFB7F9C90EAB4A9C24B1279DF04F3B03D86000D85E21482B82F44607E9D347DCFCB6B8E45E43A17C554B49B7E30A00D541BAB9F86FF585E23D713DFAEA12272A8C79BEDDDA19C00603B0BD02415A90EE33417A5061E2DB53809E5A991ED78DAFCCAB0ED271CDF638A37F75C9CFD42F486B67001B0CC0F60A046941BAEF05E9D2FCFF1BB25D9ADF3E48C759BB1B9ACB357196EEFC0CDE8552D3E0A6291F48217ABFFAE6F261BEDDDA19C00603B0BD02415A90EE33413A6EE743B9AB4A5CFE2E8672E7CB8C297E262D77D3A042718FE8958E6BCBD73795CFAB1F33F92B0D4DC5D169DEFDF5A3277FCE375C3B03D86000B65720480BD2BDDAD0F3276D5F3DA4BB222E6795CA4311A423503716CA5F6E2C94F61D3EBCBC5D9A7E5D7DA1745B04F0F83BA4A9B4FF9042E9930D6326EFE51BAE9D016C3000DB2B10A40569D0CE00361800B65708D28A208D7606B0C100B0BD4290563641901E3E7CF8366A2DDA19C00603B0BDB2BD62D3D4AB722A358274EF08D2F3E7CFDF7DD6AC590FDD73CF3DCB7FF4A31FFDA4A6A6663BB51CED0C608301D85E4117D7ABD6B2C6402D4877EF209D65D9B63366CC18B56CD9B21559ABB4DCAB975F7EF99CA38E3A6A6F351DED0C608301D85E41D707E935066A41BAFB06E9A79E7A6ADF050B163C9B7562E6CC99AF8C1831E2CADADADAEDD578B433800D06607B055D1FA43B0CD48274F70BD2C9DB1E7FFCF16B57AC5891ADCDCA243D66496363E377D57AB433800D06607B059B2648AF12A805E9EE556EBBEDB66CF1E2C54BB3F5B468D1A257C68D1B77776D6DEDEE6A3FDA19C00603107814651396CD15A41F79E49155EEDF79E79DD9B265CB565BEEA9A79EDAA4EF63C182057958ED6CFE73CF3D973DFCF0C3F9ED993367662FBCF042B674E9D2EC2F7FF94BB664C9924DFADEE6CE9D9B8D1C39325BB870E1FAE6E8FC31F158755AE9AC686D01411A0036FC079ACD3EB4FBEAABAFCE5EF7BAD7B505D89B6EBA29DAE8ECFAEBAF5F65B9071F7C30DB7AEBADF3F9175C7041F699CF7C66953262C4887CB90913266483070F6E2BC71D775CF6918F7C64B5F2C4134FE4A1F8A73FFD695B39E08003B26DB6D9263BFBECB35799FED8638FE5CF7DE9A59766EF7CE73BF3DBDB6FBF7D76F9E5976773E6CCC9DFEFB469D336F9BA8AFFED98638EB9A1542A3DB772E5CA15EB90A15F9B376FDE65471F7DF483E9739DA8471A00411A00BA2E486F91938DCD9F3F3F0FC51FF8C007F2301CB73FF7B9CF65EF7DEF7BF3DB31BFB2ECA04183B2CF7EF6B3F9ED3BEEB8231B3D7A745E0E3FFCF03CC8FEF297BFCCE7FDE637BFC9F6DC73CF6CBBEDB6CB0E3DF4D0ECAB5FFD6AF6A52F7D290FD53BECB0433E3F968F5EF02BAFBC325FEEEB5FFF7AA725969D3871621EBC4F3FFDF4FC398AC5E21609D295938DD5D5D51D3A6CD8B0056B3AD9D88A152BEE8D938DA5CF75762CAFD60320480340D704E92D7AF9AB089F1142F7D8638FECC31FFE705B89605D1D4E6308F58E3BEE98FDFEF7BFCF3EFFF9CF67975D76593EFDAEBBEECA76DA69A7ECD39FFEF42A43C12FBEF8E2EC6D6F7B5B7EFBBBDFFD6EB6DB6EBBE58F7BFDEB5F9F7DF39BDF6C0BD2D1EBFDD18F7E341F321E257AC5B76AED0DAF4CFBE4273F99DD72CB2DD9A851A3B237BCE10D79AFF8873EF4A13C485F74D145F932F198E1C387677BEDB557F6C0030F6C96B376C7D9B8070C1870DEF8F1E35F78EDB5D75EAECAD02FA6F576619A373B7DB6E73A6B3700823400744D3BB8C600BDB983F4D34F3FBDCAF4B85F1DA4BFF7BDEFE5F73FF5A94FE501368EA13EFEF8E3F3601BA176DB6DB7CD860E1D9AFDED6F7FCB66CF9E9DFDE0073FC8DEFCE63767A552293BE28823B22F7CE10B595D5D5D1EAE23F056827465B876DCEFACFCE217BF687B5FED8776C7FC2F7EF18BF9DFB7BCE52DF97B9A3163C666BB8E74E8D7AFDF9EF5F5F5D393F9CF3FFFFC4D43860C29A5CFF6FE98AEA603204803C066B6B982F409279C909D76DA696D25026975908EF79102623E2D8E858EA1DBD1CBFCBBDFFD2E9F3F7EFCF83C3847E83DEFBCF35609C2871D7658DEAB1CC73FBFE94D6FCA4E3EF9E4D58274F46ADF7DF7DDF910EE981743BEE37EF494B70FD26F7FFBDBF363952348C7B1D437DF7C73FE98E8B5DE9CD791AE565353B35D5D5DDDE969FFE6B9F81BF7D55E00046900E88541FAF1C71FCF0E3CF0C0B612C740EFBFFFFE6DF7AB7B77FBF7EF9FF73EC7B1D34D4D4D79D8AEAFAF6F2B871C7248DBF0EEEAA1DD11AC234CEFB3CF3ED91BDFF8C6FC769438B6797D7AA4E378E808E4316DBFFDF6DBA2C7487766F8F0E1DBA8B50008D200D08B83749CBCEBAAABAECA836DB95CCE7B7B2B270D8BA1DA471E79647EFB57BFFA555BB0FDD8C73E968D193326FBC637BE911F1B1DC72CC7ED6F7FFBDBAB1C231D3DD4D75C734D76C9259764679D755676F0C107676F7DEB5BF3DB511E7DF4D1B6201DC75FDF7EFBEDF97B89D7881EEEB85FDD23FDA73FFD29FBF297BF9CEDBCF3CE9D9EB5FBA5975EDAA2411A00046900E8C5413A7A9B2304DF70C30DF9DF3FFEF18FF9B0EB7DF7DD37BBF0C20BF3DB7146ED3899D7F4E9D3F36971B6EE08B6956B39FFF6B7BFCDC371F5F3C6B0ECCA71CBEF78C73BB2534E39250FC011C0E36463713B4A1C67BDB1C748B70FD27196F0EAE505690004690010A4BBACC409C176DD75D77C3876E56461F17A37DE78637EE6EEC6C6C66C975D76C94F0E16D79A8E801DD7788EB36C474F765CDF394E2016E1B872BDE7384E79DCB871F9B0EF38DE79EEDCB9790F7794E8DDAEF47847993C7972FE3EE24CDDF15AD19B1CD78B8E501C67038FFBF19C95E5E2525C679E79661EA4637EBCE738F9D941071D943F267AC9E36CE331EC5C900640900600417A939C682C8E778EDBFDFAF5CB7BA5B76AED058EB01A67DCBEEFBEFBF2401BBDBC279E78623EDC3A96AFADADCD8FA76E5FE27254D5AFF197BFFC251F9EDD5189E3AADBBFA7993367E6AF7FEFBDF7AE36AF32BCFC5BDFFA561EECDFF39EF7E4813DAE291D97D68A79EF7EF7BBDB7ACB05690004690010A4376959BA7469F6F2CB2FE76573BD66FB1297CF8A21DF4B962C596D5E04FA79F3E6E5B7ABAF595D298B172FEE70BA200D80200D0082B4B2858A200D80200D0082B42248032048038020AD08D20008D20020482B82340082B4B5000082B4200D0082340008D282340008D20020482B82340082340008D28A200D80200D0082B42248032048038020AD08D20008D2D6020008D282340008D20020480BD2002048038020AD08D20008D20020482B82340082340008D28A200D80200D0082B422480320485B0B0020480BD20020480380202D480380200D0082B42248032048038020AD08D20008D20020482B82340082340008D28A200D80206D2D0080202D480380200D0082B4200D0082340008D28A200D80200D00DD5CB1585CB974E95221B61B94F439CC4D417A995A0980200D00DDD8D4A953E72E58B04090ED06E5E9A79FBE2C05E93BD54A00046900E8C64AA5D24137DE78E3E279F3E62DECC93DD373E7CEEDC93DD1F366CE9C393E85E859A91CA05602204803403717E12D7A4253591EC7E8F6B472DB6DB76523478ECC264C9890F5C4F7DFBADEEF14A20110A401804D2ECBB2B72E5EBC78E9C2850BB38103075E6F8D0080200D00ACC1E38F3F7E6DD6AA542A3D57575777A8B50200823400D081A79E7A6ADF152B56547274B672E5CA15C3860D5B505B5BBBBDB503008234005025E5E66D172C58F06CD64E4C1B3060C079D6100008D20040951933668CCA3A317EFCF817FAF5EBB7A7B5040082340090CC9B376FB765CB96ADE82C48BFF6DA6B2F0F1E3C787A4D4DCD76D6160008D200D0E7CD9A35EBA16C2DA64F9F3EBFAEAEEE746B0B00046900E8D36A6B6BB7BDE79E7B96AF2D483FFFFCF337A57D81E762796B0D00046900E8D3860D1BF65FCB972F7F750D39FAC5C6C6C6921E690010A40180248E7DBEFCF2CBE77496A2A74D9B7661DA0FB8DF31D20020480300AD8E3AEAA8BD67CE9CF94AFB10BD62C58A7B070C1830DB59BB0140900600DA193162C4952B93EA1376C7B4B40F70AEB50300823400D04E6D6DEDF693264D5A5249D1F3E6CDBB2CB5FFB363BAB50300823400D081FAFAFA23162D5AF4CAC2850BB3A38F3EFAC1BABABA43AD150010A401803518376EDCDD23478ECC52DB3FD1DA0000411A00588BDADADADDA3DD8FBFD6060008D20080761F0034A80080761F0034A80080761F0034A80080761F0034A80080761F00D0A00280761F00D0A00200DA7D00D0A00200DA7D00D0A00200DA7D00D0A00200DA7D00D0A00200DA7D0040830A00DA7D0040830A0068F70140830A0068F70140830A0068F70140830A7417B5575CB1ED2923CB3BAF75C12CDB7A5061E2DB2B774F1C5B7EABB507DA7D0040830A7D4EE339C57F682894AF8ADB0D4DA5B31A0AA53F5597C6A6F2D7F379CDE59AC6A6D2EF2B8FAB2F14EF69183379AFA1E74FDA7EF8F0F276D62468F701000D2AF47AA78D2DEF52DF5CFA5A437369CAE0A6F2C752702EC6FD2185D2272BE584736FDAB12548972E4C61FAE0B83DA4A9B47F43A138232D7F4D2A4BD2BC7DAC4DD0EE03001A54E8F5EA0BA52352B92D85E185F5CDE5098D85D2E42185F29E0DA3CABB4539654CF17DB15C0CE34EC1F981FA31E56FD43795C6A6E51FCD97193379AF08DFD62468F701000D2AF419D543BB2348A7C07C654BEF732A85D273F9F4E6727D0ADC8F442F747DA1F81F69FA8BF5CDA56B238047904E658E3509DA7D0040830A7D423EA4BBB9F4447E3C740AD211AC2BF3E238E896B07DDD4EE9F6C969FECFE27E5AF6AEFC6F73694AF57D40BB0F006850A1574B41785843A17C6B0CEF8EE1DB2D3DD2A55FA7BF4D51D2EDF9B1DCA042718FB4CCBCC642F1BF1B9B4B8D69FAFDD18B9DFECE6AFD3BD3DA04ED3E00A041853E6195B376C730EDE6724DFDE8D207A30C6E9AF281983EB8A9B8774353F9A4FAD1933F1197C06ADF037D72F394DDD3F25FB03641BB0F006850A1D7AB6F9AF4DEEA63A41B0BC5CF0F193B65D74A691855DEA1716CF9FD2960FF383F31595371740CF98EE1DE95E74821FB8C346FB0B509DA7D0040830ABDDA90C2944F37144AF745486E09C4F975A4FFB7BAD417CAC7353417F74B617B4084EAD6E5BE9FE6DD5119169E6E8F3F69CCE47758A3A0DD070034A800A0DD070034A80080761F0034A80080761F0034A80080761F0034A80080761F0034A80080761F00D0A00280761F00D0A00200DA7D00D8AC0DAAA2288AA2287DA7D8FB010000000000000000000000000000000000000000000000000000000000000000000072FF1FDE68C4B57D09750D0000000049454E44AE426082, 1); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('4b5df4c4-5e3c-11ec-8bee-f20bcee4e113', 1, 'flowContract.bpmn', '4b5dcdb3-5e3c-11ec-8bee-f20bcee4e113', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E222069643D226469616772616D5F666C6F77436F6E747261637422207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C70726F636573732069643D22666C6F77436F6E747261637422206E616D653D22E59088E5908CE5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C666C6F7761626C653A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E557064617465466C6F775374617475734C697374656E6572223E3C2F666C6F7761626C653A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C73746172744576656E742069643D224576656E745F3170736D697364223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D2241637469766974795F306E796C61317222206E616D653D22E59088E5908CE5BD95E585A52220666C6F7761626C653A61737369676E65653D22247B7374617274557365724E616D657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839363537313222206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F303063657865612220736F757263655265663D224576656E745F3170736D69736422207461726765745265663D2241637469766974795F306E796C613172223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3175637268353222206E616D653D22E4B89AE58AA1E983A8E9A286E5AFBCE5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F666C6F7761626C653A7461736B4C697374656E65723E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839373234353522206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30346B63616A632220736F757263655265663D2241637469766974795F306E796C61317222207461726765745265663D2241637469766974795F31756372683532223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30323666766E712220736F757263655265663D2241637469766974795F3175637268353222207461726765745265663D22476174657761795F30396364787466223E3C2F73657175656E6365466C6F773E0A202020203C706172616C6C656C476174657761792069643D22476174657761795F30396364787466223E3C2F706172616C6C656C476174657761793E0A202020203C757365725461736B2069643D2241637469766974795F3133386D346E6E22206E616D653D22E5B7A5E7A88BE983A8E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303936333639383436303938373339322220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353139343939313937323335322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839373831303122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A7573657243616E64696461746547726F75707320747970653D2244455054222076616C75653D2231343430393633363938343630393837333932223E3C2F666C6F7761626C653A7573657243616E64696461746547726F7570733E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F307A7A307539672220736F757263655265663D22476174657761795F3039636478746622207461726765745265663D2241637469766974795F3133386D346E6E223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F30746D336D706822206E616D653D22E980A0E4BBB7E983A8E5AEA1E689B92220666C6F7761626C653A61737369676E65653D2261646D696E2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353139343939313937323335322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839383233373722206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F317978716265302220736F757263655265663D22476174657761795F3039636478746622207461726765745265663D2241637469766974795F30746D336D7068223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F31323465387A332220736F757263655265663D2241637469766974795F3133386D346E6E22207461726765745265663D22476174657761795F306F79366F666C223E3C2F73657175656E6365466C6F773E0A202020203C706172616C6C656C476174657761792069643D22476174657761795F306F79366F666C223E3C2F706172616C6C656C476174657761793E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3175766A3364732220736F757263655265663D2241637469766974795F30746D336D706822207461726765745265663D22476174657761795F306F79366F666C223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3179757579696522206E616D653D22E8B4A2E58AA1E983A8E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303936343531393339313133373739322220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353132373739303833333636342671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383930333738313422206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383930343234383922206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A64657074506F73744C6973743E0A202020202020202020203C666C6F7761626C653A64657074506F73742069643D2264657074506F73745F5F313434303936343531393339313133373739322220747970653D2264657074506F7374222064657074506F737449643D2231343430393634353139333931313337373932223E3C2F666C6F7761626C653A64657074506F73743E0A20202020202020203C2F666C6F7761626C653A64657074506F73744C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F316B79686E6C7A2220736F757263655265663D22476174657761795F306F79366F666C22207461726765745265663D2241637469766974795F31797575796965223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3039386E63767722206E616D653D22E6B395E58AA1E983A8E4BC9AE7ADBE2220666C6F7761626C653A61737369676E65653D22247B61737369676E65657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353030313039333439323733362671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383931393036363222206C6162656C3D22E5908CE6848F2220747970653D226D756C74695F6167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383931393734303622206C6162656C3D22E68B92E7BB9D2220747970653D226D756C74695F726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D2266616C73652220666C6F7761626C653A636F6C6C656374696F6E3D2261737369676E65654C6973742220666C6F7761626C653A656C656D656E745661726961626C653D2261737369676E6565223E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B6E724F66496E7374616E636573203D3D206E724F66436F6D706C65746564496E7374616E6365737D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3064693671613622206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3179757579696522207461726765745265663D2241637469766974795F31656577743031223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C6578636C7573697665476174657761792069643D22476174657761795F316D356672757A223E3C2F6578636C7573697665476174657761793E0A202020203C73657175656E6365466C6F772069643D22466C6F775F306A7976317A622220736F757263655265663D2241637469766974795F3039386E63767722207461726765745265663D22476174657761795F316D356672757A223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F316833706E787922206E616D653D22E680BBE7BB8FE79086E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303931313431303538313231333431362220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383934343935303822206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383934353238353022206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A7573657243616E64696461746547726F75707320747970653D2244455054222076616C75653D2231343430393131343130353831323133343136223E3C2F666C6F7761626C653A7573657243616E64696461746547726F7570733E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F31663879786F7622206E616D653D22E5908CE6848FE4BABAE695B0E5A4A7E4BA8E3430252220736F757263655265663D22476174657761795F316D356672757A22207461726765745265663D2241637469766974795F316833706E7879223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6D756C74694167726565436F756E74202F206D756C74694E756D4F66496E7374616E636573203E20302E347D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C656E644576656E742069643D224576656E745F3132616A6F3364223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D22466C6F775F31613371636C6D22206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F316833706E787922207461726765745265663D224576656E745F3132616A6F3364223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F306C6C6F79353622206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3179757579696522207461726765745265663D2241637469766974795F306E796C613172223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3165657774303122206E616D653D22E6B395E58AA1E983A8E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303936343338373937393339393136382220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353030313039333439323733362671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A64657074506F73744C6973743E0A202020202020202020203C666C6F7761626C653A64657074506F73742069643D2264657074506F73745F5F313434303936343338373937393339393136382220747970653D2264657074506F7374222064657074506F737449643D2231343430393634333837393739333939313638223E3C2F666C6F7761626C653A64657074506F73743E0A20202020202020203C2F666C6F7761626C653A64657074506F73744C6973743E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383933333730323422206C6162656C3D22E4BC9AE7ADBE2220747970653D226D756C74695F7369676E222073686F774F726465723D223022206D756C74695369676E41737369676E65653D227B2671756F743B61737369676E6565547970652671756F743B3A2671756F743B444550545F47524F55502671756F743B2C2671756F743B61737369676E65654C6973742671756F743B3A2671756F743B313434303936333634323534323532363436342671756F743B7D223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383933343139303122206C6162656C3D22E58AA0E7ADBE2220747970653D226D756C74695F636F6E7369676E222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F307A6D736E33782220736F757263655265663D2241637469766974795F3165657774303122207461726765745265663D2241637469766974795F3039386E637677223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3176737269766222206E616D653D22E5908CE6848FE4BABAE695B0E5B08FE4BA8E3430252220736F757263655265663D22476174657761795F316D356672757A22207461726765745265663D2241637469766974795F306E796C613172223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6D756C74694167726565436F756E74202F206D756C74694E756D4F66496E7374616E636573203C3D20302E347D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F316D323430366622206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F316833706E787922207461726765745265663D2241637469766974795F306E796C613172223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F77436F6E7472616374223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F77436F6E7472616374222069643D2242504D4E506C616E655F666C6F77436F6E7472616374223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3170736D697364222069643D2242504D4E53686170655F4576656E745F3170736D697364223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D2239322E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F306E796C613172222069643D2242504D4E53686170655F41637469766974795F306E796C613172223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223138302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31756372683532222069643D2242504D4E53686170655F41637469766974795F31756372683532223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223334302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F30396364787466222069643D2242504D4E53686170655F476174657761795F30396364787466223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223530352E302220793D223330352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3133386D346E6E222069643D2242504D4E53686170655F41637469766974795F3133386D346E6E223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223636302E302220793D223136302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30746D336D7068222069643D2242504D4E53686170655F41637469766974795F30746D336D7068223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223636302E302220793D223339302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F306F79366F666C222069643D2242504D4E53686170655F476174657761795F306F79366F666C223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223835352E302220793D223330352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31797575796965222069643D2242504D4E53686170655F41637469766974795F31797575796965223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313030302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3039386E637677222069643D2242504D4E53686170655F41637469766974795F3039386E637677223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313336302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F316D356672757A222069643D2242504D4E53686170655F476174657761795F316D356672757A223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D22313531352E302220793D223330352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F316833706E7879222069643D2242504D4E53686170655F41637469766974795F316833706E7879223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313637302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3132616A6F3364222069643D2242504D4E53686170655F4576656E745F3132616A6F3364223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D22313836322E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31656577743031222069643D2242504D4E53686170655F41637469766974795F31656577743031223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313139302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316D3234303666222069643D2242504D4E456467655F466C6F775F316D3234303666223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313732302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313732302E302220793D223534302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223534302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223935342E302220793D223532322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31767372697662222069643D2242504D4E456467655F466C6F775F31767372697662223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313534302E302220793D223330352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313534302E302220793D223133302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223133302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2238392E302220783D223834312E302220793D223131322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F307A6D736E3378222069643D2242504D4E456467655F466C6F775F307A6D736E3378223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313239302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313336302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306C6C6F793536222069643D2242504D4E456467655F466C6F775F306C6C6F793536223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313035302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313035302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223632392E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31613371636C6D222069643D2242504D4E456467655F466C6F775F31613371636C6D223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313737302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313836322E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D22313830352E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31663879786F76222069643D2242504D4E456467655F466C6F775F31663879786F76223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313536352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313637302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2238392E302220783D22313537332E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306A7976317A62222069643D2242504D4E456467655F466C6F775F306A7976317A62223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313436302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313531352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30646936716136222069643D2242504D4E456467655F466C6F775F30646936716136223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313130302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313139302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D22313133342E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316B79686E6C7A222069643D2242504D4E456467655F466C6F775F316B79686E6C7A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223930352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313030302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3175766A336473222069643D2242504D4E456467655F466C6F775F3175766A336473223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223736302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223335352E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31323465387A33222069643D2242504D4E456467655F466C6F775F31323465387A33223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223736302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223330352E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31797871626530222069643D2242504D4E456467655F466C6F775F31797871626530223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223335352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223636302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F307A7A30753967222069643D2242504D4E456467655F466C6F775F307A7A30753967223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223330352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223636302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30323666766E71222069643D2242504D4E456467655F466C6F775F30323666766E71223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223434302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223530352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30346B63616A63222069643D2242504D4E456467655F466C6F775F30346B63616A63223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223238302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223334302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30306365786561222069643D2242504D4E456467655F466C6F775F30306365786561223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223132382E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E, 0); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('4b724015-5e3c-11ec-8bee-f20bcee4e113', 1, 'flowContract.flowContract.png', '4b5dcdb3-5e3c-11ec-8bee-f20bcee4e113', 0x89504E470D0A1A0A0000000D4948445200000774000002260806000000AB78BB7100006ED44944415478DAECDD0B985565B93870342B352B2BAD4E595A596A76D28AFA5B995179CA4AD34C1B46B41043139199ADA2696A4896D784D91B35538FE5FD929713DE99BDB7808845A92964A5874C218EA061E2854A5BFFF52E664D9B61060698813D33BFDFF37C0FB3F75EB3F69E99976FBDDF7AD7F7AD4183000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A04E8D1B376EC3E609D59D0B932A3B76D6E2B5FDAFBDF6151DBFAF50AA1C30A6A5F2B955ED7F4C4BF9134D132BFFAFE3F347166F7D753C5F28963FD6D452DD35DAA1174CDEB4B9586E1E774975E3AEF67754B1BA4BF3A4D68F77F65AE1DCEAB647165BDF7F74A9BA7D6D8BE7D2F7DACE5F1B000000000000E8538E39EB8ED734172B8F3797CAA776D60AC5CADCE609D5CD63DBE652E5878562F5DAA662E5E1F47BAEFFF7D7E5EB9A5BCA133BDB7F53B17A5CA15419D5F1F9AC905CAC94D3D70F4BF7737473B17A4F1479D3E77EB3B2CF5B2895BFDDDC523DA2F3D72AA3D2CF588CCF129F2DDDD76F977D5D6949FF3DA6BBBF93F86C1D9F8BCFB6E273D5AD0EBDE0D7AF144500000000000040AF682BA256A3B0DA5CAC4E58AEB5948F696EA9DE39EADCEA6631D3B6B9A5727C53B13236DD7E7EFC1BC5DAF4EB27B3E74A95639B269677EBB8FFE662F9C2741FDFEDF8FC512D952FA5DF7B53A1589991FE3B3BDE27FDFA84F4EB479A5A2A57A4FFDE515B848D19BCD9BFC5F2C828EA8E1B77EDABD2ED3FDDD5CF159F370AB92BFBD98FBB60CAEBD3F779A0A9546DC89E48920DD2C7E7A5EDB1F4E7BFB579C2B4FF58F69E9531E9CFF1607CD67CB67253A9F285F8CC9DCD5E06000000000000E8117941F7C8E2B42D8F39FF8E37776C7941375E2F145B3FD554AC9C1C85DDDA963D57AA7CB26962EB5B3AEE3FDDF7F4A652F9AACEDEBB502CEFD55C2CFF315A53B17C62CCD28DC2721449A3A09B6F17EF9F3E7E28BEFE7741379BE13B3B8AB0F17C1478B3A59AE3711466D3CF13B375F3C7F173D6CEB28D6DD3F79B96EE23195D9AFAAEECB3B6548F481FDF9EED3BFDB90AA56A53DBBEE615CEB9FD8DE96B53C6B4543F30A665EA7B6326F111935ADF2482000000000000805E931774E3EB65B3552BB7448B19A9CB0A9BCB0ABAF1FA9896CA4762E66AA1A572686D8BE26BA134F53F3BEE3B0AB34DC5F27D51088D826BED6BE9FE1BB319BAA5CAA8F4FDBED2D4523D2D7BDC52B928EEAD1B337BDBB72D95BFD8D4523927BECE0BBA6D9FF767F92CDDB89F6F1459A3281C2D7D7E4E53B1B2A0E6F1AFD37FF78B6DC78DAB6E947EFD8B74FB8BD3B6307B936585DBFF8DA275F63EE9678A659B0BE7DCB349FAFEBF6B9BCDFB5856E42E567FD534B1F583A207000000000000E8551D0ABAEDB3620BC54A6BF65C4D41B7794275E7749B59D97D6A6B5BB1F29BC2A4CA8E1DF7DD5C2C1F9EBE3629965C8EC26FED6B51805DB69471E5D174BBE6980D7B54B1BA4BBABFA971DFDBA65279FF7FEFA772697BA1B5A6A07B544BEB67E2FEBD9DFD5C5D2EB9BCAC70FBD36C49E952759F424B79723C7D74A9BA7DFA3E7F6E7FCF96CA51E9F79F99FD2E4AE5EF3495AA372C9B515CB9290AC33103387E06F7D0050000000000007ACD7205DD52E5DEE649AD1FCF5AB1322B7BAEA6A07B54B1B2536C134B28175A2A3F8F7FA3C5B61D0BBACD13AA9B178A95B9474F2A6F1D5F37152B0FC7ECD6FCF5A326B5BE2FBBBF6EB1F2A3B86F6DA1583E3DB68DC26EFAF82F79A1B46D79E30762B6703CAE2DE8B63DBEAF6962EB473BFE5C5D1574E37BD3FD3DBBEC3EC195BBA3181DF7FE6D2BD6DEDCFEF9D3DF49FA337E7DB9EF2D56BFDF5C2A9F1AF7DC8D82777CFE6C596600000000000080DED0A1A0FBBF319B366BA5CA49D96CD6DA19BA2DE5230B2DD53D62066DA15839A1A9581E7DF879D3DFD054AC8C8DA593F37D46F1B5D052BE2C66E8E6CF3595AA07C652C5C79C75C76BDA9F5B76DFDC69B13C722C699CBD5FB17279DA9EC897348EA59663F9E39AEF59AEA09BDDD7B7A57245C79FABAB826E14886366EFB2D9BD953FC4CF1485E6A69629EF8C6275B6CC74A9FCC5FCEBFCFBB259B9C5EA2FE2334631BBED7EC26363F6AE28020000000000007AC5B84BAA1BC732C759A1B258DE2B7F3E66E3B6DD33F757875E3079D3C2B9D56D6326EE91C5EA564DC5CA6DA34B77BEADB9A5323E7D7D78A15839257DED7F9A4BD521479D3BF51D719FDDB83F6DECB3F6BDA2489C6E3BE3C862F93DC79E71F76BD3EF3F3EDDEEB74D2DD5F3D37FAF897DC4BE9A2656B68BFBD6165ACA5FCD8BAA8573CA6F8FCF9715788BE591B5FBEDB8EC71A1541D9C7E8661310BB7CB9F3BBB8F6E65497C8EF6EF2B564BCDC5F21F63D6EE91C5D6F7E7CF477179D9CF7EEBEBB2C7C5CAC9E9E3AB63D671FC1E4411000000000000D02B62F66D14323B3E1FF7978DE585F37BDF4681375A7C1D3353B37BE3A62DFDFA07516C3DB2386DCB6C96EBA4F2879B4AD543BA7ABF6CA66BBA4DCC822D942A856C66EEA06CF6EF31F15CBE5D56C04D5FCF1F8F3DB7FAD6749B71514C8DAF57F633C576F1D9A2B0BB26BF8F15F63761EA0E1D0BB7F1BBA82D06030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007562E8D0A189A6699AA6699AA6699AA6699AA6695A4F37675F01007AA8A0EBB70000000000F424E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D01002456000C4049926C3477EEDCEBEEBDF7DE97CBE5723265CA146D1DB7D6D6D664DAB4694FA5ED401109000074C57947000089150003501473A74F9F9E2C5CB830F9FBDFFFAEADA7B668D1A264EAD4A97F6B6D6DDD4F540200009D71DE1100406205C0001433731573EBA6A8FBF72953A63C2C2A010080CE38EF080020B10260008A65961553EBA74D9932E59FA2120000E88CF38E0000122B0006A0B887AB426A5D1574E511000040A79C770400905801300075B7A0FBDC330B92B9B32E49E6B48ECF5A7C1DCF29C22AE8020000EB86F38E0000122B0006A0EE1474972C9E9FCCBEE3A4E4B7B78C5DAEC573F19A42AC822E0000D0FB9C770400905801300075A7A0FBC49C5FAC50CCCDDBBC39931562157401008075C0794700008915000350770ABA0F57CFE8B2A01BAF29C42AE8020000BDCF794700008915000350770ABAB3A78CEBB2A01BAF29C42AE8020000BDCF79470000891500039082AE822E0000D03738EF080020B1026000EA4E41774EEBF82E0BBAF19A42AC822E0000D0FB9C770400905801300075A7A0FBC88C495D1674E3358558055D0000A0F739EF080020B1026000EA4E41F7E9F90F26B3EFFCDE8ACB2DA7CFC56B0AB10ABA000040EF73DE1100406205C000D49D826EB43FFDFAD2150ABAF19C22AC822E0000B06E38EF080020B1026000EA564177E9D2E4917BCE5F71B9E5F4B9784D215641170000E87DCE3B020048AC0018805655D05DB2787EF2C719A52EEFA11BAFC5368AB10ABA000040EF72DE1100406205C000D4654177E9D264C12395E4A1DB4FE8B2989BB7D826B6355B5741170000E83DCE3B020048AC0018803A2BE8AE6A56AED9BA0ABA0000C0BAE7BC230080C40A8001A8B3826E7766E5AE6CB6AEC2AC822E0000D0F39C77040090580130007556D05DD3626EDE146615740100809EE7BC230080C40A8001A8CB7BE86A0ABA0000405D71DE1100406205C000A4A0ABA00B0000F40DCE3B020048AC00188014741574010080BEC179470000891500039082AE822E0000D03738EF080020B102600052D055D0050000FA06E71D01002456000C400ABA0ABA000040DFE0BC230080C40A800148415741170000E81B9C770400905801300029E82AE80200007D83F38E0000122B000620055D055D0000A06F70DE1100406205C000A4A0ABA00B0000F40DCE3B020048AC00188014741574010080BEC179470000891500039082AE822E0000D03738EF080020B102600052D055D0050000FA06E71D01002456000C400ABA0ABA000040DFE0BC230080C40A807EA4B1B1714ADA765DD5760ABA0ABA000040DFE0BC230080C40A807E763C8A1685DD8686865DBADA4E415741170000E83BE33CBF050000891500FDE878D4A1DDD6D98C5D055D055D0000A0EF8CF3FC160000245600F4A3E35167ADE352CC0ABA0ABA000040DF19E7F92D000048AC00E847C7A355B4DB622966055D055D0000A0EF8CF3FC1600002456C000EBAF34ADDE0ABACF3CF34C72D96597252FBCF0C22AB77DFCF1C7930B2FBC3059B46851F6F8E9A79F4E9E7CF2C964E1C285C9FCF9F393254B96ACF03D3366CC485A5A5ABADCE7C30F3F9CDC78E38DD9D7F7DD775F326FDEBC64E9D2A5C92F7FF9CB6CDFBDFDF38BC9FEDF1C7D000070DE1100406205A0BF626505FB590D0D0D7B0E193264A3D8AEB70BBAE79F7F7ED67EFCE31FAFD0E2F9BCB87ADD75D7259FFEF4A793D7BEF6B5C9AB5EF5AA581A3A79FDEB5F9FBCF18D6F6C6F9B6DB65956BC7DF4D14793EBAFBF3E39F3CC33238693F3CE3B2FB9EAAAAB9261C386658FF3367AF4E864E6CC99D9BF4D4D4D59DB7EFBEDB3D7BEFDED6FB73F17AFDF73CF3DED9F77F3CD37CFBEDE7AEBAD931FFEF087D9D7F199AEBCF24A3374D1EF0200209F0400905801E8AFE899BFEFCA0AB9B9DE2EE87EF9CB5F4ED2F74C3EF399CF243BEDB453564CDD65975DB2C7F9F3B1DDAC59B392E6E6E6ECF54AA5925C7AE9A55971F7CE3BEFCC5A1456E3B5C58B1727B7DC724BF2CE77BE332BF2C6F7BFE10D6F4876D8618764FFFDF74F3EF5A94F25B7DE7A6BB6ED25975C92157A37D86083E490430EC9DADE7BEF9D6CB9E59649FABB687F6EC30D374C2EBFFCF264EAD4A9C9C1071F9C158EAFB9E69A64BBEDB64BCE3AEBACECF36DBAE9A6C90D37DC904C9F3E3D79F0C1071574D1EF0200209F0400905801E8AF58BBBF6F5B9BD9D8D8B84FC7426E6E5D2EB97CF3CD376785D63973E6ACF05A1473A3F03AA86D76EDEEBBEF9E3D8ED9B2D1A2C81ACF3FF5D453D9F631C3370AB9B124F2C61B6F9CDC74D34DC9A851A3923DF6D82339E28823920F7EF083D952C9CF3FFF7C72ECB1C76685DFCF7DEE73C9473FFAD16C3F9FFCE427B3C79FFDEC6793EF7CE73BD9F2CCB18FAF7DED6B59F136660E4741F7631FFB58368B379E3BF0C0039357BEF29549A95452D045BF0B00807C1200406205A0BF62ADFEBE9DCEC8EDA85E0ABAB367CF4EC68E1D9BBD1E336D6396ED4F7EF293E4E28B2F6E6F51488DFBD8C652CB1FFAD087924D36D924D979E79DDB0BB431E3375A147FA3889BEFFBB0C30E4BB6D9669BE4B8E38E4BBEF18D6F64DB47F1371EC7F3B1FC72BE6DBCE79BDEF4A6E491471EC90ABAEF7EF7BBB3C2781474E3FBA2586CC965F4BB0000C8270100245600FA2BD6897A29E846FBE217BF98BD1EB360DFF7BEF72D773FDCBC4D9830219B9D1B85D96F7EF39BEDED80030EC866E7468BD9B5316B77EEDCB9D97EA360FBF6B7BF3D19316244F2A52F7D29DB4FC47F3C7EDBDBDED65ED0BDFFFEFBDBEFC31BC5DC8E4B2E7FEB5BDF720F5DF4BB0000C8270100245600FA2BD69D7A29E8C68CDC8D36DA287B3DEE837BF2C92767C5CDA38F3E3ABB576E6B6B6B72DB6DB7258F3EFA68B6FD6EBBED96DD8B376F3123375F72F9C5175F4CDEFAD6B7B61763A360BBD5565B65FFEEBBEFBED97BC4F2C9B5CFC77623478ECC5E8BE2EDDD77DFDDE93D74631967055DF4BB0000C8270100245600FA2BD6897A29E8C652C971FFDA783D3E53DCB73666D54631379E8BC2EB965B6E99DC77DF7DD9F671FFDCBDF6DA2B5B36F9031FF840F2F5AF7FBDBDA01BAF7FF9CB5FCE66F1E605DD6DB7DD3619376E5C72C8218764FB8B42713C7ECF7BDED35ED0FDFDEF7F9F9C7DF6D9D992CBF1B8B382EEA9A79E9A9C74D2490ABAE8770100904F020048AC00F457F4BEDE2CE8DE75D75DD9BD6F7FF6B39F65ED98638EC98AA9710FDCFCB9B8676D7C866BAFBD362BF4C6EB3366CCC89E3BF7DC7393830E3A2879DDEB5E972DB31C4B29CF9B37AFBDA07BF9E597675FC76CDB868686ACA0BBEBAEBB66C5DB58B6F984134EC85E8F226E14693FFFF9CF67B379E33D62866F3C8EE76B9752CEEFA19B17740F3EF8E0AC889B17740B8542563C56D045BF0B00807C1200406205A0BFA2D7F56641378A9F1B6EB861763FDBAE5ABC7ED8618765DB2F5AB4282BB65E79E595D90CDB98B13B78F0E0E4D5AF7E75F6F5DE7BEF9D1575F3826E3CBFD9669B654B3547913566DA4691360AB0B1DD934F3E996D3B7DFAF4A452A9B47F1DEFF1A73FFDA9BD807ACF3DF7645FC7BF5140DE628B2DB219C29B6CB249B2C1061B248D8D8DD9FBECBEFBEEC9D65B6F9D7CF7BBDF55D045BF0B00807C1200406205A0BFA2F7F56641F785175E58E53D67E3F5E79F7F3EFB3A66DF6EBEF9E6C955575D958C1E3D3A193B76EC722D0AC4575C7145B6ED8E3BEE98CDF4AD56ABC9B061C392C30F3F3C9BA11B05DD55CD1A8E19B8BFFBDDEF56782D6613BFEB5DEFCAF675E2892726A79F7E7AFB3D7BE3BDA2C83C62C488E489279E50D045BF0B00807C1200406205A0BFA2F7ADCB7BE86A0ABAFA5DFD2E0000F2490000891580FE8AD5A0A0ABA08B7E170000F9240080C40A407F459D52D055D045BF0B00807C1200406205A0BFA24E29E82AE8A2DF0500403E090020B102D05F51A714741574D1EF0200209F0400905801E8AFA8530ABA0ABAE8770100904F020048AC00F457D429055D055DF4BB0000C8270100245600FA2BEA9482AE822EFA5D0000E4930000122B00FD15754A41574117FD2E0000F2490000891580FE8A3AA5A0ABA08B7E170000F9240080C40A407F459D52D055D045BF0B00807C1200406205A0BFA24E29E82AE8A2DF0500403E090020B102D05F51A714741574D1EF0200209F0400905801E8AFA8530ABA0ABAE8770100904F020048AC00F457D429055D055DF4BB0000C8270100245600FA2BEA9482AE822EFA5D0000E4930000122B00FD15754A41574117FD2E0000F2490000891580FE8A3AA5A0ABA08B7E170000F9240080C40A407F459D52D055D045BF0B00807C1200406205A0BFA24E29E82AE8A2DF0500403E090020B102D05F51A714741574D1EF0200209F0400905801E8AFA8530ABA0ABAE8770100904F020048AC00F457D429055D055DF4BB0000C8270100245600FA2BEA9482AE822EFA5D0000E4930000122B00FD15754A41574117FD2E0000F2490000891580FE8A3AA5A0ABA08B7E170000F9240080C40A407F459D2A97CB0AA9F5D35E9C3265CA3F45A57E170000E4930000122B00FD159969D3A62D58B870A1626A1DB4F9F3E75F3D65CA948745A57E170000E4930000122B00FD15994AA5B2F75D77DDF5CC934F3EF982A2EAFA9B991BC5DCD6D6D63FA76D3F51A9DF050000F9240080C40A407F45BBD6D6D63DA74C99322B96FB8D7BB86AEBBCC5EFFD61C55CFD2E0000C8270100245600FA2B00FD2E0000F2490000891580FE0A00FD2E0000F2490000891580FE0A40BF0B00807C1200008915A0BF0240BF0B00807C1200406205A0BF02D0EF0200807C1200406205E8AF00D0EF0200209F0400905801E8AF00F4BB0000209F0400905801E8AF00F4BB0000C8270100905801FA2B00F4BB0000C8270100245600FA2B00FD2E0000F2490000245680FE0A00FD2E0000F2490000891580FE0A40BF0B0000F2490000891580FE0A40BF0B00807C1200406225B102F45700E8770100904F020048AC00F45700FA5D0000E493000048AC00FD1500FA5D0000E4930000122B00FD15807E170000E4930000122B407FE5B700A0DF0500403E090020B102D05F01E877F5BB0000C8270100245600FA2B00FD2E0000F2490000245680FE0A00FD2E0000F2490000891580FE0A40BF0B00807CD26F0100406205E8AF00D0EF0200209F0400905801E8AF00F4BB0000209F0400905801E8AF00F4BB0000C8270100905801FA2B00F4BB0000C8270100245600FA2B00FD2E0000F2490000245680FE0A00FD2E0000F2490000891580FE0A40BF0B0000F2490000891580FE0A40BF0B00807C1200406205A0BF0240BF0B00807C1200406205A0BF02D0EF0200209F0400406205E8AF00D0EF0200209F0400905801E8AF00F4BB0000209F0400905801FA2B00F4BB0000C8270100245600FA2B00FD2E0000C8270100245600FA2B00FD2E0000F2490000245680FE0A00FD2E0000F2490000891580FE0A40BF0B00807C1200806E25519323915A459BE53705180802A0DF0500403E0900B0EE93A8C169FBE7CA0ABA0D0D0D7BFA4D01068200E8770100904F0200AC9F44EAB6951474670E19326423BF25C0401000FD2E0000F2490080F593480DEEAAA0DBD8D8B88FDF10602008807E170000F92400C0FA4DA63ABB97EE2CB37301034100F4BB0000C8270100D67F32B5C2BD74DD3B1730100440BF0B00807C1200A04E343434DC68762E602008807E170000F92400401D6A6868D8A5E6DEB97BF88D00068200E8770100904F0200D4575295DD4BD7EC5CC0401000FD2E0000F2490080FA4BAA064BAC00034100F4BB0000C82701807E2749928DE6CE9D7BDDBDF7DEFB72B95C4EA64C99D2275B24567DF5B3B7B6B626D3A64D7B2A6D078ABF299AF833100440BF8B7C523E89B817F7E25413A7F249F46B9A7E0D201707A1E9D3A7270B172E4CFEFEF7BF6BEBA92D5AB428993A75EADFD283D27EE24F137F068200E877914FCA2711F7E25E9C6AE2543E897E4DD3AF0164E28A2207A1BA3918FD7DCA94290F8B3F4DFC190802A0DF453E299F44DC8B7B71AA8953F924FA354DBF069089E5211C04EAA7A507A27F8A3F4DFC190802A0DF453E299F44DC8B7B71AA8953F924FA354DBF069089B5E71D00EAEA4094883F4DFC190802A0DF453E299F44DC8B7B71AA8953F924FA354DBF06B05A07A2E79E5990CC9D754932A7757CD6E2EB78CEC1C38148FC893F0C0401EAA88F9D1CFDEC2ADA2CBF29F9A47C523E29EE35712F4EC529C6F1E8D7F46B00FDEA40B464F1FC64F61D2725BFBD65EC722D9E8BD71C401C88C49FF8C34010A04EFAD8C169FBE7CA0ABA0D0D0D7BFA4DC927E593F249712F5EC5BD3815A718C7A35FD3AF01F4AB03D113737EB1C241286FF3E64C76007120127FE20F0341807AEA676F5B494177E690214336F25B924FCA27E593E25EBC8A7B712A4E318E47BFA65F03E85707A287AB677479208AD71C401C88C49FF8C34010A08EFAD9C15D15741B1B1BF7F11B924FCA27E593E25EDC8B7B712A4E318E47BFA65F03E87707A2D953C67579208AD71C401C88C49FF8C34010A0CEFADACEEEA53BCBEC5CF9A47C523E29EEC5BDB817A7E214E378F46BFA35000722CD8148FC893F0C0401D67F5FBBC2BD74DD3B573E299F944F8A7B712FEEC5A938C5381EFD9A7E0DA0DF1E88E6B48EEFF24014AF39803810893FF187812040BD696868B8D1EC5CF9A47C523E29EEC5BDB817A79A38358E47BFA65F03181007A247664CEAF24014AF39803810893FF187812040BD696868D8A5E6DEB97BF88DC827E593F249712FEEC5BD3815A718C7A35FD3AF01F4DB03D1D3F31F4C66DFF9BD159789489F8BD71C401C88C49FF8C34010A04EFBDCEC5EBA66E7CA27E593F249712FEEC5BD3815A718C7A35FD3AF01F4EB0351B43FFDFAD2150E44F19C83870391F8137F180802D4719F3B78DF7DF7D5EFCA27E593F249712FEEC5BD3815A718C7A35FD3AF01F4F303D1D2A5C923F79CBFE23211E973F19A03880391F8137F74DBEE6D03414B7F02ACA37E376DFA5DF9A47C523E29EEC5BDB817A7E214E378F46BFA3580FE7B205AB2787EF2C719A52ED7FE8FD7621B07110722F127FE58A5C1695B9CB652DBBF7BFA9500E877914FCA2711F7E25E9C8A53712A9F44BFA6E9D700D6EC40B47469B2E0914AF2D0ED27747910CA5B6C13DBBACAC88148FC893FBA1433C416A56D78CDE3180CBAC21740BF8B7C523E89B817F7E2549C8A53F924FA354DBF06B07A07A2555D4DE42A230722F127FE582D7B0CEAFC4ADE7C70E80A5F00FD2EF249F924E25EDC8B53712A4EE593E8D734FD1A40F70F44DDB99A6865571939A03810893FF147BB7C79A63D56739008807E17F9A47C12712FEEC5A93815A7F249F46B9A7E0DA0F303D19A1E84F2E680E24024FEC41F992183965DB97BE02AB6331804D0EF229F944F22EEC5BD3815A7E2543E897E4DD3AF0174FF40A43910893FF1C75ACBEFADB34F37B7CF0783EEC503A0DF453E299F44DC8B7B71AA8953F924FA354DBFD6670D1F3E7CF3A14387EE97B652DA66A66D41DA929A168F673634345CD8D8D87860DAB6F05B1B80E6CD9BB7D38D37DE38F1DC73CF9D7DE289272E193D7AF4CBC3860D6B0F94912347FEE3E8A38F7EFA94534E9976F6D9677F3B0DAC8D1D881C001C88C49F2611EA41BB0C5AB37BEAC4E07189C120807E17F9A47C72ED8C1B376EC3E609D59D0B932A3B76D6E2B5FDAFBDF6151DBFAF50AA1C30A6A5F23971AF19478953712A9FACB77CB2B78F6D635ACA9F689A58F97F1D9F3FB278EBABE3F942B1FCB1A696EAAED10EBD60F2A6CDC572F3B84BAA5D9E576F2E55871C5DAA6EDFD96B8573ABDB1E596C7D7FBC5EDBE2B9F4BDB6D3AF697DAD5FEBEFB9E7EA686868D873E8D0A1931B1B1B5FEA50C05D654BBF674ADAF6193264C8460E4BFD5892241BCD9C39F3D862B1B860E4C891C969A79D96DC70C30DC9030F3C90CC9F3F3F79E9A59792DCD34F3F9D3CF8E083C94D37DD944C9A3429193E7CF84B63C78EBD67C488113B49B0350722F127FE584B4306756F79A6AE58B60940BF8B7C523EB9968E39EB8ED734172B8F3797CAA776D60AC5CADCE609D5CD979D70AEFCB050AC5EDB54AC3C9C7ECFF5FFFEBA7C5D734B79A2B8D78CA3C4A938954FD6433ED9DBC7B6A662F5B842A932AAE3F359A1AA5829A7AF1F96EEE7E8E662F59E28F2A6CFFD66659FB7B9A532BEB954ED74B673BC4FFA198BF159E2B3A5FBFAEDB2AF2B2DE9BFC774F777129FADE373F1D9567CAEBAD5A117FCFA95FA35FD9ADCB3F70C1D3A74706363E3BDAB5BC4EDA2CD4AF7E5C2EBFE68EAD4A923264C98B064D4A851C975D75D972C58B020591D8B172FCEFEF31F71C411FF1C3366CC8C3458B691606B0E44E24FFCB11683B8952DCF94D4B4AEECAEB800A0DF453E299F5C736D279AAB71F2B9B9589DB05C6B291FD3DC52BD73D4B9D5CD623652734BE5F8A662656CBAFDFCF8374E68A75F3F993D57AA1CDB34B1BC9BB8D78CA3C4A9381DD0F96477F47A3ED9DBC7B6E662F9C2741FDFEDF8FC512D952FA5DF7B53A1589991FE3B3BDE27FDFA84F4EB479A5A2A57A4FFDE91BDFF84EA36B16DA158DD3D5AF65AFA39F2C7F1DAE8D2D47775DC7F7CDE28E4AEEC673FEE8229AF4FDFE781A652B56159869F6C903E3E2F6D8FA53FFFADCD13A6FD473C9DFE7C63D29FE3C1F8ACF96CC8A652E50BF1993B9B1DA95FD3AFC93DD75ECCA66D6C6C3CADB319B9C71D775C56B39B316346F2F8E38F272FBEF8625693FBC73FFE913DBEF7DE7BB38999279D74525785DDD2405F61B7DF8859B9D75C73CD4323468C48AEBAEAAAF6605853318B3766ED1E74D041FF3CE490438E93606B126CF127FE580DBB0EEADEBD73BA5358C807836BB2DC13807E57BFAB60A029E8B69D543BB2386DCB63CEBFE3CD1D5B7E522D5E2F145B3FD554AC9C1C27D76A5BF65CA9F2C9A689AD6F11F79A71943815A7033A9FECAE5ECD277BFBD896EE7B7A53A97C5567EF5D2896F76A2E96FF18ADA9583E3166E946E12A8AA451D08D6D961566ABDF4FF77F52B442B132277DEDEE7F3FAE7E3F966E1E37EEDA57654B3527C906596136FD3C315B377F1C3F67ED2CDBD8367DBF69E9BE92BC209CFEAC47A48F6FCF660F47D1B8546D6ADBD7BCC239B7BF317D6DCA9896EA07C6B44C7D6FCC243E6252EB9BF46BFA35B967CF1B366CD8561D67E51E74D041C925975CB2DA132F1F7BECB1E4A28B2E8A15753B16751F8AF771C8EAC3D260D8A6542A2D6C6E6ECEFED03D29F65728145E1C3972E4E503A1FAEF40E44024FE3403BC1E1904C6A06DBF6E6CDBDDC2C2A041FFBE52D8122300FA5DE493F2C93538A9D67682FA81A652E59668316B67D9C9DF6527D5969D80AE7C2466F7145A2A87D6B638415D284DFD4F71AF19478953713AE0F3C9D5D16BF9646F1EDBA230DB542CDF1785D028B8D6BE96EEBF319BA15BAA8C4ADFEF2B4D2DD5D3B2C72D958BA2401B337B3BFBBCF1B96246EFB871D5E5EE8519F70B8D226B1485A345E1B7A9585950F3F8D7E9BFD9DF25BE37FDFA17E9F617A76DE1B2EC3E2BDCFE6F14C5E2617CA658B2B670CE3D9B3497CABF6B9BCDFB5856442B567FD534B1F583FA35FD9ADCB3E73536366E7FC00107FCA5B6F81AB7425DB870E15AD5E7E296A9E3C78FEF58D47D62A0ADACDB6F44313796588E69D8B15C726F88D9BE3FF8C10F9E3FE490436EEBEF376076207220127F9A01DE5AC99755EAEE2070750A0BF9FE97282E00E877914FCA27D7F8A4DA1DF9F38562A5357BAEE6A45AF384EACEE936B3B27BF9D5B662E5378549951DC5BD661C254EC5E980CF27D764FF3D9E4FF6E6B1ADB9583E3C7D6D522CB91C85A5DAD7A200BB6C29E3CAA3E976CD311BF6A8627597747F53E37E9F4DA5F2FE1DF777F4A4F2D651884D3FDB99E93607ADECE7EA72C9E56585DB9F664BD696AAFB145ACA93B37D97AADBA79FE5CFED9FBDA57254BC4FF6BB2895BFD354AADEB06C4671E5A6280CC78CC7F819DC4357BF26F7EC393163B6B6981BB372EFBAEBAE6C15DC9E327DFAF46CBF8ABA7D582CB31C3373A398BBB64B2C776709E6534F3DF5D934682E92606B126CF127FEE844BE3CD3EA2CA7B4BA85857C3068195000FD2EF249F9E49A9C542B55EE6D9ED4FAF1AC152BB33A9E543BAA58D929B68965260B2D959FC7BFD1625B055DCD384A9C8AD37E9D4F6E90B66FB6FDBB363ADB4F8FE793BD756C6B9E50DDBC50ACCCCD8AB0E9D74DC5CAC331BB357FFDA849ADEFCBEEAF5BACFC28EE5B5B28964F8F6DA3B09B3EFE4B6785D2F4F92BD3F7FD7A2C2F1BB3643BCED2ADD55541B7502A7F3BDDCFB3CBEE435AB93B8A5D716FD1B662EDCD35EF558DF75AEE7BB3A59FCBA7C63D77A3A0169F3F5B9659BFA65F937BAEB5B67BE6B62FB33C6CD8B0E4F7BFFF7DAFD4E8E21EBB1D96607E68FFFDF7DFCCA1AC8F887BE6C632CBCF3EFB6CB22E44D178CC9831CFA64179AC045B93608B3FF1478741E09A2CCFB4268585B0C71A143100F4BBFA5DF9A4A6A05BAAFC6FCC38CA5AA9725236E3A77696444BF9C8424B758F98655428564E682A96471F7EDEF43734152B6363794971AF1947895371DA2FF3C928BE5EDC96235E3C68CD8BBA2BDB4F8FE693BD716C8BA5600B2DE5CB62866EFE5C53A97A6014618F39EB8ED7B43FB7ECBEB9D36279E458D2387BBF62E5F2B43DD17149E398C59B3E7F75FE387DBF42CC9AEDB89473AEAB826EDCFFF6A896D6CF444BF7F787F899A2D0DCD432E59D510CCB96B12D95BF987FFDEFF7AFEE17B383E33346B1ACED7EA56363F6AE7E4DBF26F75C7B8D8D8DA7D5CECCEDAD626E6D51378AC63545DD92C3591F306DDAB49123468CE8F17BE676E79EBA69C0BCB8FFFEFB6F2BC1D624D8E24FFC5133285B93E599D6B4B010F265A12C030AE877F5BBC827E5932B31EE92EAC6B114647632B758DE2B7F3E6644B4DDB7EC57875E3079D3C2B9D56D6336C491C5EA564DC5CA6DA34B77BEADB9A5323E7D7D78A15839257DED7F9A4BD521E25E338E12A7E2B4DFE593DFEC9027AE4951B7B6989BB76FF4563ED9D3C7B6A3CE9DFA8EB88F67DC9F36F659FB5E51844AB79D7164B1FC9E63CFB8FBB5E9F71F9F6EF7DBA696EAF9E9BFD7C43E625F4D132BDBC57D6B0B2DE5AF364F98BA4373B17C63DC3734BE67B9FD152BFBA6ED97519CAD7DBE50AA0E4E3FC3B09885DBE5CF9DDD47B7B2A4769F8562B594BED71F63D6EE91C5D6F7E7CF477179D9CF7EEBEBB2C7C5CAC9515C8E59C7F17BD0AFE9D7E49E6B67E8D0A1831B1B1B5FCA8BABB1CCF2BA10CB2FD7DE5337FD0CC6E8F52C965AFED18F7EF4DC55575D95AC0F37DC70C333C3860DBB4182AD49B0C59FF81BF086ACE5606C6D0A0BF960D032A0807E57BF8B7C523EB9123103224EF6767C3EEEC1174B30E6F7078C936CD1DA4EFA8ECDEE1F98B6F4EB1F14CE29BF3D968A8C9940E25E338E12A7E2B4DFE5939D156357A7A8DBD9F75FD4C5F7F7483ED9D3C7B6E649E50F3795AA8774F57ED94CD7749B98051BB36CB399B983B2D985C7C473F976B1CF6C16EEC4F26E51B8ED727F13A6EE907EFEDD977BAEA53C2E3E5B1476D7E4F7D1D97B742CDCC6EFA2638159BFA65F937BAE99DAA5964F3BEDB41EBD67EEAA8C1F3FBEB6A83B2B967E966DD5A99933671E3B6AD4A85EBF6FEECAEEA73B62C488270F38E0809D25D89A045BFC89BF016B97B641E03E6BB18FB52D2C0C1A64195040BFABDF453E299F14F7E24DDC8B534D9CAE6D3EB9A645DDD529E6CA27F56B9A7EAD5F686868D8B376A9E5850B17AED31ADDD34F3FBDDCFD741B1B1BF7F157A953E79C73CE82EBAEBB2E599F264F9EFC441A28973910690E44E24FFC0D48F93249C3D7723F3D5158A8FD3C0683807E57BFEBC49A3C4E3E29EE35712F4E3571BA66F9E4EA1675D7A4982B9FD4AF69FAB53E6FE8D0A193F362EA25975CB25E6A74975F7E796D41778ABF4A1D9A376FDE4E23478E4C162C58B05E0BBA8B172F4E0E38E080BF0E1F3E7C630722CD8148FC89BF0165480F0EBA7AAAB010E20ADF4583DCDB11D0EFEA779D58D3FA483E696934716F1C254E35715A87F964778BBA6B53CC954FEAD73479679F357CF8F0CD6BEF9DBBBE6A75312B78D8B061B545DD2DFC75EACC8D37DE38F1CC33CF4CEAC1F1C71F3F2BA696F785DF5B5CA190B65D1D8824D8E24F33C0EB7E4C7662F0A0B55FEEB3B70A0BF9607089C120D08FE877914FF6C37C321D4EBF75DEBC793367CC98919C78E289473BC126EE8DA3C4A9264EEB6C1CBFAAA26E4F1473E593FA354DDED927E37FE8D0A1FBE545D4E38E3B6EBDD6E84E3AE9A4DA82EE81FE8275A6582CCEB9E1861BEAA2A0FBD39FFEF4A134504A7DE1F7563BF5BCA1A16117072209B6F8D306F28988EEC6642783AC9E58EEB3370B0BC1B24D407FA1DF453ED90FF3C9C71F7FFCA4175F7CF19FF9B87AE9D2A5FFB8FAEAAB1F39E288237614E9E2DE384A9C6AE2B48EC6F15D1575371CD473C55CF9A47E4D9377F6B9F88F9A58BEDDFABE356AD40AF3CF927EDE0BFD05EBCC89279EB8E481071EA88B82EE7DF7DDF7481A2833FBD27FC49A765B67575A381049B0C59F36900ABAAB8AC94E06573D7DC56C6F1416F241EB228341A00FD3EF229FEC67F9E473CF3DB7D3934F3EF95857E3EB3FFDE94F2F9E7EFAE93FEE6FB73512F7C651E2549C8AD33E3D8EEFACA8FB87413D5BCC954FEAD73479679F8AFFA889E5AFC7CCE7F5E9DE7BEFADFDAC33FD05EBCCE8D1A35F5EDFF7CFCD3DF5D453CFA541B2A08FFE476CBFD2A2F63FA40391045BFC6903B4A0DB694CB619DC8B83AADE2A2CE4834157F8027D917E17F9643FCA27531B3FF1C41397BDFCF2CBFF5AD518FB5FFFFAD7CBB7DF7EFB538542612F512FEE8DA3C4A9264EEB641CDF5951B7A78BB9F249FD9A26EFEC33F11F35B1FCF9C71F7F7CBDD6E8E6CF9F5FFB3917F80BD699B8C9F14B2FBD94D48B0894BEFC1FB1F64A8B9842EF4024C1167FDA402EE8768CC941CBAEE88D41E0F06E1607D657EB4A6FCD7003E82DFA5DE493FDA8FDEA57BF4A9E79E699BFADEE387BF1E2C54BCF3FFFFC726363E316E25EDC1B4789534D9CF6C2387E75C532CB1D67E6FEA1EDF9DEC887E593FA354DDE59B7F15FFBF81FFFF8C77AADCFC5FBD77E1E7FC13A0CA87AD28D00EF536D7D1F88E6CC99935C76D965C9DCB973D77A5F4B972EEDF307A2FE165FBD197F8B162D4A1E7EF8E1E4B9E79ECBFEFDEB5FFFDAE5B68F3EFA68F2F39FFF3C79F2C92757BACFB8C2E8C20B2FCCF61D8F9F7EFAE9EC7B162E5C985DFDB364C992F66D6FB9E596E4FEFBEFCFBE8EF77EF1C517B3188CF6C20B2F24CF3FFFFC0AFBE8ACFDED6F7FEBF4B3C4F2152D2D2D5D7ED6F8996FBCF1C6ECEBFBEEBB2F99376F5EF6DEBFFCE52F57F9738ABFCEDBBEFBEE9B0FD2CE5FC5A1A99E0B0BE1ACB66D36974500756EF3FED2EF0EF463E8401DCFFCE637BFC972B075917BAECF1CB1BB2D3E73B1588C9364C91A9C58CBBE574CD747DCC7383DC637B5CF45AC3EF8E083EB74CCD517E2DE386AE56D20C5E91FFEF087E49A6BAE89653D3BDD67AC3E78E69967264F3CF144FB73175D745116B3CE37AD9371FCEA58D90CDD8B07F5EC0C5DF9A4E3EF722DCE73B6B6B6B63F8EFE268E83F979C6DA16FD476F9E0F97776A9DB57AABD139AD5267EA6C86EE927E304377564343C39E43860CD928B65B9F274022F97EF39BDF9C6CB8E186C9073EF081E42F7FF9CB0A07A557BEF295C9269B6C926CBAE9A62BB4787EA38D36CAD64D8FED6FBEF9E6E415AF7845F2EA57BF7A8516FB79E6996796DBFFA1871E9ABCE31DEF48B6DE7AEBE46D6F7B5B326DDA34574CF6A1F83BE79C73B2D879E49147B2A4FAFAEBAFEF74BB1878EDBAEBAEC9061B6C909C7DF6D9D980296F79D21383BAF8FE185CC5BECE3BEFBCE4AAABAE4AA2FFA94DDC478F1E9D6DFFDBDFFE368BBDB7BFFDEDD9F746FC744CF2635FB1EDF0E1C3577A82F88C33CEC8B69B397366B6FFA6A6A6AC6DBFFDF6D9EBDFFEF6B7DB9F8BD7EFB9E79E6CFBF3CF3F3FD97CF3CDB3AF23867FF8C31F665FBFEA55AF4AAEBCF24A5796AF614C0EEADE7247668A01F41CFD2E753B9E8913F7AF79CD6B92D7BFFEF5597BDDEB5EB7DCEB6F79CB5B92D34E3BAD5773CF7AC81157A7DD74D34D31CEBA39FD3C0BFEF5AF7F756B209F8ED3AE3CECB0C3AAE9DFF5C6F4EFBB8DB85FBF71FFD4534F255B6EB965F2A94F7D6AB9C2538CC17FFCE31FAF9331575F8B7B337407669CD6EEFB8F7FFC63FB79811D77DC312BDE767CFF51A34665AF7FE10B5F48BEF295AF64F11C8F77DA69A764BFFDF6CB0A9393264D12A7BD378E5F9B62EE1F7AB9A82B9FD4AFB5B7B83024E22C8E6DF9F9CF787CDB6DB72DB75D144C37DE78E364DCB871D9E34F7FFAD3C92EBBEC92B50F7FF8C3EDCF1F73CC31D971F4FDEF7F7FF2AE77BD2BD961871DB29C36CF6FA345BE1BC75479A7F8EF2AFE6B9F8F8BA9CCD0A54B871F7EF8DFEBE51EBA694739BB0FDF43B763B233685D1D883AB698BD78C30D3724EF7CE73BB383CCEF7FFFFB64B7DD764BDEF39EF764574AC69548B1DDECD9B3B383C671C71D979C7CF2C9C9F7BEF7BDF6168FBFF39DEF64AFE75733FEDFFFFD5F522814923163C62CD73EFEF18F6707A08E9F230E2CA79E7A6AF2CD6F7E33DBCFBA38D00CE0826E8FC45F1C3022B988936B3FF9C94FB2627D0CDEE2EF17FB8A8B02E24281FC8AB61878C5E0285E8F04E56B5FFB5AB2C71E7B6403B8ADB6DA2ABB922C9F6D1BF1F8C637BE31F9CC673E93BCE10D6FC8129CFDF7DF3F1B20DE7AEBADD93E2EB9E492EC6ADB4F7CE21359CC36363626DB6CB34D327EFCF8E4FBDFFF7EB64D147063F01703C1D8F7B7BEF5ADF66D3AB6B828210692B15D7CD6F85C871C7248D6F6DE7BEF6C809AFEDEDA9F8B02F6E5975F9E4C9D3A3539F8E08393CD36DB2C4BF4B6DB6EBBE4ACB3CE6A1FC0C6FFAFE9D3A7AFF4CA6405DDCE63B2C360AAAFDDCB31EE6BB164907BEF007D8F7E97BA1CCF44C12062A7B9B9393B791517F4C58C89C81DA34541F7B0C30ECBF2D3DECA3DEB21475C937C32CD93F739E594539E58BC78F1C295DCC76CF605175C7061FAB77D24B617F5F5338EFFDDEF7E977CE94B5FCAE2290A60E9FB677116E3EAF83AC643E25E4177A0C7697E8E222617BCFBDDEFCECE6F459CC576710E20CE31E52B7245D1F84D6F7A5376CE2A3EE35E7BED951550E2F3478BC909C71F7F7C3279F26471BA7EC7F19D1573E39EB91B76F27C4F1575E593FAB5F6167D481CC3A21F1A3C787056CC8DE35FF429F17C5C3C926F7BE4914766C5D498A014334EE33C639C33FFFAD7BF9EC5E811471C916D57A954B2E3661471D3BC2BD979E79DB39F31FAB5F7BEF7BDD90CDCD83E962F96778AFFAEE2BFF61EBA8F3DF6987BE8D2B5638F3DF6FF1E78E081BA28E8A689E05D6990CCEC63FF11674627D545B2B3CE0BBAA552294B96E34011C5B8F88C071E786072C00107649D7D3CBFC5165B64C5B1BCA09BC640563C8B643A6FF1F8A8A38E6A2FE8C63238D1994C9C3831F9D18F7E944C9830A1BD7DE8431F4AF6DC73CF6CD987CE967B886D623F279D7492826E9DC75F5C351BF1F3831FFC205BFEA86341370AF4F17ABE24730CD04E3CF1C4E4AEBBEECA064F71855A24229FFBDCE7DA974ECA5B5CC51B83B58893B8C22DAEF28A2B68631F91047DF0831FCCDE3F622FBE3F6677C7F7C495B45FFEF297B341632453F98CDC7CFF51D08DD72291E9D822E1894166245FB1744AC47AC477ECFFA31FFD68B69F4F7EF293D9E3CF7EF6B3D9450CB1D44A7CB61880C6FF9948BC2269FAD8C73E965D2917CFC5FFA998951EFFDF9C8858BD98ACB147DBA0AAA7AF90EDADC2C290B43D91B603650E401FA5DFA5EEC6337941376653454E1805DDC80BE30458CC7288D7E2A458CCD2EDADDCB31E72C435CD27D3DFD366C3860D6BB9FEFAEB17BEFCF2CB2FD40CAD5F7CF4D1477F9CBE36BBA1A161429A3FBB4D441DC57DC466ACA015CB2CC6C5D8CF3EFB6C168771C23666E2C4D7F15CBC26EE077C417740C769BC4F7E7E2B8AC423478ECC66B1C56A70F1FDF9F363C78ECDF61B9F27FE3DF7DC73B3E24CACF815C594ABAFBE3A2B7A745C3E5A9CAEF3717C57C5DC0D56F2FADA1675E593FAB5E5DA75D75D97C5564C788A8B45F2F6D39FFE347BFE8E3BEEC8B6BBF4D24BB3C2EB17BFF8C5AC501B85DCB87825FAAF78FCDAD7BE36BB4025B68D152BA3BF8A3E2FCE8BC73132CEBDC7E398681213AC62DFB366CD92778AFF2EE33F5ECBB78B63EFFA14ABB5D67E667FC13A337EFCF83BA3F0510FCE39E79CC9699094FAC87FC4955DB5B6CE0E441D5B2C1FF35FFFF55F59412E66CEC65594798BC771355124C971454F5ED08D4E228A77B1346DDE62D99B38D00C6A2BE846623EA81BCBE5C541A9E367DA7DF7DDB3D7E2C0A3A05BFFF11745D318B87556D08D84232E0E88ED62F0157112B326F2136E31688A0159B428CCC6602B962C8919B551F88F44264ECAE5C94A5CD51B2D068579EC44DC45E21257D8BEF5AD6FCD12A398B111B375E38ADF282AC7F7C709C0D83EDE23961A8918FFFCE73F9FC577B44882E28ABBD8B65AAD66DBC6678DCF18B3D2BFF18D6F64AFC5C0311EC7F3B1AFFCF710339463201A4B4E47ECC615C17120CB2F8CC8AFC4732262F562B283DE58F6A8370A0B3DB9BC14C0FAA4DFA5AEC6337941376652E505DD7CC5A15852335E8B0B4A7B33F7AC871C716DF3C9F4FD07170A8507E7CE9D3B3FFDDD4D3DE18413AE693B293458A4D75FDCC7EC9F8F7CE42359412A4E0CC7B8E7BFFFFBBFB3381E316244F675C459C4B2B81FB0055D719A7E86CB2EBB2C1BE3C7F9AB384711E703F2168F4F3FFDF4649F7DF6C9260FE43379E33C40EC33DEF3DA6BAF6D9F351CE7C3E2715EF415A7EB7C1CBFAA62EECAB65BD3A2AE7C52BFD66541375620F8F39FFFDCDE62F6ECA09A826E14506376EEA0B665DE63166E2CFB1EB3670F3FFCF0EC1C647EFCCBCF53468BE26D14696339E6EF7EF7BBD9D7318376505B4157DE29FE57B24D292FA2C604A5F5296A85F967493FF785FE8275E68C33CE38F8ECB3CFFE573D1474D30E6D7204777FFAFDAE8F25971F7FFCF1ECCAA2589EA1638BE7A34017573BD6167423A18E03C4FBDEF7BEEC0AA23800D516741F7AE8A1EC6016CBA1DD79E79DED572EC5958FBFF8C52FB2443C96C4897D761C04C4C12E12FED83EBE5741B7BEE32FEE671357A14561BFB6A01B0793B8F2EBE28B2FCEB68BA58DE2EF1E83BC888BF4009EDDA72666FCC7D56171155914546369A51800469212CB6FE72D0AC379F135622B067A6932900DDA22498A7B43C4202F929918D8454137DE2F5F7A392FE846521303B9585A2912A0487C62D66EECE3A0830ECA0675F9CF16AFC555BA118FB1EC52EC270E4EF138B6CF93A6FBEFBFBFFD1E3E9130755CD624F62FFEEAB6B8D0D38505834040BFABDF1DD0D6454137F2B29801911774A330107967E4827941B7B772CF7AC8117B229F8C134469BEDC1C9F3BFE5DCD93F3ACE371FC5FFFFAD76CE64D9C988DA56063FC157115711F2DC6D0F1B714F7C65103394EE3764C31EBED673FFB59972DF617E79D4E39E594ECB3C5EA5E3133EECD6F7E73766E2BFE8DF78E2552E36788654DC5E93ACF27BB5BCC5DD9F6AB5BD4954FEAD73A6D575C71C54A272AD59E438C156222178DE3604C3C890B4862566EE4AFB1F240BC1ECBB8471F14C5DBB8002696A18F73EC9DED3B5E9377D295F477B95F5E448DE2FEFA14174AE59F25FDFB5AE1A0DE0C1F3E7CE3B4C3F8C7D34F3FBD5E0325ED0CE3FEB98BE2F33810AD5D8BAB86F2243BBF22325ACC628CE7630DFEDA7BE846413796C38942597E15D2B6DB6EBB5C41379E8FFB8DC4E358D22112F1F83A92EFB82A29AE5A8AA5753A7E9648CCE3E017F7DF8D034F2C8D1B830205DDFA8DBFB82020FEB631D0A92DE846271E8FE36F996F1BCB1FC712799180C47D6F62BB98219E9F948B826ABE6D5C211BF7BCC95B5C759B2FAB1457D3C66CDC484C226189415F5C2CF0D5AF7E355BCA24DE270ABA71555C149A07B5157423118BCF19AFD5B658A66F50DB95BEF17A5C3D9C274DB16453FCBBEFBEFBB6C773EDF3B15D2CE514AF458274F7DD77777A9F8AB82842FCF5F860B027065B3D595888CFD51BCB9302E877F5BBC6333505DD58052666E9464137C632317E885563E2C2BEBCA0DB5BB9673DE4883D994F3AA1D637C6F18F3EFA6872F2C92767AB11C5E3FCFEA473E6CCC92E9E8EE7E2E4B1B8378E1AC871DAF6775F658B1977F17D31C32E96518D254F63C9D2B8D76EBC5F146862866EDC9F77E1C2FFDFDEBD40D955960703060A0A168B5228D40B4A8B4B2B8268B9555153BC2CA8A928B0D9B32702B960A80ACC0CFC883F72195029050ACC1914112CCA4D416BD488229339275C03A2ADCA5D22201802895C2C11C245F6BFDFFD67A7C3908464C2CC9C73E679D6FAD6CC9C73E6C2CECBF7BEDF79F7FEF622713AB6F5E49A367357F57DABDBD4554F9AD7563A624781D8C52FDE1B8FF71D23B662BE895BB5C5EF8E1349E27591DBE2A495D835204E0A898B48AA935A868E9827E3F53127C64924B1A572BC8F1E5BD6C6D5B3B14B407C7EFDF5D7E7D17B5177B232B155754747C7335523F537BFF9CDB8F4E8224F7676763E37A4A1BB997F9D2674D4514735E28C92F1D4DFDFFF8D22482E9488D67EC4BD4162C28FAB6A873E1E6747C6E3914456D4D0DD65975DCA6413C5F58A1ABA31A2388EE7634BE72A79C595BDB155C5F0BF236EF41ECFC75925F1755C21BCCEB2C6A0866E73C75F1432B1A5D2D0866E2C82620134F475471C714479766D75C6589C49569D651B4DFEB87F6DF5DA38532DDEA88B7888ED91E20CD96AD116CFC799B4F1B3AA7BEAC4E7DB6DB75DF9665EBC2E1AB371A66D347BE37745828982291687D1E88DC22A7E7E9C31173F2B5E138BC35840C656E455D114B11D5B9FCC9831A37C4DFC37C4D771557A5534DD71C71DF969A79D56C6767CBDA2A229B65459D3FB427B23629562B1B5F8255874BD548D856A11E88C5EC0BC6BDEF5C6DA28D5E60B172E2C6367EBADB72EEBC7F83C6AC8D83528DE901FDED01DADDA73BC6B44F5E4C45BC7C72D8DE2DE9FB1FDEBCF7FFEF332E6E264D5B8ED4D9CD850ADD9C5BDB89FC8711A8D91071E78207FF4D147F369D3A695277BC7D6A8F19E405C0177EFBDF7967924AE108EEF8B46CC9FFFF99F97AF8DB88CBF239A20711FDDF81B162C58E0FDA6B1AD2747DACC5DD5F7BF5853573D695E5BE5983C79F2F2ED94E384956A6BF9A83BE3968155EE8B866FCC5B71324AE4C59FFDEC67E5B6F1B18B4CC462EC6E1857EB5627BCC4AE95312FC66E8331AFC55C545D58159FC78556317FCABFAC4A4747C7ECAA917ACE39E78C4B8F2EFA37439AB903FE559AD4F4E9D3DF3E73E6CC67E38CB6F1F0ECB3CFDE5F04C8FCCECECE1D24A2F169E846311CDBE8C40DD863C4FFB4431BBA5140C7FFD071C5633C76F8E1872F6FD6C6194B9110E3CACAEA77CD9A35AB6C06C6FD53AAAD71634453AEFABED13E8B48225ABBF88BAD9587DF437765575654FFAEB12D733C16FFB6B1B5519C613674D11631149FC7E3F13DB1688BB37CA390892BCA636BA6AA708A9FB7E9A69B968BAED84A29EE8513C550DC4F37AEC08D98AC7E761463D1D0DD6BAFBDF2254B96945781C7F7477133F46F8D42290AA1B80F4F347BD759766F9DF83A1E1FBA5D49759F8AAA688A4561144A55D11467E7C5C253FCBDE48BC1B5BD62ECA5682C4C5AE7A5BFC7248079D7BC6B3D336CC4BD72A3EE8B37BA627BCEB812214E348D37E9E3F9E10DDDD1AA3DC7BB46544F4EACB88FE6536CB518F15EDD4B6F8B2DB6281B57D1348BE762FBDA787F46DC8BFB891EA755A336DE9B885DE3AA5B7BC57B05EF7BDFFBCAA6EFD0BFFBC4134F2C7779889DC7A21113BBC6C5DF134D60EF378D793D79E03A236FE65656D4D43D403D695E1BC988F92B1AAB91D3625E8A7921E697B8BF76EC32108DD4D89A3DDE2F8FB92DAEBE8D5B07C6D6CA71224BFC8CD83639E2304E26A97E6EE4C3B89237DEB39C397366D9E88D866FCC6FB153657C1EBFA3BAE581FCCBCAC4AD48AB666AE4B0B898692CC555E4071E78E0D0AB733FEA5FA5897575755D1513C17838E9A493BE5E04C9B725A29766C4D595910CE2ECC52894AB11C9659D656728C6EBAA9BB2C7D771C56D759F80B82769DCF7A43A4B3EB6D3B9F3CE3BCB338D622B88B83749F16F563E175BDA44DCFCF55FFF755974471339DE7489E65A3488637B80E18B824852F1BD7113790DDDE68ABFD8763BFEDDA24888E226FE1DE3ECB0F8F77AFDEB5F5F3E1ECF470C44DCC4E22ECED87DE52B5F59DEDBE6F8E38F2FAFA8ADFE8DABAD8EAB455B2CC2220E2396A2E08862290A962846A2291B67C455AF8FE7E34CB93851207E4F145D717652FC0D116FC3FFDBE26ADDF85BE2ACB6EA3EBBDFFFFEF75F70B2436CE337F4C4876A3B95F879D5C90EF13112675C115CCC8DE582308E456CE71C7F7F9CB51767DDC53D32C4DF4B6E6DB7015DDBC6C2AEEBFCFF338CF7F54F019877CDBB8CEE7A266EE511DB77C688F545D45C713542FCCED88233BE8EEDF0E2B5A3597B8E778DA89E9C58717FCA29A7947113EB9CEDB7DF7EF9153CD58875573C1F312EEEC5FD448ED368D6C68E5B71A140FC8CD88A34AEFC8DEFADFE8E88C9EA4AB668C84403254E108A9F17234E188A988D264B3C1F271289D331AB2787366347D2CC5D939FA39E34AFBDE838F2C823CB3921B65D8EF71577DE79E7F282A3982BD659B60341BC171AEF2B461D5ACD33F158EC20B0EFBEFB96179BC463714149DC1F3CEAD41871B56F9C4812735D9CA412CDB0D86E399AB15573ACBAD5A1FCCBAA14B132AF8A993849E9D9679F1DB31E5DFCBEEA7717E3265B6A37B92449B69C366DDA537136F458BAEDB6DBAE2A02E4F1E2F76F2311BD7457E8C63D4BA2C11567055523AEB88CC7AB866E5CB11B67BD575F0F6DBAC6BD4EE25E56D5360F31626B9BF818DB3D44F11E85795C0D198FC5163C73E6CC293F8F266E14D1439B7343477C4F14F651706BE83657FCFDE4273F29176E679C71C64A473C1F3F379AFCD5F6DB510CC5F7C736CD71DFDB5890C5BD6E87FEECD81639BE37EE5511DB3045433FCEC28D45DB8AFE965838460115F1164DDC2BAEB8A27C3CB63389E2E5E4934F7EC1F7C4994BF1FA88F3D8A669E8D5E1C347DCF37965DB85C7FF2BB1F55FFC8DB1CD54FCAEEABE18F1DF103F7BFAF4E9E5D5CBE26FD4168323BDE7CDDA3416AAEDA26CCF049877CDBB8CC17A266AC7B81A2BD6A0F1C67D5C49155745449DB6D34E3B95BB00C5C9A6F1DAD1AE3DC7B346544F4EACB88FF8A8AE3E8CAD13E30AA1D8E12A76C8AAD62F712562C4A2B817F7133D4EA38112F1154D97D34F3FBDBCB237DE7B8AAB74E3AAB9F8F9D1A48DD88DD7C67B51D100193E22BFC4050AD57B58E274CCEAC968BE1EB0CEC89BB9ABF373D493E6B5D5BED547DC4A303E8FF924E69CB8D23F1AA3D1C48DAB72E322A9788FFB97BFFC65790153B56B4CCC75F15E765C00558D68B25E78E185CFFB1DB13BC161871DF6BCD755AFAD4E52947F599522AF7D604853B58C91B110FDA4A1BF37CB32BB1DB482A2C039AC98649E18ABAD978B45FBADC5EFBCB50892FF2311191ABAE26F65633CB6E7167F4DB1181CC91563236D2CBC14DB8E029877CDBBEAC9351CA3F9E6BAF50CD6F1E25E9C1AE2B425EAC991524F9AD70CF35ADBE9E8E838B56AACC6894FD16C1D4D37DC70439C10F5DC90866EBF7F85163263C68C0B4E38E184516FEA3EFBECB3F74E9F3EBD5E04C8D912912111893FF1C74A16676B7AA6ED481A0B6B73651A8079D7BCAB9E34D493E2DE10F7E2549C8AD391D79323A19E34AF19E6B5B6145B1D0FDD7A399ABAD75D77DDA835730F3CF0C03F0D69E6DE9C24C9C6FE155A2C60A64F9FFEFDE38E3BEE7F46ABA91B57E6CE9831A311F7CD9D3A75EA8612912111893FF1C72A16836BB2485BD3C642F5F39DD10B60DE453DA99E44DC8B7B716A88D3B1AF2747FAF3D593E635C3BCD696A64C99F2BA8E8E8EBB86367563FBE597F29EBA71E5EFB02B73EF2FC61B1DFD16144DDDCECECE730E3BECB0FF79A9EFA91BF7CC5DB6CDF2D9EDDECC95882422F16728845E126BB26DD39A3416AAED999CD10B60DE453DA99E44DC8B7B716A88D3F1A927D7847AD2BC6698D7268468AE0E6DEAC638F1C413F3458B16AD557FEEE1871F2E7FCED09FAB99DB26D2343D64CA94294B2EBDF4D2479F7EFAE9B5DD62F9FE934E3AE9EB45603CDECEF7CC95882422F16788BF715D0CAE6E6361D7622C5CC719BD00E65DD493EA49C4BDB817A786381DCF7A7275A927CD6B86796D425976A5EEBCA1CDD7FDF7DF3F3FFFFCF3F3850B17AE517F2E1AC1175D74516CB1FCDCB066EECD9AB96D2449922DB32CFB4EF10FFDD8B7BFFDEDDF3CFCF0C3CFAC49A0FCFEF7BFBFA5BFBFFF1BC5CFB823B6582E3EBE4522322422F127FE1881D5D9B669751A0B932C0201CCBBA827D593887B712F4E0D71DA14F5E4EA504F9AD70CF3DA8414BBE9A6697AC6B0266C398E3EFAE8FCD24B2F2DEFB11B3BED561765C6C7050B1694F7C8FDDEF7BE971F7BECB1796767E7732BF819FDEE99DBA68AA0795B31CE2DFEE1FFE7F0C30FFFC579E79DF78B1B6FBCF1370F3CF0C01F87F46F1F8F06EEBC79F3E69E7EFAE9B30F3EF8E0D945502CCEB2EC9BC5F7ED2011191291F8137FACA5B53DC3B7FAFE7D1D4A00F32EEA49F524E25EDC8B53439CAA2731AF19E6B566B7DF7EFB7D60F8D5BA6B316ECAB2CCD6F51341DCF77659F09C5A8C4631EE29C633438261E1B2C0EA4FD374F244B84FAE442411893F43FC8DCB62708F117CDF4B7166308079D7BCAB9E34D493E2DE10F7E2D410A7EA49CC6BE635C654F4DC3A3A3A660FEBC9ADD6C8B26CA0181F8DAB7E1D4990882422F16788BFB15C0CAEC9A2AEDAE6C9F64C00E65DD493EA49C4BDB817A78638554F625E33CC6B2D6BEAD4A9AF4AD3B4232EAC5C7681E5C2610DDCF2C2CBD87537CBB28FC7AD551D3590882422F16788BFF1128BBBC5ABB1B88BD78DE44C6000CCBBD633EA49F5A4B837C4BD3835C4A97A12F39A790D4022322422F127FE58CBC5E0AA167993D659BB7BF50060DEB59E51C7A927C5BD21EEC5A9214ED59398D7CC6B0012912111893FF1C75A58D9B64DBB1563A14520807917F5A47A12712FEEC5A9214ED59398D70CF31A80442411893F43FC8DFF6270E819BCD5E2F0E30E0D807917F5A47A12712FEEC5A9214ED59398D70CF31A80442411893F43FC35CF62F0D4756CCF0460DE453DA99E44DC8B7B71DA1463C99225F92DB7DC527E5C9BC7C5A97A12F39A615E0390882422F16788BFF6B0474747471CE73D1C0A80D1B7D5565B1D5A7C30EFAA270DF5A4B837C4BD385DE988E66CD40BF1716D1E17A7EDBB8E574F22FF9AD70024224343D7BFBBF89B6096357401189B3977F6DE7BEF9D4F9A34697D47433D69A827C5BD21EEC5A9862E23F42A8700F9D7BC062011191ABA86F89B58CD05C719600CA469BA6B31E73E13F36E9665AEA8504F1AEA49716F887B71AAA10BC8BFF22F8044644844E24FFCF1E2347401C6469AA6B362CE5D366E7244D493867A52DC1BE25E9C6AE802F2AFFC0B2011191291F8137FBC280D5D8031996B77ACAECEAD469AA6931D19F5A4A19E14F786B817A71ABA80FC2BFF024844864424FEC41F2FD664709C01467FAE9D3DB4995B5DA5EB5EBAEA49433D29EE0D712F4E357401F957FE0590880C8948FC893F5EACC9E038038CEE3CFB82AB73AB9165D9471D21F5A4A19E14F786B817A71ABA80FC2BFF024844864424FEC41FAB6A3438CE00A33BCFFE7845CDDC65639E23A49E34D493E2DE10F7E2544317907FE55F0089C89088C49FF863558D06C71960F4E6D8955E9DEB5EBAEA49433D29EE0D712F4E357401F957FE0590880C8948FC893F56A7D9E038038CDE1C3B7B55CDDCEA5EBA8E947AD2504F8A7B43DC8B530D5D40FE957F0124224322127FE28F95351B1C6700F32EEA49F524E25EDC8B530D5D710AE635C3BC0620114944E2CF107F1A0B009877D593867A52DC1BE25E9C6AE88A53907FE55F8096363838280134CF78B24844CF883F43FC692C0060DE453DA99E44DC8B7B71AAA12B4EC1BC6698D7004A575F7DF5C2458B1649024D30162C58F0AD2211DD2EFE0CF1A7B100807917F5A47A12712FEEC5E9D88C254B9694CDD9F8B8368F8B5330AF19E635805153AFD7F79A3B77EE630F3DF4D013AD34692F5DBAB4ADCE288A243467CE9CDF16635FF167883F8D0500CCBB4CAC7AB2A8C7D4935847897B716A885330AFA93BCD6B002B574C7E930706066E8A6D0A62EFF9661FFFF11FFF917776762EFFFA9BDFFC661E6FD4B5C2DFBE9211C7FDF6899A845A2DFEDA704CE8F8D3580030EFA29E1CEFF1D39FFE34AFD56AF9AC59B3D4935847897B716A885330AFA93BCD6B00AD2F49928DD334BDABA3A3E389216FD2CD8E37EA264D9AB4BE2304343B8D0500F32E54F23CDFF091471E79B490CF9C39F3878E080000EA4E005A5E9AA667C49B72C57866EAD4A91B165FEF1A9FC7635996EDE10801CD4E6301C0BC0B95FBEFBFFFC27C99EBAFBF7E41B1A6F9A8A3020080BA138096D5D9D9B9434747C793CB1ABA31A6A6693A6BC8D737394A40B3D3580030EF4258B264C9DBFFF4A73F3D970FF1C52F7EF1FEA953A7BECAD1010040DD09404BEAE8E8680C69DEC6F85975756E35D2349DEC48014D3E97692C009877619D071F7CF0EE7C98C71E7BECC12953A6F4393A0000A83B016839B105C4B066EECAC64DEEA50B34338D0500F32EDC77DF7DC7E62B316BD6AC078BB8DDD151020040DD0940CB88AD1F8AC4B270351BBAB9FDFF8166A6B10060DE6562CBF37CCBA54B973EBDB237D69E7BEEB9A77A7A7A7EE544550000D49D00B48C8E8E8EFED56DE62E1BF31C35A089E7348D0500F32E13D8EF7EF7BB79F98BB8FBEEBBEFCFB2ACDBD1020040DD0940D34BD374D7E1F7C95D9DE15EBA40B3D2580030EF32B15D77DD752FF6BE5AFEE4934FCE8DD89D3A75EA868E180000EA4E009A5A96651F4FD3F4DC22A9CC8EFBE316E3FED5BD97AEA30734238D0500F32E13DB71C71DF7E9556D7D17EFAB1D7DF4D197BA520200007527002DABA3A3E30FC5784D9224DB141F27A569DAE18D3AA085E630F31580799709EE5BDFFAD69D2B7B576DFEFCF95F89DBC8B897190000EA4E005A5292241B1549E689E18F7BA30E6815E62B00F32EC4C9A9F3E7CF7F72F89B6ACF3DF7DC2D53A64CB9A588DB1D1D250000D49D00B46A02DABA4832F70C7FDC1B7540AB305F019877219C7AEAA9FDCF3DF7DC9F86BEB176DE79E77D2D4DD3331C1D0000D49D00B4AC8E8E8E77C536102B78DC1B7540ABCC63E62B00F32EAC135BDB5D71C5158BAA37D51E7BECB14B8A78BD6BEAD4A9AF72740000507702D0B2D234DDBB4836DF1DFEB837EA805661BE0230EF42E590430ED9FDD1471F5D5A8C7CE6CC9973B22CFBA8A3020080BA13809656249A4F7574747C79F8E3DEA8035A85F90AC0BC0B439D73CE393FAED56A799AA6B31C0D0000D49D00B4BC8E8E8E138B8473DC0A1EF7461DD02AF398F90AC0BC0BCBC5567711A749926CE3680000A0EE04A0E51509E7ABC598B982C7BD5107B4CA3C66BE0230EF8238050040DD09407B4AD3F40745D2F9884404289C0130EF224E010040DD0940F3259C9F767676EE2C11010A6700CCBB88530000507702D07C09E7BE2449B69288008533AD2CCFF3F5EFBEFBEE6FDF70C30D7F1A1C1CCC0706068C311E73E6CCC9AFBEFAEADF17E3E322D2BC0BE2140000752700BC7409E7A924495E2611010A675A593473AFB9E69A7CD1A245F9534F3D658CD358BC78717ED55557FD61CE9C39FB8A4AF32E88530000D49D00B0969224D9B448388F484480C299561757E66AE6364D53F7A9818181DB45A57917C4290000EA4E00584B59966D5B249CDB242240E14CAB8B6D9635539B670C0C0C3C232ACDBB204E0100507702C0DA279BF76759569788008533AD2EEEE1AA91DA540D5DFF5F9A77419C0200A0EE0480B595A6E99422E15C2C11010A675ADDEA3674973CB630BFFBA6F3F35BE79C588EF83C1ED384D5D0C5BC8B380500007527004D27CBB2238AF1EF1211A070A6D5AD4E43F7F14717E4B7FCE4D8FC97971FF9BC118FC5731AB11ABA987711A70000A0EE04A0D992CDA9699A1E2911010A675ADDEA3474EFBFF5072F68E656E377B7CED688D5D0C5BC8B380500007527004D976C2E2CC6FE1211A070A6D5AD4E43F7F6C6BFADB4A11BCF69C46AE862DE459C020080BA1380A69265D940313E2811010A675ADDEA34746F19E85D6943379ED388D5D0C5BC8B38050000752700CD966C6E9E3265CA761211A070A6D569E86AE862DE05710A0080BA1380764C368B9324D95C220214CEB4BAD569E8DE3AE7C4953674E3398D580D5DCCBB88530000507702D03466CE9CB941916C9E2E3E5D57220214CEB4BAD569E8DE75DD592B6DE8C6731AB11ABA987711A70000A0EE04A0692449F2DA22D92C9088008533ED60751ABA0F2FF8557ECB95C7BF70BBE5E2B1784E23564317F32EE2140000D49D003453A2D9B1183F9788008533ED60751ABA31EEF9D9052F68E8C6639AB01ABA987711A70000A0EE04A0A9A4693AB948363F9488008533ED60B51ABA4B97E6775D7FF60BB75B2E1E8BE73462357431EF224E010040DD0940D3C8B2ECA022D99C2711010A67DAC18B35741F7F7441FEEBEBFA577A0FDD782E5EA319ABA18B7917710A0000EA4E009A25D11C9365D917242240E14C3B58694377E9D27CE15DF5FCE62B8E5E6933B71AF19A78ADAB75357431EF224E010040DD094033249AB3D2343D44220214CEB4831535745FECAA5C57EB6AE862DE459C020080BA1380A695A6E9778A64B3AF4404289C69072B6AE8AECE55B9ABBA5A5763564317F32EE2140000D49D008C67A2B936CBB2DD242240E14C3B58514377A4CDDC6A68CC6AE862DE459C020080BA1380F14C34F39324D946220214CEB48395DE43D7D0D0C5BC8B380500007527002D9A68962449B2B14404289C69071ABA1ABA9877419C0200A0EE04A06D4423371ABA1211A070A65D68E86AE862DE05710A0080BA1380B6115B2DC796CB1211A070A65D68E86AE862DE05710A0080BA1380764A32EF29C6B51211A070A65D68E86AE862DE05710A0080BA1380B691A66952249A6F4B4480C29976A1A1ABA18B7917C4290000EA4E00DA469665871689A65F220214CEB40B0D5D0D5DCCBB204E0100507702D04E49E68B699A7E4E220214CEB40B0D5D0D5DCCBB204E0100507702D04E49E66BC5982111010A67DA8586AE862EE65D10A70000A83B01681B699A5E5E249A0F4B4480C29976A1A1ABA18B7917C4290000EA4E00DA29C9FCBCB3B3F3EF252240E14CBBD0D0D5D0C5BC0BE2140000752700ED9464162449F25A89085038D32E3474357431EF8238050040DD09405BE8EDED5DAF48324F4F9A34697D89085038D32E3474357431EF8238050040DD09405B489264F322C92C9688008533ED4443574317F32E88530000D49D00B4852CCBB62F92CCCD1211A070A645F2D64031767BB1D769E86AE862DE05710A0080BA1380B690A6E987E2CD7189085038D32AFFBE31227715396CD795BD4E43574317F32E88530000D49D00B485344D0F2892CC051211A070A655FE7D878D1FAFE88A5D0D5D0D5DCCBB204E0100507702D016B22CFB4C314E9188008533ADF2EFBBA2317C2B660D5D0D5DCCBB204E0100507702D02E09E6F4344D0F9788008533ADF2EFFB22E3C7B115B386AE862EE65D10A70000A83B016897047349313A2522A09D0A67C318ED86EE030F3CB0FCF3DFFDEE77F9638F3D56FECEABAFBE7A85AFBFE38E3BF21B6EB8215FBA7469F9F5DCB973F33BEFBC7385AFBDEFBEFBF273CF3D375FBC7871F9F5C30F3F9C3FF4D043F9A2458BF2050B16E48F3FFEF80BBEE7BAEBAECBFBFAFA56FAF7DE7EFBEDF9AC59B3CACFFFEBBFFEABFC9BE36FB9F1C61BCB9F3DDA0D5D31D9FE43F6C11B6B0000A0EE0460946459562FC6EE121100ADB2305AC9B8294DD3C993264D5A3F5E379A0DDDEF7DEF7BF9C61B6F9C5F71C515E5D7C5EFCCF7DC73CFFC9FFEE99FF28F7FFCE365737768C337C6BFFCCBBFE45B6CB145BE64C992FCD24B2F8D9C9A6FBEF9E6F96F7FFBDBE5AF993F7F7EFE9FFFF99FF929A79C523EFFE52F7F39FFE637BF994F9932A5FCBA1A871C72483E6FDEBCF26357575739DEF296B794CFC5EFA91E8BE7AFBFFEFAF2679F7DF6D9F9AB5EF5AAF2F337BCE10DF949279D547EFEB297BD2CBFE4924B5CA10B4C88FCE1280000A0EE04A05513CC6D4992BC552202A0551646AB6AE45646B3A1FBC4134FE4071F7C70BEE1861BE63366CCC837D86083FCCD6F7E73D9E4DD64934DCAE6EA9BDEF4A67CE1C285CBAF887DC52B5E919F7EFAE9E595B49B6DB659FEE94F7F3A7FDBDBDE96BFF7BDEF2DAFC08DD75D7EF9E5F9565B6D956FBAE9A6F93FFEE33FE6AF7EF5ABF3BFFBBBBFCB8B3C9DBFE73DEFC97FF4A31F954DDBF3CF3FBF6CF4AEBBEEBAE5EF8FB1D75E7B950DE2E2582C7F6CBDF5D6CB2FBAE8A2FCAAABAECAA74D9B56FE7DD14C8EBFF5D4534F2D7F67FC5DDFFDEE77F36BAEB926FFD5AF7EA5A10BB475FE70140000507702D0AA09E691244936958800689585D1B2312FCBB28F0E6FE456C6E21EBAFFFDDFFF9D9F7CF2C9E515BA71C5EBB6DB6E9BEFB8E38EE5E79FFFFCE7F346A3913FF2C8236503351AA7C71C734C79456C345763BBE3BBEFBEBB6CE06EB9E596CBAF92FDCA57BE523672634BE46818C7D5C09FFAD4A7F23DF6D8A36C026FBFFDF6E5F7FEF18F7FCC3FF399CF948DDFF7BFFFFDF94E3BED54367BDFFDEE77975FEFBEFBEEF9673FFBD9727BE6F819FBECB34FF937C4B6CCF1F7ECBCF3CEE555BCF1585C551C4DE9FEFE7E0D5DA0ADF387A3000080BA138096B3E79E7BBEBC48304B2522005A6861B4C22B72871BCD86EEECD9B3F32F7CE10BF9F1C71F5F365BDFF18E77E4EF7CE73B9F37DEFEF6B7E75FFDEA57CB6D8F8B3FA7BC9A361AB4D56B7FFDEB5FE7679D7556BECB2EBB944DDAC99327975B2DC7F31B6DB451BEC30E3B2C6FD046C338465C611B4DDCEAEF88AB84DFF8C637E6471D75547EC0010794AF8FBF27BE8EC763FBE5EAB5F1B7FCE55FFE657ED75D77950DDDBFF99BBF291BE3D1D08DEF8B66B12D978136CF1FE6210000D49D00B49E2449B62A12CC7D121100ED66341BBA71A56D5C555BFC9A725BE568A6469ECCB2AC1CF179D5783DF3CC33CBAB61E3FEB571DFDB7ABD5E7E5F34747B7B7BCBC6EBE2C58BF37BEFBDB7BC3A377ED681071EB87C7476769657E7C688AB6BA3291C57F656F7E57DED6B5F9B4F9F3EBDBC7F6FFCDCF8DDF1F56B5EF39AE50DDDB892B8BA0F6F3473876FB97CD04107B9872ED0F6AC670000507702D0AAC9659762FC542202A0DD8CF696CB71CFD9E2D7E40F3EF860FE577FF557F9AEBBEE9AEFB7DF7EE578EB5BDF9ABFEB5DEF2A5F17F7C78D7BDE464337BE8EED8FE3FB7EFFFBDF97DB326FBDF5D6CFFBB9714FDDF859D588C670B5E5F2934F3E593692AB666C346C5FF7BAD7951FF7DE7BEFF2E7C6F6C9431F8FD77DE2139F289F8BE6EDB5D75EBBC27BE8C636CE1ABA409BAF7DCC430000A83B01683D699AEE552498EF4B4400B49BB16EE846F3F4DC73CF2D475C2D5B3574637CFDEB5F5FDED08D7BEE4613353E5F514337EE9FFBCFFFFCCFE5B6C96F7BDBDBCA0671D5D08DE73FFCE10F9757F1560DDD6DB6D9A6BCD277C68C19E5DF73C41147945FFFEDDFFEEDF286EE1D77DC919F76DA69E596CBF1F58A1ABAB185F4B1C71EABA10BB42DEB190000D49D00B4A42CCB0E2E12CC39121100ED66341BBA71A5EC91471E5936506FB8E186FC4D6F7A53BEF9E69B3F6F7CF0831F7C4143F78F7FFC63BEDD76DB950DDB5535742FBAE8A2F2F3B8DA364DD3B2A1BBDB6EBB95CDDB0D36D8203FFAE8A3CBE7A3891B4DDA0F7DE843E5D5BCF1F7C415BEF1753C3E742BE5EA1EBA554377DAB4696513B76AE8F6F4F494CD630D5DA05D59CF0000A0EE04A05593CBF159969D201101D06E46B3A11B57C816BFA2BC0AF795AF7C65BECF3EFBE4871C7248D9148D8F071F7C70D91CEDEAEA2A5FFFB5AF7DAD6C9C462377DD75D7CDAFBCF2CAF2F1B892F60D6F78C30B1ABA2F7FF9CBF38D37DE385F7FFDF5CB9F1357DA4693361AB0711FDD871E7A68F955C2714FDEA1570CDF73CF3DCB1BA8D75F7F7DF9797CDC7FFFFDF3CD36DBACFC9B36DA68A3F2EF88FBFDC6EFF9C0073E50FE1D9FFBDCE7347481765EFB98870000507702D092C9E5EC344D3F291101D06E46B3A1FB8D6F7C23BFE4924BCACF2FBBECB2B2591A5B21C755B931627BE468DE7EE52B5F295F73F1C517E7EF7CE73BF3430F3D343FEBACB396FF9C33CF3C33DF7DF7DD9FF7B3B7DD76DBFC94534EC91B8D463E65CA94FC939FFC6479856E347457F537CD9D3BB7BC02F7B6DB6E7BC173D1508E2B81E3671D73CC31E5B6CFF3E7CF2F9F8BDF157FFBF4E9D3F3FBEFBF5F431768E7B58F79080000752700AD274DD3594582F998440440BB19ED7BE81A1ABA406BB19E010040DD0940AB2697795996FD83440440BBD1D0D5D005B09E010040DD09403B24977B9224D95A2202A0DD68E86AE80258CF0000A0EE04A01D92CB9349926C241101D06E3474357401AC670000507702D0D29224D9A4482E7F90880068471ABA1ABA00D6330000A83B0168694992BCB9482E774A4400B4230D5D0D5D00EB190000D49D00B47A62999465D955121100ED4843574317C07A0600007527002D2D4DD322B7747C4B2202A01D69E86AE80258CF0000A0EE04A0A56559D65D8C33252200DA9186AE862E80F50C0000EA4E005A3DB19C9CA6E967252200DA9186AE862E80F50C0000EA4E005A3DB17CBD1853252200DA9186AE862E80F50C0000EA4E005A5A9AA6576459B6874404403BD2D0D5D005B09E010040DD0940AB27965F747676EE201101D08E3474357401AC670000507702D0EA89E5C12449B694880068471ABA1ABA00D6330000A83B0168594992FC5991589E8E8F121100ED4843574317C07A0600007527002D2BAECC8D2B74252200DA9586AE862E80F50C0000EA4E005A39A9BC23EEA12B1101D0AE3474357401AC670000507702D0B2D234DDB31857484400B42B0D5D0D5D00EB190000D49D00B4AC344DA71589E57C89088076A5A1ABA10B603D030080BA1380969565D9FF2DC6BF4A4400B42B0D5D0D5D00EB190000D49D00B47252E94BD3B44B2202A05D69E86AE80258CF0000A0EE04A09593CAA5C548252200DA9586AE862E80F50C0000EA4E005A5696655715E37D121100ED4A43574317C07A060000752700AD9C54EE4C92E4CD121100ED4A43574317C07A060000752700AD9C54FE9024C926121100ED4A43574317C07A0600007527002D2949928D8AA4F2844404403BD3D0D5D005B09E010040DD09404B4A9264EB22A9DC231101D0CE06070735529B673C393030F08CA804C693F50C0000EA4E005A29A1BCAB18F3242200DAD9D5575FBD70D1A2459AA94D30162C58F0AD818181DB452530CEEB20EB190000D49D00B486344DF72E92CA77252200DA59BD5EDF6BEEDCB98F3DF4D0434F68AA8EDF95B9D1CC9D3367CE6F8BB1AFA804C693F50C0000EA4E005A4696659F2A92CA97252200DADD9C3973260F0C0CDC14DBFDC63D5C8D311F71DC6FD7CC059A81F50C0000EA4E005A29A19C98A6E971121100003081D641D6330000A83B01689984F2D562CC948800008009B40EB29E010040DD09406B48D3F4074552F988440400004C14D6330000A83B0168A584F2D3CECECE9D252200006002AD83AC670000507702D03209E5BE2449B6928800008009B40EB29E010040DD0940CB2494A792247999440400004CA07590F50C0000EA4E009A5F92249B1609E511890800009848AC670000507702D012B22CDBB64828B749440000C044623D030080BA1380564926EFCFB2AC2E11010000136C2D643D030080BA1380E697A6E99422A15C2C110100001389F50C0000EA4E005A4296654714E3DF252200006022B19E010040DD0940AB249353D3343D52220260AC1CD27FE56BBAFB1A07C5E73DFD576DD77D4663876AF4F437763CB4D6785D3C37F39CD9AFE8AA350EAEBE2F9EEBEE1FDCD31104E0255A0B59CF0000A0EE04A02592C985C5D85F220260AC749FD17863575FBDDCEEBFBB56FF654FAD7E4235BA6AF52F769D39F8DE78AEAB36F889EEFEFA67CA6FCAF3758BD7FEB0ABBF7E79F1F1DAAEB31A931D4900D6722D643D030080BA1380E69765D940313E2811013016BAFAEBFB74D71A3FE8AED5EFEDAE0D9E5B7C6C3CEF0579BE6E7CE8EDED5DAFBBAF71655CA55BBC667A575FE35FBB6A83C71C715A63B368E81E75CEC026F11A47148091B29E010040DD0940AB24939BA74C99B29D4404C058E9EA1BD8AAA76FF0C2F8BCA756BFB5BB561FA84657ADBE301EEFEE6B7CBAF8FAAEAE5AA35E7CBC201AC0C573F38A8F3717636E316E39AC6FF05D8E26006BB116B29E010040DD09404B2493C549926C2E11013056CA866EAD7159575F63B7E157E8565F1FF9A5C6963D67D5B78DAB747B7B2F7B596CBFDCD337F8B1EEBEFAE1D1C88DAB75BBCE9CB393A309C05AAC85AC670000507702D0DC66CE9CB941914C9E2E3E5D572202602C4413B7A7AFFE9DEE5A7DF1B2AB706F2CBEDEAF1AC5D7BF88D7F5F636D6EFE91B9C5DBCE6A0186543B7563FA578FE1BC5D79F2B3E5EDA531BDCD9110560A4AC670000507702D0F49224796D914C164844008C959EFEC68E711FDD6ACBE5EE5AFDA69EBEFACC6A74F5376694AFABD5DF1757EB76F7D5FF2D5EBFACA1DBD755AB1F10A3A77F705AD79973B6704401B09E010040DD09403B27921D8BF173890880B134F41EBAC3B75C1EEEF02F5DF5FAE557E8F60D7EAC7A3CB664EEEEAB9FE86802603D030080BA1380B695A6E9E42299FC50220260ACF49EDFD8B0FB8CC60EFFDBD01DFC5577AD7E4135BAFAEA179757E1F637D2D88EB9787E5677AD312546576DF0B4B86F6E5CE5DB53AB1FDD536B7CDE1105C07A0600007527006D2BCBB2838A64729E4404C058E9EEAFBF3BEEA1DBD55FFFC8B2AFCF39E2B4C666D5886D943FF9E56B5EFDA92F35364E2EBBECCFAAEF3BB4F6A39777D5EA8715AF3FB6BB6FB0B71887168FFD85230A80F50C0000EA4E00DA39911C9365D917242200006002AE87AC670000507702D0F489E4AC344D0F918800008009B81EB29E010040DD0940734BD3F43B4532D95722020000261AEB190000D49D00B44222B936CBB2DD242200006002AE87AC670000507702D0F489647E9224DB48440000C0045C0F59CF0000A0EE04A0E913C992244936968800008009B81EB29E010040DD0940F38A466E3474252200006022B29E010040DD0940538BAD9663CB65890800009888AC670000507702D0EC49E43DC5B8766D1391611886611886611846AB0E2B430000C6E0BD787527002393A6695224926F3B120000000000303A34740118B12CCB0E2D1249BF23010000000000A343431780B549225F4CD3F4738E0400000000008C0E0D5D00D626897CAD18331C090000000000181D1ABA008C589AA6971789E4C38E0400000000008C0E0D5D00D62689FCBCB3B3F3EF1D090000000000181D1ABA00AC4D12599024C96B1D090000000000181D1ABA008C486F6FEF7A4512797AD2A449EB3B1A0000000000303A34740118912449362F92C86247020000000000468F862E00239265D9F64512B9D991000000000080D1A3A10BC088A469FAA12CCB061C090000000000183D1ABA008C489AA6071449E40247020000000000468F862E00239265D9678A718A23010000000000A347431780912690D3D3343DDC91000000000080D1A3A10BC04813C825C5E87424000000000060F468E80230225996D58BB1BB23010000000000A347431780912690DB922479AB23010000000000A347431780912690479224D9D491000000000080D1A3A10BC01ADB73CF3D5F5E2490A58E0400000000008C2E0D5D00D65892245B1509E43E470200000000004697862E0023491EBB14E3A78E0400000000008C2E0D5D00D6589AA67B1509E4FB8E0400008CBF43FAAF7C4D775FE3A0F8BCA7FFAAEDBACF68EC508D9EFEC68E87D61AAF8BE7669E33FB155DB5C6C1D5F7C573DDFD837B3A820000D0DC347401586359961D5C2490731C090000187FDD6734DED8D557BFB8FCBC56FF654FAD7E4235BA6AF52F769D39F8DE78AEAB36F889EEFEFA67CA6FCAF3758BD7FEB0ABBF7E79F1F1DAAEB31A931D490000684E1ABA008C24791C9F65D9098E0400008CAFAEFEFA3EDDB5C60FBA6BF57BBB6B83E7161F1BCF7B419EAF1B1F7A7B7BD7EBEE6B5C1957E916AF99DED5D7F8D7AEDAE031479CD6D82C1ABA479D33B049BCC611050080E6A3A10BC04892C7D9699A7ED291000080F1D7D537B0554FDFE085F1794FAD7E6B77AD3E508DAE5A7D613CDEDDD7F874F1F55D5DB546BDF8784134808BE7E6151F6F2EC6DC62DC7258DFE0BB1C4D0000683E1ABA00ACB1344D671509E4638E0400008CBFB2A15B6B5CD6D5D7D86DF815BAD5D7477EA9B165CF59F56DE32ADDDEDECB5E16DB2FF7F40D7EACBBAF7E783472E36ADDAE33E7ECE468020040F3D1D0056024C9635E9665FFE0480000C0F88A266E4F5FFD3BDDB5FAE26557E1DE587CBD5F358AAF7F11AFEBED6DACDFD33738BB78CD4131CA866EAD7E4AF1FC378AAF3F577CBCB4A736B8B3230A0000CD4743178091248F7B9224D9DA91000080F1D5D3DFD831EEA35B6DB9DC5DABDFD4D3579F598DAEFEC68CF275B5FAFBE26ADDEEBEFABFC5EB973574FBBA6AF50362F4F40F4EEB3A73CE168E280000341F0D5D0046923C9E4C92642347020000C6DFD07BE80EDF7279B8C3BF74D5EB975FA1DB37B8FC362AB12573775FFD44471300009A8F862E006B2449924D8AE4F10747020000C65FEFF98D0DBBCF68ECF0BF0DDDC15F75D7EA1754A3ABAF7E7179156E7F238DED988BE76775D71A536274D5064F8BFBE6C655BE3DB5FAD13DB5C6E71D510000683E1ABA00AC912449DE5C248F3B1D090000187FDDFDF577C73D74BBFAEB1F59F6F539479CD6D8AC1AB18DF227BF7CCDAB3FF5A5C6C6C96597FD59F57D87D67EF4F2AE5AFDB0E2F5C776F70DF616E3D0E2B1BF70440100A0F968E802B0A68963529665573912000000000030FA3474015823699A16B9A3E35B8E0400000000008C3E0D5D00D6489665DDC538D391000000000080D1A7A10BC09A268E93D334FDAC23010000000000A34F431780354D1C5F2FC65447020000000000469F862E006B244DD32BB22CDBC391000000000080D1A7A10BC09A268E5F747676EEE0480000000000C0E8D3D005604D13C78349926CE9480000000000C0E8D3D00560B5F5F6F6AE1789C3300CC3300CC3300CC3300CC3300CC3308CB11B3A1400AC5153D751000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060A2FB7F6C1A245B7744FAA50000000049454E44AE426082, 1); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('7063ef50-69e4-11ec-a1dc-0235bf949cb9', 1, 'flowLeave.bpmn', '7063ef4f-69e4-11ec-a1dc-0235bf949cb9', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E222069643D226469616772616D5F666C6F774C6561766522207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C70726F636573732069643D22666C6F774C6561766522206E616D653D22E8AFB7E58187E794B3E8AFB72220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C666C6F7761626C653A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E466C6F7746696E69736865644C697374656E6572223E3C2F666C6F7761626C653A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C73746172744576656E742069643D224576656E745F316339756B6B71223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D2241637469766974795F3073633279756622206E616D653D22E8AFB7E58187E5BD95E585A52220666C6F7761626C653A61737369676E65653D22247B7374617274557365724E616D657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383733363935353822206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F303566793977682220736F757263655265663D224576656E745F316339756B6B7122207461726765745265663D2241637469766974795F30736332797566223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F316A773575323022206E616D653D22E983A8E997A8E9A286E5AFBCE5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F666C6F7761626C653A7461736B4C697374656E65723E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383733383937333422206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383733393331313622206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30706D653076722220736F757263655265663D2241637469766974795F3073633279756622207461726765745265663D2241637469766974795F316A7735753230223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F306F6C7861747622206E616D653D224852E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303936343232313738303130333136382220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383831343737323722206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383831353130363922206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A64657074506F73744C6973743E0A202020202020202020203C666C6F7761626C653A64657074506F73742069643D2264657074506F73745F5F313434303936343232313738303130333136382220747970653D2264657074506F7374222064657074506F737449643D2231343430393634323231373830313033313638223E3C2F666C6F7761626C653A64657074506F73743E0A20202020202020203C2F666C6F7761626C653A64657074506F73744C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3168626F62333722206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F316A773575323022207461726765745265663D2241637469766974795F306F6C78617476223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C656E644576656E742069643D224576656E745F30346279787237223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30736F3831306122206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F306F6C7861747622207461726765745265663D224576656E745F30346279787237223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3031326864347622206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F316A773575323022207461726765745265663D2241637469766974795F30736332797566223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3164706E797A3622206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F306F6C7861747622207461726765745265663D2241637469766974795F30736332797566223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F774C65617665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F774C65617665222069643D2242504D4E506C616E655F666C6F774C65617665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F316339756B6B71222069643D2242504D4E53686170655F4576656E745F316339756B6B71223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223133322E302220793D223332322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30736332797566222069643D2242504D4E53686170655F41637469766974795F30736332797566223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223232302E302220793D223330302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F316A7735753230222069643D2242504D4E53686170655F41637469766974795F316A7735753230223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223338302E302220793D223330302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F306F6C78617476222069643D2242504D4E53686170655F41637469766974795F306F6C78617476223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223534302E302220793D223330302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F30346279787237222069643D2242504D4E53686170655F4576656E745F30346279787237223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223730322E302220793D223332322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3164706E797A36222069643D2242504D4E456467655F466C6F775F3164706E797A36223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223539302E302220793D223338302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223539302E302220793D223432302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223432302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223338302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223431392E302220793D223430322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30313268643476222069643D2242504D4E456467655F466C6F775F30313268643476223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223433302E302220793D223330302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223433302E302220793D223237302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223237302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223237302E302220793D223330302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223333392E302220793D223235322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30736F38313061222069643D2242504D4E456467655F466C6F775F30736F38313061223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223634302E302220793D223334302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223730322E302220793D223334302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223636302E302220793D223332322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3168626F623337222069643D2242504D4E456467655F466C6F775F3168626F623337223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D223334302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223534302E302220793D223334302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223439392E302220793D223332322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30706D65307672222069643D2242504D4E456467655F466C6F775F30706D65307672223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223332302E302220793D223334302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D223334302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30356679397768222069643D2242504D4E456467655F466C6F775F30356679397768223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223136382E302220793D223334302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223232302E302220793D223334302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E, 0); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('7149bb71-69e4-11ec-a1dc-0235bf949cb9', 1, 'flowLeave.flowLeave.png', '7063ef4f-69e4-11ec-a1dc-0235bf949cb9', 0x89504E470D0A1A0A0000000D49484452000002EC000001AE0806000000CB585306000027194944415478DAEDDD0D945C657D3F7054AAD43F556CD15245A52DA7B5450B3D468F2FA8543D3DA858A11242122A219145C8CBCEF05A22E4BF41822291646713212516049524BC040D2F81646792202C10FF1643103418302FE4052411020981E4FEEFEF9EBDDBC926816CB29B99DD7C3EE73C6767E6DE9DDDDCFD669EDF3CF3DCE7EEB71F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402F32A2E59E77179A2B5F8FDBC596F91F2A4CA81C95B7624BA5DFC852E5D0D8D63065D65B1B4B9533F2EF8B6D8596D62F38820000D083D2C2FCB0C6E6F28FB3DBA5F2AF8AA5F2D8BC3596CAE31A27B67E3AB635965A4F2FB494CFCFBE2949DE90EE7B7B634BF98EF4EBCF1B27558E73240100A09BA505F7570BA5CACFD2A2FBA942A9F59AF46B659B1DD2C23CBE343535BDB1D05CB92746D9D37D86363657BE9D16F0179D33BE727014EC174C99F3F6D8C711050080EE2EDA9BE7BCAFD8DC7A43DC2E96CA8FA605F89CBC3596CAABE2F1B4581F9EDE5FD258AA94D3AFD747819F6E6B4BBF3E92B679695B3CAAB9F5138E260000F444C15EAACC686CAE1CDD79843DBF7FDEE4CA21C549E5236294BDA969C69B637A4C5AE49F50682E9F1D857A8CB6374E9CFB1147130000BAB558AF1C5D6C2EDF9C16E6CFB48FA23F98DE3F296FE9FD8763BFA6A6CAFE69813E2B4E4E8D9615ECA5F277D3ED3F4CEF7F33FD3ABD586AFDA8230A0000DD28567A8979ECF99498B4F05E9816EA0D796B6CA90CCBF62B953F13A3ED85E6F2E5B17F7BC1DEDC582A7F2D5AB1A5F5B4C68973FFD2110500806E563D877DBB934E3B397BF2FCF7768CB037B79E903F1E5366D262FE1247130000BA51D3B59503B2F5D63B0AF6D645ED2795662D967BCC46D15B2A0362BA4CBA7D66A154191C2D2DDAC7C7BCF518A52F96CAA38BA5CAB71C510000E8468596F227630E7B634BF9DFDAEF4F89A51AF316D35CCEFCFEBDEF386B72E5C0FE3366BC29FFBE91A53BDF9216F2A3D2FD2F2E34B736A56D64FAD8DB1C51000000000000000000000000000000000000000000000000006877F2C927279A56CBE67F2100C0EB14EC8E02F20700A06002F903005030217F00000A26903F00000513F20700A0605230217F00000A26903F00000513F20700A06002F903005030217F00000A260513F20700A06002F903005030217F00000A26E8066BD6ACF96AA9544AD20C1EE668000028D8A92349921CF0DC73CFAD4B250D0D0DB73B2200000A76EAC8F2E5CB6F48DADD7FFFFD2B070E1C78BCA30200A060A70E6CD8B0E1C82D5BB66C4DAA8C1B376EF99021430E7274000014ECD4D8EAD5AB97269DAC5FBF7EF5E0C1839B1D1D0000053B35B46CD9B28B939D983973E6EA348FFD1C2500605F2ECE674581FE3A6DA123454F486BF243366DDAB4796705FBD6AD5B5F2E168B8B8E39E698FD1D2D00605F2DD8FBA5ED95D72AD8070C18709C23454F58B162455BF23A962E5DBA7CE0C08105470B00D8978BF6BB5EA3606F33BA494FB9EFBEFB5EAF5E4F366EDC382FB23864C890031C3100605F2DD8FBEDAC60B7B41E3D69CC9831C35F6B4A4CD4EBA3478F9E6E841D0050B4EF782EFB42A3EBF4B469D3A6FD6667D5FA134F3C71B54F790000F6DBF15C7673D7D91BFAF7EF7F785A986FDCC109A78B070F1EBCD82A310000EDD2027DA6D1756AE18A2BAE68490BF42DD505FBD4A9537F90667282A30300F0BF05FBC7AAE6AE1FEB88B0B7C49BC3D9B367AFADBA68D24FD21C2E71A55300804EF2B9EC46D7D9DB468C18F1D975EBD66D4A5BD2D0D030D709CF00003B2ED8FBB9D229B53265CA94BB4AA5529C3F31D3D10000BA5D9224FB2F5DBAF4A6071E78604B6B6B6B3267CE9C5ED9A260EFADBFFBDCB97393050B163C9BB653E4AFF7FDFDEEB8E38E2C7FB7DC728BFCC99F267F00DD2F3AAB7BEFBD3759BB766DF2F2CB2F6B356ACF3CF34C327FFEFC3FA69DD789F2D7FBDACA952BE54FFE34F903E81931B2A4B3AA9B4EEBE53973E63C267F9AFCC99FFC01D0213E06D659D44F4B3BAC57E44F933FF9933F003AC41C421D455D755889FC69F2277FF20740973BAC0DEB57254B175E9B3C3AF792ACC5ED784C27A3C3923FF9933F4DFE006ADC61BDB06E65B2F8EE8B935FDD71DE362D1E8B6D3A1A1D96FCC99FFC69F20750C30E6BF9A33FDBAEB3CADB8A4767E9687458F2277FF2A7C91F402D3BACC72A97EFB4C38A6D3A1A1D96FCC99FFC69F20750C30E6BF19CA69D7658B14D47A3C3923FF9933F4DFE0074583A2CF9933FF9933FF90350B0EFA8C5AA083BEBB0629B8E4687257FF2277F9AFC01D4B0C35A72DFA49D7658B14D47A3C3923FF9933F4DFE006AD861FD61E5A264F13DFF77FB8F83D3C7629B8E4687257FF2277F9AFC01D4B0C38AF6E42FAEDFAEC38AC774323A2CF9933FF9D3E40FA0D61DD6A64DC992FBAFDAFEE3E0F4B1D8A6A3D161C99FFCC99F267F0035EAB0E24A7EBFBDAF65A77338639BABFDE9B0E44FFEE44F933F80BDDD616DDA94AC5A524E1E993D7AA79D55DE629FD8D768930E4BFEE44FFE34F903D80B1DD6EB8D2A196DD261C99FFCC99FFCC91F400D3BAC5D19557AADD1261D8F0E4BFEE44FFE34F903E8C10E6B773BABBCE9787458F2277FF2A7C91F400F76589A0E4BFEE44FFE34F9AB4F43860C39E8E4934F3E316D2D696B4BDBAAB425552DEEB70D1830E09A8103079E92B6831D35EACE8A152B8E9C3973E6C4C993272FBEE8A28B5E183162C496C183077704F9F4D34FDF7CCE39E7FC61ECD8B10BC68F1FFF8D34F80728D875143A2CF9D3BA377F4D4D4D6F2C4CA81C559C543E62472DB6F59F31E34D9DBFAFD8521E34AAB9FC39F993BF7D21835D9116E0C7A575CCACB4007FB55381FEBA2DFD9E39693BFE98638ED95FA548CD2449B27F5B5BDBF9A55269555A9027DFFEF6B7935B6FBD3579F8E18793952B5726AFBEFA6A92FBC31FFE902C5AB428B9EDB6DB924993262569C1FEEA79E79D77FFD0A1438F54B06B0A76F993BFEE71EE1577FF9F42A9BCACD0D27AE98E5AB1545E9A164C07C5BE8596F265C552654663A9FC58FA3DB7FCEFEDD69B0ACDAD13E54FFEFA6A0677455A70F74B8BED07BA5AA4EFA42D4C9FEB5895237BDDFCF9F3874E9830E185B3CE3A2BB9E9A69B9255AB56255DB16EDDBAEC4562F8F0E1AF8C1A35EABE34CC8729983405BBFCC9DF9E1959BAF32D69E153692C55CE28942A13B669CDADE7169A2BF79C35B972E0A8E6D64F149ACB17A6C5D179E9FE2BE36BFA3D17A4B7D7648FB594CF6F9CD8FA69F993BFBE98C1D712A3E16971FDED1D8DA85F70C10559CD73DF7DF725CB962D4B366EDC98D5349B376FCEEE3FF0C003D9C0E5C5175FBCB3C2BD655F9F61C05E1C559F3E7DFA2343870E4D6EBCF1C68EB0EEAE18858F51F7FFF88FFF7865D8B0611728983405BBFCC9DF9E174B234B0BDE79EE5577BFAB73CB8BA5D85E2CCDFD545A188D89A2A9BA658FB5943FD93871EE5FCA9FFCF5C50CEECCE0C1830FED3CAA9ED627C9B5D75EDBE581C9A79E7A2A993A756ACC28E85CB43F123F4745498F49C37A584B4BCBDA42A19005B13BC5F3158BC58DA79F7EFA8FF685779F3A2C05BBFC693D59B067D30D4AE5871B5BCA77442B945A1765738BDB8BA5D83EAAB9FCE142A97267B1B9DC50DDD2EFBBBBD832FF43F2277F7D35833B9216EA1F183468D0D3D5C5754CF55DBB76ED1ED5373125F8924B2EE95CB42FDFD76616B0178BF59802131FF3C474969E10A3F5E3C68D7B71D8B06177F5F5133474580A76F9D3F642C17E77FE78B1549E9B3D56552CC5C97FE93E0B0B2DE5D236AD54FE7F7172A0FCC95F5FCDE08E46D6AB8BF518559F376FDE36E7E2EDA97BEFBD377B5E453B3D26A6C1C4C87A14EB7B3A056657A6C85C7AE9A5CFA7A19EAA60D214ECF2277F7B502CB5941F284C9AFBF1ACA54551E762E9EC52F9C8D8A7B1A5F5C66273F9E6F81A2DF655B0CB5F5FCE60B5F639EB1DD3606285BBC71F7FBC476A9C98E3DE698ACC23FDFBF73F50A549B78839EB310DE6F9E79F4FF6867853306AD4A8E7D3FF34E72B983405BBFCC9DF6E174BBF4B8BA36F66ADA57CF17E49F2866D46379B5B47169B2BC7C66A1CC552797463A975C499DFBFF71D71C25FB1A57C96FCC95F5FCD60B538C1B47A64BDA78AF5EAA2BD7AD9EB381155A5C91E5BB060C1E971826977CF59DF9539ED69A037A6EF3C0F5730690A76F993BF5DD3746DE580B4309A1F8551B1D4FAE5FCF118C96C9F2FFC50C394596F2D4EAE1C1EA398234B9543D3E2E8AE112DF7BCBBD05CBE24DD3E242D9CC6A6DB7E5A68A91C237FF2D71733986B5FBAB16335989806B337C4F4984EEBB55BF2913D9B0AF3BDEF7D6F43AC06530BB7DE7AEBFAB468BF55C1A429D8E54FFE764D8C5C164B95ED46ECD2C2E7F86C0DECE672435E3C458BDBEDCBEA4D8A96DE1E57BCB2F53DB1824763F39CF7C99FFCF5C50C568DAE3F507D826977CE597F3D9D4E445DE8E24AECB6B82852ACB3DED3F3D65F6B3EFBD0A143D70C1A34E8280593A660973FF9933F4DFEBA4BFB154C3BA6C2ECE96A30BBB37A4CF57CF6B822AACA93DD72E59557AE8A0B04D4D2AC59B3E22CEA1B74589A0E4BFEE44FFE34F9EB2E696D312B2F96639DF55AF8D18F7E545DB0CF5179D2652B56AC38F2F4D34FEFF28502BA5B2C213968D0A0E7FADADAEC3A2C1D96FC69BB9ABFBEF651B9FCC95FADA535C541D573D76B55EBC4A87EF509A8E9EF74B00A942E993973E6C4EF7EF7BB493DB8F0C20B17C64757BDE1B8C53BE4B41DADC352B0CB9FB6A7F94B5FFE0E59B162455B5C06FDA28B2E3AA7DE0B27F993BFDE92C3B4383E312F922FB8E0829AD638B1647655C17E8A0A942E29954A8FDE7AEBAD7551B05F77DD758FF496658FAA3FDA4ADF647C4C87A560973F6D77F2B76CD9B28B376EDCF84AFE3AB869D3A6CDD3A64D5B327CF8F023E44F93BF3DCB61D414F97EB59EFA1BB556FEBBA4BFEF352A50BA247D37FDC2C30F3F5C1705FB2F7FF9CB256990DB7A53C154D5EEDAD13B7D1D96825DFEB41DE56FC3860D47AE59B366A7EBE83EF9E4931BBFF39DEF5C5D8FD304E54FFE7A4B0EA3A6C8B7C72708B514EBB257FDAE6D2A50BA64C488115B6A3D7F3DF7ECB3CF6E4843BCAA97164C1DEFF4AB5F3074580A76F9D3AAF3973A60F9F2E5376CD9B265EBEBBD266EDDBA75CBECD9B39F2D168B5F963F4DFEBA9EC3A829F2C7972D5B56D31A67E5CA95D5BFE72A15285D122741ECCDF5485F4F04B937174CD5EFF4E3233A1D96825DFEB4BC3DF4D043C9FAF5EBFFB81B27E56FBAEAAAAB5AEBE54435F993BFDE92C3EAFB9B376FAE697D133FBFFAF75181D2E5C0D7935DF80FD8AB5A2D3AAC584FFF89279ED8E6B19FFEF4A7C9CF7EF6B3EDF68DF5619B9B9BB377FE2FBCF042F2FCF3CF277FFCE31F93679E7926BB1FABF7BCF4D24BD9BE9B366DEAF51D565FCBD7DECC5F8C4E5D73CD355936F2ECAC59B3265BFD20CF4FE7EF79E4914792891327262B56ACD8E9F3DE71C71DC9FFFCCFFF64B79F7BEEB92CBF91B56891BD175F7C71BB9FB7A316B9DDD1F3C7C7E091F19DFDFCC71E7B2C9939736676FB97BFFC65F6BBC6CF7EF0C107B39FD75DC72F8E51A954CAFE4FEDCE2A5AF1BD5EFF6ADBEA254BF2B77BADDE6A1C1528BD7984FD853E30C29EAD74939F655F8B0EAB5028247FF6677F965C75D555D94522860E1D9ABCFFFDEF4FFEFAAFFF3ABB1D1770B8EBAEBBB27DEFBEFBEE38DEC961871D967D8DF6B9CF7DAEE376B4FCDF70FBEDB7276F7AD39B92B7BCE52DDBB53FF9933F89919B6D7E8F868686E4BDEF7D6FF6B3DFFDEE77270B162C30C2DE0BF3176FFE6EB9E5962456938A3C7CFFFBDF4FE2AAC8F1DA519D931123466CF7C62E4EF28A6D51BCE48F556FFFD5AF7E95ECBFFFFEC97BDEF39EECE7444EAA9F335AFCDCD83772DB795B75BBFCF2CBB3FDDADADAB2DFA5B1B1316B1FF8C007B2EDDFF8C6373A1E8BEDF7DF7F7FB67FFC3F39E8A083B2DB91D5CB2EBB2CBBFDE637BF39F9C94F7ED2ADF9BBEDB6DBE2FFC5EDE9CF5EB575EBD65D7AE14DFF5FFDE48C33CEA8A47FD799E9DFF730AF7F7BAFD57396F6E5FC752587D58FD7EAE29046D8E916679E79E6CBF532877DCD9A358B7BF11CF66D3AAA5ACEE18CD1C6418306255FFFFAD793134E3821F9CC673E93BCEB5DEF4ADEF9CE7766B73FF5A94F758C68FEEBBFFE6BF2C94F7E327B3CAE761B6BF21F7FFCF149B95CCE4693DEF8C63726ADADADD9BEAB57AF4E8AC562326AD4A86DDAC73FFEF1AC23EBFC7B440775E9A59726A79E7A6AD6C9D54387D5870BF61ECB5F8C80BFEF7DEF4BFEFCCFFF3CF9977FF997E41DEF7847F20FFFF00F49FFFEFDB32CDD79E79DD9DF372E481223E2F1A6EE6D6F7B5BF2177FF117C981071E986D8B2226EEC7E391A9180D7FF2C927934F7CE213C9A73FFDE998739ABD698C4B787FEB5BDFCABE270AF428D6F34F8B22CFF93E9DDB9FFEE99F26E3C78FCFF68B37136F78C31B9261C38665ED2B5FF94A96FDF4F8743C16BF435CC864FEFCF9C969A79D96FD9ED3A74F4FFEFEEFFF3EB9E28A2BB2E779EB5BDF9AADEA70EFBDF7268B162DEAD6FCC5950EC78E1DBB7CDDBA756B5F63FEF0E22953A65C93FE6D97D4DB9511EBF9F5AFBADD73CF3D5996E252F4F9635164C763F16631DF9EB71878F8ABBFFAAB8E51F47ACED2BE9CBFAEE4B07A0EFB534F3D650E3BBDD7F9E79FBFBA5E5689696B6B9BD70B5789698B17B39DAD5BBBB73BAC19336624E79E7B6E36CA1EA39B512CC7EF19A33D31DA1DB7FFFDDFFF3DDB2FA6C94427150552FAFB67B7A3738AE2BDF3087B4C838817BB98DEF0BDEF7D2F9930614247FBE77FFEE7E4B8E38ECB3EFEDDD1C7BEB14F3C4FAC41AB60EF9DF9BBFAEAABB3423DFEC6071C70403652176FF08E3DF6D864F8F0E1C93FFDD33F758C9C47C1DED2D292DD9E366D5AF6B7FFC52F7E91DD8FD1F9B81F235D51A8C7A73991CB78FE134F3C31F9D297BE94BDF91B397264C7887A3E05270AF6D816854FE716055214FFF1294E4CA1495FD7B23717F1FC1FF9C847B2E78937A671FFB39FFD6CF29FFFF99FD9149EF8777CF5AB5FCD0AAA28D2A2C8FAE8473F9A1575F1D829A79C921571F9BFA73BF397BEE13970F0E0C1CDB7DC72CBDA2D5BB6BC54F552B8317D937275BA6D715A7C4C880BBF78FDDBBD967F82B8A3823DFABD7CFB17BEF085EC139AA6A6A6ECD39E782CDE28D67396F6E5FC7525875689A1CFB8E4924BEEA99775D8AFBCF2CA59BD681DF61D8E28D5BAC3BAF0C20BB391CCE854A223890EE5F39FFFFC362D3A9AB88044BF7EFDB629D8A3008B8227469DAEBFFEFA6C74E9BAEBAECBE60E5F74D145AF391D216FD1B975FE9DE267C6B6E8C014ECBD2F7F31CA1D6FCA6214FBA8A38EEA28582233D16244B1FAEF5E5DB03FFEF8E3C97FFFF77F274F3FFDF47605FBC2850BB34267EAD4A9C921871C924DA98AE90531DA7EE49147669FCEC4BECF3EFB6CF6BD310D21A6161C7DF4D1D92743F166215A643C3E01887D2B954AB6EF19679C918DC647CEBFF6B5AF65DB22DF713F1E8FE7CA7FDFFFFAAFFFCAFECF2C59B224CBE8DFFCCDDF641D6A1459F17DF186A427F397FEAC7EC56271D1D2A54B57BEF4D24BF3478F1E3DBDBDC8E8277F7BA760AFDE1E198CC76234BC9EB3B42FE7AF2B39AC5E873DDED85B879D5EEBF2CB2F3F6DFCF8F15BEBA1604F5F1867F5962B9DEEAA5A7458319A199DC3EF7FFFFBE4CC33CFCCE698C7A868B4B81D1D4AEC17A398871F7E7847C1FE8FFFF88FC917BFF8C56C54A8BA088F8F7BE3E4C118358A91FB28E8A3908F6D93274FCE4E668D422EA6442C5EBC789BDFE5B7BFFD6DF69171CC9D8FFDE37B15ECBD2B7F31FA1D854A7C5A93B798729517CC918BC856DAE16F57B0776ED505FB0D37DC90CD598F4F7FE2CD40143F91C328D8234FF9D498BC608F22E83BDFF94E362D2B0AA6289462D43D9E23CED588732CF29F13DB62A4347217998EE7894E32EEC7FE79911553C3F2B9F85160759EC610CFBF37F2170547FAEF2EB42F4957E82B9788AF97823DF219D3B2A2C59BBECE057BFCDD63943D3EF589732AFEEEEFFEAEE313A37ACD92FCED7251EF4AA7F40D715184F48567738CA2D6780DF698BFFE4C3D5FA4A13716EC315A74E8A187660557B4E8900E3EF8E06CBF986F1CD308F2823DE6A2C789A263C68CC946E1E344C328B6F3422C46EFE379E3A3DD580D216E47F116239ED111CE9B376FBBDF250ABB28C662FE7B746031A521560251B0F7AEFC456E3EF6B18F75B41851CFA7C444F11D23E47971B2AB057B1438B15FBCE98B732D627E7B4C838982FD88238EC8A628E405FB8F7FFCE36CDE706CAB6E318F3E1FF18FED319A9F175991FBF81A53C0F2DC563F1EFBC5391BB12D0AAA9FFFFCE73B9C77DC9DAB23BD5EFEFA52A1544F057BE4F79C73CEC9DA873FFCE1ED0AF628D0FFF66FFF36BB1DDBF33789F59C25F9DBE51AE7A0B4B678252F947FF7BBDFD5A4C6693FB76C6B55C17EF07ED055E9BBCECAAC59B36A5AB0A71DF70FD310DFA060EABE823DD6DC8D178628A6E244D268317A9E17ECD1AA0BF618A58C8F0C67CF9E9D8D42452716A34ED5CF7DF3CD37679DDFB871E33A46E063C4FED7BFFEF576BF474CA989ED31AA11F763A43E1F9D52B0F7AEFCC5FCF52F7FF9CBD9DFF2831FFC6072D249277514ECB13DE69EC71BC2AE14ECD5A3F71FFAD087B24F7CE239A3F08E8CC673C4BED1D1C5273A91C528E4E33C8BF85D22CFF173639F781311A39F93264DEA28B2E2D3A398931C2706C63E51ACC5FD28CCF2222BA6ECC4C9AAF9A74E3B2AB2626A4E779D7F217FF53B2566C3860D598EE27E9EA37ACE92FC7569947D565E284F9932A526354EF47FD517765279B25B860E1D7A644343C3ABB55AF2E8D5575F5D9E06F889F4DDE7513AAC3D6FB1C458742AB19A4114D751E0E45362E2E3DE9D15EC319A1EDB63DA411447F11C312733F68B7578E305274632E3F1B3CF3EBBA3188FEF8B934EF39567A2C55AC431FD26A6D9548F564531967F5F2D469B144CBB5FB0C7DF3F6EC7E862FC1DA3B88E4F57A2988993E9468F1EDDE5823D56D688FBB1024DACA0F0C31FFE309B931E6F18E3D3A118418FECE5DF1FD36F22CFB15A471458F1694D7C7F1443D53F270AAB289C62AE7B5E84C5FF85B81F8F574F4FC8E71DE74556ACF41185555E64C5149C7883227F7DBB60CF8BEE382723FEF6BFF9CD6FEA3A4BF2B7EB62AA6D5E2CC7C0540C02EC4D3183E1D4534FAD1E5D3F7E3FD85DE98BD8FC5A9D7C7AD965975D9786F8261D56F7B4586A313A9518818C799631BD25563C883582A3D089251EF37DA3038A823D5686894E2BE6AAC73E518045A7145F638A4C745E51CCC747C263C78ECDD617CE47F12337B1145AEC9B5F28278AAA38E12A3E7EACFEDD6239BF78DEF8DE985FAFC3EA3D057BBC018B6226721045478C2C46D112054914D2B14250BC098BBF7DE78BCBC489A571F2714C897AFBDBDFBECDB678AE9886106FF8625A41BCB18C51B0287822579DFF0D31DA1ECF11A39CF93CF758F1A87A9F3861309626CD6FC73EB18C649E817CDDECF81A1D78BC898D422EA66FC5EF1FD36DE2DF1ABF73CCB1FFE637BF297FBDB060DFD5651DABB74776E3B1FCD3A37ACD92FC757994BD63B598580A766F5E7F267E5EF5D2937D71EA117B51FFFEFD0F39EDB4D35EDEDBEB94FEFAD7BF9E9F06F885F4E71FAEC3EA9E16F32763A4278AA758E2319F82121FD7C6CA30F1516EBE6F145CB14C63EC1357B28B65A7E284BF7CB58D1829CD2F5C1373E2F3E789A5F8A2F08E51CE782CAE903A77EEDCEC7614E9310ABBB32BFBC5F7C4F48718CDD261F58EFCC55494C841E4224EAC8B375B31C21EF9A9DE2F567A89732162CE79F5E3319A1923955190C754A9EA6D51A8C79CF8C85514E931252B7FAE2876E2139F1D5D6B20F68FF5E0635A4CF5A7389D5B9C5BB1B3695B3FF8C10FB20B8AC5BF2756428A9F95AFFB1EFFDE78EE78D3BB7CF972F9EB85057B77B77ACA92FC75CD49279DF4F9EA35DBE36FB937C49BBCEA9F9BBEA61DABE2648F0D1A346854A15078696F4D8D79F1C5171F4D7FE6A36988CFD561693A2CF9ABF54979F2E7F54FFEFAF428FB1579E11C030F514CF7F4BAEBA79C72CAD6AA82BD653FE82EC3860DBB7EECD8B13D5EB4BFFAEAAB4F0D1D3AB49C06F82A1D96A6C3923FF9933F4DFE7A524C45A99E1A13457B4F5D4C298AF5534F3D754B55B1FE485CAC4A9549B7063A2DA47F3A66CC98E77BAA688F91F5F48D4125E6ADF7B5651C75583A2CF9D3E44FFEE4AF3EA545FAA169EDB1A4BA688FE931DD39A73D46EE3B8DAC2F4FDB612A4C7AA4681F3468D09451A3463DDFDD73DA63CE7AFB3498ABFA7AB1AEC3D261C99F267FFEEEF2575FA278AE2EDAF31351F774F598580DA6D309A68A75F68E0103068C48DF7D6E983E7DFABACD9B37EFF1D28DEDABC1BCD097E7ACEBB07458F2A7C99FFCC95FAF18696FAB2EAE63959FB862F7AA55ABBA7C51A458F6B67AE9C67C1A8C629DBD26568F193870E0CD6910D7DF74D34DBF4BDF41BED2D52B98C64591D2E7783CA6C0A45F3FA0C3D27458F2277FF2A7C95F2DC56C820103064CE85464672DAE2B1117128C39EE31D3201FB48CAF71CD8898A37EDB6DB76517C2AABE8269F509A6E6AC53ABD1F60FA6ED9A3498CF9F7DF6D90F4F9D3AF5E1071F7CF0774F3FFDF48B55F5F90B51A0B7B5B5CDBBF2CA2B679D71C6197175B167D222FDC6BE7851241D960E4BFE34F9933FF9EBDDDA977C6CDB51E1BE1B6DA1A51BA90B31EFBC3DDCB13C529C38FA64DA5EA90AEBAAF6E0B7C4D5C5F68579EA3A2C1D96FC69F2277FF2D7EB0726E38AA8B33AD534BBD4D2227D4E5CC1D445914087A5E9B0E44FFEE44F93BF9E1F983C282DDE4F8E81C7F601C8559D0AF46C6032661DA445FA293175D851031D96A6C3923FF9933F4DFE0074583A2CF9D3E44FFEE40F40C1AEE9B0E44FFEE44F933F001D96A6C3923FF9933F4DC10EA0C3D261C99F267FF2277F003A2C4D87257FF2277F9AFC01E8B07458F2A7C99FFCC91F80825DD361C99FFCC99F267F003A2C4D87257FF2277F9A821D4087A5C3923F4DFEE44FFE0074589A0E4BFEE44FFE34F903D061E9B0E44F933FF9933F0005BBA6C3923FF9933F4DFE0074589A0E4BFEE44FFE34053B800E4B87257F9AFCC99FFC01E8B0341D96FCC99FFC69F207A0C3D261C99F267FF2277F00FBA6D6D6561D45FDB48D6987F58AFC69F2277FF2074087050B16AC5ABB76ADCEA20EDACA952BA7A51DD663F2A7C99FFCC91F001DCAE5F257E6CD9BB77ECD9A352FE9346A37B2149DD5DCB9737F9FB613E54F933FF9EB62B12B7F007D5DFA2279DC9C397316C6C7913187B0B7B51B6FBC3139F9E49393DEF8BBB7B738EE8FEDAB9D556FCF5F1F68F2D78BF3F7D0430F25A55229993973A6FC0150BFD2627D5614ECC71C73CCFE8E06B0AF4892E480E79E7B6E5D2A696868B8DD1101A02E0D1830E06369B1FE4A14EC03070E3CD61101F615CB972FBF216977FFFDF7AF4C5F038F775400A8C7827D6614EBED6DA12302EC0B366CD870E4962D5BB62655C68D1BB77CC8902107393A00D48DB440EF978FAEE72D2DE08F736480BE6EF5EAD54B934ED6AF5FBF7AF0E0C1CD8E0E00F554B0CFAA2ED6F3517673D981BE6CD9B26517273B3173E6CCD53198E12801500FC5FA76A3EB79338F13E8ABD29AFC904D9B366DDE59C1BE75EBD6978BC5E222031700D443C17ED78E8AF5F6D6E608017DD18A152BDA92D7B174E9D2E503070E2C385A00D4B258DFE9E8BAB9EC405F76DF7DF7BD5EBD9E6CDCB8715EBC0E0E1932E400470C805A15ECB35EAB58B7620CD0578D193366F86B4D89897A7DF4E8D1D38DB003508F457CE22800FB8269D3A6FD6667D5FA134F3C71754C0B34871D00053B408DF4EFDFFFF0B430DFB883134E170F1E3C78B155620050B003D4D815575CD19216E85BAA0BF6A953A7FE60C08001131C1D0014EC003516535E66CF9EBDB6EAA2493F495F0797B8D229000A76803A3162C488CFAE5BB76E53DA92868686B9AE410180821DA0CE4C9932E5AE52A9144BD9CE74340050B003D499980213AF7F7122AAA30180821DC0EB1F00E8B000BCFE01A0C302F0FA07003A2C00AF7F00A0C302BCFE01800E8B7DCF88967BDE5D68AE7C3D6E175BE67FA830A17254DE8A2D957E234B9543635BC394596F6D2C55CEC8BF2FB6155A5ABFE008E2F50F007458F4A0B4303FACB1B9FCE3EC76A9FCAB62A93C366F8DA5F2B8C689AD9F8E6D8DA5D6D30B2DE5F3B36F4A9237A4FBDEDED852BE23FDFAF3C64995E31C49BCFE01A0C3D261D1CDD282FBAB8552E56769D1FD54A1D47A4DFAB5B2CD0E69611E5F9A9A9ADE5868AEDC13A3ECE93E431B9B2BDF4E0BF88BCE195F39380AF60BA6CC797BECE388E2F50F001D167477D1DE3CE77DC5E6D61BE276B1547E342DC0E7E4ADB1545E158FA7C5FAF0F4FE92C652A59C7EBD3E0AFC745B5BFAF591B4CD4BDBE251CDAD9F7034F1FA07800E0B7AA2602F55663436578EEE3CC29EDF3F6F72E590E2A4F21131CADED434E3CD313D262DF24F283497CF8E423D46DB1B27CEFD88A389D73F007458D0ADC57AE5E86273F9E6B4307FA67D14FDC1F4FE49794BEF3F1CFB353555F64F0BF45971726AB4AC602F95BF9B6EFF617AFF9BE9D7E9C552EB471D51BCFE01A0C3826E142BBDC43CF67C4A4C5A782F4C0BF586BC35B6548665FB95CA9F89D1F64273F9F2D8BFBD606F6E2C95BF16ADD8D27A5AE3C4B97FE988E2F50F001D1674B3EA39ECDB9D74DAC9D993E7BFB76384BDB9F584FCF198329316F397389A78FD03408705DDA8E9DACA01D97AEB1D057BEBA2F6934AB316CB3D66A3E82D9501315D26DD3EB350AA0C8E9616EDE363DE7A8CD2174BE5D1C552E55B8E285EFF00D06141372AB4943F1973D81B5BCAFFD67E7F4A2CD598B798E672E6F7EF7DC759932B07F69F31E34DF9F78D2CDDF996B4901F95EE7F71A1B9B5296D23D3C7DEE688E2F50F001D1680D73F00D0610178FD03001D1680D73F007458005EFF00408705E0F50F001D96A30078FD03001D1680D73F00D0610178FD03A08F75589AA669FB6AD30B0000000000000000000000000000000000000000000000000000D067FD7FA0C1AD01F80A4F660000000049454E44AE426082, 1); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('73c05224-1cd8-11ec-acd8-3ae4f1d3c3af', 1, 'hist.var-assigneeList', NULL, 0xACED00057372001E636F6D2E616C69626162612E666173746A736F6E2E4A534F4E417272617900000000000000010200014C00046C6973747400104C6A6176612F7574696C2F4C6973743B7870737200136A6176612E7574696C2E41727261794C6973747881D21D99C7619D03000149000473697A65787000000003770400000003740005757365724274000575736572437400096C65616465724C617778, NULL); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('74c066fe-1cd9-11ec-acd8-3ae4f1d3c3af', 1, 'hist.var-assigneeList', NULL, 0xACED00057372001E636F6D2E616C69626162612E666173746A736F6E2E4A534F4E417272617900000000000000010200014C00046C6973747400104C6A6176612F7574696C2F4C6973743B7870737200136A6176612E7574696C2E41727261794C6973747881D21D99C7619D03000149000473697A657870000000027704000000027400096C65616465724C6177740005757365724378, NULL); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('76b77a99-5e3b-11ec-8bee-f20bcee4e113', 1, 'flowSubmit.bpmn', '76b77a98-5e3b-11ec-8bee-f20bcee4e113', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E222069643D226469616772616D5F666C6F775375626D697422207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C70726F636573732069643D22666C6F775375626D697422206E616D653D22E68AA5E99480E794B3E8AFB72220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C666C6F7761626C653A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E557064617465466C6F775374617475734C697374656E6572223E3C2F666C6F7761626C653A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C73746172744576656E742069643D224576656E745F31376E32727739223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D2241637469766974795F30336B6A75727422206E616D653D22E68AA5E99480E58D95E5BD95E585A52220666C6F7761626C653A61737369676E65653D22247B7374617274557365724E616D657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383833353236373622206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333936333632383535353022206C6162656C3D22E692A4E994802220747970653D227265766F6B65222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30306C647661672220736F757263655265663D224576656E745F31376E3272773922207461726765745265663D2241637469766974795F30336B6A757274223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3079777866777522206E616D653D22E983A8E997A8E9A286E5AFBCE5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F666C6F7761626C653A7461736B4C697374656E65723E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383833373230303322206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333936333633303430383022206C6162656C3D22E9A9B3E59B9E2220747970653D2272656A656374222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E0A202020202020202020203C666C6F7761626C653A666F726D5661726961626C652069643D2231343430393637353831363733343539373132223E3C2F666C6F7761626C653A666F726D5661726961626C653E0A20202020202020203C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F307839647832742220736F757263655265663D2241637469766974795F30336B6A75727422207461726765745265663D2241637469766974795F30797778667775223E3C2F73657175656E6365466C6F773E0A202020203C6578636C7573697665476174657761792069643D22476174657761795F3137397A676E70223E3C2F6578636C7573697665476174657761793E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3138703368716222206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3079777866777522207461726765745265663D22476174657761795F3137397A676E70223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F73657175656E6365466C6F773E0A202020203C656E644576656E742069643D224576656E745F306E766A786768223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D22466C6F775F31716967616B7222206E616D653D22E68AA5E99480E98791E9A29DE5B08FE4BA8E313030302220736F757263655265663D22476174657761795F3137397A676E7022207461726765745265663D224576656E745F306E766A786768223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B746F74616C416D6F756E74203C3D20313030307D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3071617934387522206E616D653D22E680BBE7BB8FE79086E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303931313431303538313231333431362220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383835333637373122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383835343030383122206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A7573657243616E64696461746547726F75707320747970653D2244455054222076616C75653D2231343430393131343130353831323133343136223E3C2F666C6F7761626C653A7573657243616E64696461746547726F7570733E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F303538636D736222206E616D653D22E68AA5E99480E98791E9A29DE5A4A7E4BA8E313030302220736F757263655265663D22476174657761795F3137397A676E7022207461726765745265663D2241637469766974795F30716179343875223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B746F74616C416D6F756E74203E20313030307D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3079637838666222206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3071617934387522207461726765745265663D224576656E745F306E766A786768223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30396237756E7222206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3071617934387522207461726765745265663D2241637469766974795F30336B6A757274223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F775375626D6974223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F775375626D6974222069643D2242504D4E506C616E655F666C6F775375626D6974223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F31376E32727739222069643D2242504D4E53686170655F4576656E745F31376E32727739223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223130322E302220793D223239322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30336B6A757274222069643D2242504D4E53686170655F41637469766974795F30336B6A757274223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223139302E302220793D223237302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30797778667775222069643D2242504D4E53686170655F41637469766974795F30797778667775223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223335302E302220793D223237302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F3137397A676E70222069643D2242504D4E53686170655F476174657761795F3137397A676E70223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223531352E302220793D223238352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F306E766A786768222069643D2242504D4E53686170655F4576656E745F306E766A786768223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223933322E302220793D223239322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30716179343875222069643D2242504D4E53686170655F41637469766974795F30716179343875223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223730302E302220793D223337302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30396237756E72222069643D2242504D4E456467655F466C6F775F30396237756E72223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223735302E302220793D223435302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223735302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223234302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223234302E302220793D223335302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223438342E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30796378386662222069643D2242504D4E456467655F466C6F775F30796378386662223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223830302E302220793D223431302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223935302E302220793D223431302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223935302E302220793D223332382E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223836342E302220793D223339322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F303538636D7362222069643D2242504D4E456467655F466C6F775F303538636D7362223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223534302E302220793D223333352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223534302E302220793D223431302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223730302E302220793D223431302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2239302E302220783D223537352E302220793D223338332E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31716967616B72222069643D2242504D4E456467655F466C6F775F31716967616B72223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223536352E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223933322E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2239302E302220783D223730342E302220793D223239322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31387033687162222069643D2242504D4E456467655F466C6F775F31387033687162223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223435302E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223531352E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223437312E302220793D223239322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30783964783274222069643D2242504D4E456467655F466C6F775F30783964783274223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223239302E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223335302E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30306C64766167222069643D2242504D4E456467655F466C6F775F30306C64766167223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223133382E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223139302E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E, 0); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('76c5845a-5e3b-11ec-8bee-f20bcee4e113', 1, 'flowSubmit.flowSubmit.png', '76b77a98-5e3b-11ec-8bee-f20bcee4e113', 0x89504E470D0A1A0A0000000D49484452000003D2000001FE0806000000706236BA0000402F4944415478DAEDDD09941C65BD37E088A8A8A8A878AF0B22281E51F182825E142E44E5F8A1A24625E4260189204120646658150103B20A92747758222828C80E4103B264BA9B842540B8C81204050212626493C8223BF5D5FF9DA9A1339909996492CCF23CE7BC67BAABABAB9779BBAA7FFD2E3564080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083509665ABCF9D3BF7821B6EB8E1E56AB59A4D9F3E5D59C9A5B5B5359B3973E66379D951FD531FD43F0000E8E322C45C73CD35D9238F3C923DFFFCF3CA2A2A8F3EFA683663C68C7FE5A1667BF54F51FF0000A00F8B964021A6CF8499E7A74F9F7E97FAA7A87F0000D08745775A21A2EF943CC8BCA8FE29EA1F0000F46131465280E853412653FF14F50F0000064090797AE1826CEEECD3B33B5B0F4F252EC732E1439051FFD43F000010A43B95A79E989FCDB9F290ECB6CBF65FA4C4B2B84D001164D43FF50F000004998632EFCE3F2C16628AF2D09DD304104146FD53FF00004090692C77D58FED36C8C46D028820A3FEA97F000020C8349439D327741B64E23601449051FFD43F0000106404194146FD53FF000080650B32314B727741266E13400419F54FFD03000041A6A1DC73DDE46E834CDC26800832EA9FFA070000824C43797CFEEDD99CAB7EBA78B7DA7C59DC26800832EA9FFA070000824CA772FFCDBF5D2CC8C432E1439051FFD43F7A6C2D6F0100C0400F32CF3D97DD73FDC98B77ABCD97C56D028820A3FEA97F2CB56DF212EFF3B6DE0A0080011A649E7A627EF6D7EB2ADD8E518DDB621D21449051FFD43F5ED3667979222F95F6BFDB794B000006529079EEB96CC13DB5EC8E2B0EEA36C41425D68975B50E0A32EA9FFA47B7A225FAD1BC8C69B81E615ACB3400C0400832AFD50AA875509051FFD43F7A64DB215DB74017E15ACB3400407F0F324BD30AB8A4D64181449051FFD43F3A14DDB9B7ED61C80600A03F0599650D314511480419F54FFD23193AA4ADC579C7D7584F980600E8EF41461164D43FF58FE5568C811EB694EB1761DA98690096CA983163D6FADFFFFDDFEDF352C9CBACBC2CC84BD650E2FAAC1123469C3A72E4C81DF3B2B6778D6E3DF4D0431B4F9D3A75D289279E38E7E0830F7E6ADCB8712F8F1E3DBAA342EDB6DB6E2FECBBEFBE8F1F76D861338F3FFEF81FE615700D415A801064D43F65C5D4BF091326ACD63CB1BE49CBE4DA27BB2A71DBF0F3CF7F7DE7FBB5546AA3C6976A5FEEA7557BF321CB36F639C2F753C2342BDBBEC7D7D76EAAD453CF89A649ADFFD552A96F967FFE368DD25CA96DD1F1B92CD7B7D9A75CDB382E8F2FD5374ACB4AB5B1CD1367BEAFE584EA07E26F579FE5E64AF5ABDD3D7673B93E3A5DC8B2D7B594AB5F6929D7B68ED25CA90F6DA9CCF854E7F5F729D7376F9EDCFAF9AEB6D572627D83BDCBAD9FD8B752DFB0B1C4B2A649B58FF94F3350E4C178BB3CD74CCB83F14B9D82F36B96FC3ED3F3326CE8D0A1AB7B27C9F7BDD9EAB366CD3AA05C2E2FC8837276F4D14767175F7C7176EBADB766F3E7CFCF5E7AE9A5ACF0F8E38F67B7DF7E7B76C925976493274FCEF220FDD2FEFBEF7FFD2EBBECB2B120AD08D2EA9FFAD7BBF63BEECAB736976B0FE65FA48FE8AAE45F98E7E6617AADF485BA523B2AFFA27E7E53B976577E9F8B5EBD5CBDA0B9549DD44FAAF5D0214BD79DBB3BBA79B3D23595A6AF9B7FE6CE6E0BB6B56BF3CFDB7E1DA55CFB4B11749BCAD55BF2EB273595EA47E701F88F11529B4AB5DFE59FE1F55A4AD5333B07DC3C44B7E4EB5F9A97E94D93EB8BD4E9A64AEDFFE5CB7F93977BF3307E61FEF99F924279A93A21DFF6F52D95EAF79B2655B75A3C98577FD85CAAEFD56590AED4F6CCB7538EFD45EC3FF26DDFD676B9568AD7D2D57DC64EB9F90D5DFD00D8DD0F833D590EBD2D0FC29BE521F8869E86E76ECAEC7C5B7EB81DCC66CC98B1CBC489139FDA73CF3DB30B2EB8205BB06041D6134F3CF144FAF2B8D75E7BBD387EFCF8EBF24AB59E20A308D2EA9FFAD73BF62EFFF14DF997D97A53B9BE7BFEE578E222257D51AF5FB5E789F535C797AA5F682ED57E9C07E7FDF3F5E7C7DFFC3E07E6971F4ECB2AB503BAFA52DDC7142178D8726E671B619A95A5A554DFB9B95C9D9A7ED4AAD40EC9FFB6C6F27D4AB5AFE5C179B7FCB33AB3FD87AE03F2CFE8E1CD13677C3C5AA59B26B57E360FABFB46804E2DC8E5DAE4573FF733DF93026DB976D1D829D3DE72E094E9EFC82FFF3E5FEFE7F1794F41BA5C1BDF54A9EF9A2FBFA6B9521F96FFBDA2A5526FCA3FF7B508F3B1DDF1A5191F7D35ECD7B76CBB5F75B708D313269CFFC678DCEE5E57EC5322402FE9B5C76B2C5E6FF16341FC50909707E287828E16F69E2E87DEFE8576E8D0D5F3D07B74572DD0071E7860CA40D75D775DF6E0830F66CF3EFB6CCA382FBCF042BA7EC30D37A406C6430E39A4BB405D19EC3D74079D68853EEFBCF3EED865975DB273CE39A7A3D22CAB68B58E56EA9D76DAE9C55D77DDF540414611A4D53FF5AFF782747CB1DEEFE42BFFA373298274DCDE526EFD9FFCCBF5A111A81B4B5A56A96D917F71FFCF3E5C9DB71CD2BB639C9D1A8B9517A64FA87E20826BBADC1E2CA3EB760AD3A5E9EB16C134FF2C5F9D97D979392F2FA7C4673B05E1726D7A04F1E85A9D7FA67F103F86A5E5F9E7BBFD3ED353AB7484E44AEDBE08D1F1B94F8139BA7E976BFF97BA72E7CF61DFC9D50FA5001FBD5626573F138FDDBEEE1D8B06E909ABE5CBE644988DE511AC279C5E5F235D8F809BEF3322CC17D7635F14A5D85E53A976427EFF2C7FDCE38AF7215ABA23D0A76DE7FB9E08F6CBB21C7AD3E8D1A3D7E9DC0A9DE795ECF4D34FEF7103E2030F3C909D76DA69D123B77398BE231EC7BB3D08E49566BD4AA5F248737373AA10BD29B6D7D2D2F2EC6EBBED76D660F875469011A4D53F656504E9F4A5B35CBBB5A952BB2C4A73B97A7BDB97CFB620DDF645BDB669B4EA44F7CEC692DFEFCAAEC64AF6B1101DA177FB5EDEAE09C8586941BAEDB357FD76EADA5DAEDFD4D68DBBFE873C20FF33426ADB7AD7BF39BFFD92F479AED4A644ABF4B8CA55EF8F922F3F2B75F1CEC3F45E935BDF5D6C3B7A963476EB6E39E18A77B58DC3AEB5B485D9EAEDF138E9B668DDCEEF9FBA8B3704E918631DEB3606E9F67DCA6F8A56E998532105F272FDFAD435BC5CBB330FEC0B1AAEDF9CFF4D9FD1D4125EAA1DDBFE5AB76F6FA189F07D5FFCA0D7B64EED9BD13DBCC7CBA117E5017AC351A346FDBD31F4C610D6471E7964B9F24E0C753DFCF0C33B87E97983AD67EEA00CD1D1953BBA2744B7EC15215AB78F3CF2C86776DD75D7CB07FA407C41469056FF949518A4AFECF832DDDEEAD518A463E2B1D4DA155D421B4BFEE5382626EBA3D5B8E886BDFD0ADCBE09C8586122A4162DCA1178E3B31981B8A9543F799F13677C306E6B0BB9F59DD30F617938CDCBE579B0FD757BCBF4AFDACBDD71BFF6CF7CB45A57DBCBBDD19ADC707DF601C75EFBB67CBDB7B7946AA7E58FF7CBD856FC8DEDED5DAE7E248DB76E0CD2E5DA6F3B026B4390DEA7D4FAC59843A1ABD7B5345DBBF3EDCEDBBB5C4FAD7031DE3BBFFEB78EDB4AB57DA22B7A4F97AB51F49668216E0CD1D10A7DF5D5572F32F7D3F2BAE69A6BD27685E94120BA73474B7484E8E5EDCABD345DBD8F38E28827F3CA759A20A308D2EA9FFAD70B41BA52BB2126234A25FF32DD3948C7B8CB58A7A9523D27261F8ABF5162DD3E1AA48BEEDCD1DA16DD4B776EFFBB3CBADA8E6EDEAC30D1AA1CF30F74EEDA1DE3A623E0464B6B5C8F56E9981830C63AC7B8E7D4225DA90EEF9865BB5CFF4304E9B675EBABE7F73FB56D82B2B616E9F67DC129C52CFD6D930BA671D96744CB7204F708C5316378FEF7F468316E9A54FBEF18271DBD598A09BD1A8374FBF55BE235F4344847808E2EE8AFFEB857FD464C8CD610B2EBF97E68879E2E57A3E80DED63A23BBA73C71988EEBEFBEE159279620C75A7AEDE770C1F3E7C4DFF850126C6444777EE279F7C325B1922AC8F1F3FFEC9BCF21E20C82882B4FAA7FE2D7790BE2F0FCE3F49A5523B24758D6C6C912E55F76E29D5B76D9F65F7A0FC0BF2B83D4EBAE69D31D958CCC6DB074374D19D3B42EFAFE2F7DEF6BFCB1AA697B41DB379B3C27435463ABA3CE79FDD175A26B67EF8D5F5DABA76C7508B08BB79983C260FB53F8A922FBFB108D2EDDB8916E6AF17413A3ECFF967F9C8451EB754BB306DB3521F161312C6E9AFD2B8E37C1F90BA4AE7CF2BBA741761BEAB209DE65628D57ED7D3201DA1372643EBD86ECC5C5EA9DD90869C442B7DFBE59E2E579BE80D31B158634BF48A0AD18D61BAF174C1310199FFC2003273E6CCDD6262B1DE1E13BD3463A6F38AF5ECF0E1C337106414415AFD53FF7A2626FFC9BF60CE683F47EC378AE5D1FADC3E26FAA668DD4A9314956BB3A39528BA8DA63197314370B93E26FF327C58B482C564447DA4EA16A1B6E8CEBD737BF8CD96234C3786E8A27CAFD33A453772DDBCE9DD1FBB2AB52D8A209D66D94FB36957FFDA3EABF6833121585B38AD6F945F7F3C3EA3A9FB751E9CE3F451315B75BEFCDC628C74DC2F0FBC07C7445E6DDDBF63A6FEDA15F936F788DB8A70DE3E43F72969C6EE727DDF08D3A9DBF8A4EA5611CC23B017E13485FD7C1F9282751EA61B5F43E75358B5B56AD747C7E376F7BAD373AAD4166928C99F43255E770C2789734F2FEB72581EEDA7B8EA989D3BBA73AF0CD1CDBBD3F9A61D6B0682E8D2FD8B5FFCE2E9989D7B55B8F8E28B17E661FA62414611A4D53FF5AF67A2B539BE6C2EF625364E7713E7912ED5C616C13A4ADB97EB740AACC951A2052BBE40C7ACDEC5ECC1ABD8D02EC26C5721B82761BAABFB9FD6CDFD75F3A65745D7E918AB1C93751501333E83F1998BEBF1A356B41417978BF5DAD6A9AF13BD46D2F9A02BB57284DE719519EB3797AA3BA5EECF5D94B82D66E66EDB46F5E0B6D3DFD5368D9E2A713DCE3DDFF1BC1A7AA2EC7F62FDBD718EE998C53F2E2FE935B59D8BBA363902F5B2ECB37A63392CABC62EDD31B1586F8E897E2D9D26209B3DD0E78A1A1466CD9A75409C277A458F8B5ED278E95D76D9E5E151A3466D22C82882B4FAA7FE0D5A9B0FE9FE3CD1CB1AA67B12A20BBA79030C4023468CD8AEB14BF7F2CECEBD2CB379378E97CE43FD30FF957EEE84134E5810271A5F95A64D9B16B3D89D29C828828CFAA7FE0D4A45B7EA313D0CC54B0AD3CB12A23B3F1F611A6080C8B3C6B422C4C679A25785B3CE3AAB31484FF75FE9C71E7AE8A18D77DB6DB71E9F70BCB7C5A9B6468D1AF5CF81766E6941469051FF1441FA350DED41685DDA30BD3C21BA102DD38F0E31661AA0DFCB33C65A8D63A35755F68956F0C689C7F2E7B4B6FF4E3F3575EAD4493FFFF9CFB3BEE0C73FFEF1ECE872D11FDEB7F805292F5B0A32828CFAA708D24B5F27BBB0D990EEBB732F6B98EE8D10DD18A69D671AA09F1F83F2D0BA7D115E0F3CF0C0559A79E254C30D417A47FFC17EAA5C2EDF79F1C517F789207DC61967DCD15FA6836FEC929187FFCD05194146FD530673905EDA3AD945487DADEEDC3D0DD3ABF562882EE8E60DD0CF8F4191318AF556F590D6C85EC573C99FEFA9FE83FDD4C1071FFCD4ADB7DEDA2782F42DB7DC724F5EA166F5A70F6C43B9BCAB5FC204194146FD530653907EAD3AD945385D9E96DEAEC2F45F7A394437867EB37903F4D36350648CE2F6EBAEBB6E95669E38AF74C3739DE53FD84F8D1B37EEE5553D3EBAF0D8638F3D9D57A605FDF403DBF14B58E30757901164D43F659006E92EEB64BBCD7A31947615A67B3B443786692DD300FDF0181419A358FEE0830FAED2CC337FFEFCC6E7B9C07FB09F8AC1EE2BF3FC69AF252A547FFEC036FE12165D4B04194146FD53067390EE5C2787BC7A9EE631BDF8F0D19DBB734BF45FDA97F7B6DE68490760251F831AAFBFF0C20BAB34EFC4E3373E1FFFC17E5CF1FA92A5F820F4ABB2A283CCA38F3E9A9D72CA29D9BC79F35E73DDBBEFBE3BBBF7DE7B175976CB2DB7A4E9FFE3F273CF3DB7D87DE6CE9D9B3DF3CC33E9729CFBEE8E3BEE586C9DAEEED757CB40AB5F2BB3FEC5AFB7A79E7A6AAA73457D78F8E187D3EC93F1CBEA534F3DB5D87DA2BE4C9A34297BE8A187BADDEE65975D96FDE94F7F4A97FFF9CF7FA6F3D9479D8AF2EF7FFF7B91FA573C5E57E55FFFFA5797DB8FEE5BA552A9DBC7BFEBAEBBB2A953A7767C1EE2B9C663DF78E38DE9F1D4BFDE2BDFF9CE778A907B722F1EC696D422BD34E7995E16C70DF6FFA5A2284A7F2E7D2DF348A45AA47BC35303A0453ACD3C3E74E8D0D563BD151DA423DCC417C6080B7182F7B7BFFDEDD93BDEF18E8EF2D18F7EB463DD6F7DEB5BD97AEBAD97C6656CBDF5D6D951471D951D73CC31E93E4F3FFD74F6C94F7E32BBEAAAAB3AD68F40B1D65A6B65FBEEBB6FBA7EC41147646F78C31B52F0687C0E975E7A69F6FAD7BF3E7BD39BDEB45889F5172E5CB8C8FA63C78ECD3EF8C10F661FFAD087B2F7BFFFFDD9CC9933B508F6E1FA173FBE5C74D14559CCEE1F75EDA4934ECACE39E79C74EA86C6D0326EDCB8C57E5889C93CE2B608A85DFDF072DB6DB765ABAFBE7AF6810F7C203D4ED487CE61281E37D68DFADD4D584AE5D8638F4DEBCD9A352B3D97A6A6A65436DC70C374FB0F7FF8C38E6571FBF5D75F9FD63FF9E493533D8FCB5127E3731197DFF8C63766679F7DB6FAD7CB757248EF768F5E9A31D2BD1DA6B54803F4C36350E3F2F8D15E8B34CB6D8F3DF678BEAF8C917EF8E187E7F4E331D29DBF2C0E59D1413A02E891471E99BE2C46D8FDC637BE917DFEF39F4F330146F888CBFFFDDFFF9DD68D6511583EFBD9CF669B6DB6590A126BAEB9669AFE7FEDB5D7CE0E3BECB0EC7DEF7B5F470BDCD5575F9D02D357BFFAD5B45EB4E8BDE52D6FC9FEE77FFE27058FC6F0FB8F7FFC236B6969C9C68F1FBF4889C78F10D3F97947388950BEF3CE3BA7E7DEDB61659006E91556FFA2C578DD75D7CDDEF5AE77655FFCE217B377BEF39DD9C73FFEF16CF8F0E1A93EFCF18F7F4CFFC7E8D9102DC8F1A34AFC38F3EE77BF3BD59DB82D826A5C8FE5ABADB65A6A3DBEFFFEFBB32F7CE10BD9565B6D156398D28F3C871F7E78F6B39FFD2CDD278273D4E3A217C50F7EF0838E753A9737BFF9CDD9F1C71F9FD68B90FFBAD7BD2EDB75D75D53891F90DEF39EF7C4AC981DCBE2399C75D659D98C1933B2EF7FFFFBE9799E77DE79D9C73EF6B1ECB8E38E4BDB89FA1E9F9B6BAEB926BBFDF6DBD5BF5EAA939DC2E8F284E9EE4E71D5D5ACDDBD15A6639CDD53438C9106E877C7A0C631D20F3CF08031D22CBF030E38E01F7D65D6EE59B3665DDD0F67ED9E95878061DD7C595CA141FADA6BAF5D2C487FFDEB5F4FADD4DB6CB34DF6B5AF7D2DBBE28A2BD2BA116CA37578F3CD37CF3EF7B9CF657BECB1470A47D10A1D2D6FB17C830D3648A138D66F6E6E4EA1E2FCF3CFCF7EFAD39FA6C79832654ABA1EEBE5F5A6A36B79EC8CA2FBEE2F7EF18B6CE2C4891DE5D39FFE74B6DD76DBA596EDAEBAC8C63AB1DD38979E20DDB7EB5F0C1F88001DFFCB35D65823BBE4924BB23DF7DC33DB76DB6DB3BDF6DA2BFBAFFFFAAF8E96E608D2954A255D3EF7DC73D3FFF8E69B6F4ED7E3C799B81EBF044780FEF297BF9C7A27C4F6B7DF7EFB547FE3C797BDF7DEBBA305BAE84A1E413A6E8B70DBB944088E501E3FF04457F0A89F11FA63FBF1E3516C678B2DB648D7BFF4A52F653FFAD18F5257F4781DDFFDEE7753688E1F8BA2CEC7E7235AAD63D98E3BEE983E37C5EB51FF96BF4E36589EF333BFD679A25FEB3CD3CB62685EE6E5C5F93E01FAE131C8ACDDF4BAC30F3FFCAABE721EE9134E38615A3F3A8FF4925A5B564A902EBA5FC797C4D34E3B2DB5BC45CB5F048628112C225047888D30F2E31FFF38AD1BA17AA79D764A2D84D1DD35CA37BFF9CD74DBDFFFFEF7B4DD68611EB2846EB445903EF8E08397B85EE7F51B4B3CB7B82DC28B20DD77EB5FB40AC78F22D1EABBC9269B7484D2FCB15389D6DCC6FF6F63908E71F9BFFEF5AF3BEA5563909E3D7B760AB35177DFFBDEF7A62100D153225AA737DE78E3D46B21D67DECB1C7D27DA39EC68F3E5B6EB965F695AF7C2585F828118CE347A158B75EAFA77577DF7DF7D47A1D3D2EBEF7BDEFA5DB22F8C7F5581EDB2A9EEF2F7FF9CBF459B8E79E7B525DFCF0873F9C0E6C11A4E37EF14381FAD77B75B29365E926FD5A217AC80A08D366EB06E8E7C7A0C6F348C70FF0CE23CD723BF6D863BF7FFCF1C7BFD2178274FEE5775A7C0806D2FBBB2283748C2F6D0CB29B6EBA696A2D8E2013A17AD8B061A93B774CC414933E45D7DB21ED635CA37B6B84EE082D51228CC46DD1CDBF08D29FFAD4A752AB7784A2B8ED0F7FF843BAFE894F7CA22338C576A3252F5AB0637CF519679C91D63DF1C413D3FA11BCE271E7CC99B3C873FFEB5FFF9ABAD7EEB2CB2E69FDC6B1D98274DFAA7FD15A1C6134BAE21765D4A8511D4136FEFFD14A1D13D3750ED29D4B63903EF3CC33D398E818971C213D026E04F3A88F516F8A2EDE45908EA01B63FAA36E46288E301CADD4B18DF86128C6EA178F13B7C5B8EBA85FD13323B61307ABB81EEB17413A26392BC67A4788EEDCB53BB6AFFEAD703D09D34B1BA27B334C0BD10003236C6F5F84D7F8617D558ADE980DA7E8D2D3A9BF1A3366CC1AF997CB176246DC557C0EE9181FFD683C1F4166E94A8C098D303AA4BDDB758CF58CAEB1D165362E478949C562DDA27B76512224C7D8E8623C73746F6D0CD2D1B576C8125A98F7D9679F8EE751B4744737D898882C2E47D88A96C308EB31DEBAF3738F2016E129BA924778892EBB3163B320DD37EB5FD4A9E8FE5F94F821A5E8DA1DA1385A948B00BAB4413A426CAC173FBA7CFBDBDF4EE3A7A33B7704E918721093871541FA77BFFB5D1AE35CFCF0539418A73DA4BD853C6E8FD6EF2248AFB3CE3AE96F315374D4CFC6E5B1DE6EBBED966E8BD01C3F12753546BA3767A517A45F334C6FD78B21BA37C2743CAF65ED7E0E40DFCA3C6BE559E3C522C0DE77DF7DAB24F3440357FE3DF8958620BDB6FF4E3F76E08107D6A74D9BB64A8374FE85FA3779653A539059FA12DD65FFFCE73FA72F8631D6225ADB224847988819B3DFFAD6B7A6801DEB46B7D9E8661BEB46EBF04F7EF293EC6D6F7B5B6AB58E12934615413A5A8B2FBCF0C2B49D68612E82728C838EEBB13C66718EF58AE712EB47D82AC66C4789EEB2F1FC3A3FEF980C2A6E8F5F03E37A4CFA34A4BDC55090EE9BF52FC647C718FCF89F6DB4D146D90E3BECD011A4E3F6A877D16ADD9320DDD8DA1D3FECC48F37B1CD08C4F1234FD113220E3851EF62E2BB08D83191583C97A8B7F1B8B14E84FB68799E3C797247908EDE1913264C48BD2F86B4CF2310D73FF2918F7404E9F84CC40F525157E37A57413ABA98F7D6387E417A8922AC3EDA4D685DD610BD3C61BA08D15AA2010688FCBBE6B422C0C677E45521BEF73684E8E9FE2BFD5C1EC0361E3B76EC4BAB6A2AF8975E7A695E5E91EE1D356AD42682CCB28D916E0CD2110E622C69048EE2FCBC8DA7CA8A16C0E80A1B331947308A122DC445908EC0316429C63D47B7F2279E7822ED10A24570487B4B751192A3B53C261B6B7C0E71BEDE08F9D13DBCE8B21B25C25371BF15795E6A417AD98374FC9FE372B4ECC6FF2B426FF43A88C01A13721D74D0413D0ED2316B765C8F19C16306CBDFFCE637699841D4DF182F1D2DCE51C78AFB4737F2A8D73174214ED916BD18E2FE11781B1F27C27384E3184B1D213BD6891F7AE27A2C6FECB25D8C912E8274F4E488F05C04E9E84A1E3F1CA87F2B2D4C77D532BDF37284E82585E9EF75B3EED0214E710530E0C410D222C4C677E1F8B17E658A1EC03BEFBC73636BF430FF9501A0A9A969C6AA9A74ECA8A38E3A23AF4C1708323D2B114222CCC417C21B6FBC310580388555849EE82A1DC12126828AD6BCC673FAC6B8E968CD8B96C5581EBD118AAEDC11A4239CFFE52F7F49A7278A52B420C76314CBE2F668118FBFB1BDE83E1BA7D08A73F0C6BA37DD74530A21F17C2264C558EA68D18E1014933945779AC6D712A7438AE71BF78D19C505E9BE17A4E30790A84FF1FF8E6019ADBA114C237446C08D49EDE24790F81FC7F5C6FBC7846231B95CD4CB38BF79E36DB1AD18DF1F3FB84457EB186F1DBF1247A88DFAD3F935447D8E6DC40F3EC538EADFFFFEF78BAC13A7ACAAD56A1D97639DA8B7451D28CE211D7FE3401A2DE03153770C3788E71FDDC6E3B5C6738E31DCD18343FD5B69BAEAE6DD1882972544F7643B9B0F696B19DFDEBF0260E0699CBD3B4EA1F9D24B2FADB4CC138FD7788AAE1E4ED0495F357CF8F0F7E641ECF9957D5EB53FFFF9CF33F28AF454FEF81B08323D2BB366CD4AE76A2E5AED8A6013813AC2F0934F3E9926012B26FA8AF01A3310C7A450D1C5F5339FF94C5A7EF4D147A7701BDBE9AA35385E438C752ECEE7DBB9FCED6F7FEB18B31DA7328A401CAD85B12C9E436B6B6BC7E3476B6657A7C28A12F789401F2DEA8274DFAA7FD1A53A66EF8E59B16372AEF8B1237EC489FAD6B85E0C21883A19639A1B97C729F6A295388272FC30D3785B04E818731DF527C27371CAB6D85604DA9860ACF3F3895F9063FD389F75F4C268ECDDD0B9C418FDEE8619FCEA57BFCAD65F7FFDF47AA287453C5651CFE3F5C6B6A3A7C7BC79F3D4BF951FA63B8F4D8ED0FBBD21CB7F3EE8256DA7E85EAE3B37C000B5C30E3B6CD378CEE9F89EB032C40FFB8D8F9B7FC7D1EB692019356AD4F83C78FD7B6575F17EE69967EECC1FF3CEBC32ED27C82866ED56FF5664B77EF5AF5F86E995395BB6D9B90106893C7B1C5704DA68208890BBA2CF1BBDE38E3BBED210A42BFE0B03D0AEBBEEFADBC30E3B6C8587E9975E7AE9815D76D9A59657A4930519459051FFD43FBA09B72BA385D8ECDC00834874A96EECE21D61FABAEBAE5B61217AE79D777EB92144DF317CF8F035FD170668C5CA03EEEF0F3DF4D0275754988E96E83CB0D7635CF4403BDD952023C8A87F8AFAD7EB617A4586DC62FB5AA20106913C3CAF9367917B1AC37474F3EECD31D3D1D2DDA9257A5E5ED6F3EE0FF0303D6AD4A829E3C78F7FB2B7C74CC798E8F6EEDC270FF4102DC80832EA9F2248F78A15D5CDBBE8CEAD251A60108A50DB18A68B09C8967736EF989DBBD3C46242F4603362C48871A3478F7EFABCF3CE7BE285175E58EE535CB5CFCEFDD4401E132DC80832EA9FA2FEF58B301DB3732F18A2251A60506B6F999ED5187AE38C1EA79F7E7A3A9B4D4F44008FD385369EE2AAE8CE2D440F42319BF7C891232FCC2BC4C20B2EB8E0BEC71F7FFCC59E54A8C71E7B6C4EA552F94DBE8DBBA32B77FE774341461164D43FF58F65D05BDDBC870AD100741C14860E5D7DC48811133B85DF540E3AE8A0ECBCF3CE4B63A8A3A76ED1B8187FE7CF9F9FC6405F72C925D921871C928D1A35EA952EB65131267A90CB2BD746793935AF204FEEB3CF3EB79E76DA69B7DE78E38DF7FDFDEF7F7FA621373F15C179D6AC59579F70C209D376DF7DF76979E579340FCFE7E4F7DB6430BE6F828C20A3FE298274AF5ADE96E9E2FECE130DC022DA4F8D35ABAB40BD0C65B6535CB18818D7DC5EC962DAF89830ECFEBCBCD8506916B457C04A1EBCB71B0CE3A005194146FD53D4BF5512A6B75D86FB999D1B80258A0C936799699D32CE52953C3C4FCFCBB068E5F64E822023C8A87F8AFAD717C3744F42B1D9B901E8913163C6AC9587EAFF8D06C2F686C2059D82736A408C5EBB7978DE3186C47AD740901164D43F45FDEBEB96F63CD366E70660B9E58179F3A2955AB76D10640419F54F51FFFA7B985E52481E3A64C59C3A0B80C117A4A7368E81F68E802023C8A87F8AFAD79F75D7CD7BCB2166E706A017E4C179B3CE63A6632CB5770604194146FD53D4BFFE1EA61B5B9E8B70BDA3B706805E08D2D3BA9A99DBA46220C80832EA9FA2FE0D94307DDC10DDB901E8BD10BD59773378C70CDDDE2110640419F54F51FFFABB6DE38BCD10138B01D07B41FAF2259CF26A96770804194146FD53D4BF81F085C7FB0C406F1D53367BADF3491B2B0D828C20A3FE29EA9F200D00AF1E53A62D29449BC11B04194146FD53D43F411A001C674090510469FF77F5CF171C00709C0141461164D43FF50F5F7000709C0141461164D43FF50F5F7000709C0104194146FD5304695F7000709C0104194146FD53D43F5F7000709C0104194146FD53D43F5F7000C0710604194590F67F57FF7CC10100C7191064144146FD53FFF0050700C71918A8AAD5AA00D177CAB379907951FD53D43F5F7000C07106FAB09933672E78E4914784883E50E6CF9F7F6E1E64EE52FF14F5CF171C00709C813EAC56AB7DEBEAABAF5EF8F0C30FFF5B9858752D8111625A5B5BFF9697EDD53F45FDF30507001C67A08FCBBF3C6F377DFAF4D9D1AD33C648F6B772CE39E764B1C3E88FCFBDBDC4FB7ED7600D31FDBDFE0D8032A8EB9F2F380038CE00837567312D761843870E5DDDBB01F8820380E30CC0128C183162F37C67F162EC30468E1CB9AD7704F0050700C719802507E9A9B1B3682FB3BD23802F380038CE0074BF93D8AC688D2E4A1EACB7F3CE00BEE000E03803D0F54E625A63882E5AA58D95067CC101C0710660F11DC462ADD145193972E430EF10E00B0E008E33008BEE202EEF2A44B79759DE21C0171C001C67005EDD3974DB1A6DAC34E00B0E008E33008BEF1CA62D29449BC11BF0050700C719003B0CC0FE0A001C67003B0CC0FE0A001C67003B0C00FB2B001C67003B0C00FB2B001C67003B0C00FB2B001C67003B0C00FB2B001C6700EC3000FB2B00709C01EC3000FB2B00709C01EC3000ECAF00709C01EC3000ECAF00709C01EC3000ECAF1854B22C5B7DEEDCB917DC70C30D2F57ABD56CFAF4E9CA4A2EADADADD9CC99331FCBCB8E6A248E33801D0680FD157D5C84E86BAEB9267BE49147B2E79F7F5E5945E5D1471FCD66CC98F1AF3C546FAF56E23803D86100D85FD187454BB410DD67C2F4F3D3A74FBF4BADC47106B0C300B0BFA20F8BEEDC426CDF2979907E51ADC47106B0C300B0BFA20F8B31BA026C9F0AD2F60738CE00761800F6570C8420FDF4C205D9DCD9A76777B61E9E4A5C8E65C2AF208DE30C608701607F8520DDA93CF5C4FC6CCE958764B75DB6FF222596C56D02B0208DE30C608701607F8520DD50E6DDF987C54274511EBA739A002C48E33803D86100D85F21483796BBEAC7761BA4E336015890C67106B0C300B0BF42906E2873A64FE83648C76D02B0208DE30C608701607F85202D480BD238CE00761800F657B06C413A66E9EE2E48C76D02B0208DE30C608701607F8520DD50EEB96E72B7413A6E138005691C67003B0C8041BDBFDAF7F8FADA4D95FA8E71B96952EB7FB554EA9B8D2FD5368DD25CA96D51ACD752AE6FB34FB9B6715C1E5FAA6F9496956A639B27CE7C5FCB09D50FC4DFCEDB6EA9D4463557AA5FEDEEB19BCBF5D1E94296BDAEA55CFD4A4BB9B67594E64A7D684B65C6A7165B3F5FBE6FA5BE6157DB6A39B1BEC1DEE5D64FC4ED8D2596354DAA7D4CCD5BFA20FDF8FCDBB33957FD74F16EDDF9B2B84D0016A4719C01EC300006F5FEAAA9347DDDE672EDECB6605BBBB6B954DDAFA3946B7F29826E53B97A4B7EFDA4A652FDE83C00FF31426A53A9F6BBE689F5F55A4AD5339B27B77EBE53886EC9D7BF342FD39B26D7B75BE4312BB5FF972FFF4D5EEECDC3F88579609F924279A93A21DFF6F52D95EAF79B2655B75A2C48976A87E7617A589741BA52DB33DF4E39DFC6A43CF49F9F6FFBB6B6CBB552BC96AEEE3376CACD6FE8BC6CC28409AB75B56E4F97F7E7201DE5FE9B7FBB58908E65C2AF208DE30C60870130A8F7572DA5FACECDE5EAD43C6CCECD43E821F9DFD658BE4FA9F6B53C38EF9687DA9929C0566A07A4103B71C6C7A355BA6952EB67F3B0BA6F04E8D4825CAE4D2EB6B97779E67B52A02DD72E1A3B65DA5B0E9C32FD1DF9E5DFE7EBFD7CCF13EB6BA6205DAE8D6FAAD477CD975F13C138FF7B454BA5DED454AED722CCC776C797667C34427A3C97680D8F92827BA9F6E3E27ADC36AE3263FDCEAF6B7CA9FA8508D04B7AED6DDB6D7BBDC58F05F143415E1E881F0A3A5AD87BBA7C2004E9E79ECBEEB9FEE4C5BB75E7CBE236015890C67106B0C30018D4FBABE8961DC1355D6E0F96D1753B85E9D2F4758B609A07C6ABF3323B2FE7E5E594BCD453102ED7A647108FAED5CDA5FA0FF2EBF3D3F252FDAAF6FB4C4FADD211922BB5FB224447A04E8139BA7E976BFF97BA72E7CF61DFC9D50FA5005FA91ED13CB9FA99B6405CFF5984FCF6A07F676A35EFB85EFF59D3A4DA7F4F9870FE1B279C5E5F23C26D0AB895DA1611E68BEB7B97FFF8A628F15AE2B1F3407E42BE9D2C7FDCE38AF7217FBE7B45A08F16E614D6F360BF2CCBFB7B907EEA89F9D95FAFAB743B463A6E8B758460411AC719C00E03605007E96851CD83ECB753482DD76F6AEBC65DFF431E5CFF1921B56DBDEBDF9CDF7E490A9195DA9468951E57B9EAFD51F2E567A52EDE7998DE6B72EBBB8B6DE7E1F9C0C66EDD2D275CF1AEB671D8B596B6305BBD3D1E27DD16ADDBF9FD53AB737B90EEFC5CDBD6AFCD9930A1BE7AE3F2F1A5DA9753202FD7AF4F5DC3F3C09D07F6050DD76FCEFF6E9F9E53B484976AC7B6BFD6B4AC3D7CDFD7526EFD9FB6756ADF8CEEE13D5EDE9F83F473CF650BEEA965775C7150B721BA28B14EACAB755A90C67106B0C3001874FBAB9808AC68518EC01B2DD211889B4AF593F73971C607E3B6B6905BDF390F8B974538CDCBE579D8FD757BCBF4AFDACBDD71BF68F56D6FB5AEB6977BF37247C3F5D9071C7BEDDBF2F5DEDE52AA9D963FDE2F635BF137B6B777B9FA9134DEBA8B201DADD5EDE1FEE7CDA5EA4E4B7A5D4BD3B53B7FBC797B97EBEBA46D57EA1BE6D7FFD6715BA9B64F3C4E4F97F7D720FD5AADD05AA705691C67003B0C00FBAB76D1AA1C937A75EEDA1DE3A623E0464B6B5C8F56E93C28AF15639D63DC736A91AE548777CCB29D07DC08D26DEBD657CFEF7F6ADB04656D2DD2ED01FB94E1E79FFFFAB6005F3BAA7D5CF61931E95804F7FC3E17C48CE1F9DFD3A3C538BA6C770ABE67E7E17B873406BB5CBFA973AB744F827404E8E8825E5C6F2957BF1113A3353C563D1EABA7CBFB6B905E9A56E825B54E0BC482348E33801D06C0A0DA5F7535463ABA3CE7E1F0859689AD1F7E75BDB6AEDD715AAA08BB79983CA6A552FD51947CF98D45906EDF4EB4307FBD08D24DE5EAB8A672EDC8451EB754BB306DB3521F96AFB77B9CFE2A8D3B2E5527A5AED2F9F37A35A8569BF3ED9DDB71DFE81A5EA95F5C743BEF69908ED01B93A175FCA0103397576A37A4F1CED14ADF7EB9A7CBFB6B905ED6105D14815890C67106B0C3001834FBABD4525CA96D5104E968596D9B4DBBFAD7F659B51F8C09C1DAC2697DA3FCFAE3D1B53B75BFCE83739C3E2A66AB8E905B8C918EFBE5C1F9E098C8ABADFB777D624CCA956F738FB8AD08E7ED33749F9266EC2ED7F78D309DBA8D4FAA6E15C13C05F689333E9E5AC72BB5CBA24B78E373CFD7F94EACB74FA9F58B8B84E4D4AA5D1F1D8FDBDDEB4ECFA9523B6091FB95EB9578DD31D63ACE3DBDACCBFB63905604691C67003B0C00FBABA514A7988AB1CA3159571130F330BB7F749F8EEB319158B41417978BF5DAD6A9AFB3C749D7BC339D0FBA522B478B6C9C8A2AC62FA7EECF5D94B82DC63AB76DA37A70CCA09D6F73D3E652FD27717DBFE3AE7C6BC7F3AAD4F66C0FD5DFE93610E7413B4E83B5C8B2742EEADAE408D43D7D3F8AD3732DEF72415A11A4974EEAD531B1BE49CBE4DA27BB2A715B312464D11FCC6AA38AFD11BE1703761880FD1508D282F4A0113F9E45CF9734C1601725CDA530B1BE56FA912CCDAD503FBFA95CBB2B8666BC7AB97A410C09F1E9769C01EC3000FB2B10A405E901AF7D22C27A0CED681B06D2504AD5FDE27CF46D3D57AA5F88F3B5476F98982830FEC61C0CF9E587D3B24AED80E8C1E213EE3803D86100F65720480BD2832248C77092FD4EBEF23F3A972248C7ED71DEF63C341F1A81BAB1A46595DA164D935AFFD327DC7106B0C300ECAF409016A40745908ECBF9DF5BD3F9EAF3D25CAEDE9EC64FB707E9B83DCDA750AEFFB1A5541BDB58F2FB5D199313FA743BCE00761880FD1508D282F4600BD25716CB3B4EC5D710A463E2B17C9DD931B9E122A55CFBBF9898CCA7DB7106B0C300ECAF409016A4075790AED46E689EDCFAF954F2C0DC3948EF53AE6D1CEB3455AAE7C479E8E36F94585790769C01EC3000FB2B10A405E9C118A4EF8B53E1A552A91D3224CB5EB7488B74A9BA774BA9BE6DCCD0DD52AE1DD454AE8E8B53F0C5646371BA3C9F6EC719C00E03B0BF02415A901EF0269C5E5F230FCD332234B794ABDF289647EB73FB98E89BC64E99F6969613EB1B44CB739CBF3E0FCE97C779ED9B4BB5C3F3DBC7E4A1FAB0FCB6DF3757EA437DC21D67003B0CC0FE0A0469417A408BD6E69672BDD279791E8A87A5F348976A638B601D252EB79F026B7294FCF2912D27543F10B37A3795A6AFEB13EE3803D86100F65720480BD2E03803D86100D85F21482B82348E33801D0680FD1582B4B20282F4D0A14357576B719C01EC3000FB2BFB2B56809123474ECFCB9682F4C008D25996BDF7A1871E9A75DD75D765071F7CF0BE02358E33801D06607F052BA05E4589403D62C488CD05E9FE1BA41F7CF0C1439E7DF6D917B376CF3DF7DC0BE79E7BEE3D7BEDB5977325E33803D86100F657D0DB41BAA15CDE550BB520DD7783F4D34F3FBDF1C30F3FFC40D68DFBEFBFFFD9638E39E6943163C6ACA1C6E33803D86100F657D0FB41BAA385BA31500BD27D2F48E7D698376FDE992FBFFCF22BD96B78E595575EBEE28A2B1E6B6969F9865A8FE30C608701D85FC10A08D28D2DD4D1E55B90EE5BE5A69B6ECA162E5CF8AFAC879E78E289E74E3EF9E4EAC89123D756FB719C01EC30008147515660591941FAE9A79FCE5A5B5B3BAE3FF5D453594C9AF5CC33CF2CB6EE2DB7DC12638057D87389C72D954ADDDE7ED75D776553A74EED782E0F3DF4507A3E37DE7863F6F0C30FAFD0F769FEFCF959B95C8E509C2D43904EF755A795EE8AA32D204803C0B2FF40337BC48811DB15B33EAF8C207DDE79E7C531393BF9E493D3F5134E38215DBFFCF2CB17592F82EA1A6BAC914D9830215DDF7AEBADB3CD37DF3C95CF7CE6331DCBF7DB6FBF6CC30D37CC3EF1894F64EBAFBF7EF6F18F7F3C7BFBDBDF9EBDE31DEFE8286F7DEB5BB3EBAFBF3E9B356B56366EDCB8ACA9A92995B85F3CF60F7FF8C38E65717BAC1BDB8EE7B8D65A6BA5CB1FFAD087B2A38E3A2A5D7EE31BDF989D7DF6D92BFCBDBAE4924BB2B163C75E9A3F9F05AFBCF2CA4B4B13A2172E5C78F6EEBBEF5ECFFFAF53F3FFEF7A6A3F00823400F44E905E244017567490BEFDF6DBB3E38E3B2E5B77DD75B3CD36DB2C85E8F7BCE73DD97AEBAD9796FFF5AF7FED5877EFBDF74E2176E6CC99A985F5F0C30FCF7EFAD39F663BECB0430ABF7BEDB5575AAF56AB65BBEEBA6B0ACF53A64CC936D96493F41A870F1F9E7DF4A31F4D2DCEB17E74933EE79C73B2D7BDEE7569FD28DFFAD6B7D2E3E7EF45C7B2D5565B2D3BEBACB3B219336664DFFFFEF7B335D75C3385FF8F7DEC63E939C663BEE52D6FC92EBEF8E2EC9A6BAE49AF69454F363672E4C861871D76D8BCFC7D786409E3A3E7E4AFFFD4FCB5DF13EBABF50008D200D03B417A5684ACEECE3BBCA283F405175C9042ED85175E985D7AE9A51DE58C33CE48CBAFBCF2CAB4DE6F7FFBDB1478BFFAD5AFA6801C013ABA849F72CA29E9FADBDEF6B6ECB2CB2E4BEB2E5CB830B51C47208E56ECCF7DEE73D9DA6BAF9DAEBFF9CD6FCE3EF2918FA46DCF9E3D3B751F3FE08003B22F7EF18BD997BFFCE5ECB39FFD6CBA6D8B2DB648D7BFF4A52F653FFAD18F5277F3680DFEEE77BF9B427384F108D2B1ED68B58E653BEEB863F68637BC21AB542A2B65D6EEE1C387AF397AF4E8D245175DF4C8CB2FBFFCEF860CFDECBDF7DE7B4A7EDB9C1123464C1C3366CC5A6A3C008234002CFF71B0CB16E85515A4FFFCE73F677FFBDBDF3A4AB4163706E908AED11A1DCB3EF9C94FA656E7F7BFFFFDA9B5788F3DF6C8B6DC72CB8E56E9238E38225D8E12A139C27174FBFEC94F7E922E478B7111A463DBBBEFBE7B6A013FF0C003B3EF7DEF7BE9B63DF7DC335D8FE5D1CDBB78BEBFFCE52FB377BFFBDDD93DF7DC9382F4873FFCE1F4834404E9210DADE22BF33CD2F9E36FD6D2D272FBDCB973E7FFFBDFFF9E71D041079D173F90C472351D00411A0056B2151DA47FF7BBDF7584DEAE4AB44E17EB1E7DF4D1A945F94F7FFA536A211E366C586A857EECB1C7B2471F7D34DD3E6DDAB4D41D3C42F33BDFF9CE3406FAD39FFE7497DB8EDB62BB11943FF0810F64BBECB24BF6B5AF7D2DDD16DF13E27A84F52248C7E38E1E3D3ADD1E21BA73D7EE1FFCE0072BF53CD28DE2079191234736B79FC2ACF9B57E200100411A00FA69908E59AFEBF57A1A7F7CE28927A6901AE134C641C763DF7FFFFD69BD187F1CADCF313E39C653B7B4B4A4AEDE9DC3F1BDF7DE9BD68FAEE1D1953BBA6EC7ECDA37DC70436A2DDE78E38DD3E5983CECF1C71FEF08D2EBACB34EFAFB9DEF7C276D27BA69372E8FF576DB6DB7745B84E66BAFBDB6CB31D22B7246F12505E9C640ADD602204803C0000ED2DB6DB75D47B7ED430F3D34DB74D34D534B728C6DDE669B6D3A426C04ED2F7CE10BD94E3BED94BA69DF7CF3CD6956EF934E3A2985DB8B2EBA28B54EC7F8E858FFF4D34FCF565F7DF534B3F6461B6D9466E98E99B563DDB81CB37F476B7811A437D86083B4DD985C2CD6D977DF7DD3F5E81A5E3C87BBEFBE3B3BFEF8E353D7EEB8DE55908E6EE5871C72C82A0BD200204803C0000ED27FFFFBDF53A08D71C7FFF11FFF9126E98A16E8F3CF3F3F1B33664C0AB0AF7FFDEBB33973E664CF3EFB6C6A6DBEEAAAAB5217EE534F3D356D23BA6747F05DB06041C77623CC46CB7504E7B163C7A6801D413B5A99E3F45671391E63EEDCB969FD08CF118EBFF295AFA45369C5F6B6DA6AAB743D963776D92EC64817413A66F18EC72B8274B494C72CE282340082340008D2BD5EF6DF7FFFD43A1CDDBBDFF7BEF7A519B06382AF08D01166A3C5380276B40EC7CCDA43DABB6FC7B26DB7DD36DB7EFBEDD3ACDAB12C4E5B15336A47F7F028D1BAFDE0830F66BFFEF5AFD3A9ACE2B81FDDBA2304173396FFEC673F4BCF234E591593971597637B4597F278FDC539A4E36FB488C70CE03153778CD78EEEE523478E4CC13D5AD0A3053CC6670BD20008D2002048F77A8956E438ED555C8EF347470BF0D65B6F9D026984E768858EB1D24F3EF96476DB6DB7A516DF071E7820AD7FF5D557A7F34A373737779408B7679E79E6228F11E77B1E3F7EFC22EB15EB46E0EEFC9C62BB11B66316F1CEB7FDEA57BFCAD65F7FFD344BF8C1071F9C1D73CC311D63B27FFEF39F675FFFFAD7D30465F3E6CD13A40110A401409056FA4211A40110A40140905604690004690010A415411A00411A0004694590064090F62E0080202D480380200D0082B4200D0082340008D28A200D80200D0082B42248032048038020AD08D20008D20020482B82340082B47701000469411A0004690010A405690010A40140905604690004690010A415411A00411A00046945900640900600415A11A40110A4BD0B0020480BD20020480380202D480380200D0082B42248032048038020AD08D20008D20020482B82340082340008D28A200D8020ED5D0000415A900600411A000469411A0004690010A415411A00411A0004694590064090068081A35AAD0AB07DA73C9B07E917D54A00046900E8C366CE9CB9E091471E1162FB40993F7FFEB97990BE4BAD04409006803EAC56AB7DEBEAABAF5EF8F0C30FFFBB9F87D07EDD121D21BAB5B5F56F79D95EAD04409006803E2E0F6FDB4D9F3E7D76742B8E31BAFDADDC74D34D59B95CCEA64E9D9AF5C7E7DFFEBEDF254403204803002B5C96656BFCF39FFF7C22978D1D3BF652EF080008D200C012CC9B37EFCCACDDF5D75F3F7FE4C891C3BC2B00204803005D78FAE9A7377EF9E5975FC91A1C79E491F3C68C19B396770700046900A0937FFCE31F73B34E162E5CF88FD1A34797BC3B00204803000D1E7CF0C143B26E4C9D3AF51FF9F780CDBC4B002048030043D20463EF7DEEB9E75EE82E48BFF2CA2BCFB7B4B4DC3E74E8D0D5BD5B00204803C0A0F7D0430FCDCA5EC3DCB973E78D1C39B2D9BB05008234000C7AD75D77DD6BE5E8ECD9679FBD3ABE0B8C1933660DEF180008D20030A81D7AE8A17B2DA96B77E4E8830E3AE83C2DD20020480300EDCE3DF7DCBF7497A2EFBDF7DE53F2EF01B38C910600411A0068377CF8F00DF2C0FC6C17138DCD193D7AF41CB3760380200D007472DC71C755F2E0FC7263903EEDB4D37E3562C48889DE1D0010A401804EA2EBF615575CF14811A2172E5C78767EFCBF67CC98316B79770040900600BA306EDCB82F3DF1C413CFE5251B3B766CEBC8912387795700409006009660CA94299797CBE56CC4881153BD1B0020480300AF21BA72C7713F2620F36E0080200D0038EE0380032A00E0B80F000EA80080E33E0038A002008EFB00E0800A0038EE03000EA800E0B80F0038A002008EFB00E0800A0038EE0380032A00E0B80F000EA80080E33E0038A002008EFB0080032A0038EE03000EA80080E33E0038A002008EFB00E0800A0038EE0380032AD0578CAB5CF5FEE652FD0771B9A532E353CD13EB9B14A5A552DF6CEF727D9DB86DEC94696F692AD7772FEE17B73557AA5FF50E82E33E00E0800A834A1E98D76B2AD57E972E976BB7B5946B8715A5A95C3BB2695275ABB8ADA95CDDADB9523B20DD29CB5E97AF7B6953A57659FEF7DAA6C9F5EDBC93E0B80F0038A0C2809707E1EF3697EB7FC8C3F003CDE5EAA9F9DFFA222BE48139FE4C983061B5E652FDAA6895CED7D9A5A9543F3A0FD607EF7B7C7DED08D2074E99FE8E58C73B0A8EFB0080032A0CFC305D9ABE6E4BA97A665C6E29D7EECC83F1F4A234956B0B62791EA2F7CAAFDFD354AED7F2BFBF8DE09DDF362BFF7B475EAECECB9CF1A5EA17BC9BE0B80F0038A0C2E008D2E5FAF94DA5FA969D5BA48BEBFB9F587F6FCBE4DA27A3557AC284F3DF18DDBCF3F0FDEDE6526D9F08D0D13ADD34A9F5B3DE4D70DC07001C50618087E8FA962DA5DA8579607EB4BDD5F9C6FCFA0E45C9AFDF1AEB4D98505F3D0FCED36252B2282948976B3FCF6FFF4D7EFD27F9DFF35ACAD5CF7947C1711F00704085012D66DE8E71D245D7EE3C10CFCE03F4D8A23455EABBA6F5CAB5ADA375BAB9543B36D66F0FD2A5A672ED7B515A2AD5EF374D6AFD4FEF2838EE03000EA830E0358E915E6CB2B14EF63971C6073B5AA44BD56F17CBA3EB771EB20FF76E82E33E00E0800A03DA84D3EB6BA4F3457704E9EAEDED9389A512A7C54AADCE95FA88E8F69DDF3EB5B95C1F1D250FD3C7C7B8E868D56E29D70E6A29D77FE61D05C77D00C0011506B4E64A6D8B1823DD54A97DB3FDFA9438A55551A2BBF61E275DF3CE3D4FACAF39FCFCF35F5FDC6FEFF21FDF9407ECF1F9FA873497AA13F2B277BEECEDDE5170DC07001C5001C0711F00704005001CF701C001150070DC0700075400C0711F001C500100C77D00704005001CF7010007540070DC07001C500100C77D0058A907544551144551064FF1ED070000000000000000000000000000000000000000000000000000000000000000000048FE3FE6B3B726DE9F69ED0000000049454E44AE426082, 1); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('7cb15954-69e4-11ec-a1dc-0235bf949cb9', 1, 'flowSubmit.bpmn', '7cb13243-69e4-11ec-a1dc-0235bf949cb9', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E222069643D226469616772616D5F666C6F775375626D697422207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C70726F636573732069643D22666C6F775375626D697422206E616D653D22E68AA5E99480E794B3E8AFB72220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C666C6F7761626C653A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E466C6F7746696E69736865644C697374656E6572223E3C2F666C6F7761626C653A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C73746172744576656E742069643D224576656E745F31376E32727739223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D2241637469766974795F30336B6A75727422206E616D653D22E68AA5E99480E58D95E5BD95E585A52220666C6F7761626C653A61737369676E65653D22247B7374617274557365724E616D657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383833353236373622206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333936333632383535353022206C6162656C3D22E692A4E994802220747970653D227265766F6B65222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30306C647661672220736F757263655265663D224576656E745F31376E3272773922207461726765745265663D2241637469766974795F30336B6A757274223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3079777866777522206E616D653D22E983A8E997A8E9A286E5AFBCE5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F666C6F7761626C653A7461736B4C697374656E65723E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383833373230303322206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333936333633303430383022206C6162656C3D22E9A9B3E59B9E2220747970653D2272656A656374222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E0A202020202020202020203C666C6F7761626C653A666F726D5661726961626C652069643D2231343430393637353831363733343539373132223E3C2F666C6F7761626C653A666F726D5661726961626C653E0A20202020202020203C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F307839647832742220736F757263655265663D2241637469766974795F30336B6A75727422207461726765745265663D2241637469766974795F30797778667775223E3C2F73657175656E6365466C6F773E0A202020203C6578636C7573697665476174657761792069643D22476174657761795F3137397A676E70223E3C2F6578636C7573697665476174657761793E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3138703368716222206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3079777866777522207461726765745265663D22476174657761795F3137397A676E70223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F73657175656E6365466C6F773E0A202020203C656E644576656E742069643D224576656E745F306E766A786768223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D22466C6F775F31716967616B7222206E616D653D22E68AA5E99480E98791E9A29DE5B08FE4BA8E313030302220736F757263655265663D22476174657761795F3137397A676E7022207461726765745265663D224576656E745F306E766A786768223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B746F74616C416D6F756E74203C3D20313030307D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3071617934387522206E616D653D22E680BBE7BB8FE79086E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303931313431303538313231333431362220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934373637353034313130373936382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383835333637373122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383835343030383122206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A7573657243616E64696461746547726F75707320747970653D2244455054222076616C75653D2231343430393131343130353831323133343136223E3C2F666C6F7761626C653A7573657243616E64696461746547726F7570733E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F303538636D736222206E616D653D22E68AA5E99480E98791E9A29DE5A4A7E4BA8E313030302220736F757263655265663D22476174657761795F3137397A676E7022207461726765745265663D2241637469766974795F30716179343875223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B746F74616C416D6F756E74203E20313030307D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3079637838666222206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3071617934387522207461726765745265663D224576656E745F306E766A786768223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30396237756E7222206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3071617934387522207461726765745265663D2241637469766974795F30336B6A757274223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F775375626D6974223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F775375626D6974222069643D2242504D4E506C616E655F666C6F775375626D6974223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F31376E32727739222069643D2242504D4E53686170655F4576656E745F31376E32727739223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223130322E302220793D223239322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30336B6A757274222069643D2242504D4E53686170655F41637469766974795F30336B6A757274223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223139302E302220793D223237302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30797778667775222069643D2242504D4E53686170655F41637469766974795F30797778667775223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223335302E302220793D223237302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F3137397A676E70222069643D2242504D4E53686170655F476174657761795F3137397A676E70223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223531352E302220793D223238352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F306E766A786768222069643D2242504D4E53686170655F4576656E745F306E766A786768223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223933322E302220793D223239322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30716179343875222069643D2242504D4E53686170655F41637469766974795F30716179343875223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223730302E302220793D223337302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30396237756E72222069643D2242504D4E456467655F466C6F775F30396237756E72223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223735302E302220793D223435302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223735302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223234302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223234302E302220793D223335302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223438342E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30796378386662222069643D2242504D4E456467655F466C6F775F30796378386662223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223830302E302220793D223431302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223935302E302220793D223431302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223935302E302220793D223332382E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223836342E302220793D223339322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F303538636D7362222069643D2242504D4E456467655F466C6F775F303538636D7362223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223534302E302220793D223333352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223534302E302220793D223431302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223730302E302220793D223431302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2239302E302220783D223537352E302220793D223338332E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31716967616B72222069643D2242504D4E456467655F466C6F775F31716967616B72223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223536352E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223933322E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2239302E302220783D223730342E302220793D223239322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31387033687162222069643D2242504D4E456467655F466C6F775F31387033687162223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223435302E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223531352E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223437312E302220793D223239322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30783964783274222069643D2242504D4E456467655F466C6F775F30783964783274223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223239302E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223335302E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30306C64766167222069643D2242504D4E456467655F466C6F775F30306C64766167223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223133382E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223139302E302220793D223331302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E, 0); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('7cc3cfe5-69e4-11ec-a1dc-0235bf949cb9', 1, 'flowSubmit.flowSubmit.png', '7cb13243-69e4-11ec-a1dc-0235bf949cb9', 0x89504E470D0A1A0A0000000D49484452000003D2000001FE0806000000706236BA0000402F4944415478DAEDDD09941C65BD37E088A8A8A8A878AF0B22281E51F182825E142E44E5F8A1A24625E4260189204120646658150103B20A92747758222828C80E4103B264BA9B842540B8C81204050212626493C8223BF5D5FF9DA9A1339909996492CCF23CE7BC67BAABABAB9779BBAA7FFD2E3564080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083509665ABCF9D3BF7821B6EB8E1E56AB59A4D9F3E5D59C9A5B5B5359B3973E66379D951FD531FD43F0000E8E322C45C73CD35D9238F3C923DFFFCF3CA2A2A8F3EFA683663C68C7FE5A1667BF54F51FF0000A00F8B964021A6CF8499E7A74F9F7E97FAA7A87F0000D08745775A21A2EF943CC8BCA8FE29EA1F0000F46131465280E853412653FF14F50F0000064090797AE1826CEEECD3B33B5B0F4F252EC732E1439051FFD43F000010A43B95A79E989FCDB9F290ECB6CBF65FA4C4B2B84D001164D43FF50F000004998632EFCE3F2C16628AF2D09DD304104146FD53FF00004090692C77D58FED36C8C46D028820A3FEA97F000020C8349439D327741B64E23601449051FFD43F0000106404194146FD53FF000080650B32314B727741266E13400419F54FFD03000041A6A1DC73DDE46E834CDC26800832EA9FFA070000824C43797CFEEDD99CAB7EBA78B7DA7C59DC26800832EA9FFA070000824CA772FFCDBF5D2CC8C432E1439051FFD43F7A6C2D6F0100C0400F32CF3D97DD73FDC98B77ABCD97C56D028820A3FEA97F2CB56DF212EFF3B6DE0A0080011A649E7A627EF6D7EB2ADD8E518DDB621D21449051FFD43F5ED3667979222F95F6BFDB794B000006529079EEB96CC13DB5EC8E2B0EEA36C41425D68975B50E0A32EA9FFA47B7A225FAD1BC8C69B81E615ACB3400C0400832AFD50AA875509051FFD43F7A64DB215DB74017E15ACB3400407F0F324BD30AB8A4D64181449051FFD43F3A14DDB9B7ED61C80600A03F0599650D314511480419F54FFD23193AA4ADC579C7D7584F980600E8EF41461164D43FF58FE5568C811EB694EB1761DA98690096CA983163D6FADFFFFDDFEDF352C9CBACBC2CC84BD650E2FAAC1123469C3A72E4C81DF3B2B6778D6E3DF4D0431B4F9D3A75D289279E38E7E0830F7E6ADCB8712F8F1E3DBAA342EDB6DB6E2FECBBEFBE8F1F76D861338F3FFEF81FE615700D415A801064D43F65C5D4BF091326ACD63CB1BE49CBE4DA27BB2A71DBF0F3CF7F7DE7FBB5546AA3C6976A5FEEA7557BF321CB36F639C2F753C2342BDBBEC7D7D76EAAD453CF89A649ADFFD552A96F967FFE368DD25CA96DD1F1B92CD7B7D9A75CDB382E8F2FD5374ACB4AB5B1CD1367BEAFE584EA07E26F579FE5E64AF5ABDD3D7673B93E3A5DC8B2D7B594AB5F6929D7B68ED25CA90F6DA9CCF854E7F5F729D7376F9EDCFAF9AEB6D572627D83BDCBAD9FD8B752DFB0B1C4B2A649B58FF94F3350E4C178BB3CD74CCB83F14B9D82F36B96FC3ED3F3326CE8D0A1AB7B27C9F7BDD9EAB366CD3AA05C2E2FC8837276F4D14767175F7C7176EBADB766F3E7CFCF5E7AE9A5ACF0F8E38F67B7DF7E7B76C925976493274FCEF220FDD2FEFBEF7FFD2EBBECB2B120AD08D2EA9FFAD7BBF63BEECAB736976B0FE65FA48FE8AAE45F98E7E6617AADF485BA523B2AFFA27E7E53B976577E9F8B5EBD5CBDA0B9549DD44FAAF5D0214BD79DBB3BBA79B3D23595A6AF9B7FE6CE6E0BB6B56BF3CFDB7E1DA55CFB4B11749BCAD55BF2EB273595EA47E701F88F11529B4AB5DFE59FE1F55A4AD5333B07DC3C44B7E4EB5F9A97E94D93EB8BD4E9A64AEDFFE5CB7F93977BF3307E61FEF99F924279A93A21DFF6F52D95EAF79B2655B75A3C98577FD85CAAEFD56590AED4F6CCB7538EFD45EC3FF26DDFD676B9568AD7D2D57DC64EB9F90D5DFD00D8DD0F833D590EBD2D0FC29BE521F8869E86E76ECAEC7C5B7EB81DCC66CC98B1CBC489139FDA73CF3DB30B2EB8205BB06041D6134F3CF144FAF2B8D75E7BBD387EFCF8EBF24AB59E20A308D2EA9FFAD73BF62EFFF14DF997D97A53B9BE7BFEE578E222257D51AF5FB5E789F535C797AA5F682ED57E9C07E7FDF3F5E7C7DFFC3E07E6971F4ECB2AB503BAFA52DDC7142178D8726E671B619A95A5A554DFB9B95C9D9A7ED4AAD40EC9FFB6C6F27D4AB5AFE5C179B7FCB33AB3FD87AE03F2CFE8E1CD13677C3C5AA59B26B57E360FABFB46804E2DC8E5DAE4573FF733DF93026DB976D1D829D3DE72E094E9EFC82FFF3E5FEFE7F1794F41BA5C1BDF54A9EF9A2FBFA6B9521F96FFBDA2A5526FCA3FF7B508F3B1DDF1A5191F7D35ECD7B76CBB5F75B708D313269CFFC678DCEE5E57EC5322402FE9B5C76B2C5E6FF16341FC50909707E287828E16F69E2E87DEFE8576E8D0D5F3D07B74572DD0071E7860CA40D75D775DF6E0830F66CF3EFB6CCA382FBCF042BA7EC30D37A406C6430E39A4BB405D19EC3D74079D68853EEFBCF3EED865975DB273CE39A7A3D22CAB68B58E56EA9D76DAE9C55D77DDF540414611A4D53FF5AFF782747CB1DEEFE42BFFA373298274DCDE526EFD9FFCCBF5A111A81B4B5A56A96D917F71FFCF3E5C9DB71CD2BB639C9D1A8B9517A64FA87E20826BBADC1E2CA3EB760AD3A5E9EB16C134FF2C5F9D97D979392F2FA7C4673B05E1726D7A04F1E85A9D7FA67F103F86A5E5F9E7BBFD3ED353AB7484E44AEDBE08D1F1B94F8139BA7E976BFF97BA72E7CF61DFC9D50FA5001FBD5626573F138FDDBEEE1D8B06E909ABE5CBE644988DE511AC279C5E5F235D8F809BEF3322CC17D7635F14A5D85E53A976427EFF2C7FDCE38AF7215ABA23D0A76DE7FB9E08F6CBB21C7AD3E8D1A3D7E9DC0A9DE795ECF4D34FEF7103E2030F3C909D76DA69D123B77398BE231EC7BB3D08E49566BD4AA5F248737373AA10BD29B6D7D2D2F2EC6EBBED76D660F875469011A4D53F656504E9F4A5B35CBBB5A952BB2C4A73B97A7BDB97CFB620DDF645BDB669B4EA44F7CEC692DFEFCAAEC64AF6B1101DA177FB5EDEAE09C8586941BAEDB357FD76EADA5DAEDFD4D68DBBFE873C20FF33426ADB7AD7BF39BFFD92F479AED4A644ABF4B8CA55EF8F922F3F2B75F1CEC3F45E935BDF5D6C3B7A963476EB6E39E18A77B58DC3AEB5B485D9EAEDF138E9B668DDCEEF9FBA8B3704E918631DEB3606E9F67DCA6F8A56E998532105F272FDFAD435BC5CBB330FEC0B1AAEDF9CFF4D9FD1D4125EAA1DDBFE5AB76F6FA189F07D5FFCA0D7B64EED9BD13DBCC7CBA117E5017AC351A346FDBD31F4C610D6471E7964B9F24E0C753DFCF0C33B87E97983AD67EEA00CD1D1953BBA2744B7EC15215AB78F3CF2C86776DD75D7CB07FA407C41469056FF949518A4AFECF832DDDEEAD518A463E2B1D4DA155D421B4BFEE5382626EBA3D5B8E886BDFD0ADCBE09C8586122A4162DCA1178E3B31981B8A9543F799F13677C306E6B0BB9F59DD30F617938CDCBE579B0FD757BCBF4AFDACBDD71BFF6CF7CB45A57DBCBBDD19ADC707DF601C75EFBB67CBDB7B7946AA7E58FF7CBD856FC8DEDED5DAE7E248DB76E0CD2E5DA6F3B026B4390DEA7D4FAC59843A1ABD7B5345DBBF3EDCEDBBB5C4FAD7031DE3BBFFEB78EDB4AB57DA22B7A4F97AB51F49668216E0CD1D10A7DF5D5572F32F7D3F2BAE69A6BD27685E94120BA73474B7484E8E5EDCABD345DBD8F38E28827F3CA759A20A308D2EA9FFAD70B41BA52BB2126234A25FF32DD3948C7B8CB58A7A9523D27261F8ABF5162DD3E1AA48BEEDCD1DA16DD4B776EFFBB3CBADA8E6EDEAC30D1AA1CF30F74EEDA1DE3A623E0464B6B5C8F56E9981830C63AC7B8E7D4225DA90EEF9865BB5CFF4304E9B675EBABE7F73FB56D82B2B616E9F67DC129C52CFD6D930BA671D96744CB7204F708C5316378FEF7F468316E9A54FBEF18271DBD598A09BD1A8374FBF55BE235F4344847808E2EE8AFFEB857FD464C8CD610B2EBF97E68879E2E57A3E80DED63A23BBA73C71988EEBEFBEE159279620C75A7AEDE770C1F3E7C4DFF850126C6444777EE279F7C325B1922AC8F1F3FFEC9BCF21E20C82882B4FAA7FE2D7790BE2F0FCE3F49A5523B24758D6C6C912E55F76E29D5B76D9F65F7A0FC0BF2B83D4EBAE69D31D958CCC6DB074374D19D3B42EFAFE2F7DEF6BFCB1AA697B41DB379B3C27435463ABA3CE79FDD175A26B67EF8D5F5DABA76C7508B08BB79983C260FB53F8A922FBFB108D2EDDB8916E6AF17413A3ECFF967F9C8451EB754BB306DB3521F161312C6E9AFD2B8E37C1F90BA4AE7CF2BBA741761BEAB209DE65628D57ED7D3201DA1372643EBD86ECC5C5EA9DD90869C442B7DFBE59E2E579BE80D31B158634BF48A0AD18D61BAF174C1310199FFC2003273E6CCDD6262B1DE1E13BD3463A6F38AF5ECF0E1C337106414415AFD53FF7A2626FFC9BF60CE683F47EC378AE5D1FADC3E26FAA668DD4A9314956BB3A39528BA8DA63197314370B93E26FF327C58B482C564447DA4EA16A1B6E8CEBD737BF8CD96234C3786E8A27CAFD33A453772DDBCE9DD1FBB2AB52D8A209D66D94FB36957FFDA3EABF6833121585B38AD6F945F7F3C3EA3A9FB751E9CE3F451315B75BEFCDC628C74DC2F0FBC07C7445E6DDDBF63A6FEDA15F936F788DB8A70DE3E43F72969C6EE727DDF08D3A9DBF8A4EA5611CC23B017E13485FD7C1F9282751EA61B5F43E75358B5B56AD747C7E376F7BAD373AAD4166928C99F43255E770C2789734F2FEB72581EEDA7B8EA989D3BBA73AF0CD1CDBBD3F9A61D6B0682E8D2FD8B5FFCE2E9989D7B55B8F8E28B17E661FA62414611A4D53FF5AF67A2B539BE6C2EF625364E7713E7912ED5C616C13A4ADB97EB740AACC951A2052BBE40C7ACDEC5ECC1ABD8D02EC26C5721B82761BAABFB9FD6CDFD75F3A65745D7E918AB1C93751501333E83F1998BEBF1A356B41417978BF5DAD6A9AF13BD46D2F9A02BB57284DE719519EB3797AA3BA5EECF5D94B82D66E66EDB46F5E0B6D3DFD5368D9E2A713DCE3DDFF1BC1A7AA2EC7F62FDBD718EE998C53F2E2FE935B59D8BBA363902F5B2ECB37A63392CABC62EDD31B1586F8E897E2D9D26209B3DD0E78A1A1466CD9A75409C277A458F8B5ED278E95D76D9E5E151A3466D22C82882B4FAA7FE0D5A9B0FE9FE3CD1CB1AA67B12A20BBA79030C4023468CD8AEB14BF7F2CECEBD2CB379378E97CE43FD30FF957EEE84134E5810271A5F95A64D9B16B3D89D29C828828CFAA7FE0D4A45B7EA313D0CC54B0AD3CB12A23B3F1F611A6080C8B3C6B422C4C679A25785B3CE3AAB31484FF75FE9C71E7AE8A18D77DB6DB71E9F70BCB7C5A9B6468D1AF5CF81766E6941469051FF1441FA350DED41685DDA30BD3C21BA102DD38F0E31661AA0DFCB33C65A8D63A35755F68956F0C689C7F2E7B4B6FF4E3F3575EAD4493FFFF9CFB3BEE0C73FFEF1ECE872D11FDEB7F805292F5B0A32828CFAA708D24B5F27BBB0D990EEBB732F6B98EE8D10DD18A69D671AA09F1F83F2D0BA7D115E0F3CF0C0559A79E254C30D417A47FFC17EAA5C2EDF79F1C517F789207DC61967DCD15FA6836FEC929187FFCD05194146FD530673905EDA3AD945487DADEEDC3D0DD3ABF562882EE8E60DD0CF8F4191318AF556F590D6C85EC573C99FEFA9FE83FDD4C1071FFCD4ADB7DEDA2782F42DB7DC724F5EA166F5A70F6C43B9BCAB5FC204194146FD530653907EAD3AD945385D9E96DEAEC2F45F7A394437867EB37903F4D36350648CE2F6EBAEBB6E95669E38AF74C3739DE53FD84F8D1B37EEE5553D3EBAF0D8638F3D9D57A605FDF403DBF14B58E30757901164D43F659006E92EEB64BBCD7A31947615A67B3B443786692DD300FDF0181419A358FEE0830FAED2CC337FFEFCC6E7B9C07FB09F8AC1EE2BF3FC69AF252A547FFEC036FE12165D4B04194146FD53067390EE5C2787BC7A9EE631BDF8F0D19DBB734BF45FDA97F7B6DE68490760251F831AAFBFF0C20BAB34EFC4E3373E1FFFC17E5CF1FA92A5F820F4ABB2A283CCA38F3E9A9D72CA29D9BC79F35E73DDBBEFBE3BBBF7DE7B175976CB2DB7A4E9FFE3F273CF3DB7D87DE6CE9D9B3DF3CC33E9729CFBEE8E3BEE586C9DAEEED757CB40AB5F2BB3FEC5AFB7A79E7A6AAA73457D78F8E187D3EC93F1CBEA534F3DB5D87DA2BE4C9A34297BE8A187BADDEE65975D96FDE94F7F4A97FFF9CF7FA6F3D9479D8AF2EF7FFF7B91FA573C5E57E55FFFFA5797DB8FEE5BA552A9DBC7BFEBAEBBB2A953A7767C1EE2B9C663DF78E38DE9F1D4BFDE2BDFF9CE778A907B722F1EC696D422BD34E7995E16C70DF6FFA5A2284A7F2E7D2DF348A45AA47BC35303A0453ACD3C3E74E8D0D563BD151DA423DCC417C6080B7182F7B7BFFDEDD93BDEF18E8EF2D18F7EB463DD6F7DEB5BD97AEBAD97C6656CBDF5D6D951471D951D73CC31E93E4F3FFD74F6C94F7E32BBEAAAAB3AD68F40B1D65A6B65FBEEBB6FBA7EC41147646F78C31B52F0687C0E975E7A69F6FAD7BF3E7BD39BDEB45889F5172E5CB8C8FA63C78ECD3EF8C10F661FFAD087B2F7BFFFFDD9CC9933B508F6E1FA173FBE5C74D14559CCEE1F75EDA4934ECACE39E79C74EA86C6D0326EDCB8C57E5889C93CE2B608A85DFDF072DB6DB765ABAFBE7AF6810F7C203D4ED487CE61281E37D68DFADD4D584AE5D8638F4DEBCD9A352B3D97A6A6A65436DC70C374FB0F7FF8C38E6571FBF5D75F9FD63FF9E493533D8FCB5127E3731197DFF8C63766679F7DB6FAD7CB757248EF768F5E9A31D2BD1DA6B54803F4C36350E3F2F8D15E8B34CB6D8F3DF678BEAF8C917EF8E187E7F4E331D29DBF2C0E59D1413A02E891471E99BE2C46D8FDC637BE917DFEF39F4F330146F888CBFFFDDFFF9DD68D6511583EFBD9CF669B6DB6590A126BAEB9669AFE7FEDB5D7CE0E3BECB0EC7DEF7B5F470BDCD5575F9D02D357BFFAD5B45EB4E8BDE52D6FC9FEE77FFE27058FC6F0FB8F7FFC236B6969C9C68F1FBF4889C78F10D3F97947388950BEF3CE3BA7E7DEDB61659006E91556FFA2C578DD75D7CDDEF5AE77655FFCE217B377BEF39DD9C73FFEF16CF8F0E1A93EFCF18F7F4CFFC7E8D9102DC8F1A34AFC38F3EE77BF3BD59DB82D826A5C8FE5ABADB65A6A3DBEFFFEFBB32F7CE10BD9565B6D156398D28F3C871F7E78F6B39FFD2CDD278273D4E3A217C50F7EF0838E753A9737BFF9CDD9F1C71F9FD68B90FFBAD7BD2EDB75D75D53891F90DEF39EF7C4AC981DCBE2399C75D659D98C1933B2EF7FFFFBE9799E77DE79D9C73EF6B1ECB8E38E4BDB89FA1E9F9B6BAEB926BBFDF6DBD5BF5EAA939DC2E8F284E9EE4E71D5D5ACDDBD15A6639CDD53438C9106E877C7A0C631D20F3CF08031D22CBF030E38E01F7D65D6EE59B3665DDD0F67ED9E95878061DD7C595CA141FADA6BAF5D2C487FFDEB5F4FADD4DB6CB34DF6B5AF7D2DBBE28A2BD2BA116CA37578F3CD37CF3EF7B9CF657BECB1470A47D10A1D2D6FB17C830D3648A138D66F6E6E4EA1E2FCF3CFCF7EFAD39FA6C79832654ABA1EEBE5F5A6A36B79EC8CA2FBEE2F7EF18B6CE2C4891DE5D39FFE74B6DD76DBA596EDAEBAC8C63AB1DD38979E20DDB7EB5F0C1F88001DFFCB35D65823BBE4924BB23DF7DC33DB76DB6DB3BDF6DA2BFBAFFFFAAF8E96E608D2954A255D3EF7DC73D3FFF8E69B6F4ED7E3C799B81EBF044780FEF297BF9C7A27C4F6B7DF7EFB547FE3C797BDF7DEBBA305BAE84A1E413A6E8B70DBB944088E501E3FF04457F0A89F11FA63FBF1E3516C678B2DB648D7BFF4A52F653FFAD18F5257F4781DDFFDEE7753688E1F8BA2CEC7E7235AAD63D98E3BEE983E37C5EB51FF96BF4E36589EF333BFD679A25FEB3CD3CB62685EE6E5C5F93E01FAE131C8ACDDF4BAC30F3FFCAABE721EE9134E38615A3F3A8FF4925A5B564A902EBA5FC797C4D34E3B2DB5BC45CB5F048628112C225047888D30F2E31FFF38AD1BA17AA79D764A2D84D1DD35CA37BFF9CD74DBDFFFFEF7B4DD68611EB2846EB445903EF8E08397B85EE7F51B4B3CB7B82DC28B20DD77EB5FB40AC78F22D1EABBC9269B7484D2FCB15389D6DCC6FF6F63908E71F9BFFEF5AF3BEA5563909E3D7B760AB35177DFFBDEF7A62100D153225AA737DE78E3D46B21D67DECB1C7D27DA39EC68F3E5B6EB965F695AF7C2585F828118CE347A158B75EAFA77577DF7DF7D47A1D3D2EBEF7BDEFA5DB22F8C7F5581EDB2A9EEF2F7FF9CBF459B8E79E7B525DFCF0873F9C0E6C11A4E37EF14381FAD77B75B29365E926FD5A217AC80A08D366EB06E8E7C7A0C6F348C70FF0CE23CD723BF6D863BF7FFCF1C7BFD2178274FEE5775A7C0806D2FBBB2283748C2F6D0CB29B6EBA696A2D8E2013A17AD8B061A93B774CC414933E45D7DB21ED635CA37B6B84EE082D51228CC46DD1CDBF08D29FFAD4A752AB7784A2B8ED0F7FF843BAFE894F7CA22338C576A3252F5AB0637CF519679C91D63DF1C413D3FA11BCE271E7CC99B3C873FFEB5FFF9ABAD7EEB2CB2E69FDC6B1D98274DFAA7FD15A1C6134BAE21765D4A8511D4136FEFFD14A1D13D3750ED29D4B63903EF3CC33D398E818971C213D026E04F3A88F516F8A2EDE45908EA01B63FAA36E46288E301CADD4B18DF86128C6EA178F13B7C5B8EBA85FD13323B61307ABB81EEB17413A26392BC67A4788EEDCB53BB6AFFEAD703D09D34B1BA27B334C0BD10003236C6F5F84D7F8617D558ADE980DA7E8D2D3A9BF1A3366CC1AF997CB176246DC557C0EE9181FFD683C1F4166E94A8C098D303AA4BDDB758CF58CAEB1D165362E478949C562DDA27B76512224C7D8E8623C73746F6D0CD2D1B576C8125A98F7D9679F8EE751B4744737D898882C2E47D88A96C308EB31DEBAF3738F2016E129BA924778892EBB3163B320DD37EB5FD4A9E8FE5F94F821A5E8DA1DA1385A948B00BAB4413A426CAC173FBA7CFBDBDF4EE3A7A33B7704E918721093871541FA77BFFB5D1AE35CFCF0539418A73DA4BD853C6E8FD6EF2248AFB3CE3AE96F315374D4CFC6E5B1DE6EBBED966E8BD01C3F12753546BA3767A517A45F334C6FD78B21BA37C2743CAF65ED7E0E40DFCA3C6BE559E3C522C0DE77DF7DAB24F3440357FE3DF8958620BDB6FF4E3F76E08107D6A74D9BB64A8374FE85FA3779653A539059FA12DD65FFFCE73FA72F8631D6225ADB224847988819B3DFFAD6B7A6801DEB46B7D9E8661BEB46EBF04F7EF293EC6D6F7B5B6AB58E12934615413A5A8B2FBCF0C2B49D68612E82728C838EEBB13C66718EF58AE712EB47D82AC66C4789EEB2F1FC3A3FEF980C2A6E8F5F03E37A4CFA34A4BDC55090EE9BF52FC647C718FCF89F6DB4D146D90E3BECD011A4E3F6A877D16ADD9320DDD8DA1D3FECC48F37B1CD08C4F1234FD113220E3851EF62E2BB08D83191583C97A8B7F1B8B14E84FB68799E3C797247908EDE1913264C48BD2F86B4CF2310D73FF2918F7404E9F84CC40F525157E37A57413ABA98F7D6387E417A8922AC3EDA4D685DD610BD3C61BA08D15AA2010688FCBBE6B422C0C677E45521BEF73684E8E9FE2BFD5C1EC0361E3B76EC4BAB6A2AF8975E7A695E5E91EE1D356AD42682CCB28D916E0CD2110E622C69048EE2FCBC8DA7CA8A16C0E80A1B331947308A122DC445908EC0316429C63D47B7F2279E7822ED10A24570487B4B751192A3B53C261B6B7C0E71BEDE08F9D13DBCE8B21B25C25371BF15795E6A417AD98374FC9FE372B4ECC6FF2B426FF43A88C01A13721D74D0413D0ED2316B765C8F19C16306CBDFFCE637699841D4DF182F1D2DCE51C78AFB4737F2A8D73174214ED916BD18E2FE11781B1F27C27384E3184B1D213BD6891F7AE27A2C6FECB25D8C912E8274F4E488F05C04E9E84A1E3F1CA87F2B2D4C77D532BDF37284E82585E9EF75B3EED0214E710530E0C410D222C4C677E1F8B17E658A1EC03BEFBC73636BF430FF9501A0A9A969C6AA9A74ECA8A38E3A23AF4C1708323D2B114222CCC417C21B6FBC310580388555849EE82A1DC12126828AD6BCC673FAC6B8E968CD8B96C5581EBD118AAEDC11A4239CFFE52F7F49A7278A52B420C76314CBE2F668118FBFB1BDE83E1BA7D08A73F0C6BA37DD74530A21F17C2264C558EA68D18E1014933945779AC6D712A7438AE71BF78D19C505E9BE17A4E30790A84FF1FF8E6019ADBA114C237446C08D49EDE24790F81FC7F5C6FBC7846231B95CD4CB38BF79E36DB1AD18DF1F3FB84457EB186F1DBF1247A88DFAD3F935447D8E6DC40F3EC538EADFFFFEF78BAC13A7ACAAD56A1D97639DA8B7451D28CE211D7FE3401A2DE03153770C3788E71FDDC6E3B5C6738E31DCD18343FD5B69BAEAE6DD1882972544F7643B9B0F696B19DFDEBF0260E0699CBD3B4EA1F9D24B2FADB4CC138FD7788AAE1E4ED0495F357CF8F0F7E641ECF9957D5EB53FFFF9CF33F28AF454FEF81B08323D2BB366CD4AE76A2E5AED8A6013813AC2F0934F3E9926012B26FA8AF01A3310C7A450D1C5F5339FF94C5A7EF4D147A7701BDBE9AA35385E438C752ECEE7DBB9FCED6F7FEB18B31DA7328A401CAD85B12C9E436B6B6BC7E3476B6657A7C28A12F789401F2DEA8274DFAA7FD1A53A66EF8E59B16372AEF8B1237EC489FAD6B85E0C21883A19639A1B97C729F6A295388272FC30D3785B04E818731DF527C27371CAB6D85604DA9860ACF3F3895F9063FD389F75F4C268ECDDD0B9C418FDEE8619FCEA57BFCAD65F7FFDF47AA287453C5651CFE3F5C6B6A3A7C7BC79F3D4BF951FA63B8F4D8ED0FBBD21CB7F3EE8256DA7E85EAE3B37C000B5C30E3B6CD378CEE9F89EB032C40FFB8D8F9B7FC7D1EB692019356AD4F83C78FD7B6575F17EE69967EECC1FF3CEBC32ED27C82866ED56FF5664B77EF5AF5F86E995395BB6D9B90106893C7B1C5704DA68208890BBA2CF1BBDE38E3BBED210A42BFE0B03D0AEBBEEFADBC30E3B6C8587E9975E7AE9815D76D9A59657A4930519459051FFD43FBA09B72BA385D8ECDC00834874A96EECE21D61FABAEBAE5B61217AE79D777EB92144DF317CF8F035FD170668C5CA03EEEF0F3DF4D0275754988E96E83CB0D7635CF4403BDD952023C8A87F8AFAD7EB617A4586DC62FB5AA20106913C3CAF9367917B1AC37474F3EECD31D3D1D2DDA9257A5E5ED6F3EE0FF0303D6AD4A829E3C78F7FB2B7C74CC798E8F6EEDC270FF4102DC80832EA9F2248F78A15D5CDBBE8CEAD251A60108A50DB18A68B09C8967736EF989DBBD3C46242F4603362C48871A3478F7EFABCF3CE7BE285175E58EE535CB5CFCEFDD4401E132DC80832EA9FA2FEF58B301DB3732F18A2251A60506B6F999ED5187AE38C1EA79F7E7A3A9B4D4F44008FD385369EE2AAE8CE2D440F42319BF7C891232FCC2BC4C20B2EB8E0BEC71F7FFCC59E54A8C71E7B6C4EA552F94DBE8DBBA32B77FE774341461164D43FF58F65D05BDDBC870AD100741C14860E5D7DC48811133B85DF540E3AE8A0ECBCF3CE4B63A8A3A76ED1B8187FE7CF9F9FC6405F72C925D921871C928D1A35EA952EB65131267A90CB2BD746793935AF204FEEB3CF3EB79E76DA69B7DE78E38DF7FDFDEF7F7FA621373F15C179D6AC59579F70C209D376DF7DF76979E579340FCFE7E4F7DB6430BE6F828C20A3FE298274AF5ADE96E9E2FECE130DC022DA4F8D35ABAB40BD0C65B6535CB18818D7DC5EC962DAF89830ECFEBCBCD8506916B457C04A1EBCB71B0CE3A005194146FD53D4BF5512A6B75D86FB999D1B80258A0C936799699D32CE52953C3C4FCFCBB068E5F64E822023C8A87F8AFAD717C3744F42B1D9B901E8913163C6AC9587EAFF8D06C2F686C2059D82736A408C5EBB7978DE3186C47AD740901164D43F45FDEBEB96F63CD366E70660B9E58179F3A2955AB76D10640419F54F51FFFA7B985E52481E3A64C59C3A0B80C117A4A7368E81F68E802023C8A87F8AFAD79F75D7CD7BCB2166E706A017E4C179B3CE63A6632CB5770604194146FD53D4BFFE1EA61B5B9E8B70BDA3B706805E08D2D3BA9A99DBA46220C80832EA9FA2FE0D94307DDC10DDB901E8BD10BD59773378C70CDDDE2110640419F54F51FFFABB6DE38BCD10138B01D07B41FAF2259CF26A96770804194146FD53D4BF81F085C7FB0C406F1D53367BADF3491B2B0D828C20A3FE29EA9F200D00AF1E53A62D29449BC11B04194146FD53D43F411A001C674090510469FF77F5CF171C00709C0141461164D43FF50F5F7000709C0141461164D43FF50F5F7000709C0104194146FD5304695F7000709C0104194146FD53D43F5F7000709C0104194146FD53D43F5F7000C0710604194590F67F57FF7CC10100C7191064144146FD53FFF0050700C71918A8AAD5AA00D177CAB379907951FD53D43F5F7000C07106FAB09933672E78E4914784883E50E6CF9F7F6E1E64EE52FF14F5CF171C00709C813EAC56AB7DEBEAABAF5EF8F0C30FFF5B9858752D8111625A5B5BFF9697EDD53F45FDF30507001C67A08FCBBF3C6F377DFAF4D9D1AD33C648F6B772CE39E764B1C3E88FCFBDBDC4FB7ED7600D31FDBDFE0D8032A8EB9F2F380038CE00837567312D761843870E5DDDBB01F8820380E30CC0128C183162F37C67F162EC30468E1CB9AD7704F0050700C719802507E9A9B1B3682FB3BD23802F380038CE0074BF93D8AC688D2E4A1EACB7F3CE00BEE000E03803D0F54E625A63882E5AA58D95067CC101C0710660F11DC462ADD145193972E430EF10E00B0E008E33008BEE202EEF2A44B79759DE21C0171C001C67005EDD3974DB1A6DAC34E00B0E008E33008BEF1CA62D29449BC11BF0050700C719003B0CC0FE0A001C67003B0CC0FE0A001C67003B0C00FB2B001C67003B0C00FB2B001C67003B0C00FB2B001C67003B0C00FB2B001C6700EC3000FB2B00709C01EC3000FB2B00709C01EC3000ECAF00709C01EC3000ECAF00709C01EC3000ECAF1854B22C5B7DEEDCB917DC70C30D2F57ABD56CFAF4E9CA4A2EADADADD9CC99331FCBCB8E6A248E33801D0680FD157D5C84E86BAEB9267BE49147B2E79F7F5E5945E5D1471FCD66CC98F1AF3C546FAF56E23803D86100D85FD187454BB410DD67C2F4F3D3A74FBF4BADC47106B0C300B0BFA20F8BEEDC426CDF2979907E51ADC47106B0C300B0BFA20F8B31BA026C9F0AD2F60738CE00761800F6570C8420FDF4C205D9DCD9A76777B61E9E4A5C8E65C2AF208DE30C608701607F8520DDA93CF5C4FC6CCE958764B75DB6FF222596C56D02B0208DE30C608701607F8520DD50E6DDF987C54274511EBA739A002C48E33803D86100D85F21483796BBEAC7761BA4E336015890C67106B0C300B0BF42906E2873A64FE83648C76D02B0208DE30C608701607F85202D480BD238CE00761800F657B06C413A66E9EE2E48C76D02B0208DE30C608701607F8520DD50EEB96E72B7413A6E138005691C67003B0C8041BDBFDAF7F8FADA4D95FA8E71B96952EB7FB554EA9B8D2FD5368DD25CA96D51ACD752AE6FB34FB9B6715C1E5FAA6F9496956A639B27CE7C5FCB09D50FC4DFCEDB6EA9D4463557AA5FEDEEB19BCBF5D1E94296BDAEA55CFD4A4BB9B67594E64A7D684B65C6A7165B3F5FBE6FA5BE6157DB6A39B1BEC1DEE5D64FC4ED8D2596354DAA7D4CCD5BFA20FDF8FCDBB33957FD74F16EDDF9B2B84D0016A4719C01EC300006F5FEAAA9347DDDE672EDECB6605BBBB6B954DDAFA3946B7F29826E53B97A4B7EFDA4A652FDE83C00FF31426A53A9F6BBE689F5F55A4AD5339B27B77EBE53886EC9D7BF342FD39B26D7B75BE4312BB5FF972FFF4D5EEECDC3F88579609F924279A93A21DFF6F52D95EAF79B2655B75A2C48976A87E7617A589741BA52DB33DF4E39DFC6A43CF49F9F6FFBB6B6CBB552BC96AEEE3376CACD6FE8BC6CC28409AB75B56E4F97F7E7201DE5FE9B7FBB58908E65C2AF208DE30C60870130A8F7572DA5FACECDE5EAD43C6CCECD43E821F9DFD658BE4FA9F6B53C38EF9687DA9929C0566A07A4103B71C6C7A355BA6952EB67F3B0BA6F04E8D4825CAE4D2EB6B97779E67B52A02DD72E1A3B65DA5B0E9C32FD1DF9E5DFE7EBFD7CCF13EB6BA6205DAE8D6FAAD477CD975F13C138FF7B454BA5DED454AED722CCC776C797667C34427A3C97680D8F92827BA9F6E3E27ADC36AE3263FDCEAF6B7CA9FA8508D04B7AED6DDB6D7BBDC58F05F143415E1E881F0A3A5AD87BBA7C2004E9E79ECBEEB9FEE4C5BB75E7CBE236015890C67106B0C30018D4FBABE8961DC1355D6E0F96D1753B85E9D2F4758B609A07C6ABF3323B2FE7E5E594BCD453102ED7A647108FAED5CDA5FA0FF2EBF3D3F252FDAAF6FB4C4FADD211922BB5FB224447A04E8139BA7E976BFF97BA72E7CF61DFC9D50FA5005FA91ED13CB9FA99B6405CFF5984FCF6A07F676A35EFB85EFF59D3A4DA7F4F9870FE1B279C5E5F23C26D0AB895DA1611E68BEB7B97FFF8A628F15AE2B1F3407E42BE9D2C7FDCE38AF7217FBE7B45A08F16E614D6F360BF2CCBFB7B907EEA89F9D95FAFAB743B463A6E8B758460411AC719C00E03605007E96851CD83ECB753482DD76F6AEBC65DFF431E5CFF1921B56DBDEBDF9CDF7E490A9195DA9468951E57B9EAFD51F2E567A52EDE7998DE6B72EBBB8B6DE7E1F9C0C66EDD2D275CF1AEB671D8B596B6305BBD3D1E27DD16ADDBF9FD53AB737B90EEFC5CDBD6AFCD9930A1BE7AE3F2F1A5DA9753202FD7AF4F5DC3F3C09D07F6050DD76FCEFF6E9F9E53B484976AC7B6BFD6B4AC3D7CDFD7526EFD9FB6756ADF8CEEE13D5EDE9F83F473CF650BEEA965775C7150B721BA28B14EACAB755A90C67106B0C3001874FBAB9808AC68518EC01B2DD211889B4AF593F73971C607E3B6B6905BDF390F8B974538CDCBE579D8FD757BCBF4AFDACBDD71BF68F56D6FB5AEB6977BF37247C3F5D9071C7BEDDBF2F5DEDE52AA9D963FDE2F635BF137B6B777B9FA9134DEBA8B201DADD5EDE1FEE7CDA5EA4E4B7A5D4BD3B53B7FBC797B97EBEBA46D57EA1BE6D7FFD6715BA9B64F3C4E4F97F7D720FD5AADD05AA705691C67003B0C00FBAB76D1AA1C937A75EEDA1DE3A623E0464B6B5C8F56E93C28AF15639D63DC736A91AE548777CCB29D07DC08D26DEBD657CFEF7F6ADB04656D2DD2ED01FB94E1E79FFFFAB6005F3BAA7D5CF61931E95804F7FC3E17C48CE1F9DFD3A3C538BA6C770ABE67E7E17B873406BB5CBFA973AB744F827404E8E8825E5C6F2957BF1113A3353C563D1EABA7CBFB6B905E9A56E825B54E0BC482348E33801D06C0A0DA5F7535463ABA3CE7E1F0859689AD1F7E75BDB6AEDD715AAA08BB79983CA6A552FD51947CF98D45906EDF4EB4307FBD08D24DE5EAB8A672EDC8451EB754BB306DB3521F96AFB77B9CFE2A8D3B2E5527A5AED2F9F37A35A8569BF3ED9DDB71DFE81A5EA95F5C743BEF69908ED01B93A175FCA0103397576A37A4F1CED14ADF7EB9A7CBFB6B905ED6105D14815890C67106B0C3001834FBABD4525CA96D5104E968596D9B4DBBFAD7F659B51F8C09C1DAC2697DA3FCFAE3D1B53B75BFCE83739C3E2A66AB8E905B8C918EFBE5C1F9E098C8ABADFB777D624CCA956F738FB8AD08E7ED33749F9266EC2ED7F78D309DBA8D4FAA6E15C13C05F689333E9E5AC72BB5CBA24B78E373CFD7F94EACB74FA9F58B8B84E4D4AA5D1F1D8FDBDDEB4ECFA9523B6091FB95EB9578DD31D63ACE3DBDACCBFB63905604691C67003B0C00FBABA514A7988AB1CA3159571130F330BB7F749F8EEB319158B41417978BF5DAD6A9AFB3C749D7BC339D0FBA522B478B6C9C8A2AC62FA7EECF5D94B82DC63AB76DA37A70CCA09D6F73D3E652FD27717DBFE3AE7C6BC7F3AAD4F66C0FD5DFE93610E7413B4E83B5C8B2742EEADAE408D43D7D3F8AD3732DEF72415A11A4974EEAD531B1BE49CBE4DA27BB2A715B312464D11FCC6AA38AFD11BE1703761880FD1508D282F4A0113F9E45CF9734C1601725CDA530B1BE56FA912CCDAD503FBFA95CBB2B8666BC7AB97A410C09F1E9769C01EC3000FB2B10A405E901AF7D22C27A0CED681B06D2504AD5FDE27CF46D3D57AA5F88F3B5476F98982830FEC61C0CF9E587D3B24AED80E8C1E213EE3803D86100F65720480BD2832248C77092FD4EBEF23F3A972248C7ED71DEF63C341F1A81BAB1A46595DA164D935AFFD327DC7106B0C300ECAF409016A40745908ECBF9DF5BD3F9EAF3D25CAEDE9EC64FB707E9B83DCDA750AEFFB1A5541BDB58F2FB5D199313FA743BCE00761880FD1508D282F4600BD25716CB3B4EC5D710A463E2B17C9DD931B9E122A55CFBBF9898CCA7DB7106B0C300ECAF409016A4075790AED46E689EDCFAF954F2C0DC3948EF53AE6D1CEB3455AAE7C479E8E36F94585790769C01EC3000FB2B10A405E9C118A4EF8B53E1A552A91D3224CB5EB7488B74A9BA774BA9BE6DCCD0DD52AE1DD454AE8E8B53F0C5646371BA3C9F6EC719C00E03B0BF02415A901EF0269C5E5F230FCD332234B794ABDF289647EB73FB98E89BC64E99F6969613EB1B44CB739CBF3E0FCE97C779ED9B4BB5C3F3DBC7E4A1FAB0FCB6DF3757EA437DC21D67003B0CC0FE0A0469417A408BD6E69672BDD279791E8A87A5F348976A638B601D252EB79F026B7294FCF2912D27543F10B37A3795A6AFEB13EE3803D86100F65720480BD2E03803D86100D85F21482B82348E33801D0680FD1582B4B20282F4D0A14357576B719C01EC3000FB2BFB2B56809123474ECFCB9682F4C008D25996BDF7A1871E9A75DD75D765071F7CF0BE02358E33801D06607F052BA05E4589403D62C488CD05E9FE1BA41F7CF0C1439E7DF6D917B376CF3DF7DC0BE79E7BEE3D7BEDB5977325E33803D86100F657D0DB41BAA15CDE550BB520DD7783F4D34F3FBDF1C30F3FFC40D68DFBEFBFFFD9638E39E6943163C6ACA1C6E33803D86100F657D0FB41BAA385BA31500BD27D2F48E7D698376FDE992FBFFCF22BD96B78E595575EBEE28A2B1E6B6969F9865A8FE30C608701D85FC10A08D28D2DD4D1E55B90EE5BE5A69B6ECA162E5CF8AFAC879E78E289E74E3EF9E4EAC89123D756FB719C01EC30008147515660591941FAE9A79FCE5A5B5B3BAE3FF5D453594C9AF5CC33CF2CB6EE2DB7DC12638057D87389C72D954ADDDE7ED75D776553A74EED782E0F3DF4507A3E37DE7863F6F0C30FAFD0F769FEFCF959B95C8E509C2D43904EF755A795EE8AA32D204803C0B2FF40337BC48811DB15B33EAF8C207DDE79E7C531393BF9E493D3F5134E38215DBFFCF2CB17592F82EA1A6BAC914D9830215DDF7AEBADB3CD37DF3C95CF7CE6331DCBF7DB6FBF6CC30D37CC3EF1894F64EBAFBF7EF6F18F7F3C7BFBDBDF9EBDE31DEFE8286F7DEB5BB3EBAFBF3E9B356B56366EDCB8ACA9A92995B85F3CF60F7FF8C38E65717BAC1BDB8EE7B8D65A6BA5CB1FFAD087B2A38E3A2A5D7EE31BDF989D7DF6D92BFCBDBAE4924BB2B163C75E9A3F9F05AFBCF2CA4B4B13A2172E5C78F6EEBBEF5ECFFFAF53F3FFEF7A6A3F00823400F44E905E244017567490BEFDF6DBB3E38E3B2E5B77DD75B3CD36DB2C85E8F7BCE73DD97AEBAD9796FFF5AF7FED5877EFBDF74E2176E6CC99A985F5F0C30FCF7EFAD39F663BECB0430ABF7BEDB5575AAF56AB65BBEEBA6B0ACF53A64CC936D96493F41A870F1F9E7DF4A31F4D2DCEB17E74933EE79C73B2D7BDEE7569FD28DFFAD6B7D2E3E7EF45C7B2D5565B2D3BEBACB3B219336664DFFFFEF7B335D75C3385FF8F7DEC63E939C663BEE52D6FC92EBEF8E2EC9A6BAE49AF69454F363672E4C861871D76D8BCFC7D786409E3A3E7E4AFFFD4FCB5DF13EBABF50008D200D03B417A5684ACEECE3BBCA283F405175C9042ED85175E985D7AE9A51DE58C33CE48CBAFBCF2CAB4DE6F7FFBDB1478BFFAD5AFA6801C013ABA849F72CA29E9FADBDEF6B6ECB2CB2E4BEB2E5CB830B51C47208E56ECCF7DEE73D9DA6BAF9DAEBFF9CD6FCE3EF2918FA46DCF9E3D3B751F3FE08003B22F7EF18BD997BFFCE5ECB39FFD6CBA6D8B2DB648D7BFF4A52F653FFAD18F5277F3680DFEEE77BF9B427384F108D2B1ED68B58E653BEEB863F68637BC21AB542A2B65D6EEE1C387AF397AF4E8D245175DF4C8CB2FBFFCEF860CFDECBDF7DE7B4A7EDB9C1123464C1C3366CC5A6A3C008234002CFF71B0CB16E85515A4FFFCE73F677FFBDBDF3A4AB4163706E908AED11A1DCB3EF9C94FA656E7F7BFFFFDA9B5788F3DF6C8B6DC72CB8E56E9238E38225D8E12A139C27174FBFEC94F7E922E478B7111A463DBBBEFBE7B6A013FF0C003B3EF7DEF7BE9B63DF7DC335D8FE5D1CDBB78BEBFFCE52FB377BFFBDDD93DF7DC9382F4873FFCE1F4834404E9210DADE22BF33CD2F9E36FD6D2D272FBDCB973E7FFFBDFFF9E71D041079D173F90C472351D00411A0056B2151DA47FF7BBDF7584DEAE4AB44E17EB1E7DF4D1A945F94F7FFA536A211E366C586A857EECB1C7B2471F7D34DD3E6DDAB4D41D3C42F33BDFF9CE3406FAD39FFE7497DB8EDB62BB11943FF0810F64BBECB24BF6B5AF7D2DDD16DF13E27A84F52248C7E38E1E3D3ADD1E21BA73D7EE1FFCE0072BF53CD28DE2079191234736B79FC2ACF9B57E200100411A00FA69908E59AFEBF57A1A7F7CE28927A6901AE134C641C763DF7FFFFD69BD187F1CADCF313E39C653B7B4B4A4AEDE9DC3F1BDF7DE9BD68FAEE1D1953BBA6EC7ECDA37DC70436A2DDE78E38DD3E5983CECF1C71FEF08D2EBACB34EFAFB9DEF7C276D27BA69372E8FF576DB6DB7745B84E66BAFBDB6CB31D22B7246F12505E9C640ADD602204803C0000ED2DB6DB75D47B7ED430F3D34DB74D34D534B728C6DDE669B6D3A426C04ED2F7CE10BD94E3BED94BA69DF7CF3CD6956EF934E3A2985DB8B2EBA28B54EC7F8E858FFF4D34FCF565F7DF534B3F6461B6D9466E98E99B563DDB81CB37F476B7811A437D86083B4DD985C2CD6D977DF7DD3F5E81A5E3C87BBEFBE3B3BFEF8E353D7EEB8DE55908E6EE5871C72C82A0BD200204803C0000ED27FFFFBDF53A08D71C7FFF11FFF9126E98A16E8F3CF3F3F1B33664C0AB0AF7FFDEBB33973E664CF3EFB6C6A6DBEEAAAAB5217EE534F3D356D23BA6747F05DB06041C77623CC46CB7504E7B163C7A6801D413B5A99E3F45671391E63EEDCB969FD08CF118EBFF295AFA45369C5F6B6DA6AAB743D963776D92EC64817413A66F18EC72B8274B494C72CE282340082340008D2BD5EF6DF7FFFD43A1CDDBBDFF7BEF7A519B06382AF08D01166A3C5380276B40EC7CCDA43DABB6FC7B26DB7DD36DB7EFBEDD3ACDAB12C4E5B15336A47F7F028D1BAFDE0830F66BFFEF5AFD3A9ACE2B81FDDBA2304173396FFEC673F4BCF234E591593971597637B4597F278FDC539A4E36FB488C70CE03153778CD78EEEE523478E4CC13D5AD0A3053CC6670BD20008D2002048F77A8956E438ED555C8EF347470BF0D65B6F9D026984E768858EB1D24F3EF96476DB6DB7A516DF071E7820AD7FF5D557A7F34A373737779408B7679E79E6228F11E77B1E3F7EFC22EB15EB46E0EEFC9C62BB11B66316F1CEB7FDEA57BFCAD65F7FFD344BF8C1071F9C1D73CC311D63B27FFEF39F675FFFFAD7D30465F3E6CD13A40110A401409056FA4211A40110A40140905604690004690010A415411A00411A0004694590064090F62E0080202D480380200D0082B4200D0082340008D28A200D80200D0082B42248032048038020AD08D20008D20020482B82340082B47701000469411A0004690010A405690010A40140905604690004690010A415411A00411A00046945900640900600415A11A40110A4BD0B0020480BD20020480380202D480380200D0082B42248032048038020AD08D20008D20020482B82340082340008D28A200D8020ED5D0000415A900600411A000469411A0004690010A415411A00411A0004694590064090068081A35AAD0AB07DA73C9B07E917D54A00046900E8C366CE9CB9E091471E1162FB40993F7FFEB97990BE4BAD04409006803EAC56AB7DEBEAABAF5EF8F0C30FFFBB9F87D07EDD121D21BAB5B5F56F79D95EAD04409006803E2E0F6FDB4D9F3E7D76742B8E31BAFDADDC74D34D59B95CCEA64E9D9AF5C7E7DFFEBEDF254403204803002B5C96656BFCF39FFF7C22978D1D3BF652EF080008D200C012CC9B37EFCCACDDF5D75F3F7FE4C891C3BC2B00204803005D78FAE9A7377EF9E5975FC91A1C79E491F3C68C19B396770700046900A0937FFCE31F73B34E162E5CF88FD1A34797BC3B00204803000D1E7CF0C143B26E4C9D3AF51FF9F780CDBC4B002048030043D20463EF7DEEB9E75EE82E48BFF2CA2BCFB7B4B4DC3E74E8D0D5BD5B00204803C0A0F7D0430FCDCA5EC3DCB973E78D1C39B2D9BB05008234000C7AD75D77DD6BE5E8ECD9679FBD3ABE0B8C1933660DEF180008D20030A81D7AE8A17B2DA96B77E4E8830E3AE83C2DD20020480300EDCE3DF7DCBF7497A2EFBDF7DE53F2EF01B38C910600411A0068377CF8F00DF2C0FC6C17138DCD193D7AF41CB3760380200D007472DC71C755F2E0FC7263903EEDB4D37E3562C48889DE1D0010A401804EA2EBF615575CF14811A2172E5C78767EFCBF67CC98316B79770040900600BA306EDCB82F3DF1C413CFE5251B3B766CEBC8912387795700409006009660CA94299797CBE56CC4881153BD1B0020480300AF21BA72C7713F2620F36E0080200D0038EE0380032A00E0B80F000EA80080E33E0038A002008EFB00E0800A0038EE03000EA800E0B80F0038A002008EFB00E0800A0038EE0380032A00E0B80F000EA80080E33E0038A002008EFB0080032A0038EE03000EA80080E33E0038A002008EFB00E0800A0038EE0380032AD0578CAB5CF5FEE652FD0771B9A532E353CD13EB9B14A5A552DF6CEF727D9DB86DEC94696F692AD7772FEE17B73557AA5FF50E82E33E00E0800A834A1E98D76B2AD57E972E976BB7B5946B8715A5A95C3BB2695275ABB8ADA95CDDADB9523B20DD29CB5E97AF7B6953A57659FEF7DAA6C9F5EDBC93E0B80F0038A0C2809707E1EF3697EB7FC8C3F003CDE5EAA9F9DFFA222BE48139FE4C983061B5E652FDAA6895CED7D9A5A9543F3A0FD607EF7B7C7DED08D2074E99FE8E58C73B0A8EFB0080032A0CFC305D9ABE6E4BA97A665C6E29D7EECC83F1F4A234956B0B62791EA2F7CAAFDFD354AED7F2BFBF8DE09DDF362BFF7B475EAECECB9CF1A5EA17BC9BE0B80F0038A0C2E008D2E5FAF94DA5FA969D5BA48BEBFB9F587F6FCBE4DA27A3557AC284F3DF18DDBCF3F0FDEDE6526D9F08D0D13ADD34A9F5B3DE4D70DC07001C50618087E8FA962DA5DA8579607EB4BDD5F9C6FCFA0E45C9AFDF1AEB4D98505F3D0FCED36252B2282948976B3FCF6FFF4D7EFD27F9DFF35ACAD5CF7947C1711F00704085012D66DE8E71D245D7EE3C10CFCE03F4D8A23455EABBA6F5CAB5ADA375BAB9543B36D66F0FD2A5A672ED7B515A2AD5EF374D6AFD4FEF2838EE03000EA830E0358E915E6CB2B14EF63971C6073B5AA44BD56F17CBA3EB771EB20FF76E82E33E00E0800A03DA84D3EB6BA4F3457704E9EAEDED9389A512A7C54AADCE95FA88E8F69DDF3EB5B95C1F1D250FD3C7C7B8E868D56E29D70E6A29D77FE61D05C77D00C0011506B4E64A6D8B1823DD54A97DB3FDFA9438A55551A2BBF61E275DF3CE3D4FACAF39FCFCF35F5FDC6FEFF21FDF9407ECF1F9FA873497AA13F2B277BEECEDDE5170DC07001C5001C0711F00704005001CF701C001150070DC0700075400C0711F001C500100C77D00704005001CF7010007540070DC07001C500100C77D0058A907544551144551064FF1ED070000000000000000000000000000000000000000000000000000000000000000000048FE3FE6B3B726DE9F69ED0000000049454E44AE426082, 1); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('83c9896f-5e3a-11ec-8bee-f20bcee4e113', 1, 'flowContract.bpmn', '83c9896e-5e3a-11ec-8bee-f20bcee4e113', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E222069643D226469616772616D5F666C6F77436F6E747261637422207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C70726F636573732069643D22666C6F77436F6E747261637422206E616D653D22E59088E5908CE5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C666C6F7761626C653A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E557064617465466C6F775374617475734C697374656E6572223E3C2F666C6F7761626C653A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C73746172744576656E742069643D224576656E745F3170736D697364223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D2241637469766974795F306E796C61317222206E616D653D22E59088E5908CE5BD95E585A52220666C6F7761626C653A61737369676E65653D22247B7374617274557365724E616D657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839363537313222206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F303063657865612220736F757263655265663D224576656E745F3170736D69736422207461726765745265663D2241637469766974795F306E796C613172223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3175637268353222206E616D653D22E4B89AE58AA1E983A8E9A286E5AFBCE5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F666C6F7761626C653A7461736B4C697374656E65723E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839373234353522206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30346B63616A632220736F757263655265663D2241637469766974795F306E796C61317222207461726765745265663D2241637469766974795F31756372683532223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30323666766E712220736F757263655265663D2241637469766974795F3175637268353222207461726765745265663D22476174657761795F30396364787466223E3C2F73657175656E6365466C6F773E0A202020203C706172616C6C656C476174657761792069643D22476174657761795F30396364787466223E3C2F706172616C6C656C476174657761793E0A202020203C757365725461736B2069643D2241637469766974795F3133386D346E6E22206E616D653D22E5B7A5E7A88BE983A8E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303936333639383436303938373339322220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353139343939313937323335322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839373831303122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A7573657243616E64696461746547726F75707320747970653D2244455054222076616C75653D2231343430393633363938343630393837333932223E3C2F666C6F7761626C653A7573657243616E64696461746547726F7570733E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F307A7A307539672220736F757263655265663D22476174657761795F3039636478746622207461726765745265663D2241637469766974795F3133386D346E6E223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F30746D336D706822206E616D653D22E980A0E4BBB7E983A8E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303936333733333038343936363931322220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353139343939313937323335322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839383233373722206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A7573657243616E64696461746547726F75707320747970653D2244455054222076616C75653D2231343430393633373333303834393636393132223E3C2F666C6F7761626C653A7573657243616E64696461746547726F7570733E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F317978716265302220736F757263655265663D22476174657761795F3039636478746622207461726765745265663D2241637469766974795F30746D336D7068223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F31323465387A332220736F757263655265663D2241637469766974795F3133386D346E6E22207461726765745265663D22476174657761795F306F79366F666C223E3C2F73657175656E6365466C6F773E0A202020203C706172616C6C656C476174657761792069643D22476174657761795F306F79366F666C223E3C2F706172616C6C656C476174657761793E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3175766A3364732220736F757263655265663D2241637469766974795F30746D336D706822207461726765745265663D22476174657761795F306F79366F666C223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3179757579696522206E616D653D22E8B4A2E58AA1E983A8E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303936343531393339313133373739322220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353132373739303833333636342671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383930333738313422206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383930343234383922206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A64657074506F73744C6973743E0A202020202020202020203C666C6F7761626C653A64657074506F73742069643D2264657074506F73745F5F313434303936343531393339313133373739322220747970653D2264657074506F7374222064657074506F737449643D2231343430393634353139333931313337373932223E3C2F666C6F7761626C653A64657074506F73743E0A20202020202020203C2F666C6F7761626C653A64657074506F73744C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F316B79686E6C7A2220736F757263655265663D22476174657761795F306F79366F666C22207461726765745265663D2241637469766974795F31797575796965223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3039386E63767722206E616D653D22E6B395E58AA1E983A8E4BC9AE7ADBE2220666C6F7761626C653A61737369676E65653D22247B61737369676E65657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353030313039333439323733362671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383931393036363222206C6162656C3D22E5908CE6848F2220747970653D226D756C74695F6167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383931393734303622206C6162656C3D22E68B92E7BB9D2220747970653D226D756C74695F726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D2266616C73652220666C6F7761626C653A636F6C6C656374696F6E3D2261737369676E65654C6973742220666C6F7761626C653A656C656D656E745661726961626C653D2261737369676E6565223E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B6E724F66496E7374616E636573203D3D206E724F66436F6D706C65746564496E7374616E6365737D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3064693671613622206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3179757579696522207461726765745265663D2241637469766974795F31656577743031223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C6578636C7573697665476174657761792069643D22476174657761795F316D356672757A223E3C2F6578636C7573697665476174657761793E0A202020203C73657175656E6365466C6F772069643D22466C6F775F306A7976317A622220736F757263655265663D2241637469766974795F3039386E63767722207461726765745265663D22476174657761795F316D356672757A223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F316833706E787922206E616D653D22E680BBE7BB8FE79086E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303931313431303538313231333431362220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383934343935303822206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383934353238353022206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A7573657243616E64696461746547726F75707320747970653D2244455054222076616C75653D2231343430393131343130353831323133343136223E3C2F666C6F7761626C653A7573657243616E64696461746547726F7570733E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F31663879786F7622206E616D653D22E5908CE6848FE4BABAE695B0E5A4A7E4BA8E3430252220736F757263655265663D22476174657761795F316D356672757A22207461726765745265663D2241637469766974795F316833706E7879223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6D756C74694167726565436F756E74202F206D756C74694E756D4F66496E7374616E636573203E20302E347D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C656E644576656E742069643D224576656E745F3132616A6F3364223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D22466C6F775F31613371636C6D22206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F316833706E787922207461726765745265663D224576656E745F3132616A6F3364223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F306C6C6F79353622206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3179757579696522207461726765745265663D2241637469766974795F306E796C613172223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3165657774303122206E616D653D22E6B395E58AA1E983A8E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303936343338373937393339393136382220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353030313039333439323733362671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A64657074506F73744C6973743E0A202020202020202020203C666C6F7761626C653A64657074506F73742069643D2264657074506F73745F5F313434303936343338373937393339393136382220747970653D2264657074506F7374222064657074506F737449643D2231343430393634333837393739333939313638223E3C2F666C6F7761626C653A64657074506F73743E0A20202020202020203C2F666C6F7761626C653A64657074506F73744C6973743E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383933333730323422206C6162656C3D22E4BC9AE7ADBE2220747970653D226D756C74695F7369676E222073686F774F726465723D223022206D756C74695369676E41737369676E65653D227B2671756F743B61737369676E6565547970652671756F743B3A2671756F743B444550545F47524F55502671756F743B2C2671756F743B61737369676E65654C6973742671756F743B3A2671756F743B313434303936333634323534323532363436342671756F743B7D223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383933343139303122206C6162656C3D22E58AA0E7ADBE2220747970653D226D756C74695F636F6E7369676E222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F307A6D736E33782220736F757263655265663D2241637469766974795F3165657774303122207461726765745265663D2241637469766974795F3039386E637677223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3176737269766222206E616D653D22E5908CE6848FE4BABAE695B0E5B08FE4BA8E3430252220736F757263655265663D22476174657761795F316D356672757A22207461726765745265663D2241637469766974795F306E796C613172223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6D756C74694167726565436F756E74202F206D756C74694E756D4F66496E7374616E636573203C3D20302E347D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F316D323430366622206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F316833706E787922207461726765745265663D2241637469766974795F306E796C613172223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F77436F6E7472616374223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F77436F6E7472616374222069643D2242504D4E506C616E655F666C6F77436F6E7472616374223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3170736D697364222069643D2242504D4E53686170655F4576656E745F3170736D697364223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D2239322E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F306E796C613172222069643D2242504D4E53686170655F41637469766974795F306E796C613172223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223138302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31756372683532222069643D2242504D4E53686170655F41637469766974795F31756372683532223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223334302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F30396364787466222069643D2242504D4E53686170655F476174657761795F30396364787466223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223530352E302220793D223330352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3133386D346E6E222069643D2242504D4E53686170655F41637469766974795F3133386D346E6E223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223636302E302220793D223136302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30746D336D7068222069643D2242504D4E53686170655F41637469766974795F30746D336D7068223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223636302E302220793D223339302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F306F79366F666C222069643D2242504D4E53686170655F476174657761795F306F79366F666C223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223835352E302220793D223330352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31797575796965222069643D2242504D4E53686170655F41637469766974795F31797575796965223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313030302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3039386E637677222069643D2242504D4E53686170655F41637469766974795F3039386E637677223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313336302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F316D356672757A222069643D2242504D4E53686170655F476174657761795F316D356672757A223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D22313531352E302220793D223330352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F316833706E7879222069643D2242504D4E53686170655F41637469766974795F316833706E7879223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313637302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3132616A6F3364222069643D2242504D4E53686170655F4576656E745F3132616A6F3364223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D22313836322E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31656577743031222069643D2242504D4E53686170655F41637469766974795F31656577743031223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313139302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316D3234303666222069643D2242504D4E456467655F466C6F775F316D3234303666223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313732302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313732302E302220793D223534302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223534302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223935342E302220793D223532322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31767372697662222069643D2242504D4E456467655F466C6F775F31767372697662223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313534302E302220793D223330352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313534302E302220793D223133302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223133302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2238392E302220783D223834312E302220793D223131322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F307A6D736E3378222069643D2242504D4E456467655F466C6F775F307A6D736E3378223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313239302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313336302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306C6C6F793536222069643D2242504D4E456467655F466C6F775F306C6C6F793536223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313035302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313035302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223632392E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31613371636C6D222069643D2242504D4E456467655F466C6F775F31613371636C6D223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313737302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313836322E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D22313830352E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31663879786F76222069643D2242504D4E456467655F466C6F775F31663879786F76223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313536352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313637302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2238392E302220783D22313537332E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306A7976317A62222069643D2242504D4E456467655F466C6F775F306A7976317A62223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313436302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313531352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30646936716136222069643D2242504D4E456467655F466C6F775F30646936716136223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313130302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313139302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D22313133342E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316B79686E6C7A222069643D2242504D4E456467655F466C6F775F316B79686E6C7A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223930352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313030302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3175766A336473222069643D2242504D4E456467655F466C6F775F3175766A336473223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223736302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223335352E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31323465387A33222069643D2242504D4E456467655F466C6F775F31323465387A33223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223736302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223330352E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31797871626530222069643D2242504D4E456467655F466C6F775F31797871626530223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223335352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223636302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F307A7A30753967222069643D2242504D4E456467655F466C6F775F307A7A30753967223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223330352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223636302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30323666766E71222069643D2242504D4E456467655F466C6F775F30323666766E71223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223434302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223530352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30346B63616A63222069643D2242504D4E456467655F466C6F775F30346B63616A63223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223238302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223334302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30306365786561222069643D2242504D4E456467655F466C6F775F30306365786561223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223132382E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E, 0); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('848670d0-5e3a-11ec-8bee-f20bcee4e113', 1, 'flowContract.flowContract.png', '83c9896e-5e3a-11ec-8bee-f20bcee4e113', 0x89504E470D0A1A0A0000000D4948445200000774000002260806000000AB78BB7100006ED44944415478DAECDD0B985565B93870342B352B2BAD4E595A596A76D28AFA5B995179CA4AD34C1B46B41043139199ADA2696A4896D784D91B35538FE5FD929713DE99BDB7808845A92964A5874C218EA061E2854A5BFFF52E664D9B61060698813D33BFDFF37C0FB3F75EB3F69E99976FBDDF7AD7F7AD4183000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A04E8D1B376EC3E609D59D0B932A3B76D6E2B5FDAFBDF6151DBFAF50AA1C30A6A5F2B955ED7F4C4BF9134D132BFFAFE3F347166F7D753C5F28963FD6D452DD35DAA1174CDEB4B9586E1E774975E3AEF67754B1BA4BF3A4D68F77F65AE1DCEAB647165BDF7F74A9BA7D6D8BE7D2F7DACE5F1B000000000000E8538E39EB8ED734172B8F3797CAA776D60AC5CADCE609D5CD63DBE652E5878562F5DAA662E5E1F47BAEFFF7D7E5EB9A5BCA133BDB7F53B17A5CA15419D5F1F9AC905CAC94D3D70F4BF7737473B17A4F1479D3E77EB3B2CF5B2895BFDDDC523DA2F3D72AA3D2CF588CCF129F2DDDD76F977D5D6949FF3DA6BBBF93F86C1D9F8BCFB6E273D5AD0EBDE0D7AF144500000000000040AF682BA256A3B0DA5CAC4E58AEB5948F696EA9DE39EADCEA6631D3B6B9A5727C53B13236DD7E7EFC1BC5DAF4EB27B3E74A95639B269677EBB8FFE662F9C2741FDFEDF8FC512D952FA5DF7B53A1589991FE3B3BDE27FDFA84F4EB479A5A2A57A4FFDE515B848D19BCD9BFC5F2C828EA8E1B77EDABD2ED3FDDD5CF159F370AB92BFBD98FBB60CAEBD3F779A0A9546DC89E48920DD2C7E7A5EDB1F4E7BFB579C2B4FF58F69E9531E9CFF1607CD67CB67253A9F285F8CC9DCD5E06000000000000E8117941F7C8E2B42D8F39FF8E37776C7941375E2F145B3FD554AC9C1C85DDDA963D57AA7CB26962EB5B3AEE3FDDF7F4A652F9AACEDEBB502CEFD55C2CFF315A53B17C62CCD28DC2721449A3A09B6F17EF9F3E7E28BEFE7741379BE13B3B8AB0F17C1478B3A59AE3711466D3CF13B375F3C7F173D6CEB28D6DD3F79B96EE23195D9AFAAEECB3B6548F481FDF9EED3BFDB90AA56A53DBBEE615CEB9FD8DE96B53C6B4543F30A665EA7B6326F111935ADF2482000000000000805E931774E3EB65B3552BB7448B19A9CB0A9BCB0ABAF1FA9896CA4762E66AA1A572686D8BE26BA134F53F3BEE3B0AB34DC5F27D51088D826BED6BE9FE1BB319BAA5CAA8F4FDBED2D4523D2D7BDC52B928EEAD1B337BDBB72D95BFD8D4523927BECE0BBA6D9FF767F92CDDB89F6F1459A3281C2D7D7E4E53B1B2A0E6F1AFD37FF78B6DC78DAB6E947EFD8B74FB8BD3B6307B936585DBFF8DA275F63EE9678A659B0BE7DCB349FAFEBF6B9BCDFB5856E42E567FD534B1F583A207000000000000E8551D0ABAEDB3620BC54A6BF65C4D41B7794275E7749B59D97D6A6B5BB1F29BC2A4CA8E1DF7DD5C2C1F9EBE3629965C8EC26FED6B51805DB69471E5D174BBE6980D7B54B1BA4BBABFA971DFDBA65279FF7FEFA772697BA1B5A6A07B544BEB67E2FEBD9DFD5C5D2EB9BCAC70FBD36C49E952759F424B79723C7D74A9BA7DFA3E7F6E7FCF96CA51E9F79F99FD2E4AE5EF3495AA372C9B515CB9290AC33103387E06F7D0050000000000007ACD7205DD52E5DEE649AD1FCF5AB1322B7BAEA6A07B54B1B2536C134B28175A2A3F8F7FA3C5B61D0BBACD13AA9B178A95B9474F2A6F1D5F37152B0FC7ECD6FCF5A326B5BE2FBBBF6EB1F2A3B86F6DA1583E3DB68DC26EFAF82F79A1B46D79E30762B6703CAE2DE8B63DBEAF6962EB473BFE5C5D1574E37BD3FD3DBBEC3EC195BBA3181DF7FE6D2BD6DEDCFEF9D3DF49FA337E7DB9EF2D56BFDF5C2A9F1AF7DC8D82777CFE6C596600000000000080DED0A1A0FBBF319B366BA5CA49D96CD6DA19BA2DE5230B2DD53D62066DA15839A1A9581E7DF879D3DFD054AC8C8DA593F37D46F1B5D052BE2C66E8E6CF3595AA07C652C5C79C75C76BDA9F5B76DFDC69B13C722C699CBD5FB17279DA9EC897348EA59663F9E39AEF59AEA09BDDD7B7A57245C79FABAB826E14886366EFB2D9BD953FC4CF1485E6A69629EF8C6275B6CC74A9FCC5FCEBFCFBB259B9C5EA2FE2334631BBED7EC26363F6AE28020000000000007AC5B84BAA1BC732C759A1B258DE2B7F3E66E3B6DD33F757875E3079D3C2B9D56D6326EE91C5EA564DC5CA6DA34B77BEADB9A5323E7D7D78A15839257DED7F9A4BD521479D3BF51D719FDDB83F6DECB3F6BDA2489C6E3BE3C862F93DC79E71F76BD3EF3F3EDDEEB74D2DD5F3D37FAF897DC4BE9A2656B68BFBD6165ACA5FCD8BAA8573CA6F8FCF9715788BE591B5FBEDB8EC71A1541D9C7E8661310BB7CB9F3BBB8F6E65497C8EF6EF2B564BCDC5F21F63D6EE91C5D6F7E7CF477179D9CF7EEBEBB2C7C5CAC9E9E3AB63D671FC1E4411000000000000D02B62F66D14323B3E1FF7978DE585F37BDF4681375A7C1D3353B37BE3A62DFDFA07516C3DB2386DCB6C96EBA4F2879B4AD543BA7ABF6CA66BBA4DCC822D942A856C66EEA06CF6EF31F15CBE5D56C04D5FCF1F8F3DB7FAD6749B71514C8DAF57F633C576F1D9A2B0BB26BF8F15F63761EA0E1D0BB7F1BBA82D06030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007562E8D0A189A6699AA6699AA6699AA6699AA6695A4F37675F01007AA8A0EBB70000000000F424E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D01002456000C4049926C3477EEDCEBEEBDF7DE97CBE5723265CA146D1DB7D6D6D664DAB4694FA5ED401109000074C57947000089150003501473A74F9F9E2C5CB830F9FBDFFFAEADA7B668D1A264EAD4A97F6B6D6DDD4F540200009D71DE1100406205C0001433731573EBA6A8FBF72953A63C2C2A010080CE38EF080020B10260008A65961553EBA74D9932E59FA2120000E88CF38E0000122B0006A0B887AB426A5D1574E511000040A79C770400905801300075B7A0FBDC330B92B9B32E49E6B48ECF5A7C1DCF29C22AE8020000EB86F38E0000122B0006A0EE1474972C9E9FCCBEE3A4E4B7B78C5DAEC573F19A42AC822E0000D0FB9C770400905801300075A7A0FBC49C5FAC50CCCDDBBC39931562157401008075C0794700008915000350770ABA0F57CFE8B2A01BAF29C42AE8020000BDCF794700008915000350770ABAB3A78CEBB2A01BAF29C42AE8020000BDCF79470000891500039082AE822E0000D03738EF080020B1026000EA4E41774EEBF82E0BBAF19A42AC822E0000D0FB9C770400905801300075A7A0FBC88C495D1674E3358558055D0000A0F739EF080020B1026000EA4E41F7E9F90F26B3EFFCDE8ACB2DA7CFC56B0AB10ABA000040EF73DE1100406205C000D49D826EB43FFDFAD2150ABAF19C22AC822E0000B06E38EF080020B1026000EA564177E9D2E4917BCE5F71B9E5F4B9784D215641170000E87DCE3B020048AC0018805655D05DB2787EF2C719A52EEFA11BAFC5368AB10ABA000040EF72DE1100406205C000D4654177E9D264C12395E4A1DB4FE8B2989BB7D826B6355B5741170000E83DCE3B020048AC0018803A2BE8AE6A56AED9BA0ABA0000C0BAE7BC230080C40A8001A8B3826E7766E5AE6CB6AEC2AC822E0000D0F39C77040090580130007556D05DD3626EDE146615740100809EE7BC230080C40A8001A8CB7BE86A0ABA0000405D71DE1100406205C000A4A0ABA00B0000F40DCE3B020048AC00188014741574010080BEC179470000891500039082AE822E0000D03738EF080020B102600052D055D0050000FA06E71D01002456000C400ABA0ABA000040DFE0BC230080C40A800148415741170000E81B9C770400905801300029E82AE80200007D83F38E0000122B000620055D055D0000A06F70DE1100406205C000A4A0ABA00B0000F40DCE3B020048AC00188014741574010080BEC179470000891500039082AE822E0000D03738EF080020B102600052D055D0050000FA06E71D01002456000C400ABA0ABA000040DFE0BC230080C40A807EA4B1B1714ADA765DD5760ABA0ABA000040DFE0BC230080C40A807E763C8A1685DD8686865DBADA4E415741170000E83BE33CBF050000891500FDE878D4A1DDD6D98C5D055D055D0000A0EF8CF3FC160000245600F4A3E35167ADE352CC0ABA0ABA000040DF19E7F92D000048AC00E847C7A355B4DB622966055D055D0000A0EF8CF3FC1600002456C000EBAF34ADDE0ABACF3CF34C72D96597252FBCF0C22AB77DFCF1C7930B2FBC3059B46851F6F8E9A79F4E9E7CF2C964E1C285C9FCF9F393254B96ACF03D3366CC485A5A5ABADCE7C30F3F9CDC78E38DD9D7F7DD775F326FDEBC64E9D2A5C92F7FF9CB6CDFBDFDF38BC9FEDF1C7D000070DE1100406205A0BF626505FB590D0D0D7B0E193264A3D8AEB70BBAE79F7F7ED67EFCE31FAFD0E2F9BCB87ADD75D7259FFEF4A793D7BEF6B5C9AB5EF5AA581A3A79FDEB5F9FBCF18D6F6C6F9B6DB65956BC7DF4D14793EBAFBF3E39F3CC33238693F3CE3B2FB9EAAAAB9261C386658FF3367AF4E864E6CC99D9BF4D4D4D59DB7EFBEDB3D7BEFDED6FB73F17AFDF73CF3DED9F77F3CD37CFBEDE7AEBAD931FFEF087D9D7F199AEBCF24A3374D1EF0200209F0400905801E8AFE899BFEFCA0AB9B9DE2EE87EF9CB5F4ED2F74C3EF399CF243BEDB453564CDD65975DB2C7F9F3B1DDAC59B392E6E6E6ECF54AA5925C7AE9A55971F7CE3BEFCC5A1456E3B5C58B1727B7DC724BF2CE77BE332BF2C6F7BFE10D6F4876D8618764FFFDF74F3EF5A94F25B7DE7A6BB6ED25975C92157A37D86083E490430EC9DADE7BEF9D6CB9E59649FABB687F6EC30D374C2EBFFCF264EAD4A9C9C1071F9C158EAFB9E69A64BBEDB64BCE3AEBACECF36DBAE9A6C90D37DC904C9F3E3D79F0C1071574D1EF0200209F0400905801E8AF58BBBF6F5B9BD9D8D8B84FC7426E6E5D2EB97CF3CD376785D63973E6ACF05A1473A3F03AA86D76EDEEBBEF9E3D8ED9B2D1A2C81ACF3FF5D453D9F631C3370AB9B124F2C61B6F9CDC74D34DC9A851A3923DF6D82339E28823920F7EF083D952C9CF3FFF7C72ECB1C76685DFCF7DEE73C9473FFAD16C3F9FFCE427B3C79FFDEC6793EF7CE73BD9F2CCB18FAF7DED6B59F136660E4741F7631FFB58368B379E3BF0C0039357BEF29549A95452D045BF0B00807C1200406205A0BF62ADFEBE9DCEC8EDA85E0ABAB367CF4EC68E1D9BBD1E336D6396ED4F7EF293E4E28B2F6E6F51488DFBD8C652CB1FFAD087924D36D924D979E79DDB0BB431E3375A147FA3889BEFFBB0C30E4BB6D9669BE4B8E38E4BBEF18D6F64DB47F1371EC7F3B1FC72BE6DBCE79BDEF4A6E491471EC90ABAEF7EF7BBB3C2781474E3FBA2586CC965F4BB0000C8270100245600FA2BD6897A29E846FBE217BF98BD1EB360DFF7BEF72D773FDCBC4D9830219B9D1B85D96F7EF39BEDED80030EC866E7468BD9B5316B77EEDCB9D97EA360FBF6B7BF3D19316244F2A52F7D29DB4FC47F3C7EDBDBDED65ED0BDFFFEFBDBEFC31BC5DC8E4B2E7FEB5BDF720F5DF4BB0000C8270100245600FA2BD69D7A29E8C68CDC8D36DA287B3DEE837BF2C92767C5CDA38F3E3ABB576E6B6B6B72DB6DB7258F3EFA68B6FD6EBBED96DD8B376F3123375F72F9C5175F4CDEFAD6B7B61763A360BBD5565B65FFEEBBEFBED97BC4F2C9B5CFC77623478ECC5E8BE2EDDD77DFDDE93D74631967055DF4BB0000C8270100245600FA2BD6897A29E8C652C971FFDA783D3E53DCB73666D54631379E8BC2EB965B6E99DC77DF7DD9F671FFDCBDF6DA2B5B36F9031FF840F2F5AF7FBDBDA01BAF7FF9CB5FCE66F1E605DD6DB7DD3619376E5C72C8218764FB8B42713C7ECF7BDED35ED0FDFDEF7F9F9C7DF6D9D992CBF1B8B382EEA9A79E9A9C74D2490ABAE8770100904F020048AC00F457F4BEDE2CE8DE75D75DD9BD6F7FF6B39F65ED98638EC98AA9710FDCFCB9B8676D7C866BAFBD362BF4C6EB3366CCC89E3BF7DC7393830E3A2879DDEB5E972DB31C4B29CF9B37AFBDA07BF9E597675FC76CDB868686ACA0BBEBAEBB66C5DB58B6F984134EC85E8F226E14693FFFF9CF67B379E33D62866F3C8EE76B9752CEEFA19B17740F3EF8E0AC889B17740B8542563C56D045BF0B00807C1200406205A0BFA2D7F56641378A9F1B6EB861763FDBAE5ABC7ED8618765DB2F5AB4282BB65E79E595D90CDB98B13B78F0E0E4D5AF7E75F6F5DE7BEF9D1575F3826E3CBFD9669B654B3547913566DA4691360AB0B1DD934F3E996D3B7DFAF4A452A9B47F1DEFF1A73FFDA9BD807ACF3DF7645FC7BF5140DE628B2DB219C29B6CB249B2C1061B248D8D8DD9FBECBEFBEEC9D65B6F9D7CF7BBDF55D045BF0B00807C1200406205A0BFA2F7F56641F785175E58E53D67E3F5E79F7F3EFB3A66DF6EBEF9E6C955575D958C1E3D3A193B76EC722D0AC4575C7145B6ED8E3BEE98CDF4AD56ABC9B061C392C30F3F3C9BA11B05DD55CD1A8E19B8BFFBDDEF56782D6613BFEB5DEFCAF675E2892726A79F7E7AFB3D7BE3BDA2C83C62C488E489279E50D045BF0B00807C1200406205A0BFA2F7ADCB7BE86A0ABAFA5DFD2E0000F2490000891580FE8AD5A0A0ABA08B7E170000F9240080C40A407F459D52D055D045BF0B00807C1200406205A0BFA24E29E82AE8A2DF0500403E090020B102D05F51A714741574D1EF0200209F0400905801E8AFA8530ABA0ABAE8770100904F020048AC00F457D429055D055DF4BB0000C8270100245600FA2BEA9482AE822EFA5D0000E4930000122B00FD15754A41574117FD2E0000F2490000891580FE8A3AA5A0ABA08B7E170000F9240080C40A407F459D52D055D045BF0B00807C1200406205A0BFA24E29E82AE8A2DF0500403E090020B102D05F51A714741574D1EF0200209F0400905801E8AFA8530ABA0ABAE8770100904F020048AC00F457D429055D055DF4BB0000C8270100245600FA2BEA9482AE822EFA5D0000E4930000122B00FD15754A41574117FD2E0000F2490000891580FE8A3AA5A0ABA08B7E170000F9240080C40A407F459D52D055D045BF0B00807C1200406205A0BFA24E29E82AE8A2DF0500403E090020B102D05F51A714741574D1EF0200209F0400905801E8AFA8530ABA0ABAE8770100904F020048AC00F457D429055D055DF4BB0000C8270100245600FA2BEA9482AE822EFA5D0000E4930000122B00FD15754A41574117FD2E0000F2490000891580FE8A3AA5A0ABA08B7E170000F9240080C40A407F459D2A97CB0AA9F5D35E9C3265CA3F45A57E170000E4930000122B00FD159969D3A62D58B870A1626A1DB4F9F3E75F3D65CA948745A57E170000E4930000122B00FD15994AA5B2F75D77DDF5CC934F3EF982A2EAFA9B991BC5DCD6D6D63FA76D3F51A9DF050000F9240080C40A407F45BBD6D6D63DA74C99322B96FB8D7BB86AEBBCC5EFFD61C55CFD2E0000C8270100245600FA2B00FD2E0000F2490000891580FE0A00FD2E0000F2490000891580FE0A40BF0B00807C1200008915A0BF0240BF0B00807C1200406205A0BF02D0EF0200807C1200406205E8AF00D0EF0200209F0400905801E8AF00F4BB0000209F0400905801E8AF00F4BB0000C8270100905801FA2B00F4BB0000C8270100245600FA2B00FD2E0000F2490000245680FE0A00FD2E0000F2490000891580FE0A40BF0B0000F2490000891580FE0A40BF0B00807C1200406225B102F45700E8770100904F020048AC00F45700FA5D0000E493000048AC00FD1500FA5D0000E4930000122B00FD15807E170000E4930000122B407FE5B700A0DF0500403E090020B102D05F01E877F5BB0000C8270100245600FA2B00FD2E0000F2490000245680FE0A00FD2E0000F2490000891580FE0A40BF0B00807CD26F0100406205E8AF00D0EF0200209F0400905801E8AF00F4BB0000209F0400905801E8AF00F4BB0000C8270100905801FA2B00F4BB0000C8270100245600FA2B00FD2E0000F2490000245680FE0A00FD2E0000F2490000891580FE0A40BF0B0000F2490000891580FE0A40BF0B00807C1200406205A0BF0240BF0B00807C1200406205A0BF02D0EF0200209F0400406205E8AF00D0EF0200209F0400905801E8AF00F4BB0000209F0400905801FA2B00F4BB0000C8270100245600FA2B00FD2E0000C8270100245600FA2B00FD2E0000F2490000245680FE0A00FD2E0000F2490000891580FE0A40BF0B00807C1200806E25519323915A459BE53705180802A0DF0500403E0900B0EE93A8C169FBE7CA0ABA0D0D0D7BFA4D01068200E8770100904F0200AC9F44EAB6951474670E19326423BF25C0401000FD2E0000F2490080F593480DEEAAA0DBD8D8B88FDF10602008807E170000F92400C0FA4DA63ABB97EE2CB37301034100F4BB0000C8270100D67F32B5C2BD74DD3B1730100440BF0B00807C1200A04E343434DC68762E602008807E170000F92400401D6A6868D8A5E6DEB97BF88D00068200E8770100904F0200D4575295DD4BD7EC5CC0401000FD2E0000F2490080FA4BAA064BAC00034100F4BB0000C82701807E2749928DE6CE9D7BDDBDF7DEFB72B95C4EA64C99D2275B24567DF5B3B7B6B626D3A64D7B2A6D078ABF299AF833100440BF8B7C523E89B817F7E25413A7F249F46B9A7E0D201707A1E9D3A7270B172E4CFEFEF7BF6BEBA92D5AB428993A75EADFD283D27EE24F137F068200E877914FCA2711F7E25E9C6AE2543E897E4DD3AF0164E28A2207A1BA3918FD7DCA94290F8B3F4DFC190802A0DF453E299F44DC8B7B71AA8953F924FA354DBF069089E5211C04EAA7A507A27F8A3F4DFC190802A0DF453E299F44DC8B7B71AA8953F924FA354DBF069089B5E71D00EAEA4094883F4DFC190802A0DF453E299F44DC8B7B71AA8953F924FA354DBF06B05A07A2E79E5990CC9D754932A7757CD6E2EB78CEC1C38148FC893F0C0401EAA88F9D1CFDEC2ADA2CBF29F9A47C523E29EE35712F4EC529C6F1E8D7F46B00FDEA40B464F1FC64F61D2725BFBD65EC722D9E8BD71C401C88C49FF8C34010A04EFAD8C169FBE7CA0ABA0D0D0D7BFA4DC927E593F249712F5EC5BD3815A718C7A35FD3AF01F4AB03D113737EB1C241286FF3E64C76007120127FE20F0341807AEA676F5B494177E690214336F25B924FCA27E593E25EBC8A7B712A4E318E47BFA65F03E85707A287AB677479208AD71C401C88C49FF8C34010A08EFAD9C15D15741B1B1BF7F11B924FCA27E593E25EDC8B7B712A4E318E47BFA65F03E87707A2D953C67579208AD71C401C88C49FF8C34010A0CEFADACEEEA53BCBEC5CF9A47C523E29EEC5BDB817A7E214E378F46BFA35000722CD8148FC893F0C0401D67F5FBBC2BD74DD3B573E299F944F8A7B712FEEC5A938C5381EFD9A7E0DA0DF1E88E6B48EEFF24014AF39803810893FF187812040BD696868B8D1EC5CF9A47C523E29EEC5BDB817A79A38358E47BFA65F03181007A247664CEAF24014AF39803810893FF187812040BD696868D8A5E6DEB97BF88DC827E593F249712FEEC5BD3815A718C7A35FD3AF01F4DB03D1D3F31F4C66DFF9BD159789489F8BD71C401C88C49FF8C34010A04EFBDCEC5EBA66E7CA27E593F249712FEEC5BD3815A718C7A35FD3AF01F4EB0351B43FFDFAD2150E44F19C83870391F8137F180802D4719F3B78DF7DF7D5EFCA27E593F249712FEEC5BD3815A718C7A35FD3AF01F4F303D1D2A5C923F79CBFE23211E973F19A03880391F8137F74DBEE6D03414B7F02ACA37E376DFA5DF9A47C523E29EEC5BDB817A7E214E378F46BFA3580FE7B205AB2787EF2C719A52ED7FE8FD7621B07110722F127FE58A5C1695B9CB652DBBF7BFA9500E877914FCA2711F7E25E9C8A53712A9F44BFA6E9D700D6EC40B47469B2E0914AF2D0ED27747910CA5B6C13DBBACAC88148FC893FBA1433C416A56D78CDE3180CBAC21740BF8B7C523E89B817F7E2549C8A53F924FA354DBF06B07A07A2555D4DE42A230722F127FE582D7B0CEAFC4ADE7C70E80A5F00FD2EF249F924E25EDC8B53712A4EE593E8D734FD1A40F70F44DDB99A6865571939A03810893FF147BB7C79A63D56739008807E17F9A47C12712FEEC5A93815A7F249F46B9A7E0DA0F303D19A1E84F2E680E24024FEC41F992183965DB97BE02AB6331804D0EF229F944F22EEC5BD3815A7E2543E897E4DD3AF0174FF40A43910893FF1C75ACBEFADB34F37B7CF0783EEC503A0DF453E299F44DC8B7B71AA8953F924FA354DBFD6670D1F3E7CF3A14387EE97B652DA66A66D41DA929A168F673634345CD8D8D87860DAB6F05B1B80E6CD9BB7D38D37DE38F1DC73CF9D7DE289272E193D7AF4CBC3860D6B0F94912347FEE3E8A38F7EFA94534E9976F6D9677F3B0DAC8D1D881C001C88C49F2611EA41BB0C5AB37BEAC4E07189C120807E17F9A47C72ED8C1B376EC3E609D59D0B932A3B76D6E2B5FDAFBDF6151DBFAF50AA1C30A6A5F23971AF19478953712A9FACB77CB2B78F6D635ACA9F689A58F97F1D9F3FB278EBABE3F942B1FCB1A696EAAED10EBD60F2A6CDC572F3B84BAA5D9E576F2E55871C5DAA6EDFD96B8573ABDB1E596C7D7FBC5EDBE2B9F4BDB6D3AF697DAD5FEBEFB9E7EA686868D873E8D0A1931B1B1B5FEA50C05D654BBF674ADAF6193264C8460E4BFD5892241BCD9C39F3D862B1B860E4C891C969A79D96DC70C30DC9030F3C90CC9F3F3F79E9A59792DCD34F3F9D3CF8E083C94D37DD944C9A3429193E7CF84B63C78EBD67C488113B49B0350722F127FE584B4306756F79A6AE58B60940BF8B7C523EB9968E39EB8ED734172B8F3797CAA776D60AC5CADCE609D5CD979D70AEFCB050AC5EDB54AC3C9C7ECFF5FFFEBA7C5D734B79A2B8D78CA3C4A938954FD6433ED9DBC7B6A662F5B842A932AAE3F359A1AA5829A7AF1F96EEE7E8E662F59E28F2A6CFFD66659FB7B9A532BEB954ED74B673BC4FFA198BF159E2B3A5FBFAEDB2AF2B2DE9BFC774F777129FADE373F1D9567CAEBAD5A117FCFA95FA35FD9ADCB3F70C1D3A74706363E3BDAB5BC4EDA2CD4AF7E5C2EBFE68EAD4A923264C98B064D4A851C975D75D972C58B020591D8B172FCEFEF31F71C411FF1C3366CC8C3458B691606B0E44E24FFCB11683B8952DCF94D4B4AEECAEB800A0DF453E299F5C736D279AAB71F2B9B9589DB05C6B291FD3DC52BD73D4B9D5CD623652734BE5F8A662656CBAFDFCF8374E68A75F3F993D57AA1CDB34B1BC9BB8D78CA3C4A9381DD0F96477F47A3ED9DBC7B6E662F9C2741FDFEDF8FC512D952FA5DF7B53A1589991FE3B3BDE27FDFA84F4EB479A5A2A57A4FFDE91BDFF84EA36B16DA158DD3D5AF65AFA39F2C7F1DAE8D2D47775DC7F7CDE28E4AEEC673FEE8229AF4FDFE781A652B56159869F6C903E3E2F6D8FA53FFFADCD13A6FD473C9DFE7C63D29FE3C1F8ACF96CC8A652E50BF1993B9B1DA95FD3AFC93DD75ECCA66D6C6C3CADB319B9C71D775C56B39B316346F2F8E38F272FBEF8625693FBC73FFE913DBEF7DE7BB38999279D74525785DDD2405F61B7DF8859B9D75C73CD4323468C48AEBAEAAAF6605853318B3766ED1E74D041FF3CE490438E93606B126CF127FE580DBB0EEADEBD73BA5358C807836BB2DC13807E57BFAB60A029E8B69D543BB2386DCB63CEBFE3CD1D5B7E522D5E2F145B3FD554AC9C1C27D76A5BF65CA9F2C9A689AD6F11F79A71943815A7033A9FECAE5ECD277BFBD896EE7B7A53A97C5567EF5D2896F76A2E96FF18ADA9583E3166E946E12A8AA451D08D6D961566ABDF4FF77F52B442B132277DEDEE7F3FAE7E3F966E1E37EEDA57654B3527C906596136FD3C315B377F1C3F67ED2CDBD8367DBF69E9BE92BC209CFEAC47A48F6FCF660F47D1B8546D6ADBD7BCC239B7BF317D6DCA9896EA07C6B44C7D6FCC243E6252EB9BF46BFA35B967CF1B366CD8561D67E51E74D041C925975CB2DA132F1F7BECB1E4A28B2E8A15753B16751F8AF771C8EAC3D260D8A6542A2D6C6E6ECEFED03D29F65728145E1C3972E4E503A1FAEF40E44024FE3403BC1E1904C6A06DBF6E6CDBDDC2C2A041FFBE52D8122300FA5DE493F2C93538A9D67682FA81A652E59668316B67D9C9DF6527D5969D80AE7C2466F7145A2A87D6B638415D284DFD4F71AF19478953713AE0F3C9D5D16BF9646F1EDBA230DB542CDF1785D028B8D6BE96EEBF319BA15BAA8C4ADFEF2B4D2DD5D3B2C72D958BA2401B337B3BFBBCF1B96246EFB871D5E5EE8519F70B8D226B1485A345E1B7A9585950F3F8D7E9BFD9DF25BE37FDFA17E9F617A76DE1B2EC3E2BDCFE6F14C5E2617CA658B2B670CE3D9B3497CABF6B9BCDFB5856442B567FD534B1F583FA35FD9ADCB3E73536366E7FC00107FCA5B6F81AB7425DB870E15AD5E7E296A9E3C78FEF58D47D62A0ADACDB6F44313796588E69D8B15C726F88D9BE3FF8C10F9E3FE490436EEBEF376076207220127F9A01DE5AC99755EAEE2070750A0BF9FE97282E00E877914FCA27D7F8A4DA1DF9F38562A5357BAEE6A45AF384EACEE936B3B27BF9D5B662E5378549951DC5BD661C254EC5E980CF27D764FF3D9E4FF6E6B1ADB9583E3C7D6D522CB91C85A5DAD7A200BB6C29E3CAA3E976CD311BF6A8627597747F53E37E9F4DA5F2FE1DF777F4A4F2D651884D3FDB99E93607ADECE7EA72C9E56585DB9F664BD696AAFB145ACA93B37D97AADBA79FE5CFED9FBDA57254BC4FF6BB2895BFD354AADEB06C4671E5A6280CC78CC7F819DC4357BF26F7EC393163B6B6981BB372EFBAEBAE6C15DC9E327DFAF46CBF8ABA7D582CB31C3373A398BBB64B2C776709E6534F3DF5D934682E92606B126CF127FEE844BE3CD3EA2CA7B4BA85857C3068195000FD2EF249F9E49A9C542B55EE6D9ED4FAF1AC152BB33A9E543BAA58D929B68965260B2D959FC7BFD1625B055DCD384A9C8AD37E9D4F6E90B66FB6FDBB363ADB4F8FE793BD756C6B9E50DDBC50ACCCCD8AB0E9D74DC5CAC331BB357FFDA849ADEFCBEEAF5BACFC28EE5B5B28964F8F6DA3B09B3EFE4B6785D2F4F92BD3F7FD7A2C2F1BB3643BCED2ADD55541B7502A7F3BDDCFB3CBEE435AB93B8A5D716FD1B662EDCD35EF558DF75AEE7BB3A59FCBA7C63D77A3A0169F3F5B9659BFA65F937BAEB5B67BE6B62FB33C6CD8B0E4F7BFFF7DAFD4E8E21EBB1D96607E68FFFDF7DFCCA1AC8F887BE6C632CBCF3EFB6CB22E44D178CC9831CFA64179AC045B93608B3FF1478741E09A2CCFB4268585B0C71A143100F4BBFA5DF9A4A6A05BAAFC6FCC38CA5AA9725236E3A77696444BF9C8424B758F98655428564E682A96471F7EDEF43734152B6363794971AF1947895371DA2FF3C928BE5EDC96235E3C68CD8BBA2BDB4F8FE693BD716C8BA5600B2DE5CB62866EFE5C53A97A6014618F39EB8ED7B43FB7ECBEB9D36279E458D2387BBF62E5F2B43DD17149E398C59B3E7F75FE387DBF42CC9AEDB89473AEAB826EDCFFF6A896D6CF444BF7F787F899A2D0DCD432E59D510CCB96B12D95BF987FFDEFF7AFEE17B383E33346B1ACED7EA56363F6AE7E4DBF26F75C7B8D8D8DA7D5CECCEDAD626E6D51378AC63545DD92C3591F306DDAB49123468CE8F17BE676E79EBA69C0BCB8FFFEFB6F2BC1D624D8E24FFC5133285B93E599D6B4B010F265A12C030AE877F5BBC827E5932B31EE92EAC6B114647632B758DE2B7F3E6644B4DDB7EC57875E3079D3C2B9D56D6336C491C5EA564DC5CA6DA34B77BEADB9A5323E7D7D78A15839257DED7F9A4BD521E25E338E12A7E2B4DFE593DFEC9027AE4951B7B6989BB76FF4563ED9D3C7B6A3CE9DFA8EB88F67DC9F36F659FB5E51844AB79D7164B1FC9E63CFB8FBB5E9F71F9F6EF7DBA696EAF9E9BFD7C43E625F4D132BDBC57D6B0B2DE5AF364F98BA4373B17C63DC3734BE67B9FD152BFBA6ED97519CAD7DBE50AA0E4E3FC3B09885DBE5CF9DDD47B7B2A4769F8562B594BED71F63D6EE91C5D6F7E7CF477179D9CF7EEBEBB2C7C5CAC9515C8E59C7F17BD0AFE9D7E49E6B67E8D0A1831B1B1B5FCA8BABB1CCF2BA10CB2FD7DE5337FD0CC6E8F52C965AFED18F7EF4DC55575D95AC0F37DC70C333C3860DBB4182AD49B0C59FF81BF086ACE5606C6D0A0BF960D032A0807E57BF8B7C523EB9123103224EF6767C3EEEC1174B30E6F7078C936CD1DA4EFA8ECDEE1F98B6F4EB1F14CE29BF3D968A8C9940E25E338E12A7E2B4DFE5939D156357A7A8DBD9F75FD4C5F7F7483ED9D3C7B6E649E50F3795AA8774F57ED94CD7749B98051BB36CB399B983B2D985C7C473F976B1CF6C16EEC4F26E51B8ED727F13A6EE907EFEDD977BAEA53C2E3E5B1476D7E4F7D1D97B742CDCC6EFA2638159BFA65F937BAE99DAA5964F3BEDB41EBD67EEAA8C1F3FBEB6A83B2B967E966DD5A99933671E3B6AD4A85EBF6FEECAEEA73B62C488270F38E0809D25D89A045BFC89BF016B97B641E03E6BB18FB52D2C0C1A64195040BFABDF453E299F14F7E24DDC8B534D9CAE6D3EB9A645DDD529E6CA27F56B9A7EAD5F686868D8B376A9E5850B17AED31ADDD34F3FBDDCFD741B1B1BF7F157A953E79C73CE82EBAEBB2E599F264F9EFC441A28973910690E44E24FFC0D48F93249C3D7723F3D5158A8FD3C0683807E57BFEBC49A3C4E3E29EE35712F4E3571BA66F9E4EA1675D7A4982B9FD4AF69FAB53E6FE8D0A193F362EA25975CB25E6A74975F7E796D41778ABF4A1D9A376FDE4E23478E4C162C58B05E0BBA8B172F4E0E38E080BF0E1F3E7C630722CD8148FC89BF0165480F0EBA7AAAB010E20ADF4583DCDB11D0EFEA779D58D3FA483E696934716F1C254E35715A87F964778BBA6B53CC954FEAD73479679F357CF8F0CD6BEF9DBBBE6A75312B78D8B061B545DD2DFC75EACC8D37DE38F1CC33CF4CEAC1F1C71F3F2BA696F785DF5B5CA190B65D1D8824D8E24F33C0EB7E4C7662F0A0B55FEEB3B70A0BF9607089C120D08FE877914FF6C37C321D4EBF75DEBC793367CC98919C78E289473BC126EE8DA3C4A9264EEB6C1CBFAAA26E4F1473E593FA354DDED927E37FE8D0A1FBE545D4E38E3B6EBDD6E84E3AE9A4DA82EE81FE8275A6582CCEB9E1861BEAA2A0FBD39FFEF4A134504A7DE1F7563BF5BCA1A16117072209B6F8D306F28988EEC6642783AC9E58EEB3370B0BC1B24D407FA1DF453ED90FF3C9C71F7FFCA4175F7CF19FF9B87AE9D2A5FFB8FAEAAB1F39E288237614E9E2DE384A9C6AE2B48EC6F15D1575371CD473C55CF9A47E4D9377F6B9F88F9A58BEDDFABE356AD40AF3CF927EDE0BFD05EBCC89279EB8E481071EA88B82EE7DF7DDF7481A2833FBD27FC49A765B67575A381049B0C59F36900ABAAB8AC94E06573D7DC56C6F1416F241EB228341A00FD3EF229FEC67F9E473CF3DB7D3934F3EF95857E3EB3FFDE94F2F9E7EFAE93FEE6FB73512F7C651E2549C8AD33E3D8EEFACA8FB87413D5BCC954FEAD73479679F8AFFA889E5AFC7CCE7F5E9DE7BEFADFDAC33FD05EBCCE8D1A35F5EDFF7CFCD3DF5D453CFA541B2A08FFE476CBFD2A2F63FA40391045BFC6903B4A0DB694CB619DC8B83AADE2A2CE4834157F8027D917E17F9643FCA27531B3FF1C41397BDFCF2CBFF5AD518FB5FFFFAD7CBB7DF7EFB538542612F512FEE8DA3C4A9264EEB641CDF5951B7A78BB9F249FD9A26EFEC33F11F35B1FCF9C71F7F7CBDD6E8E6CF9F5FFB3917F80BD699B8C9F14B2FBD94D48B0894BEFC1FB1F64A8B9842EF4024C1167FDA402EE8768CC941CBAEE88D41E0F06E1607D657EB4A6FCD7003E82DFA5DE493FDA8FDEA57BF4A9E79E699BFADEE387BF1E2C54BCF3FFFFC726363E316E25EDC1B4789534D9CF6C2387E75C532CB1D67E6FEA1EDF9DEC887E593FA354DDE59B7F15FFBF81FFFF8C77AADCFC5FBD77E1E7FC13A0CA87AD28D00EF536D7D1F88E6CC99935C76D965C9DCB973D77A5F4B972EEDF307A2FE165FBD197F8B162D4A1E7EF8E1E4B9E79ECBFEFDEB5FFFDAE5B68F3EFA68F2F39FFF3C79F2C92757BACFB8C2E8C20B2FCCF61D8F9F7EFAE9EC7B162E5C985DFDB364C992F66D6FB9E596E4FEFBEFCFBE8EF77EF1C517B3188CF6C20B2F24CF3FFFFC0AFBE8ACFDED6F7FEBF4B3C4F2152D2D2D5D7ED6F8996FBCF1C6ECEBFBEEBB2F99376F5EF6DEBFFCE52F57F9738ABFCEDBBEFBEE9B0FD2CE5FC5A1A99E0B0BE1ACB66D36974500756EF3FED2EF0EF463E8401DCFFCE637BFC972B075917BAECF1CB1BB2D3E73B1588C9364C91A9C58CBBE574CD747DCC7383DC637B5CF45AC3EF8E083EB74CCD517E2DE386AE56D20C5E91FFEF087E49A6BAE89653D3BDD67AC3E78E69967264F3CF144FB73175D745116B3CE37AD9371FCEA58D90CDD8B07F5EC0C5DF9A4E3EF722DCE73B6B6B6B63F8EFE268E83F979C6DA16FD476F9E0F97776A9DB57AABD139AD5267EA6C86EE927E304377564343C39E43860CD928B65B9F274022F97EF39BDF9C6CB8E186C9073EF081E42F7FF9CB0A07A557BEF295C9269B6C926CBAE9A62BB4787EA38D36CAD64D8FED6FBEF9E6E415AF7845F2EA57BF7A8516FB79E6996796DBFFA1871E9ABCE31DEF48B6DE7AEBE46D6F7B5B326DDA34574CF6A1F83BE79C73B2D879E49147B2A4FAFAEBAFEF74BB1878EDBAEBAEC9061B6C909C7DF6D9D980296F79D21383BAF8FE185CC5BECE3BEFBCE4AAABAE4AA2FFA94DDC478F1E9D6DFFDBDFFE368BBDB7BFFDEDD9F746FC744CF2635FB1EDF0E1C3577A82F88C33CEC8B69B397366B6FFA6A6A6AC6DBFFDF6D9EBDFFEF6B7DB9F8BD7EFB9E79E6CFBF3CF3F3FD97CF3CDB3AF23867FF8C31F665FBFEA55AF4AAEBCF24A5796AF614C0EEADE7247668A01F41CFD2E753B9E8913F7AF79CD6B92D7BFFEF5597BDDEB5EB7DCEB6F79CB5B92D34E3BAD5773CF7AC81157A7DD74D34D31CEBA39FD3C0BFEF5AF7F756B209F8ED3AE3CECB0C3AAE9DFF5C6F4EFBB8DB85FBF71FFD4534F255B6EB965F2A94F7D6AB9C2538CC17FFCE31FAF9331575F8B7B337407669CD6EEFB8F7FFC63FB79811D77DC312BDE767CFF51A34665AF7FE10B5F48BEF295AF64F11C8F77DA69A764BFFDF6CB0A9393264D12A7BD378E5F9B62EE1F7AB9A82B9FD4AFB5B7B83024E22C8E6DF9F9CF787CDB6DB72DB75D144C37DE78E364DCB871D9E34F7FFAD3C92EBBEC92B50F7FF8C3EDCF1F73CC31D971F4FDEF7F7FF2AE77BD2BD961871DB29C36CF6FA345BE1BC75479A7F8EF2AFE6B9F8F8BA9CCD0A54B871F7EF8DFEBE51EBA694739BB0FDF43B763B233685D1D883AB698BD78C30D3724EF7CE73BB383CCEF7FFFFB64B7DD764BDEF39EF764574AC69548B1DDECD9B3B383C671C71D979C7CF2C9C9F7BEF7BDF6168FBFF39DEF64AFE75733FEDFFFFD5F522814923163C62CD73EFEF18F6707A08E9F230E2CA79E7A6AF2CD6F7E33DBCFBA38D00CE0826E8FC45F1C3022B988936B3FF9C94FB2627D0CDEE2EF17FB8A8B02E24281FC8AB61878C5E0285E8F04E56B5FFB5AB2C71E7B6403B8ADB6DA2ABB922C9F6D1BF1F8C637BE31F9CC673E93BCE10D6FC8129CFDF7DF3F1B20DE7AEBADD93E2EB9E492EC6ADB4F7CE21359CC36363626DB6CB34D327EFCF8E4FBDFFF7EB64D147063F01703C1D8F7B7BEF5ADF66D3AB6B828210692B15D7CD6F85C871C7248D6F6DE7BEF6C809AFEDEDA9F8B02F6E5975F9E4C9D3A3539F8E08393CD36DB2C4BF4B6DB6EBBE4ACB3CE6A1FC0C6FFAFE9D3A7AFF4CA6405DDCE63B2C360AAAFDDCB31EE6BB164907BEF007D8F7E97BA1CCF44C12062A7B9B9393B791517F4C58C89C81DA34541F7B0C30ECBF2D3DECA3DEB21475C937C32CD93F739E594539E58BC78F1C295DCC76CF605175C7061FAB77D24B617F5F5338EFFDDEF7E977CE94B5FCAE2290A60E9FB677116E3EAF83AC643E25E4177A0C7697E8E222617BCFBDDEFCECE6F459CC576710E20CE31E52B7245D1F84D6F7A5376CE2A3EE35E7BED951550E2F3478BC909C71F7F7C3279F26471BA7EC7F19D1573E39EB91B76F27C4F1575E593FAB5F6167D481CC3A21F1A3C787056CC8DE35FF429F17C5C3C926F7BE4914766C5D498A014334EE33C639C33FFFAD7BF9EC5E811471C916D57A954B2E3661471D3BC2BD979E79DB39F31FAB5F7BEF7BDD90CDCD83E962F96778AFFAEE2BFF61EBA8F3DF6987BE8D2B5638F3DF6FF1E78E081BA28E8A689E05D6990CCEC63FF11674627D545B2B3CE0BBAA552294B96E34011C5B8F88C071E786072C00107649D7D3CBFC5165B64C5B1BCA09BC640563C8B643A6FF1F8A8A38E6A2FE8C63238D1994C9C3831F9D18F7E944C9830A1BD7DE8431F4AF6DC73CF6CD987CE967B886D623F279D7492826E9DC75F5C351BF1F3831FFC205BFEA86341370AF4F17ABE24730CD04E3CF1C4E4AEBBEECA064F71855A24229FFBDCE7DA974ECA5B5CC51B83B58893B8C22DAEF28A2B68631F91047DF0831FCCDE3F622FBE3F6677C7F7C495B45FFEF297B341632453F98CDC7CFF51D08DD72291E9D822E1894166245FB1744AC47AC477ECFFA31FFD68B69F4F7EF293D9E3CF7EF6B3D9450CB1D44A7CB61880C6FF9948BC2269FAD8C73E965D2917CFC5FFA998951EFFDF9C8858BD98ACB147DBA0AAA7AF90EDADC2C290B43D91B603650E401FA5DFA5EEC6337941376653454E1805DDC80BE30458CC7288D7E2A458CCD2EDADDCB31E72C435CD27D3DFD366C3860D6BB9FEFAEB17BEFCF2CB2FD40CAD5F7CF4D1477F9CBE36BBA1A161429A3FBB4D441DC57DC466ACA015CB2CC6C5D8CF3EFB6C168771C23666E2C4D7F15CBC26EE077C417740C769BC4F7E7E2B8AC423478ECC66B1C56A70F1FDF9F363C78ECDF61B9F27FE3DF7DC73B3E24CACF815C594ABAFBE3A2B7A745C3E5A9CAEF3717C57C5DC0D56F2FADA1675E593FAB5E5DA75D75D97C5564C788A8B45F2F6D39FFE347BFE8E3BEEC8B6BBF4D24BB3C2EB17BFF8C5AC501B85DCB87825FAAF78FCDAD7BE36BB4025B68D152BA3BF8A3E2FCE8BC73132CEBDC7E398681213AC62DFB366CD92778AFF2EE33F5ECBB78B63EFFA14ABB5D67E667FC13A337EFCF83BA3F0510FCE39E79CC9699094FAC87FC4955DB5B6CE0E441D5B2C1FF35FFFF55F59412E66CEC65594798BC771355124C971454F5ED08D4E228A77B1346DDE62D99B38D00C6A2BE846623EA81BCBE5C541A9E367DA7DF7DDB3D7E2C0A3A05BFFF11745D318B87556D08D84232E0E88ED62F0157112B326F2136E31688A0159B428CCC6602B962C8919B551F88F44264ECAE5C94A5CD51B2D068579EC44DC45E21257D8BEF5AD6FCD12A398B111B375E38ADF282AC7F7C709C0D83EDE23961A8918FFFCE73F9FC577B44882E28ABBD8B65AAD66DBC6678DCF18B3D2BFF18D6F64AFC5C0311EC7F3B1AFFCF710339463201A4B4E47ECC615C17120CB2F8CC8AFC4732262F562B283DE58F6A8370A0B3DB9BC14C0FAA4DFA5AEC6337941376652E505DD7CC5A15852335E8B0B4A7B33F7AC871C716DF3C9F4FD07170A8507E7CE9D3B3FFDDD4D3DE18413AE693B293458A4D75FDCC7EC9F8F7CE42359412A4E0CC7B8E7BFFFFBBFB3381E316244F675C459C4B2B81FB0055D719A7E86CB2EBB2C1BE3C7F9AB384711E703F2168F4F3FFDF4649F7DF6C9260FE43379E33C40EC33DEF3DA6BAF6D9F351CE7C3E2715EF415A7EB7C1CBFAA62EECAB65BD3A2AE7C52BFD66541375620F8F39FFFDCDE62F6ECA09A826E14506376EEA0B665DE63166E2CFB1EB3670F3FFCF0EC1C647EFCCBCF53468BE26D14696339E6EF7EF7BBD9D7318376505B4157DE29FE57B24D292FA2C604A5F5296A85F967493FF785FE8275E68C33CE38F8ECB3CFFE573D1474D30E6D7204777FFAFDAE8F25971F7FFCF1ECCAA2589EA1638BE7A34017573BD6167423A18E03C4FBDEF7BEEC0AA23800D516741F7AE8A1EC6016CBA1DD79E79DED572EC5958FBFF8C52FB2443C96C4897D761C04C4C12E12FED83EBE5741B7BEE32FEE671357A14561BFB6A01B0793B8F2EBE28B2FCEB68BA58DE2EF1E83BC888BF4009EDDA72666FCC7D56171155914546369A51800469212CB6FE72D0AC379F135622B067A6932900DDA22498A7B43C4202F929918D8454137DE2F5F7A392FE846521303B9585A2912A0487C62D66EECE3A0830ECA0675F9CF16AFC555BA118FB1EC52EC270E4EF138B6CF93A6FBEFBFBFFD1E3E9130755CD624F62FFEEAB6B8D0D38505834040BFABDF1DD0D6454137F2B29801911774A330107967E4827941B7B772CF7AC8117B229F8C134469BEDC1C9F3BFE5DCD93F3ACE371FC5FFFFAD76CE64D9C988DA56063FC157115711F2DC6D0F1B714F7C65103394EE3764C31EBED673FFB59972DF617E79D4E39E594ECB3C5EA5E3133EECD6F7E73766E2BFE8DF78E2552E36788654DC5E93ACF27BB5BCC5DD9F6AB5BD4954FEAD73A6D575C71C54A272AD59E438C156222178DE3604C3C890B4862566EE4AFB1F240BC1ECBB8471F14C5DBB8002696A18F73EC9DED3B5E9377D295F477B95F5E448DE2FEFA14174AE59F25FDFB5AE1A0DE0C1F3E7CE3B4C3F8C7D34F3FBD5E0325ED0CE3FEB98BE2F33810AD5D8BAB86F2243BBF22325ACC628CE7630DFEDA7BE846413796C38942597E15D2B6DB6EBB5C41379E8FFB8DC4E358D22112F1F83A92EFB82A29AE5A8AA5753A7E9648CCE3E017F7DF8D034F2C8D1B830205DDFA8DBFB82020FEB631D0A92DE846271E8FE36F996F1BCB1FC712799180C47D6F62BB98219E9F948B826ABE6D5C211BF7BCC95B5C759B2FAB1457D3C66CDC484C226189415F5C2CF0D5AF7E355BCA24DE270ABA71555C149A07B5157423118BCF19AFD5B658A66F50DB95BEF17A5C3D9C274DB16453FCBBEFBEFBB6C773EDF3B15D2CE514AF458274F7DD77777A9F8AB82842FCF5F860B027065B3D595888CFD51BCB9302E877F5BBC6333505DD58052666E9464137C632317E885563E2C2BEBCA0DB5BB9673DE4883D994F3AA1D637C6F18F3EFA6872F2C92767AB11C5E3FCFEA473E6CCC92E9E8EE7E2E4B1B8378E1AC871DAF6775F658B1977F17D31C32E96518D254F63C9D2B8D76EBC5F146862866EDC9F77E1C2FFDFDEBD40D955960703060A0A168B5228D40B4A8B4B2B8268B9555153BC2CA8A928B0D9B32702B960A80ACC0CFC883F72195029050ACC1914112CCA4D416BD488229339275C03A2ADCA5D22201802895C2C11C245F6BFDFFD67A7C3908464C2CC9C73E679D6FAD6CC9C73E6C2CECBF7BEDF79F7FEF622713AB6F5E49A367357F57DABDBD4554F9AD7563A624781D8C52FDE1B8FF71D23B662BE895BB5C5EF8E1349E27591DBE2A495D835204E0A898B48AA935A868E9827E3F53127C64924B1A572BC8F1E5BD6C6D5B3B14B407C7EFDF5D7E7D17B5177B232B155754747C7335523F537BFF9CDB8F4E8224F7676763E37A4A1BB997F9D2674D4514735E28C92F1D4DFDFFF8D22482E9488D67EC4BD4162C28FAB6A873E1E6747C6E3914456D4D0DD65975DCA6413C5F58A1ABA31A2388EE7634BE72A79C595BDB155C5F0BF236EF41ECFC75925F1755C21BCCEB2C6A0866E73C75F1432B1A5D2D0866E2C82620134F475471C714479766D75C6589C49569D651B4DFEB87F6DF5DA38532DDEA88B7888ED91E20CD96AD116CFC799B4F1B3AA7BEAC4E7DB6DB75DF9665EBC2E1AB371A66D347BE37745828982291687D1E88DC22A7E7E9C31173F2B5E138BC35840C656E455D114B11D5B9FCC9831A37C4DFC37C4D771557A5534DD71C71DF969A79D56C6767CBDA2A229B65459D3FB427B23629562B1B5F8255874BD548D856A11E88C5EC0BC6BDEF5C6DA28D5E60B172E2C6367EBADB72EEBC7F83C6AC8D83528DE901FDED01DADDA73BC6B44F5E4C45BC7C72D8DE2DE9FB1FDEBCF7FFEF332E6E264D5B8ED4D9CD850ADD9C5BDB89FC8711A8D91071E78207FF4D147F369D3A695277BC7D6A8F19E405C0177EFBDF7967924AE108EEF8B46CC9FFFF99F97AF8DB88CBF239A20711FDDF81B162C58E0FDA6B1AD2747DACC5DD5F7BF5853573D695E5BE5983C79F2F2ED94E384956A6BF9A83BE3968155EE8B866FCC5B71324AE4C59FFDEC67E5B6F1B18B4CC462EC6E1857EB5627BCC4AE95312FC66E8331AFC55C545D58159FC78556317FCABFAC4A4747C7ECAA917ACE39E78C4B8F2EFA37439AB903FE559AD4F4E9D3DF3E73E6CC67E38CB6F1F0ECB3CFDE5F04C8FCCECECE1D24A2F169E846311CDBE8C40DD863C4FFB4431BBA5140C7FFD071C5633C76F8E1872F6FD6C6194B9110E3CACAEA77CD9A35AB6C06C6FD53AAAD71634453AEFABED13E8B48225ABBF88BAD9587DF437765575654FFAEB12D733C16FFB6B1B5519C613674D11631149FC7E3F13DB1688BB37CA390892BCA636BA6AA708A9FB7E9A69B968BAED84A29EE8513C550DC4F37AEC08D98AC7E761463D1D0DD6BAFBDF2254B96945781C7F7477133F46F8D42290AA1B80F4F347BD759766F9DF83A1E1FBA5D49759F8AAA688A4561144A55D11467E7C5C253FCBDE48BC1B5BD62ECA5682C4C5AE7A5BFC7248079D7BC6B3D336CC4BD72A3EE8B37BA627BCEB812214E348D37E9E3F9E10DDDD1AA3DC7BB46544F4EACB88FE6536CB518F15EDD4B6F8B2DB6281B57D1348BE762FBDA787F46DC8BFB891EA755A336DE9B885DE3AA5B7BC57B05EF7BDFFBCAA6EFD0BFFBC4134F2C7779889DC7A21113BBC6C5DF134D60EF378D793D79E03A236FE65656D4D43D403D695E1BC988F92B1AAB91D3625E8A7921E697B8BF76EC32108DD4D89A3DDE2F8FB92DAEBE8D5B07C6D6CA71224BFC8CD83639E2304E26A97E6EE4C3B89237DEB39C397366D9E88D866FCC6FB153657C1EBFA3BAE581FCCBCAC4AD48AB666AE4B0B898692CC555E4071E78E0D0AB733FEA5FA5897575755D1513C17838E9A493BE5E04C9B725A29766C4D595910CE2ECC52894AB11C9659D656728C6EBAA9BB2C7D771C56D759F80B82769DCF7A43A4B3EB6D3B9F3CE3BCB338D622B88B83749F16F563E175BDA44DCFCF55FFF755974471339DE7489E65A3488637B80E18B824852F1BD7113790DDDE68ABFD8763BFEDDA24888E226FE1DE3ECB0F8F77AFDEB5F5F3E1ECF470C44DCC4E22ECED87DE52B5F59DEDBE6F8E38F2FAFA8ADFE8DABAD8EAB455B2CC2220E2396A2E08862290A962846A2291B67C455AF8FE7E34CB93851207E4F145D717652FC0D116FC3FFDBE26ADDF85BE2ACB6EA3EBBDFFFFEF75F70B2436CE337F4C4876A3B95F879D5C90EF13112675C115CCC8DE582308E456CE71C7F7F9CB51767DDC53D32C4DF4B6E6DB7015DDBC6C2AEEBFCFF338CF7F54F019877CDBB8CEE7A266EE511DB77C688F545D45C713542FCCED88233BE8EEDF0E2B5A3597B8E778DA89E9C58717FCA29A7947113EB9CEDB7DF7EF9153CD58875573C1F312EEEC5FD448ED368D6C68E5B71A140FC8CD88A34AEFC8DEFADFE8E88C9EA4AB668C84403254E108A9F17234E188A988D264B3C1F271289D331AB2787366347D2CC5D939FA39E34AFBDE838F2C823CB3921B65D8EF71577DE79E7F282A3982BD659B60341BC171AEF2B461D5ACD33F158EC20B0EFBEFB96179BC463714149DC1F3CEAD41871B56F9C4812735D9CA412CDB0D86E399AB15573ACBAD5A1FCCBAA14B132AF8A993849E9D9679F1DB31E5DFCBEEA7717E3265B6A37B92449B69C366DDA537136F458BAEDB6DBAE2A02E4F1E2F76F2311BD7457E8C63D4BA2C11567055523AEB88CC7AB866E5CB11B67BD575F0F6DBAC6BD4EE25E56D5360F31626B9BF818DB3D44F11E85795C0D198FC5163C73E6CC293F8F266E14D1439B7343477C4F14F651706BE83657FCFDE4273F29176E679C71C64A473C1F3F379AFCD5F6DB510CC5F7C736CD71DFDB5890C5BD6E87FEECD81639BE37EE5511DB3045433FCEC28D45DB8AFE965838460115F1164DDC2BAEB8A27C3CB63389E2E5E4934F7EC1F7C4994BF1FA88F3D8A669E8D5E1C347DCF37965DB85C7FF2BB1F55FFC8DB1CD54FCAEEABE18F1DF103F7BFAF4E9E5D5CBE26FD4168323BDE7CDDA3416AAEDA26CCF049877CDBB8CC17A266AC7B81A2BD6A0F1C67D5C49155745449DB6D34E3B95BB00C5C9A6F1DAD1AE3DC7B346544F4EACB88FF8A8AE3E8CAD13E30AA1D8E12A76C8AAD62F712562C4A2B817F7133D4EA38112F1154D97D34F3FBDBCB237DE7B8AAB74E3AAB9F8F9D1A48DD88DD7C67B51D100193E22BFC4050AD57B58E274CCEAC968BE1EB0CEC89BB9ABF373D493E6B5D5BED547DC4A303E8FF924E69CB8D23F1AA3D1C48DAB72E322A9788FFB97BFFC65790153B56B4CCC75F15E765C00558D68B25E78E185CFFB1DB13BC161871DF6BCD755AFAD4E52947F599522AF7D604853B58C91B110FDA4A1BF37CB32BB1DB482A2C039AC98649E18ABAD978B45FBADC5EFBCB50892FF2311191ABAE26F65633CB6E7167F4DB1181CC91563236D2CBC14DB8E029877CDBBEAC9351CA3F9E6BAF50CD6F1E25E9C1AE2B425EAC991524F9AD70CF35ADBE9E8E838B56AACC6894FD16C1D4D37DC70439C10F5DC90866EBF7F85163263C68C0B4E38E184516FEA3EFBECB3F74E9F3EBD5E04C8D912912111893FF1C74A16676B7AA6ED481A0B6B73651A8079D7BCAB9E34D493E2DE10F7E2549C8AD391D79323A19E34AF19E6B5B6145B1D0FDD7A399ABAD75D77DDA835730F3CF0C03F0D69E6DE9C24C9C6FE155A2C60A64F9FFEFDE38E3BEE7F46ABA91B57E6CE9831A311F7CD9D3A75EA8612912111893FF1C72A16836BB2485BD3C642F5F39DD10B60DE453DA99E44DC8B7B716A88D3B1AF2747FAF3D593E635C3BCD696A64C99F2BA8E8E8EBB86367563FBE597F29EBA71E5EFB02B73EF2FC61B1DFD16144DDDCECECE730E3BECB0FF79A9EFA91BF7CC5DB6CDF2D9EDDECC95882422F16728845E126BB26DD39A3416AAED999CD10B60DE453DA99E44DC8B7B716A88D3F1A927D7847AD2BC6698D7268468AE0E6DEAC638F1C413F3458B16AD557FEEE1871F2E7FCED09FAB99DB26D2343D64CA94294B2EBDF4D2479F7EFAE9B5DD62F9FE934E3AE9EB45603CDECEF7CC95882422F16788BF715D0CAE6E6361D7622C5CC719BD00E65DD493EA49C4BDB817A786381DCF7A7275A927CD6B86796D425976A5EEBCA1CDD7FDF7DF3F3FFFFCF3F3850B17AE517F2E1AC1175D74516CB1FCDCB066EECD9AB96D2449922DB32CFB4EF10FFDD8B7BFFDEDDF3CFCF0C3CFAC49A0FCFEF7BFBFA5BFBFFF1BC5CFB823B6582E3EBE4522322422F127FE1881D5D9B669751A0B932C0201CCBBA827D593887B712F4E0D71DA14F5E4EA504F9AD70CF3DA8414BBE9A6697AC6B0266C398E3EFAE8FCD24B2F2DEFB11B3BED561765C6C7050B1694F7C8FDDEF7BE971F7BECB1796767E7732BF819FDEE99DBA68AA0795B31CE2DFEE1FFE7F0C30FFFC579E79DF78B1B6FBCF1370F3CF0C01F87F46F1F8F06EEBC79F3E69E7EFAE9B30F3EF8E0D945502CCEB2EC9BC5F7ED2011191291F8137FACA5B53DC3B7FAFE7D1D4A00F32EEA49F524E25EDC8B53439CAA2731AF19E6B566B7DF7EFB7D60F8D5BA6B316ECAB2CCD6F51341DCF77659F09C5A8C4631EE29C633438261E1B2C0EA4FD374F244B84FAE442411893F43FC8DCB62708F117CDF4B7166308079D7BCAB9E34D493E2DE10F7E2D410A7EA49CC6BE635C654F4DC3A3A3A660FEBC9ADD6C8B26CA0181F8DAB7E1D4990882422F16788BFB15C0CAEC9A2AEDAE6C9F64C00E65DD493EA49C4BDB817A78638554F625E33CC6B2D6BEAD4A9AF4AD3B4232EAC5C7681E5C2610DDCF2C2CBD87537CBB28FC7AD551D3590882422F16788BFF1128BBBC5ABB1B88BD78DE44C6000CCBBD633EA49F5A4B837C4BD3835C4A97A12F39A790D4022322422F127FE58CBC5E0AA167993D659BB7BF50060DEB59E51C7A927C5BD21EEC5A9214ED59398D7CC6B0012912111893FF1C75A58D9B64DBB1563A14520807917F5A47A12712FEEC5A9214ED59398D70CF31A80442411893F43FC8DFF6270E819BCD5E2F0E30E0D807917F5A47A12712FEEC5A9214ED59398D70CF31A80442411893F43FC35CF62F0D4756CCF0460DE453DA99E44DC8B7B71DA1463C99225F92DB7DC527E5C9BC7C5A97A12F39A615E0390882422F16788BFF6B0474747471CE73D1C0A80D1B7D5565B1D5A7C30EFAA270DF5A4B837C4BD385DE988E66CD40BF1716D1E17A7EDBB8E574F22FF9AD70024224343D7BFBBF89B6096357401189B3977F6DE7BEF9D4F9A34697D47433D69A827C5BD21EEC5A9862E23F42A8700F9D7BC062011191ABA86F89B58CD05C719600CA469BA6B31E73E13F36E9665AEA8504F1AEA49716F887B71AAA10BC8BFF22F8044644844E24FFCF1E2347401C6469AA6B362CE5D366E7244D493867A52DC1BE25E9C6AE802F2AFFC0B2011191291F8137FBC280D5D8031996B77ACAECEAD469AA6931D19F5A4A19E14F786B817A71ABA80FC2BFF024844864424FEC41F2FD664709C01467FAE9D3DB4995B5DA5EB5EBAEA49433D29EE0D712F4E357401F957FE0590880C8948FC893F5EACC9E038038CEE3CFB82AB73AB9165D9471D21F5A4A19E14F786B817A71ABA80FC2BFF024844864424FEC41FAB6A3438CE00A33BCFFE7845CDDC65639E23A49E34D493E2DE10F7E2544317907FE55F0089C89088C49FF863558D06C71960F4E6D8955E9DEB5EBAEA49433D29EE0D712F4E357401F957FE0590880C8948FC893F56A7D9E038038CDE1C3B7B55CDDCEA5EBA8E947AD2504F8A7B43DC8B530D5D40FE957F0124224322127FE28F95351B1C6700F32EEA49F524E25EDC8B530D5D710AE635C3BC0620114944E2CF107F1A0B009877D593867A52DC1BE25E9C6AE88A53907FE55F8096363838280134CF78B24844CF883F43FC692C0060DE453DA99E44DC8B7B71AAA12B4EC1BC6698D7004A575F7DF5C2458B1649024D30162C58F0AD2211DD2EFE0CF1A7B100807917F5A47A12712FEEC5E9D88C254B9694CDD9F8B8368F8B5330AF19E635805153AFD7F79A3B77EE630F3DF4D013AD34692F5DBAB4ADCE288A243467CE9CDF16635FF167883F8D0500CCBB4CAC7AB2A8C7D4935847897B716A885330AFA93BCD6B002B574C7E930706066E8A6D0A62EFF9661FFFF11FFF917776762EFFFA9BDFFC661E6FD4B5C2DFBE9211C7FDF6899A845A2DFEDA704CE8F8D3580030EFA29E1CEFF1D39FFE34AFD56AF9AC59B3D4935847897B716A885330AFA93BCD6B00AD2F49928DD334BDABA3A3E389216FD2CD8E37EA264D9AB4BE2304343B8D0500F32E54F23CDFF091471E79B490CF9C39F3878E080000EA4E005A5E9AA667C49B72C57866EAD4A91B165FEF1A9FC7635996EDE10801CD4E6301C0BC0B95FBEFBFFFC27C99EBAFBF7E41B1A6F9A8A3020080BA138096D5D9D9B9434747C793CB1ABA31A6A6693A6BC8D737394A40B3D3580030EF4258B264C9DBFFF4A73F3D970FF1C52F7EF1FEA953A7BECAD1010040DD09404BEAE8E8680C69DEC6F85975756E35D2349DEC48014D3E97692C009877619D071F7CF0EE7C98C71E7BECC12953A6F4393A0000A83B016839B105C4B066EECAC64DEEA50B34338D0500F32EDC77DF7DC7E62B316BD6AC078BB8DDD151020040DD0940CB88AD1F8AC4B270351BBAB9FDFF8166A6B10060DE6562CBF37CCBA54B973EBDB237D69E7BEEB9A77A7A7A7EE544550000D49D00B48C8E8E8EFED56DE62E1BF31C35A089E7348D0500F32E13D8EF7EF7BB79F98BB8FBEEBBEFCFB2ACDBD1020040DD0940D34BD374D7E1F7C95D9DE15EBA40B3D2580030EF32B15D77DD752FF6BE5AFEE4934FCE8DD89D3A75EA868E180000EA4E009A5A96651F4FD3F4DC22A9CC8EFBE316E3FED5BD97AEA30734238D0500F32E13DB71C71DF7E9556D7D17EFAB1D7DF4D197BA520200007527002DABA3A3E30FC5784D9224DB141F27A569DAE18D3AA085E630F31580799709EE5BDFFAD69D2B7B576DFEFCF95F89DBC8B897190000EA4E005A5292241B1549E689E18F7BA30E6815E62B00F32EC4C9A9F3E7CF7F72F89B6ACF3DF7DC2D53A64CB9A588DB1D1D250000D49D00B46A02DABA4832F70C7FDC1B7540AB305F019877219C7AEAA9FDCF3DF7DC9F86BEB176DE79E77D2D4DD3331C1D0000D49D00B4AC8E8E8E77C536102B78DC1B7540ABCC63E62B00F32EAC135BDB5D71C5158BAA37D51E7BECB14B8A78BD6BEAD4A9AF72740000507702D0B2D234DDBB4836DF1DFEB837EA805661BE0230EF42E590430ED9FDD1471F5D5A8C7CE6CC9973B22CFBA8A3020080BA13809656249A4F7574747C79F8E3DEA8035A85F90AC0BC0B439D73CE393FAED56A799AA6B31C0D0000D49D00B4BC8E8E8E138B8473DC0A1EF7461DD02AF398F90AC0BC0BCBC5567711A749926CE3680000A0EE04A0E51509E7ABC598B982C7BD5107B4CA3C66BE0230EF8238050040DD09407B4AD3F40745D2F9884404289C0130EF224E010040DD0940F3259C9F767676EE2C11010A6700CCBB88530000507702D07C09E7BE2449B69288008533AD2CCFF3F5EFBEFBEE6FDF70C30D7F1A1C1CCC0706068C311E73E6CCC9AFBEFAEADF17E3E322D2BC0BE2140000752700BC7409E7A924495E2611010A675A593473AFB9E69A7CD1A245F9534F3D658CD358BC78717ED55557FD61CE9C39FB8A4AF32E88530000D49D00B0969224D9B448388F484480C299561757E66AE6364D53F7A9818181DB45A57917C4290000EA4E00584B59966D5B249CDB242240E14CAB8B6D9635539B670C0C0C3C232ACDBB204E0100507702C0DA279BF76759569788008533AD2EEEE1AA91DA540D5DFF5F9A77419C0200A0EE0480B595A6E99422E15C2C11010A675ADDEA3674973CB630BFFBA6F3F35BE79C588EF83C1ED384D5D0C5BC8B380500007527004D27CBB2238AF1EF1211A070A6D5AD4E43F7F14717E4B7FCE4D8FC97971FF9BC118FC5731AB11ABA987711A70000A0EE04A0D992CDA9699A1E2911010A675ADDEA3474EFBFF5072F68E656E377B7CED688D5D0C5BC8B380500007527004D976C2E2CC6FE1211A070A6D5AD4E43F7F6C6BFADB4A11BCF69C46AE862DE459C020080BA1380A69265D940313E2811010A675ADDEA34746F19E85D6943379ED388D5D0C5BC8B38050000752700CD966C6E9E3265CA761211A070A6D569E86AE862DE05710A0080BA1380764C368B9324D95C220214CEB4BAD569E8DE3AE7C4953674E3398D580D5DCCBB88530000507702D03466CE9CB941916C9E2E3E5D57220214CEB4BAD569E8DE75DD592B6DE8C6731AB11ABA987711A70000A0EE04A0692449F2DA22D92C9088008533ED60751ABA0F2FF8557ECB95C7BF70BBE5E2B1784E23564317F32EE2140000D49D003453A2D9B1183F9788008533ED60751ABA31EEF9D9052F68E8C6639AB01ABA987711A70000A0EE04A0A9A4693AB948363F9488008533ED60B51ABA4B97E6775D7FF60BB75B2E1E8BE73462357431EF224E010040DD0940D3C8B2ECA022D99C2711010A67DAC18B35741F7F7441FEEBEBFA577A0FDD782E5EA319ABA18B7917710A0000EA4E009A25D11C9365D917242240E14C3B58694377E9D27CE15DF5FCE62B8E5E6933B71AF19A78ADAB75357431EF224E010040DD094033249AB3D2343D44220214CEB4831535745FECAA5C57EB6AE862DE459C020080BA1380A695A6E9778A64B3AF4404289C69072B6AE8AECE55B9ABBA5A5763564317F32EE2140000D49D008C67A2B936CBB2DD242240E14C3B58514377A4CDDC6A68CC6AE862DE459C020080BA1380F14C34F39324D946220214CEB48395DE43D7D0D0C5BC8B380500007527002D9A68962449B2B14404289C69071ABA1ABA9877419C0200A0EE04A06D4423371ABA1211A070A65D68E86AE862DE05710A0080BA1380B6115B2DC796CB1211A070A65D68E86AE862DE05710A0080BA1380764A32EF29C6B51211A070A65D68E86AE862DE05710A0080BA1380B691A66952249A6F4B4480C29976A1A1ABA18B7917C4290000EA4E00DA469665871689A65F220214CEB40B0D5D0D5DCCBB204E0100507702D04E49E68B699A7E4E220214CEB40B0D5D0D5DCCBB204E0100507702D04E49E66BC5982111010A67DA8586AE862EE65D10A70000A83B01681B699A5E5E249A0F4B4480C29976A1A1ABA18B7917C4290000EA4E00DA29C9FCBCB3B3F3EF252240E14CBBD0D0D5D0C5BC0BE2140000752700ED9464162449F25A89085038D32E3474357431EF8238050040DD09405BE8EDED5DAF48324F4F9A34697D89085038D32E3474357431EF8238050040DD09405B489264F322C92C9688008533ED4443574317F32E88530000D49D00B4852CCBB62F92CCCD1211A070A645F2D64031767BB1D769E86AE862DE05710A0080BA1380B690A6E987E2CD7189085038D32AFFBE31227715396CD795BD4E43574317F32E88530000D49D00B485344D0F2892CC051211A070A655FE7D878D1FAFE88A5D0D5D0D5DCCBB204E0100507702D016B22CFB4C314E9188008533ADF2EFBBA2317C2B660D5D0D5DCCBB204E0100507702D02E09E6F4344D0F9788008533ADF2EFFB22E3C7B115B386AE862EE65D10A70000A83B016897047349313A2522A09D0A67C318ED86EE030F3CB0FCF3DFFDEE77F9638F3D56FECEABAFBE7A85AFBFE38E3BF21B6EB8215FBA7469F9F5DCB973F33BEFBC7385AFBDEFBEFBF273CF3D375FBC7871F9F5C30F3F9C3FF4D043F9A2458BF2050B16E48F3FFEF80BBEE7BAEBAECBFBFAFA56FAF7DE7EFBEDF9AC59B3CACFFFEBBFFEABFC9BE36FB9F1C61BCB9F3DDA0D5D31D9FE43F6C11B6B0000A0EE0460946459562FC6EE121100ADB2305AC9B8294DD3C993264D5A3F5E379A0DDDEF7DEF7BF9C61B6F9C5F71C515E5D7C5EFCCF7DC73CFFC9FFEE99FF28F7FFCE365737768C337C6BFFCCBBFE45B6CB145BE64C992FCD24B2F8D9C9A6FBEF9E6F96F7FFBDBE5AF993F7F7EFE9FFFF99FF929A79C523EFFE52F7F39FFE637BF994F9932A5FCBA1A871C72483E6FDEBCF26357575739DEF296B794CFC5EFA91E8BE7AFBFFEFAF2679F7DF6D9F9AB5EF5AAF2F337BCE10DF949279D547EFEB297BD2CBFE4924B5CA10B4C88FCE1280000A0EE04A05513CC6D4992BC552202A0551646AB6AE45646B3A1FBC4134FE4071F7C70BEE1861BE63366CCC837D86083FCCD6F7E73D9E4DD64934DCAE6EA9BDEF4A67CE1C285CBAF887DC52B5E919F7EFAE9E595B49B6DB659FEE94F7F3A7FDBDBDE96BFF7BDEF2DAFC08DD75D7EF9E5F9565B6D956FBAE9A6F93FFEE33FE6AF7EF5ABF3BFFBBBBFCB8B3C9DBFE73DEFC97FF4A31F954DDBF3CF3FBF6CF4AEBBEEBAE5EF8FB1D75E7B950DE2E2582C7F6CBDF5D6CB2FBAE8A2FCAAABAECAA74D9B56FE7DD14C8EBFF5D4534F2D7F67FC5DDFFDEE77F36BAEB926FFD5AF7EA5A10BB475FE70140000507702D0AA09E691244936958800689585D1B2312FCBB28F0E6FE456C6E21EBAFFFDDFFF9D9F7CF2C9E515BA71C5EBB6DB6E9BEFB8E38EE5E79FFFFCE7F346A3913FF2C8236503351AA7C71C734C79456C345763BBE3BBEFBEBB6CE06EB9E596CBAF92FDCA57BE523672634BE46818C7D5C09FFAD4A7F23DF6D8A36C026FBFFDF6E5F7FEF18F7FCC3FF399CF948DDFF7BFFFFDF94E3BED54367BDFFDEE77975FEFBEFBEEF9673FFBD9727BE6F819FBECB34FF937C4B6CCF1F7ECBCF3CEE555BCF1585C551C4DE9FEFE7E0D5DA0ADF387A3000080BA138096B3E79E7BBEBC48304B2522005A6861B4C22B72871BCD86EEECD9B3F32F7CE10BF9F1C71F5F365BDFF18E77E4EF7CE73B9F37DEFEF6B7E75FFDEA57CB6D8F8B3FA7BC9A361AB4D56B7FFDEB5FE7679D7556BECB2EBB944DDAC99327975B2DC7F31B6DB451BEC30E3B2C6FD046C338465C611B4DDCEAEF88AB84DFF8C637E6471D75547EC0010794AF8FBF27BE8EC763FBE5EAB5F1B7FCE55FFE657ED75D77950DDDBFF99BBF291BE3D1D08DEF8B66B12D978136CF1FE6210000D49D00B49E2449B62A12CC7D121100ED66341BBA71A56D5C555BFC9A725BE568A6469ECCB2AC1CF179D5783DF3CC33CBAB61E3FEB571DFDB7ABD5E7E5F34747B7B7BCBC6EBE2C58BF37BEFBDB7BC3A377ED681071EB87C7476769657E7C688AB6BA3291C57F656F7E57DED6B5F9B4F9F3EBDBC7F6FFCDCF8DDF1F56B5EF39AE50DDDB892B8BA0F6F3473876FB97CD04107B9872ED0F6AC670000507702D0AAC9659762FC542202A0DD8CF696CB71CFD9E2D7E40F3EF860FE577FF557F9AEBBEE9AEFB7DF7EE578EB5BDF9ABFEB5DEF2A5F17F7C78D7BDE464337BE8EED8FE3FB7EFFFBDF97DB326FBDF5D6CFFBB9714FDDF859D588C670B5E5F2934F3E593692AB666C346C5FF7BAD7951FF7DE7BEFF2E7C6F6C9431F8FD77DE2139F289F8BE6EDB5D75EBBC27BE8C636CE1ABA409BAF7DCC430000A83B01683D699AEE552498EF4B4400B49BB16EE846F3F4DC73CF2D475C2D5B3574637CFDEB5F5FDED08D7BEE4613353E5F514337EE9FFBCFFFFCCFE5B6C96F7BDBDBCA0671D5D08DE73FFCE10F9757F1560DDD6DB6D9A6BCD277C68C19E5DF73C41147945FFFEDDFFEEDF286EE1D77DC919F76DA69E596CBF1F58A1ABAB185F4B1C71EABA10BB42DEB190000D49D00B4A42CCB0E2E12CC39121100ED66341BBA71A5EC91471E5936506FB8E186FC4D6F7A53BEF9E69B3F6F7CF0831F7C4143F78F7FFC63BEDD76DB950DDB5535742FBAE8A2F2F3B8DA364DD3B2A1BBDB6EBB95CDDB0D36D8203FFAE8A3CBE7A3891B4DDA0F7DE843E5D5BCF1F7C415BEF1753C3E742BE5EA1EBA554377DAB4696513B76AE8F6F4F494CD630D5DA05D59CF0000A0EE04A05593CBF159969D201101D06E46B3A11B57C816BFA2BC0AF795AF7C65BECF3EFBE4871C7248D9148D8F071F7C70D91CEDEAEA2A5FFFB5AF7DAD6C9C462377DD75D7CDAFBCF2CAF2F1B892F60D6F78C30B1ABA2F7FF9CBF38D37DE385F7FFDF5CB9F1357DA4693361AB0711FDD871E7A68F955C2714FDEA1570CDF73CF3DCB1BA8D75F7F7DF9797CDC7FFFFDF3CD36DBACFC9B36DA68A3F2EF88FBFDC6EFF9C0073E50FE1D9FFBDCE7347481765EFB98870000507702D092C9E5EC344D3F291101D06E46B3A1FB8D6F7C23BFE4924BCACF2FBBECB2B2591A5B21C755B931627BE468DE7EE52B5F295F73F1C517E7EF7CE73BF3430F3D343FEBACB396FF9C33CF3C33DF7DF7DD9FF7B3B7DD76DBFC94534EC91B8D463E65CA94FC939FFC6479856E347457F537CD9D3BB7BC02F7B6DB6E7BC173D1508E2B81E3671D73CC31E5B6CFF3E7CF2F9F8BDF157FFBF4E9D3F3FBEFBF5F431768E7B58F79080000752700AD274DD3594582F998440440BB19ED7BE81A1ABA406BB19E010040DD0940AB2697795996FD83440440BBD1D0D5D005B09E010040DD09403B24977B9224D95A2202A0DD68E86AE80258CF0000A0EE04A01D92CB9349926C241101D06E3474357401AC670000507702D0D29224D9A4482E7F90880068471ABA1ABA00D6330000A83B0168694992BCB9482E774A4400B4230D5D0D5D00EB190000D49D00B47A62999465D955121100ED4843574317C07A0600007527002D2D4DD322B7747C4B2202A01D69E86AE80258CF0000A0EE04A0A56559D65D8C33252200DA9186AE862E80F50C0000EA4E005A3DB19C9CA6E967252200DA9186AE862E80F50C0000EA4E005A3DB17CBD1853252200DA9186AE862E80F50C0000EA4E005A5A9AA6576459B6874404403BD2D0D5D005B09E010040DD0940AB27965F747676EE201101D08E3474357401AC670000507702D0EA89E5C12449B694880068471ABA1ABA00D6330000A83B0168594992FC5991589E8E8F121100ED4843574317C07A0600007527002D2BAECC8D2B74252200DA9586AE862E80F50C0000EA4E005A39A9BC23EEA12B1101D0AE3474357401AC670000507702D0B2D234DDB31857484400B42B0D5D0D5D00EB190000D49D00B4AC344DA71589E57C89088076A5A1ABA10B603D030080BA1380969565D9FF2DC6BF4A4400B42B0D5D0D5D00EB190000D49D00B47252E94BD3B44B2202A05D69E86AE80258CF0000A0EE04A09593CAA5C548252200DA9586AE862E80F50C0000EA4E005A5696655715E37D121100ED4A43574317C07A060000752700AD9C54EE4C92E4CD121100ED4A43574317C07A060000752700AD9C54FE9024C926121100ED4A43574317C07A0600007527002D2949928D8AA4F2844404403BD3D0D5D005B09E010040DD09404B4A9264EB22A9DC231101D0CE06070735529B673C393030F08CA804C693F50C0000EA4E005A29A1BCAB18F3242200DAD9D5575FBD70D1A2459AA94D30162C58F0AD818181DB452530CEEB20EB190000D49D00B486344DF72E92CA77252200DA59BD5EDF6BEEDCB98F3DF4D0434F68AA8EDF95B9D1CC9D3367CE6F8BB1AFA804C693F50C0000EA4E005A4696659F2A92CA97252200DADD9C3973260F0C0CDC14DBFDC63D5C8D311F71DC6FD7CC059A81F50C0000EA4E005A29A19C98A6E971121100003081D641D6330000A83B01689984F2D562CC948800008009B40EB29E010040DD09406B48D3F4074552F988440400004C14D6330000A83B0168A584F2D3CECECE9D252200006002AD83AC670000507702D03209E5BE2449B6928800008009B40EB29E010040DD0940CB2494A792247999440400004CA07590F50C0000EA4E009A5F92249B1609E511890800009848AC670000507702D012B22CDBB64828B749440000C044623D030080BA1380564926EFCFB2AC2E11010000136C2D643D030080BA1380E697A6E99422A15C2C110100001389F50C0000EA4E005A4296654714E3DF252200006022B19E010040DD0940AB249353D3343D52220260AC1CD27FE56BBAFB1A07C5E73DFD576DD77D4663876AF4F437763CB4D6785D3C37F39CD9AFE8AA350EAEBE2F9EEBEE1FDCD31104E0255A0B59CF0000A0EE04A02592C985C5D85F220260AC749FD17863575FBDDCEEBFBB56FF654FAD7E4235BA6AF52F769D39F8DE78AEAB36F889EEFEFA67CA6FCAF3758BD7FEB0ABBF7E79F1F1DAAEB31A931D4900D6722D643D030080BA1380E69765D940313E2811013016BAFAEBFB74D71A3FE8AED5EFEDAE0D9E5B7C6C3CEF0579BE6E7CE8EDED5DAFBBAF71655CA55BBC667A575FE35FBB6A83C71C715A63B368E81E75CEC026F11A47148091B29E010040DD0940AB24939BA74C99B29D4404C058E9EA1BD8AAA76FF0C2F8BCA756BFB5BB561FA84657ADBE301EEFEE6B7CBAF8FAAEAE5AA35E7CBC201AC0C573F38A8F3717636E316E39AC6FF05D8E26006BB116B29E010040DD09404B2493C549926C2E11013056CA866EAD7159575F63B7E157E8565F1FF9A5C6963D67D5B78DAB747B7B2F7B596CBFDCD337F8B1EEBEFAE1D1C88DAB75BBCE9CB393A309C05AAC85AC670000507702D0DC66CE9CB941914C9E2E3E5D572202602C4413B7A7AFFE9DEE5A7DF1B2AB706F2CBEDEAF1AC5D7BF88D7F5F636D6EFE91B9C5DBCE6A0186543B7563FA578FE1BC5D79F2B3E5EDA531BDCD9110560A4AC670000507702D0F49224796D914C164844008C959EFEC68E711FDD6ACBE5EE5AFDA69EBEFACC6A74F5376694AFABD5DF1757EB76F7D5FF2D5EBFACA1DBD755AB1F10A3A77F705AD79973B6704401B09E010040DD09403B27921D8BF173890880B134F41EBAC3B75C1EEEF02F5DF5FAE557E8F60D7EAC7A3CB664EEEEAB9FE86802603D030080BA1380B695A6E9E42299FC50220260ACF49EDFD8B0FB8CC60EFFDBD01DFC5577AD7E4135BAFAEA179757E1F637D2D88EB9787E5677AD312546576DF0B4B86F6E5CE5DB53AB1FDD536B7CDE1105C07A0600007527006D2BCBB2838A64729E4404C058E9EEAFBF3BEEA1DBD55FFFC8B2AFCF39E2B4C666D5886D943FF9E56B5EFDA92F35364E2EBBECCFAAEF3BB4F6A39777D5EA8715AF3FB6BB6FB0B71887168FFD85230A80F50C0000EA4E00DA39911C9365D917242200006002AE87AC670000507702D0F489E4AC344D0F918800008009B81EB29E010040DD0940734BD3F43B4532D95722020000261AEB190000D49D00B44222B936CBB2DD242200006002AE87AC670000507702D0F489647E9224DB48440000C0045C0F59CF0000A0EE04A0E913C992244936968800008009B81EB29E010040DD0940F38A466E3474252200006022B29E010040DD0940538BAD9663CB65890800009888AC670000507702D0EC49E43DC5B8766D1391611886611886611846AB0E2B430000C6E0BD787527002393A6695224926F3B120000000000303A34740118B12CCB0E2D1249BF23010000000000A343431780B549225F4CD3F4738E0400000000008C0E0D5D00D626897CAD18331C090000000000181D1ABA008C589AA6971789E4C38E0400000000008C0E0D5D00D62689FCBCB3B3F3EF1D090000000000181D1ABA00AC4D12599024C96B1D090000000000181D1ABA008C486F6FEF7A4512797AD2A449EB3B1A0000000000303A34740118912449362F92C86247020000000000468F862E00239265D9F64512B9D991000000000080D1A3A10BC088A469FAA12CCB061C090000000000183D1ABA008C489AA6071449E40247020000000000468F862E00239265D9678A718A23010000000000A347431780912690D3D3343DDC91000000000080D1A3A10BC04813C825C5E87424000000000060F468E80230225996D58BB1BB23010000000000A347431780912690DB922479AB23010000000000A347431780912690479224D9D491000000000080D1A3A10BC01ADB73CF3D5F5E2490A58E0400000000008C2E0D5D00D65892245B1509E43E470200000000004697862E0023491EBB14E3A78E0400000000008C2E0D5D00D6589AA67B1509E4FB8E0400008CBF43FAAF7C4D775FE3A0F8BCA7FFAAEDBACF68EC508D9EFEC68E87D61AAF8BE7669E33FB155DB5C6C1D5F7C573DDFD837B3A820000D0DC347401586359961D5C2490731C090000187FDD6734DED8D557BFB8FCBC56FF654FAD7E4235BA6AF52F769D39F8DE78AEAB36F889EEFEFA67CA6FCAF3758BD7FEB0ABBF7E79F1F1DAAEB31A931D490000684E1ABA008C24791C9F65D9098E0400008CAFAEFEFA3EDDB5C60FBA6BF57BBB6B83E7161F1BCF7B419EAF1B1F7A7B7BD7EBEE6B5C1957E916AF99DED5D7F8D7AEDAE031479CD6D82C1ABA479D33B049BCC611050080E6A3A10BC04892C7D9699A7ED291000080F1D7D537B0554FDFE085F1794FAD7E6B77AD3E508DAE5A7D613CDEDDD7F874F1F55D5DB546BDF8784134808BE7E6151F6F2EC6DC62DC7258DFE0BB1C4D0000683E1ABA00ACB1344D671509E4638E0400008CBFB2A15B6B5CD6D5D7D86DF815BAD5D7477EA9B165CF59F56DE32ADDDEDECB5E16DB2FF7F40D7EACBBAF7E783472E36ADDAE33E7ECE468020040F3D1D0056024C9635E9665FFE0480000C0F88A266E4F5FFD3BDDB5FAE26557E1DE587CBD5F358AAF7F11AFEBED6DACDFD33738BB78CD4131CA866EAD7E4AF1FC378AAF3F577CBCB4A736B8B3230A0000CD4743178091248F7B9224D9DA91000080F1D5D3DFD831EEA35B6DB9DC5DABDFD4D3579F598DAEFEC68CF275B5FAFBE26ADDEEBEFABFC5EB973574FBBA6AF50362F4F40F4EEB3A73CE168E280000341F0D5D0046923C9E4C92642347020000C6DFD07BE80EDF7279B8C3BF74D5EB975FA1DB37B8FC362AB12573775FFD44471300009A8F862E006B2449924D8AE4F10747020000C65FEFF98D0DBBCF68ECF0BF0DDDC15F75D7EA1754A3ABAF7E7179156E7F238DED988BE76775D71A536274D5064F8BFBE6C655BE3DB5FAD13DB5C6E71D510000683E1ABA00AC912449DE5C248F3B1D090000187FDDFDF577C73D74BBFAEB1F59F6F539479CD6D8AC1AB18DF227BF7CCDAB3FF5A5C6C6C96597FD59F57D87D67EF4F2AE5AFDB0E2F5C776F70DF616E3D0E2B1BF70440100A0F968E802B0A68963529665573912000000000030FA3474015823699A16B9A3E35B8E0400000000008C3E0D5D00D6489665DDC538D391000000000080D1A7A10BC09A268E93D334FDAC23010000000000A34F431780354D1C5F2FC65447020000000000469F862E006B244DD32BB22CDBC391000000000080D1A7A10BC09A268E5F747676EEE0480000000000C0E8D3D005604D13C78349926CE9480000000000C0E8D3D00560B5F5F6F6AE1789C3300CC3300CC3300CC3300CC3300CC3308CB11B3A1400AC5153D751000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060A2FB7F6C1A245B7744FAA50000000049454E44AE426082, 1); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('84e67bf8-69e4-11ec-a1dc-0235bf949cb9', 1, 'flowContract.bpmn', '84e67bf7-69e4-11ec-a1dc-0235bf949cb9', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E222069643D226469616772616D5F666C6F77436F6E747261637422207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C70726F636573732069643D22666C6F77436F6E747261637422206E616D653D22E59088E5908CE5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C666C6F7761626C653A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E466C6F7746696E69736865644C697374656E6572223E3C2F666C6F7761626C653A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C73746172744576656E742069643D224576656E745F3170736D697364223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D2241637469766974795F306E796C61317222206E616D653D22E59088E5908CE5BD95E585A52220666C6F7761626C653A61737369676E65653D22247B7374617274557365724E616D657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839363537313222206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F303063657865612220736F757263655265663D224576656E745F3170736D69736422207461726765745265663D2241637469766974795F306E796C613172223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3175637268353222206E616D653D22E4B89AE58AA1E983A8E9A286E5AFBCE5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F666C6F7761626C653A7461736B4C697374656E65723E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839373234353522206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30346B63616A632220736F757263655265663D2241637469766974795F306E796C61317222207461726765745265663D2241637469766974795F31756372683532223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30323666766E712220736F757263655265663D2241637469766974795F3175637268353222207461726765745265663D22476174657761795F30396364787466223E3C2F73657175656E6365466C6F773E0A202020203C706172616C6C656C476174657761792069643D22476174657761795F30396364787466223E3C2F706172616C6C656C476174657761793E0A202020203C757365725461736B2069643D2241637469766974795F3133386D346E6E22206E616D653D22E5B7A5E7A88BE983A8E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303936333639383436303938373339322220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353139343939313937323335322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839373831303122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A7573657243616E64696461746547726F75707320747970653D2244455054222076616C75653D2231343430393633363938343630393837333932223E3C2F666C6F7761626C653A7573657243616E64696461746547726F7570733E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F307A7A307539672220736F757263655265663D22476174657761795F3039636478746622207461726765745265663D2241637469766974795F3133386D346E6E223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F30746D336D706822206E616D653D22E980A0E4BBB7E983A8E5AEA1E689B92220666C6F7761626C653A61737369676E65653D2261646D696E2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353139343939313937323335322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839383233373722206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F317978716265302220736F757263655265663D22476174657761795F3039636478746622207461726765745265663D2241637469766974795F30746D336D7068223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F31323465387A332220736F757263655265663D2241637469766974795F3133386D346E6E22207461726765745265663D22476174657761795F306F79366F666C223E3C2F73657175656E6365466C6F773E0A202020203C706172616C6C656C476174657761792069643D22476174657761795F306F79366F666C223E3C2F706172616C6C656C476174657761793E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3175766A3364732220736F757263655265663D2241637469766974795F30746D336D706822207461726765745265663D22476174657761795F306F79366F666C223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3179757579696522206E616D653D22E8B4A2E58AA1E983A8E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303936343531393339313133373739322220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353132373739303833333636342671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383930333738313422206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383930343234383922206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A64657074506F73744C6973743E0A202020202020202020203C666C6F7761626C653A64657074506F73742069643D2264657074506F73745F5F313434303936343531393339313133373739322220747970653D2264657074506F7374222064657074506F737449643D2231343430393634353139333931313337373932223E3C2F666C6F7761626C653A64657074506F73743E0A20202020202020203C2F666C6F7761626C653A64657074506F73744C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F316B79686E6C7A2220736F757263655265663D22476174657761795F306F79366F666C22207461726765745265663D2241637469766974795F31797575796965223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3039386E63767722206E616D653D22E6B395E58AA1E983A8E4BC9AE7ADBE2220666C6F7761626C653A61737369676E65653D22247B61737369676E65657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353030313039333439323733362671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383931393036363222206C6162656C3D22E5908CE6848F2220747970653D226D756C74695F6167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383931393734303622206C6162656C3D22E68B92E7BB9D2220747970653D226D756C74695F726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D2266616C73652220666C6F7761626C653A636F6C6C656374696F6E3D2261737369676E65654C6973742220666C6F7761626C653A656C656D656E745661726961626C653D2261737369676E6565223E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B6E724F66496E7374616E636573203D3D206E724F66436F6D706C65746564496E7374616E6365737D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3064693671613622206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3179757579696522207461726765745265663D2241637469766974795F31656577743031223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C6578636C7573697665476174657761792069643D22476174657761795F316D356672757A223E3C2F6578636C7573697665476174657761793E0A202020203C73657175656E6365466C6F772069643D22466C6F775F306A7976317A622220736F757263655265663D2241637469766974795F3039386E63767722207461726765745265663D22476174657761795F316D356672757A223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F316833706E787922206E616D653D22E680BBE7BB8FE79086E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303931313431303538313231333431362220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383934343935303822206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383934353238353022206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A7573657243616E64696461746547726F75707320747970653D2244455054222076616C75653D2231343430393131343130353831323133343136223E3C2F666C6F7761626C653A7573657243616E64696461746547726F7570733E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F31663879786F7622206E616D653D22E5908CE6848FE4BABAE695B0E5A4A7E4BA8E3430252220736F757263655265663D22476174657761795F316D356672757A22207461726765745265663D2241637469766974795F316833706E7879223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6D756C74694167726565436F756E74202F206D756C74694E756D4F66496E7374616E636573203E20302E347D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C656E644576656E742069643D224576656E745F3132616A6F3364223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D22466C6F775F31613371636C6D22206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F316833706E787922207461726765745265663D224576656E745F3132616A6F3364223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F306C6C6F79353622206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3179757579696522207461726765745265663D2241637469766974795F306E796C613172223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3165657774303122206E616D653D22E6B395E58AA1E983A8E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303936343338373937393339393136382220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353030313039333439323733362671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A20202020202020203C666C6F7761626C653A64657074506F73744C6973743E0A202020202020202020203C666C6F7761626C653A64657074506F73742069643D2264657074506F73745F5F313434303936343338373937393339393136382220747970653D2264657074506F7374222064657074506F737449643D2231343430393634333837393739333939313638223E3C2F666C6F7761626C653A64657074506F73743E0A20202020202020203C2F666C6F7761626C653A64657074506F73744C6973743E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383933333730323422206C6162656C3D22E4BC9AE7ADBE2220747970653D226D756C74695F7369676E222073686F774F726465723D223022206D756C74695369676E41737369676E65653D227B2671756F743B61737369676E6565547970652671756F743B3A2671756F743B444550545F47524F55502671756F743B2C2671756F743B61737369676E65654C6973742671756F743B3A2671756F743B313434303936333634323534323532363436342671756F743B7D223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383933343139303122206C6162656C3D22E58AA0E7ADBE2220747970653D226D756C74695F636F6E7369676E222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F307A6D736E33782220736F757263655265663D2241637469766974795F3165657774303122207461726765745265663D2241637469766974795F3039386E637677223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3176737269766222206E616D653D22E5908CE6848FE4BABAE695B0E5B08FE4BA8E3430252220736F757263655265663D22476174657761795F316D356672757A22207461726765745265663D2241637469766974795F306E796C613172223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6D756C74694167726565436F756E74202F206D756C74694E756D4F66496E7374616E636573203C3D20302E347D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F316D323430366622206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F316833706E787922207461726765745265663D2241637469766974795F306E796C613172223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F77436F6E7472616374223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F77436F6E7472616374222069643D2242504D4E506C616E655F666C6F77436F6E7472616374223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3170736D697364222069643D2242504D4E53686170655F4576656E745F3170736D697364223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D2239322E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F306E796C613172222069643D2242504D4E53686170655F41637469766974795F306E796C613172223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223138302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31756372683532222069643D2242504D4E53686170655F41637469766974795F31756372683532223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223334302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F30396364787466222069643D2242504D4E53686170655F476174657761795F30396364787466223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223530352E302220793D223330352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3133386D346E6E222069643D2242504D4E53686170655F41637469766974795F3133386D346E6E223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223636302E302220793D223136302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30746D336D7068222069643D2242504D4E53686170655F41637469766974795F30746D336D7068223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223636302E302220793D223339302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F306F79366F666C222069643D2242504D4E53686170655F476174657761795F306F79366F666C223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223835352E302220793D223330352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31797575796965222069643D2242504D4E53686170655F41637469766974795F31797575796965223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313030302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3039386E637677222069643D2242504D4E53686170655F41637469766974795F3039386E637677223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313336302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F316D356672757A222069643D2242504D4E53686170655F476174657761795F316D356672757A223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D22313531352E302220793D223330352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F316833706E7879222069643D2242504D4E53686170655F41637469766974795F316833706E7879223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313637302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3132616A6F3364222069643D2242504D4E53686170655F4576656E745F3132616A6F3364223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D22313836322E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31656577743031222069643D2242504D4E53686170655F41637469766974795F31656577743031223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313139302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316D3234303666222069643D2242504D4E456467655F466C6F775F316D3234303666223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313732302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313732302E302220793D223534302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223534302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223935342E302220793D223532322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31767372697662222069643D2242504D4E456467655F466C6F775F31767372697662223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313534302E302220793D223330352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313534302E302220793D223133302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223133302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2238392E302220783D223834312E302220793D223131322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F307A6D736E3378222069643D2242504D4E456467655F466C6F775F307A6D736E3378223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313239302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313336302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306C6C6F793536222069643D2242504D4E456467655F466C6F775F306C6C6F793536223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313035302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313035302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223632392E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31613371636C6D222069643D2242504D4E456467655F466C6F775F31613371636C6D223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313737302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313836322E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D22313830352E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31663879786F76222069643D2242504D4E456467655F466C6F775F31663879786F76223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313536352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313637302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2238392E302220783D22313537332E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306A7976317A62222069643D2242504D4E456467655F466C6F775F306A7976317A62223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313436302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313531352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30646936716136222069643D2242504D4E456467655F466C6F775F30646936716136223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313130302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313139302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D22313133342E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316B79686E6C7A222069643D2242504D4E456467655F466C6F775F316B79686E6C7A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223930352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313030302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3175766A336473222069643D2242504D4E456467655F466C6F775F3175766A336473223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223736302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223335352E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31323465387A33222069643D2242504D4E456467655F466C6F775F31323465387A33223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223736302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223330352E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31797871626530222069643D2242504D4E456467655F466C6F775F31797871626530223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223335352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223636302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F307A7A30753967222069643D2242504D4E456467655F466C6F775F307A7A30753967223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223330352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223636302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30323666766E71222069643D2242504D4E456467655F466C6F775F30323666766E71223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223434302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223530352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30346B63616A63222069643D2242504D4E456467655F466C6F775F30346B63616A63223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223238302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223334302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30306365786561222069643D2242504D4E456467655F466C6F775F30306365786561223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223132382E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E, 0); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('84fee5f9-69e4-11ec-a1dc-0235bf949cb9', 1, 'flowContract.flowContract.png', '84e67bf7-69e4-11ec-a1dc-0235bf949cb9', 0x89504E470D0A1A0A0000000D4948445200000774000002260806000000AB78BB7100006ED44944415478DAECDD0B985565B93870342B352B2BAD4E595A596A76D28AFA5B995179CA4AD34C1B46B41043139199ADA2696A4896D784D91B35538FE5FD929713DE99BDB7808845A92964A5874C218EA061E2854A5BFFF52E664D9B61060698813D33BFDFF37C0FB3F75EB3F69E99976FBDDF7AD7F7AD4183000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A04E8D1B376EC3E609D59D0B932A3B76D6E2B5FDAFBDF6151DBFAF50AA1C30A6A5F2B955ED7F4C4BF9134D132BFFAFE3F347166F7D753C5F28963FD6D452DD35DAA1174CDEB4B9586E1E774975E3AEF67754B1BA4BF3A4D68F77F65AE1DCEAB647165BDF7F74A9BA7D6D8BE7D2F7DACE5F1B000000000000E8538E39EB8ED734172B8F3797CAA776D60AC5CADCE609D5CD63DBE652E5878562F5DAA662E5E1F47BAEFFF7D7E5EB9A5BCA133BDB7F53B17A5CA15419D5F1F9AC905CAC94D3D70F4BF7737473B17A4F1479D3E77EB3B2CF5B2895BFDDDC523DA2F3D72AA3D2CF588CCF129F2DDDD76F977D5D6949FF3DA6BBBF93F86C1D9F8BCFB6E273D5AD0EBDE0D7AF144500000000000040AF682BA256A3B0DA5CAC4E58AEB5948F696EA9DE39EADCEA6631D3B6B9A5727C53B13236DD7E7EFC1BC5DAF4EB27B3E74A95639B269677EBB8FFE662F9C2741FDFEDF8FC512D952FA5DF7B53A1589991FE3B3BDE27FDFA84F4EB479A5A2A57A4FFDE515B848D19BCD9BFC5F2C828EA8E1B77EDABD2ED3FDDD5CF159F370AB92BFBD98FBB60CAEBD3F779A0A9546DC89E48920DD2C7E7A5EDB1F4E7BFB579C2B4FF58F69E9531E9CFF1607CD67CB67253A9F285F8CC9DCD5E06000000000000E8117941F7C8E2B42D8F39FF8E37776C7941375E2F145B3FD554AC9C1C85DDDA963D57AA7CB26962EB5B3AEE3FDDF7F4A652F9AACEDEBB502CEFD55C2CFF315A53B17C62CCD28DC2721449A3A09B6F17EF9F3E7E28BEFE7741379BE13B3B8AB0F17C1478B3A59AE3711466D3CF13B375F3C7F173D6CEB28D6DD3F79B96EE23195D9AFAAEECB3B6548F481FDF9EED3BFDB90AA56A53DBBEE615CEB9FD8DE96B53C6B4543F30A665EA7B6326F111935ADF2482000000000000805E931774E3EB65B3552BB7448B19A9CB0A9BCB0ABAF1FA9896CA4762E66AA1A572686D8BE26BA134F53F3BEE3B0AB34DC5F27D51088D826BED6BE9FE1BB319BAA5CAA8F4FDBED2D4523D2D7BDC52B928EEAD1B337BDBB72D95BFD8D4523927BECE0BBA6D9FF767F92CDDB89F6F1459A3281C2D7D7E4E53B1B2A0E6F1AFD37FF78B6DC78DAB6E947EFD8B74FB8BD3B6307B936585DBFF8DA275F63EE9678A659B0BE7DCB349FAFEBF6B9BCDFB5856E42E567FD534B1F583A207000000000000E8551D0ABAEDB3620BC54A6BF65C4D41B7794275E7749B59D97D6A6B5BB1F29BC2A4CA8E1DF7DD5C2C1F9EBE3629965C8EC26FED6B51805DB69471E5D174BBE6980D7B54B1BA4BBABFA971DFDBA65279FF7FEFA772697BA1B5A6A07B544BEB67E2FEBD9DFD5C5D2EB9BCAC70FBD36C49E952759F424B79723C7D74A9BA7DFA3E7F6E7FCF96CA51E9F79F99FD2E4AE5EF3495AA372C9B515CB9290AC33103387E06F7D0050000000000007ACD7205DD52E5DEE649AD1FCF5AB1322B7BAEA6A07B54B1B2536C134B28175A2A3F8F7FA3C5B61D0BBACD13AA9B178A95B9474F2A6F1D5F37152B0FC7ECD6FCF5A326B5BE2FBBBF6EB1F2A3B86F6DA1583E3DB68DC26EFAF82F79A1B46D79E30762B6703CAE2DE8B63DBEAF6962EB473BFE5C5D1574E37BD3FD3DBBEC3EC195BBA3181DF7FE6D2BD6DEDCFEF9D3DF49FA337E7DB9EF2D56BFDF5C2A9F1AF7DC8D82777CFE6C596600000000000080DED0A1A0FBBF319B366BA5CA49D96CD6DA19BA2DE5230B2DD53D62066DA15839A1A9581E7DF879D3DFD054AC8C8DA593F37D46F1B5D052BE2C66E8E6CF3595AA07C652C5C79C75C76BDA9F5B76DFDC69B13C722C699CBD5FB17279DA9EC897348EA59663F9E39AEF59AEA09BDDD7B7A57245C79FABAB826E14886366EFB2D9BD953FC4CF1485E6A69629EF8C6275B6CC74A9FCC5FCEBFCFBB259B9C5EA2FE2334631BBED7EC26363F6AE28020000000000007AC5B84BAA1BC732C759A1B258DE2B7F3E66E3B6DD33F757875E3079D3C2B9D56D6326EE91C5EA564DC5CA6DA34B77BEADB9A5323E7D7D78A15839257DED7F9A4BD521479D3BF51D719FDDB83F6DECB3F6BDA2489C6E3BE3C862F93DC79E71F76BD3EF3F3EDDEEB74D2DD5F3D37FAF897DC4BE9A2656B68BFBD6165ACA5FCD8BAA8573CA6F8FCF9715788BE591B5FBEDB8EC71A1541D9C7E8661310BB7CB9F3BBB8F6E65497C8EF6EF2B564BCDC5F21F63D6EE91C5D6F7E7CF477179D9CF7EEBEBB2C7C5CAC9E9E3AB63D671FC1E4411000000000000D02B62F66D14323B3E1FF7978DE585F37BDF4681375A7C1D3353B37BE3A62DFDFA07516C3DB2386DCB6C96EBA4F2879B4AD543BA7ABF6CA66BBA4DCC822D942A856C66EEA06CF6EF31F15CBE5D56C04D5FCF1F8F3DB7FAD6749B71514C8DAF57F633C576F1D9A2B0BB26BF8F15F63761EA0E1D0BB7F1BBA82D06030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007562E8D0A189A6699AA6699AA6699AA6699AA6695A4F37675F01007AA8A0EBB70000000000F424E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D0100245600000000409D72DE110040620500000000D429E71D01002456000C4049926C3477EEDCEBEEBDF7DE97CBE5723265CA146D1DB7D6D6D664DAB4694FA5ED401109000074C57947000089150003501473A74F9F9E2C5CB830F9FBDFFFAEADA7B668D1A264EAD4A97F6B6D6DDD4F540200009D71DE1100406205C0001433731573EBA6A8FBF72953A63C2C2A010080CE38EF080020B10260008A65961553EBA74D9932E59FA2120000E88CF38E0000122B0006A0B887AB426A5D1574E511000040A79C770400905801300075B7A0FBDC330B92B9B32E49E6B48ECF5A7C1DCF29C22AE8020000EB86F38E0000122B0006A0EE1474972C9E9FCCBEE3A4E4B7B78C5DAEC573F19A42AC822E0000D0FB9C770400905801300075A7A0FBC49C5FAC50CCCDDBBC39931562157401008075C0794700008915000350770ABA0F57CFE8B2A01BAF29C42AE8020000BDCF794700008915000350770ABAB3A78CEBB2A01BAF29C42AE8020000BDCF79470000891500039082AE822E0000D03738EF080020B1026000EA4E41774EEBF82E0BBAF19A42AC822E0000D0FB9C770400905801300075A7A0FBC88C495D1674E3358558055D0000A0F739EF080020B1026000EA4E41F7E9F90F26B3EFFCDE8ACB2DA7CFC56B0AB10ABA000040EF73DE1100406205C000D49D826EB43FFDFAD2150ABAF19C22AC822E0000B06E38EF080020B1026000EA564177E9D2E4917BCE5F71B9E5F4B9784D215641170000E87DCE3B020048AC0018805655D05DB2787EF2C719A52EEFA11BAFC5368AB10ABA000040EF72DE1100406205C000D4654177E9D264C12395E4A1DB4FE8B2989BB7D826B6355B5741170000E83DCE3B020048AC0018803A2BE8AE6A56AED9BA0ABA0000C0BAE7BC230080C40A8001A8B3826E7766E5AE6CB6AEC2AC822E0000D0F39C77040090580130007556D05DD3626EDE146615740100809EE7BC230080C40A8001A8CB7BE86A0ABA0000405D71DE1100406205C000A4A0ABA00B0000F40DCE3B020048AC00188014741574010080BEC179470000891500039082AE822E0000D03738EF080020B102600052D055D0050000FA06E71D01002456000C400ABA0ABA000040DFE0BC230080C40A800148415741170000E81B9C770400905801300029E82AE80200007D83F38E0000122B000620055D055D0000A06F70DE1100406205C000A4A0ABA00B0000F40DCE3B020048AC00188014741574010080BEC179470000891500039082AE822E0000D03738EF080020B102600052D055D0050000FA06E71D01002456000C400ABA0ABA000040DFE0BC230080C40A807EA4B1B1714ADA765DD5760ABA0ABA000040DFE0BC230080C40A807E763C8A1685DD8686865DBADA4E415741170000E83BE33CBF050000891500FDE878D4A1DDD6D98C5D055D055D0000A0EF8CF3FC160000245600F4A3E35167ADE352CC0ABA0ABA000040DF19E7F92D000048AC00E847C7A355B4DB622966055D055D0000A0EF8CF3FC1600002456C000EBAF34ADDE0ABACF3CF34C72D96597252FBCF0C22AB77DFCF1C7930B2FBC3059B46851F6F8E9A79F4E9E7CF2C964E1C285C9FCF9F393254B96ACF03D3366CC485A5A5ABADCE7C30F3F9CDC78E38DD9D7F7DD775F326FDEBC64E9D2A5C92F7FF9CB6CDFBDFDF38BC9FEDF1C7D000070DE1100406205A0BF626505FB590D0D0D7B0E193264A3D8AEB70BBAE79F7F7ED67EFCE31FAFD0E2F9BCB87ADD75D7259FFEF4A793D7BEF6B5C9AB5EF5AA581A3A79FDEB5F9FBCF18D6F6C6F9B6DB65956BC7DF4D14793EBAFBF3E39F3CC33238693F3CE3B2FB9EAAAAB9261C386658FF3367AF4E864E6CC99D9BF4D4D4D59DB7EFBEDB3D7BEFDED6FB73F17AFDF73CF3DED9F77F3CD37CFBEDE7AEBAD931FFEF087D9D7F199AEBCF24A3374D1EF0200209F0400905801E8AFE899BFEFCA0AB9B9DE2EE87EF9CB5F4ED2F74C3EF399CF243BEDB453564CDD65975DB2C7F9F3B1DDAC59B392E6E6E6ECF54AA5925C7AE9A55971F7CE3BEFCC5A1456E3B5C58B1727B7DC724BF2CE77BE332BF2C6F7BFE10D6F4876D8618764FFFDF74F3EF5A94F25B7DE7A6BB6ED25975C92157A37D86083E490430EC9DADE7BEF9D6CB9E59649FABB687F6EC30D374C2EBFFCF264EAD4A9C9C1071F9C158EAFB9E69A64BBEDB64BCE3AEBACECF36DBAE9A6C90D37DC904C9F3E3D79F0C1071574D1EF0200209F0400905801E8AF58BBBF6F5B9BD9D8D8B84FC7426E6E5D2EB97CF3CD376785D63973E6ACF05A1473A3F03AA86D76EDEEBBEF9E3D8ED9B2D1A2C81ACF3FF5D453D9F631C3370AB9B124F2C61B6F9CDC74D34DC9A851A3923DF6D82339E28823920F7EF083D952C9CF3FFF7C72ECB1C76685DFCF7DEE73C9473FFAD16C3F9FFCE427B3C79FFDEC6793EF7CE73BD9F2CCB18FAF7DED6B59F136660E4741F7631FFB58368B379E3BF0C0039357BEF29549A95452D045BF0B00807C1200406205A0BF62ADFEBE9DCEC8EDA85E0ABAB367CF4EC68E1D9BBD1E336D6396ED4F7EF293E4E28B2F6E6F51488DFBD8C652CB1FFAD087924D36D924D979E79DDB0BB431E3375A147FA3889BEFFBB0C30E4BB6D9669BE4B8E38E4BBEF18D6F64DB47F1371EC7F3B1FC72BE6DBCE79BDEF4A6E491471EC90ABAEF7EF7BBB3C2781474E3FBA2586CC965F4BB0000C8270100245600FA2BD6897A29E846FBE217BF98BD1EB360DFF7BEF72D773FDCBC4D9830219B9D1B85D96F7EF39BEDED80030EC866E7468BD9B5316B77EEDCB9D97EA360FBF6B7BF3D19316244F2A52F7D29DB4FC47F3C7EDBDBDED65ED0BDFFFEFBDBEFC31BC5DC8E4B2E7FEB5BDF720F5DF4BB0000C8270100245600FA2BD69D7A29E8C68CDC8D36DA287B3DEE837BF2C92767C5CDA38F3E3ABB576E6B6B6B72DB6DB7258F3EFA68B6FD6EBBED96DD8B376F3123375F72F9C5175F4CDEFAD6B7B61763A360BBD5565B65FFEEBBEFBED97BC4F2C9B5CFC77623478ECC5E8BE2EDDD77DFDDE93D74631967055DF4BB0000C8270100245600FA2BD6897A29E8C652C971FFDA783D3E53DCB73666D54631379E8BC2EB965B6E99DC77DF7DD9F671FFDCBDF6DA2B5B36F9031FF840F2F5AF7FBDBDA01BAF7FF9CB5FCE66F1E605DD6DB7DD3619376E5C72C8218764FB8B42713C7ECF7BDED35ED0FDFDEF7F9F9C7DF6D9D992CBF1B8B382EEA9A79E9A9C74D2490ABAE8770100904F020048AC00F457F4BEDE2CE8DE75D75DD9BD6F7FF6B39F65ED98638EC98AA9710FDCFCB9B8676D7C866BAFBD362BF4C6EB3366CCC89E3BF7DC7393830E3A2879DDEB5E972DB31C4B29CF9B37AFBDA07BF9E597675FC76CDB868686ACA0BBEBAEBB66C5DB58B6F984134EC85E8F226E14693FFFF9CF67B379E33D62866F3C8EE76B9752CEEFA19B17740F3EF8E0AC889B17740B8542563C56D045BF0B00807C1200406205A0BFA2D7F56641378A9F1B6EB861763FDBAE5ABC7ED8618765DB2F5AB4282BB65E79E595D90CDB98B13B78F0E0E4D5AF7E75F6F5DE7BEF9D1575F3826E3CBFD9669B654B3547913566DA4691360AB0B1DD934F3E996D3B7DFAF4A452A9B47F1DEFF1A73FFDA9BD807ACF3DF7645FC7BF5140DE628B2DB219C29B6CB249B2C1061B248D8D8DD9FBECBEFBEEC9D65B6F9D7CF7BBDF55D045BF0B00807C1200406205A0BFA2F7F56641F785175E58E53D67E3F5E79F7F3EFB3A66DF6EBEF9E6C955575D958C1E3D3A193B76EC722D0AC4575C7145B6ED8E3BEE98CDF4AD56ABC9B061C392C30F3F3C9BA11B05DD55CD1A8E19B8BFFBDDEF56782D6613BFEB5DEFCAF675E2892726A79F7E7AFB3D7BE3BDA2C83C62C488E489279E50D045BF0B00807C1200406205A0BFA2F7ADCB7BE86A0ABAFA5DFD2E0000F2490000891580FE8AD5A0A0ABA08B7E170000F9240080C40A407F459D52D055D045BF0B00807C1200406205A0BFA24E29E82AE8A2DF0500403E090020B102D05F51A714741574D1EF0200209F0400905801E8AFA8530ABA0ABAE8770100904F020048AC00F457D429055D055DF4BB0000C8270100245600FA2BEA9482AE822EFA5D0000E4930000122B00FD15754A41574117FD2E0000F2490000891580FE8A3AA5A0ABA08B7E170000F9240080C40A407F459D52D055D045BF0B00807C1200406205A0BFA24E29E82AE8A2DF0500403E090020B102D05F51A714741574D1EF0200209F0400905801E8AFA8530ABA0ABAE8770100904F020048AC00F457D429055D055DF4BB0000C8270100245600FA2BEA9482AE822EFA5D0000E4930000122B00FD15754A41574117FD2E0000F2490000891580FE8A3AA5A0ABA08B7E170000F9240080C40A407F459D52D055D045BF0B00807C1200406205A0BFA24E29E82AE8A2DF0500403E090020B102D05F51A714741574D1EF0200209F0400905801E8AFA8530ABA0ABAE8770100904F020048AC00F457D429055D055DF4BB0000C8270100245600FA2BEA9482AE822EFA5D0000E4930000122B00FD15754A41574117FD2E0000F2490000891580FE8A3AA5A0ABA08B7E170000F9240080C40A407F459D2A97CB0AA9F5D35E9C3265CA3F45A57E170000E4930000122B00FD159969D3A62D58B870A1626A1DB4F9F3E75F3D65CA948745A57E170000E4930000122B00FD15994AA5B2F75D77DDF5CC934F3EF982A2EAFA9B991BC5DCD6D6D63FA76D3F51A9DF050000F9240080C40A407F45BBD6D6D63DA74C99322B96FB8D7BB86AEBBCC5EFFD61C55CFD2E0000C8270100245600FA2B00FD2E0000F2490000891580FE0A00FD2E0000F2490000891580FE0A40BF0B00807C1200008915A0BF0240BF0B00807C1200406205A0BF02D0EF0200807C1200406205E8AF00D0EF0200209F0400905801E8AF00F4BB0000209F0400905801E8AF00F4BB0000C8270100905801FA2B00F4BB0000C8270100245600FA2B00FD2E0000F2490000245680FE0A00FD2E0000F2490000891580FE0A40BF0B0000F2490000891580FE0A40BF0B00807C1200406225B102F45700E8770100904F020048AC00F45700FA5D0000E493000048AC00FD1500FA5D0000E4930000122B00FD15807E170000E4930000122B407FE5B700A0DF0500403E090020B102D05F01E877F5BB0000C8270100245600FA2B00FD2E0000F2490000245680FE0A00FD2E0000F2490000891580FE0A40BF0B00807CD26F0100406205E8AF00D0EF0200209F0400905801E8AF00F4BB0000209F0400905801E8AF00F4BB0000C8270100905801FA2B00F4BB0000C8270100245600FA2B00FD2E0000F2490000245680FE0A00FD2E0000F2490000891580FE0A40BF0B0000F2490000891580FE0A40BF0B00807C1200406205A0BF0240BF0B00807C1200406205A0BF02D0EF0200209F0400406205E8AF00D0EF0200209F0400905801E8AF00F4BB0000209F0400905801FA2B00F4BB0000C8270100245600FA2B00FD2E0000C8270100245600FA2B00FD2E0000F2490000245680FE0A00FD2E0000F2490000891580FE0A40BF0B00807C1200806E25519323915A459BE53705180802A0DF0500403E0900B0EE93A8C169FBE7CA0ABA0D0D0D7BFA4D01068200E8770100904F0200AC9F44EAB6951474670E19326423BF25C0401000FD2E0000F2490080F593480DEEAAA0DBD8D8B88FDF10602008807E170000F92400C0FA4DA63ABB97EE2CB37301034100F4BB0000C8270100D67F32B5C2BD74DD3B1730100440BF0B00807C1200A04E343434DC68762E602008807E170000F92400401D6A6868D8A5E6DEB97BF88D00068200E8770100904F0200D4575295DD4BD7EC5CC0401000FD2E0000F2490080FA4BAA064BAC00034100F4BB0000C82701807E2749928DE6CE9D7BDDBDF7DEFB72B95C4EA64C99D2275B24567DF5B3B7B6B626D3A64D7B2A6D078ABF299AF833100440BF8B7C523E89B817F7E25413A7F249F46B9A7E0D201707A1E9D3A7270B172E4CFEFEF7BF6BEBA92D5AB428993A75EADFD283D27EE24F137F068200E877914FCA2711F7E25E9C6AE2543E897E4DD3AF0164E28A2207A1BA3918FD7DCA94290F8B3F4DFC190802A0DF453E299F44DC8B7B71AA8953F924FA354DBF069089E5211C04EAA7A507A27F8A3F4DFC190802A0DF453E299F44DC8B7B71AA8953F924FA354DBF069089B5E71D00EAEA4094883F4DFC190802A0DF453E299F44DC8B7B71AA8953F924FA354DBF06B05A07A2E79E5990CC9D754932A7757CD6E2EB78CEC1C38148FC893F0C0401EAA88F9D1CFDEC2ADA2CBF29F9A47C523E29EE35712F4EC529C6F1E8D7F46B00FDEA40B464F1FC64F61D2725BFBD65EC722D9E8BD71C401C88C49FF8C34010A04EFAD8C169FBE7CA0ABA0D0D0D7BFA4DC927E593F249712F5EC5BD3815A718C7A35FD3AF01F4AB03D113737EB1C241286FF3E64C76007120127FE20F0341807AEA676F5B494177E690214336F25B924FCA27E593E25EBC8A7B712A4E318E47BFA65F03E85707A287AB677479208AD71C401C88C49FF8C34010A08EFAD9C15D15741B1B1BF7F11B924FCA27E593E25EDC8B7B712A4E318E47BFA65F03E87707A2D953C67579208AD71C401C88C49FF8C34010A0CEFADACEEEA53BCBEC5CF9A47C523E29EEC5BDB817A7E214E378F46BFA35000722CD8148FC893F0C0401D67F5FBBC2BD74DD3B573E299F944F8A7B712FEEC5A938C5381EFD9A7E0DA0DF1E88E6B48EEFF24014AF39803810893FF187812040BD696868B8D1EC5CF9A47C523E29EEC5BDB817A79A38358E47BFA65F03181007A247664CEAF24014AF39803810893FF187812040BD696868D8A5E6DEB97BF88DC827E593F249712FEEC5BD3815A718C7A35FD3AF01F4DB03D1D3F31F4C66DFF9BD159789489F8BD71C401C88C49FF8C34010A04EFBDCEC5EBA66E7CA27E593F249712FEEC5BD3815A718C7A35FD3AF01F4EB0351B43FFDFAD2150E44F19C83870391F8137F180802D4719F3B78DF7DF7D5EFCA27E593F249712FEEC5BD3815A718C7A35FD3AF01F4F303D1D2A5C923F79CBFE23211E973F19A03880391F8137F74DBEE6D03414B7F02ACA37E376DFA5DF9A47C523E29EEC5BDB817A7E214E378F46BFA3580FE7B205AB2787EF2C719A52ED7FE8FD7621B07110722F127FE58A5C1695B9CB652DBBF7BFA9500E877914FCA2711F7E25E9C8A53712A9F44BFA6E9D700D6EC40B47469B2E0914AF2D0ED27747910CA5B6C13DBBACAC88148FC893FBA1433C416A56D78CDE3180CBAC21740BF8B7C523E89B817F7E2549C8A53F924FA354DBF06B07A07A2555D4DE42A230722F127FE582D7B0CEAFC4ADE7C70E80A5F00FD2EF249F924E25EDC8B53712A4EE593E8D734FD1A40F70F44DDB99A6865571939A03810893FF147BB7C79A63D56739008807E17F9A47C12712FEEC5A93815A7F249F46B9A7E0DA0F303D19A1E84F2E680E24024FEC41F992183965DB97BE02AB6331804D0EF229F944F22EEC5BD3815A7E2543E897E4DD3AF0174FF40A43910893FF1C75ACBEFADB34F37B7CF0783EEC503A0DF453E299F44DC8B7B71AA8953F924FA354DBFD6670D1F3E7CF3A14387EE97B652DA66A66D41DA929A168F673634345CD8D8D87860DAB6F05B1B80E6CD9BB7D38D37DE38F1DC73CF9D7DE289272E193D7AF4CBC3860D6B0F94912347FEE3E8A38F7EFA94534E9976F6D9677F3B0DAC8D1D881C001C88C49F2611EA41BB0C5AB37BEAC4E07189C120807E17F9A47C72ED8C1B376EC3E609D59D0B932A3B76D6E2B5FDAFBDF6151DBFAF50AA1C30A6A5F23971AF19478953712A9FACB77CB2B78F6D635ACA9F689A58F97F1D9F3FB278EBABE3F942B1FCB1A696EAAED10EBD60F2A6CDC572F3B84BAA5D9E576F2E55871C5DAA6EDFD96B8573ABDB1E596C7D7FBC5EDBE2B9F4BDB6D3AF697DAD5FEBEFB9E7EA686868D873E8D0A1931B1B1B5FEA50C05D654BBF674ADAF6193264C8460E4BFD5892241BCD9C39F3D862B1B860E4C891C969A79D96DC70C30DC9030F3C90CC9F3F3F79E9A59792DCD34F3F9D3CF8E083C94D37DD944C9A3429193E7CF84B63C78EBD67C488113B49B0350722F127FE584B4306756F79A6AE58B60940BF8B7C523EB9968E39EB8ED734172B8F3797CAA776D60AC5CADCE609D5CD979D70AEFCB050AC5EDB54AC3C9C7ECFF5FFFEBA7C5D734B79A2B8D78CA3C4A938954FD6433ED9DBC7B6A662F5B842A932AAE3F359A1AA5829A7AF1F96EEE7E8E662F59E28F2A6CFFD66659FB7B9A532BEB954ED74B673BC4FFA198BF159E2B3A5FBFAEDB2AF2B2DE9BFC774F777129FADE373F1D9567CAEBAD5A117FCFA95FA35FD9ADCB3F70C1D3A74706363E3BDAB5BC4EDA2CD4AF7E5C2EBFE68EAD4A923264C98B064D4A851C975D75D972C58B020591D8B172FCEFEF31F71C411FF1C3366CC8C3458B691606B0E44E24FFCB11683B8952DCF94D4B4AEECAEB800A0DF453E299F5C736D279AAB71F2B9B9589DB05C6B291FD3DC52BD73D4B9D5CD623652734BE5F8A662656CBAFDFCF8374E68A75F3F993D57AA1CDB34B1BC9BB8D78CA3C4A9381DD0F96477F47A3ED9DBC7B6E662F9C2741FDFEDF8FC512D952FA5DF7B53A1589991FE3B3BDE27FDFA84F4EB479A5A2A57A4FFDE91BDFF84EA36B16DA158DD3D5AF65AFA39F2C7F1DAE8D2D47775DC7F7CDE28E4AEEC673FEE8229AF4FDFE781A652B56159869F6C903E3E2F6D8FA53FFFADCD13A6FD473C9DFE7C63D29FE3C1F8ACF96CC8A652E50BF1993B9B1DA95FD3AFC93DD75ECCA66D6C6C3CADB319B9C71D775C56B39B316346F2F8E38F272FBEF8625693FBC73FFE913DBEF7DE7BB38999279D74525785DDD2405F61B7DF8859B9D75C73CD4323468C48AEBAEAAAF6605853318B3766ED1E74D041FF3CE490438E93606B126CF127FE580DBB0EEADEBD73BA5358C807836BB2DC13807E57BFAB60A029E8B69D543BB2386DCB63CEBFE3CD1D5B7E522D5E2F145B3FD554AC9C1C27D76A5BF65CA9F2C9A689AD6F11F79A71943815A7033A9FECAE5ECD277BFBD896EE7B7A53A97C5567EF5D2896F76A2E96FF18ADA9583E3166E946E12A8AA451D08D6D961566ABDF4FF77F52B442B132277DEDEE7F3FAE7E3F966E1E37EEDA57654B3527C906596136FD3C315B377F1C3F67ED2CDBD8367DBF69E9BE92BC209CFEAC47A48F6FCF660F47D1B8546D6ADBD7BCC239B7BF317D6DCA9896EA07C6B44C7D6FCC243E6252EB9BF46BFA35B967CF1B366CD8561D67E51E74D041C925975CB2DA132F1F7BECB1E4A28B2E8A15753B16751F8AF771C8EAC3D260D8A6542A2D6C6E6ECEFED03D29F65728145E1C3972E4E503A1FAEF40E44024FE3403BC1E1904C6A06DBF6E6CDBDDC2C2A041FFBE52D8122300FA5DE493F2C93538A9D67682FA81A652E59668316B67D9C9DF6527D5969D80AE7C2466F7145A2A87D6B638415D284DFD4F71AF19478953713AE0F3C9D5D16BF9646F1EDBA230DB542CDF1785D028B8D6BE96EEBF319BA15BAA8C4ADFEF2B4D2DD5D3B2C72D958BA2401B337B3BFBBCF1B96246EFB871D5E5EE8519F70B8D226B1485A345E1B7A9585950F3F8D7E9BFD9DF25BE37FDFA17E9F617A76DE1B2EC3E2BDCFE6F14C5E2617CA658B2B670CE3D9B3497CABF6B9BCDFB5856442B567FD534B1F583FA35FD9ADCB3E73536366E7FC00107FCA5B6F81AB7425DB870E15AD5E7E296A9E3C78FEF58D47D62A0ADACDB6F44313796588E69D8B15C726F88D9BE3FF8C10F9E3FE490436EEBEF376076207220127F9A01DE5AC99755EAEE2070750A0BF9FE97282E00E877914FCA27D7F8A4DA1DF9F38562A5357BAEE6A45AF384EACEE936B3B27BF9D5B662E5378549951DC5BD661C254EC5E980CF27D764FF3D9E4FF6E6B1ADB9583E3C7D6D522CB91C85A5DAD7A200BB6C29E3CAA3E976CD311BF6A8627597747F53E37E9F4DA5F2FE1DF777F4A4F2D651884D3FDB99E93607ADECE7EA72C9E56585DB9F664BD696AAFB145ACA93B37D97AADBA79FE5CFED9FBDA57254BC4FF6BB2895BFD354AADEB06C4671E5A6280CC78CC7F819DC4357BF26F7EC393163B6B6981BB372EFBAEBAE6C15DC9E327DFAF46CBF8ABA7D582CB31C3373A398BBB64B2C776709E6534F3DF5D934682E92606B126CF127FEE844BE3CD3EA2CA7B4BA85857C3068195000FD2EF249F9E49A9C542B55EE6D9ED4FAF1AC152BB33A9E543BAA58D929B68965260B2D959FC7BFD1625B055DCD384A9C8AD37E9D4F6E90B66FB6FDBB363ADB4F8FE793BD756C6B9E50DDBC50ACCCCD8AB0E9D74DC5CAC331BB357FFDA849ADEFCBEEAF5BACFC28EE5B5B28964F8F6DA3B09B3EFE4B6785D2F4F92BD3F7FD7A2C2F1BB3643BCED2ADD55541B7502A7F3BDDCFB3CBEE435AB93B8A5D716FD1B662EDCD35EF558DF75AEE7BB3A59FCBA7C63D77A3A0169F3F5B9659BFA65F937BAEB5B67BE6B62FB33C6CD8B0E4F7BFFF7DAFD4E8E21EBB1D96607E68FFFDF7DFCCA1AC8F887BE6C632CBCF3EFB6CB22E44D178CC9831CFA64179AC045B93608B3FF1478741E09A2CCFB4268585B0C71A143100F4BBFA5DF9A4A6A05BAAFC6FCC38CA5AA9725236E3A77696444BF9C8424B758F98655428564E682A96471F7EDEF43734152B6363794971AF1947895371DA2FF3C928BE5EDC96235E3C68CD8BBA2BDB4F8FE693BD716C8BA5600B2DE5CB62866EFE5C53A97A6014618F39EB8ED7B43FB7ECBEB9D36279E458D2387BBF62E5F2B43DD17149E398C59B3E7F75FE387DBF42CC9AEDB89473AEAB826EDCFFF6A896D6CF444BF7F787F899A2D0DCD432E59D510CCB96B12D95BF987FFDEFF7AFEE17B383E33346B1ACED7EA56363F6AE7E4DBF26F75C7B8D8D8DA7D5CECCEDAD626E6D51378AC63545DD92C3591F306DDAB49123468CE8F17BE676E79EBA69C0BCB8FFFEFB6F2BC1D624D8E24FFC5133285B93E599D6B4B010F265A12C030AE877F5BBC827E5932B31EE92EAC6B114647632B758DE2B7F3E6644B4DDB7EC57875E3079D3C2B9D56D6336C491C5EA564DC5CA6DA34B77BEADB9A5323E7D7D78A15839257DED7F9A4BD521E25E338E12A7E2B4DFE593DFEC9027AE4951B7B6989BB76FF4563ED9D3C7B6A3CE9DFA8EB88F67DC9F36F659FB5E51844AB79D7164B1FC9E63CFB8FBB5E9F71F9F6EF7DBA696EAF9E9BFD7C43E625F4D132BDBC57D6B0B2DE5AF364F98BA4373B17C63DC3734BE67B9FD152BFBA6ED97519CAD7DBE50AA0E4E3FC3B09885DBE5CF9DDD47B7B2A4769F8562B594BED71F63D6EE91C5D6F7E7CF477179D9CF7EEBEBB2C7C5CAC9515C8E59C7F17BD0AFE9D7E49E6B67E8D0A1831B1B1B5FCA8BABB1CCF2BA10CB2FD7DE5337FD0CC6E8F52C965AFED18F7EF4DC55575D95AC0F37DC70C333C3860DBB4182AD49B0C59FF81BF086ACE5606C6D0A0BF960D032A0807E57BF8B7C523EB9123103224EF6767C3EEEC1174B30E6F7078C936CD1DA4EFA8ECDEE1F98B6F4EB1F14CE29BF3D968A8C9940E25E338E12A7E2B4DFE5939D156357A7A8DBD9F75FD4C5F7F7483ED9D3C7B6E649E50F3795AA8774F57ED94CD7749B98051BB36CB399B983B2D985C7C473F976B1CF6C16EEC4F26E51B8ED727F13A6EE907EFEDD977BAEA53C2E3E5B1476D7E4F7D1D97B742CDCC6EFA2638159BFA65F937BAE99DAA5964F3BEDB41EBD67EEAA8C1F3FBEB6A83B2B967E966DD5A99933671E3B6AD4A85EBF6FEECAEEA73B62C488270F38E0809D25D89A045BFC89BF016B97B641E03E6BB18FB52D2C0C1A64195040BFABDF453E299F14F7E24DDC8B534D9CAE6D3EB9A645DDD529E6CA27F56B9A7EAD5F686868D8B376A9E5850B17AED31ADDD34F3FBDDCFD741B1B1BF7F157A953E79C73CE82EBAEBB2E599F264F9EFC441A28973910690E44E24FFC0D48F93249C3D7723F3D5158A8FD3C0683807E57BFEBC49A3C4E3E29EE35712F4E3571BA66F9E4EA1675D7A4982B9FD4AF69FAB53E6FE8D0A193F362EA25975CB25E6A74975F7E796D41778ABF4A1D9A376FDE4E23478E4C162C58B05E0BBA8B172F4E0E38E080BF0E1F3E7C630722CD8148FC89BF0165480F0EBA7AAAB010E20ADF4583DCDB11D0EFEA779D58D3FA483E696934716F1C254E35715A87F964778BBA6B53CC954FEAD73479679F357CF8F0CD6BEF9DBBBE6A75312B78D8B061B545DD2DFC75EACC8D37DE38F1CC33CF4CEAC1F1C71F3F2BA696F785DF5B5CA190B65D1D8824D8E24F33C0EB7E4C7662F0A0B55FEEB3B70A0BF9607089C120D08FE877914FF6C37C321D4EBF75DEBC793367CC98919C78E289473BC126EE8DA3C4A9264EEB6C1CBFAAA26E4F1473E593FA354DDED927E37FE8D0A1FBE545D4E38E3B6EBDD6E84E3AE9A4DA82EE81FE8275A6582CCEB9E1861BEAA2A0FBD39FFEF4A134504A7DE1F7563BF5BCA1A16117072209B6F8D306F28988EEC6642783AC9E58EEB3370B0BC1B24D407FA1DF453ED90FF3C9C71F7FFCA4175F7CF19FF9B87AE9D2A5FFB8FAEAAB1F39E288237614E9E2DE384A9C6AE2B48EC6F15D1575371CD473C55CF9A47E4D9377F6B9F88F9A58BEDDFABE356AD40AF3CF927EDE0BFD05EBCC89279EB8E481071EA88B82EE7DF7DDF7481A2833FBD27FC49A765B67575A381049B0C59F36900ABAAB8AC94E06573D7DC56C6F1416F241EB228341A00FD3EF229FEC67F9E473CF3DB7D3934F3EF95857E3EB3FFDE94F2F9E7EFAE93FEE6FB73512F7C651E2549C8AD33E3D8EEFACA8FB87413D5BCC954FEAD73479679F8AFFA889E5AFC7CCE7F5E9DE7BEFADFDAC33FD05EBCCE8D1A35F5EDFF7CFCD3DF5D453CFA541B2A08FFE476CBFD2A2F63FA40391045BFC6903B4A0DB694CB619DC8B83AADE2A2CE4834157F8027D917E17F9643FCA27531B3FF1C41397BDFCF2CBFF5AD518FB5FFFFAD7CBB7DF7EFB538542612F512FEE8DA3C4A9264EEB641CDF5951B7A78BB9F249FD9A26EFEC33F11F35B1FCF9C71F7F7CBDD6E8E6CF9F5FFB3917F80BD699B8C9F14B2FBD94D48B0894BEFC1FB1F64A8B9842EF4024C1167FDA402EE8768CC941CBAEE88D41E0F06E1607D657EB4A6FCD7003E82DFA5DE493FDA8FDEA57BF4A9E79E699BFADEE387BF1E2C54BCF3FFFFC726363E316E25EDC1B4789534D9CF6C2387E75C532CB1D67E6FEA1EDF9DEC887E593FA354DDE59B7F15FFBF81FFFF8C77AADCFC5FBD77E1E7FC13A0CA87AD28D00EF536D7D1F88E6CC99935C76D965C9DCB973D77A5F4B972EEDF307A2FE165FBD197F8B162D4A1E7EF8E1E4B9E79ECBFEFDEB5FFFDAE5B68F3EFA68F2F39FFF3C79F2C92757BACFB8C2E8C20B2FCCF61D8F9F7EFAE9EC7B162E5C985DFDB364C992F66D6FB9E596E4FEFBEFCFBE8EF77EF1C517B3188CF6C20B2F24CF3FFFFC0AFBE8ACFDED6F7FEBF4B3C4F2152D2D2D5D7ED6F8996FBCF1C6ECEBFBEEBB2F99376F5EF6DEBFFCE52F57F9738ABFCEDBBEFBEE9B0FD2CE5FC5A1A99E0B0BE1ACB66D36974500756EF3FED2EF0EF463E8401DCFFCE637BFC972B075917BAECF1CB1BB2D3E73B1588C9364C91A9C58CBBE574CD747DCC7383DC637B5CF45AC3EF8E083EB74CCD517E2DE386AE56D20C5E91FFEF087E49A6BAE89653D3BDD67AC3E78E69967264F3CF144FB73175D745116B3CE37AD9371FCEA58D90CDD8B07F5EC0C5DF9A4E3EF722DCE73B6B6B6B63F8EFE268E83F979C6DA16FD476F9E0F97776A9DB57AABD139AD5267EA6C86EE927E304377564343C39E43860CD928B65B9F274022F97EF39BDF9C6CB8E186C9073EF081E42F7FF9CB0A07A557BEF295C9269B6C926CBAE9A62BB4787EA38D36CAD64D8FED6FBEF9E6E415AF7845F2EA57BF7A8516FB79E6996796DBFFA1871E9ABCE31DEF48B6DE7AEBE46D6F7B5B326DDA34574CF6A1F83BE79C73B2D879E49147B2A4FAFAEBAFEF74BB1878EDBAEBAEC9061B6C909C7DF6D9D980296F79D21383BAF8FE185CC5BECE3BEFBCE4AAABAE4AA2FFA94DDC478F1E9D6DFFDBDFFE368BBDB7BFFDEDD9F746FC744CF2635FB1EDF0E1C3577A82F88C33CEC8B69B397366B6FFA6A6A6AC6DBFFDF6D9EBDFFEF6B7DB9F8BD7EFB9E79E6CFBF3CF3F3FD97CF3CDB3AF23867FF8C31F665FBFEA55AF4AAEBCF24A5796AF614C0EEADE7247668A01F41CFD2E753B9E8913F7AF79CD6B92D7BFFEF5597BDDEB5EB7DCEB6F79CB5B92D34E3BAD5773CF7AC81157A7DD74D34D31CEBA39FD3C0BFEF5AF7F756B209F8ED3AE3CECB0C3AAE9DFF5C6F4EFBB8DB85FBF71FFD4534F255B6EB965F2A94F7D6AB9C2538CC17FFCE31FAF9331575F8B7B337407669CD6EEFB8F7FFC63FB79811D77DC312BDE767CFF51A34665AF7FE10B5F48BEF295AF64F11C8F77DA69A764BFFDF6CB0A9393264D12A7BD378E5F9B62EE1F7AB9A82B9FD4AFB5B7B83024E22C8E6DF9F9CF787CDB6DB72DB75D144C37DE78E364DCB871D9E34F7FFAD3C92EBBEC92B50F7FF8C3EDCF1F73CC31D971F4FDEF7F7FF2AE77BD2BD961871DB29C36CF6FA345BE1BC75479A7F8EF2AFE6B9F8F8BA9CCD0A54B871F7EF8DFEBE51EBA694739BB0FDF43B763B233685D1D883AB698BD78C30D3724EF7CE73BB383CCEF7FFFFB64B7DD764BDEF39EF764574AC69548B1DDECD9B3B383C671C71D979C7CF2C9C9F7BEF7BDF6168FBFF39DEF64AFE75733FEDFFFFD5F522814923163C62CD73EFEF18F6707A08E9F230E2CA79E7A6AF2CD6F7E33DBCFBA38D00CE0826E8FC45F1C3022B988936B3FF9C94FB2627D0CDEE2EF17FB8A8B02E24281FC8AB61878C5E0285E8F04E56B5FFB5AB2C71E7B6403B8ADB6DA2ABB922C9F6D1BF1F8C637BE31F9CC673E93BCE10D6FC8129CFDF7DF3F1B20DE7AEBADD93E2EB9E492EC6ADB4F7CE21359CC36363626DB6CB34D327EFCF8E4FBDFFF7EB64D147063F01703C1D8F7B7BEF5ADF66D3AB6B828210692B15D7CD6F85C871C7248D6F6DE7BEF6C809AFEDEDA9F8B02F6E5975F9E4C9D3A3539F8E08393CD36DB2C4BF4B6DB6EBBE4ACB3CE6A1FC0C6FFAFE9D3A7AFF4CA6405DDCE63B2C360AAAFDDCB31EE6BB164907BEF007D8F7E97BA1CCF44C12062A7B9B9393B791517F4C58C89C81DA34541F7B0C30ECBF2D3DECA3DEB21475C937C32CD93F739E594539E58BC78F1C295DCC76CF605175C7061FAB77D24B617F5F5338EFFDDEF7E977CE94B5FCAE2290A60E9FB677116E3EAF83AC643E25E4177A0C7697E8E222617BCFBDDEFCECE6F459CC576710E20CE31E52B7245D1F84D6F7A5376CE2A3EE35E7BED951550E2F3478BC909C71F7F7C3279F26471BA7EC7F19D1573E39EB91B76F27C4F1575E593FAB5F6167D481CC3A21F1A3C787056CC8DE35FF429F17C5C3C926F7BE4914766C5D498A014334EE33C639C33FFFAD7BF9EC5E811471C916D57A954B2E3661471D3BC2BD979E79DB39F31FAB5F7BEF7BDD90CDCD83E962F96778AFFAEE2BFF61EBA8F3DF6987BE8D2B5638F3DF6FF1E78E081BA28E8A689E05D6990CCEC63FF11674627D545B2B3CE0BBAA552294B96E34011C5B8F88C071E786072C00107649D7D3CBFC5165B64C5B1BCA09BC640563C8B643A6FF1F8A8A38E6A2FE8C63238D1994C9C3831F9D18F7E944C9830A1BD7DE8431F4AF6DC73CF6CD987CE967B886D623F279D7492826E9DC75F5C351BF1F3831FFC205BFEA86341370AF4F17ABE24730CD04E3CF1C4E4AEBBEECA064F71855A24229FFBDCE7DA974ECA5B5CC51B83B58893B8C22DAEF28A2B68631F91047DF0831FCCDE3F622FBE3F6677C7F7C495B45FFEF297B341632453F98CDC7CFF51D08DD72291E9D822E1894166245FB1744AC47AC477ECFFA31FFD68B69F4F7EF293D9E3CF7EF6B3D9450CB1D44A7CB61880C6FF9948BC2269FAD8C73E965D2917CFC5FFA998951EFFDF9C8858BD98ACB147DBA0AAA7AF90EDADC2C290B43D91B603650E401FA5DFA5EEC6337941376653454E1805DDC80BE30458CC7288D7E2A458CCD2EDADDCB31E72C435CD27D3DFD366C3860D6BB9FEFAEB17BEFCF2CB2FD40CAD5F7CF4D1477F9CBE36BBA1A161429A3FBB4D441DC57DC466ACA015CB2CC6C5D8CF3EFB6C168771C23666E2C4D7F15CBC26EE077C417740C769BC4F7E7E2B8AC423478ECC66B1C56A70F1FDF9F363C78ECDF61B9F27FE3DF7DC73B3E24CACF815C594ABAFBE3A2B7A745C3E5A9CAEF3717C57C5DC0D56F2FADA1675E593FAB5E5DA75D75D97C5564C788A8B45F2F6D39FFE347BFE8E3BEEC8B6BBF4D24BB3C2EB17BFF8C5AC501B85DCB87825FAAF78FCDAD7BE36BB4025B68D152BA3BF8A3E2FCE8BC73132CEBDC7E398681213AC62DFB366CD92778AFF2EE33F5ECBB78B63EFFA14ABB5D67E667FC13A337EFCF83BA3F0510FCE39E79CC9699094FAC87FC4955DB5B6CE0E441D5B2C1FF35FFFF55F59412E66CEC65594798BC771355124C971454F5ED08D4E228A77B1346DDE62D99B38D00C6A2BE846623EA81BCBE5C541A9E367DA7DF7DDB3D7E2C0A3A05BFFF11745D318B87556D08D84232E0E88ED62F0157112B326F2136E31688A0159B428CCC6602B962C8919B551F88F44264ECAE5C94A5CD51B2D068579EC44DC45E21257D8BEF5AD6FCD12A398B111B375E38ADF282AC7F7C709C0D83EDE23961A8918FFFCE73F9FC577B44882E28ABBD8B65AAD66DBC6678DCF18B3D2BFF18D6F64AFC5C0311EC7F3B1AFFCF710339463201A4B4E47ECC615C17120CB2F8CC8AFC4732262F562B283DE58F6A8370A0B3DB9BC14C0FAA4DFA5AEC6337941376652E505DD7CC5A15852335E8B0B4A7B33F7AC871C716DF3C9F4FD07170A8507E7CE9D3B3FFDDD4D3DE18413AE693B293458A4D75FDCC7EC9F8F7CE42359412A4E0CC7B8E7BFFFFBBFB3381E316244F675C459C4B2B81FB0055D719A7E86CB2EBB2C1BE3C7F9AB384711E703F2168F4F3FFDF4649F7DF6C9260FE43379E33C40EC33DEF3DA6BAF6D9F351CE7C3E2715EF415A7EB7C1CBFAA62EECAB65BD3A2AE7C52BFD66541375620F8F39FFFDCDE62F6ECA09A826E14506376EEA0B665DE63166E2CFB1EB3670F3FFCF0EC1C647EFCCBCF53468BE26D14696339E6EF7EF7BBD9D7318376505B4157DE29FE57B24D292FA2C604A5F5296A85F967493FF785FE8275E68C33CE38F8ECB3CFFE573D1474D30E6D7204777FFAFDAE8F25971F7FFCF1ECCAA2589EA1638BE7A34017573BD6167423A18E03C4FBDEF7BEEC0AA23800D516741F7AE8A1EC6016CBA1DD79E79DED572EC5958FBFF8C52FB2443C96C4897D761C04C4C12E12FED83EBE5741B7BEE32FEE671357A14561BFB6A01B0793B8F2EBE28B2FCEB68BA58DE2EF1E83BC888BF4009EDDA72666FCC7D56171155914546369A51800469212CB6FE72D0AC379F135622B067A6932900DDA22498A7B43C4202F929918D8454137DE2F5F7A392FE846521303B9585A2912A0487C62D66EECE3A0830ECA0675F9CF16AFC555BA118FB1EC52EC270E4EF138B6CF93A6FBEFBFBFFD1E3E9130755CD624F62FFEEAB6B8D0D38505834040BFABDF1DD0D6454137F2B29801911774A330107967E4827941B7B772CF7AC8117B229F8C134469BEDC1C9F3BFE5DCD93F3ACE371FC5FFFFAD76CE64D9C988DA56063FC157115711F2DC6D0F1B714F7C65103394EE3764C31EBED673FFB59972DF617E79D4E39E594ECB3C5EA5E3133EECD6F7E73766E2BFE8DF78E2552E36788654DC5E93ACF27BB5BCC5DD9F6AB5BD4954FEAD73A6D575C71C54A272AD59E438C156222178DE3604C3C890B4862566EE4AFB1F240BC1ECBB8471F14C5DBB8002696A18F73EC9DED3B5E9377D295F477B95F5E448DE2FEFA14174AE59F25FDFB5AE1A0DE0C1F3E7CE3B4C3F8C7D34F3FBD5E0325ED0CE3FEB98BE2F33810AD5D8BAB86F2243BBF22325ACC628CE7630DFEDA7BE846413796C38942597E15D2B6DB6EBB5C41379E8FFB8DC4E358D22112F1F83A92EFB82A29AE5A8AA5753A7E9648CCE3E017F7DF8D034F2C8D1B830205DDFA8DBFB82020FEB631D0A92DE846271E8FE36F996F1BCB1FC712799180C47D6F62BB98219E9F948B826ABE6D5C211BF7BCC95B5C759B2FAB1457D3C66CDC484C226189415F5C2CF0D5AF7E355BCA24DE270ABA71555C149A07B5157423118BCF19AFD5B658A66F50DB95BEF17A5C3D9C274DB16453FCBBEFBEFBB6C773EDF3B15D2CE514AF458274F7DD77777A9F8AB82842FCF5F860B027065B3D595888CFD51BCB9302E877F5BBC6333505DD58052666E9464137C632317E885563E2C2BEBCA0DB5BB9673DE4883D994F3AA1D637C6F18F3EFA6872F2C92767AB11C5E3FCFEA473E6CCC92E9E8EE7E2E4B1B8378E1AC871DAF6775F658B1977F17D31C32E96518D254F63C9D2B8D76EBC5F146862866EDC9F77E1C2FFDFDEBD40D955960703060A0A168B5228D40B4A8B4B2B8268B9555153BC2CA8A928B0D9B32702B960A80ACC0CFC883F72195029050ACC1914112CCA4D416BD488229339275C03A2ADCA5D22201802895C2C11C245F6BFDFFD67A7C3908464C2CC9C73E679D6FAD6CC9C73E6C2CECBF7BEDF79F7FEF622713AB6F5E49A367357F57DABDBD4554F9AD7563A624781D8C52FDE1B8FF71D23B662BE895BB5C5EF8E1349E27591DBE2A495D835204E0A898B48AA935A868E9827E3F53127C64924B1A572BC8F1E5BD6C6D5B3B14B407C7EFDF5D7E7D17B5177B232B155754747C7335523F537BFF9CDB8F4E8224F7676763E37A4A1BB997F9D2674D4514735E28C92F1D4DFDFFF8D22482E9488D67EC4BD4162C28FAB6A873E1E6747C6E3914456D4D0DD65975DCA6413C5F58A1ABA31A2388EE7634BE72A79C595BDB155C5F0BF236EF41ECFC75925F1755C21BCCEB2C6A0866E73C75F1432B1A5D2D0866E2C82620134F475471C714479766D75C6589C49569D651B4DFEB87F6DF5DA38532DDEA88B7888ED91E20CD96AD116CFC799B4F1B3AA7BEAC4E7DB6DB75DF9665EBC2E1AB371A66D347BE37745828982291687D1E88DC22A7E7E9C31173F2B5E138BC35840C656E455D114B11D5B9FCC9831A37C4DFC37C4D771557A5534DD71C71DF969A79D56C6767CBDA2A229B65459D3FB427B23629562B1B5F8255874BD548D856A11E88C5EC0BC6BDEF5C6DA28D5E60B172E2C6367EBADB72EEBC7F83C6AC8D83528DE901FDED01DADDA73BC6B44F5E4C45BC7C72D8DE2DE9FB1FDEBCF7FFEF332E6E264D5B8ED4D9CD850ADD9C5BDB89FC8711A8D91071E78207FF4D147F369D3A695277BC7D6A8F19E405C0177EFBDF7967924AE108EEF8B46CC9FFFF99F97AF8DB88CBF239A20711FDDF81B162C58E0FDA6B1AD2747DACC5DD5F7BF5853573D695E5BE5983C79F2F2ED94E384956A6BF9A83BE3968155EE8B866FCC5B71324AE4C59FFDEC67E5B6F1B18B4CC462EC6E1857EB5627BCC4AE95312FC66E8331AFC55C545D58159FC78556317FCABFAC4A4747C7ECAA917ACE39E78C4B8F2EFA37439AB903FE559AD4F4E9D3DF3E73E6CC67E38CB6F1F0ECB3CFDE5F04C8FCCECECE1D24A2F169E846311CDBE8C40DD863C4FFB4431BBA5140C7FFD071C5633C76F8E1872F6FD6C6194B9110E3CACAEA77CD9A35AB6C06C6FD53AAAD71634453AEFABED13E8B48225ABBF88BAD9587DF437765575654FFAEB12D733C16FFB6B1B5519C613674D11631149FC7E3F13DB1688BB37CA390892BCA636BA6AA708A9FB7E9A69B968BAED84A29EE8513C550DC4F37AEC08D98AC7E761463D1D0DD6BAFBDF2254B96945781C7F7477133F46F8D42290AA1B80F4F347BD759766F9DF83A1E1FBA5D49759F8AAA688A4561144A55D11467E7C5C253FCBDE48BC1B5BD62ECA5682C4C5AE7A5BFC7248079D7BC6B3D336CC4BD72A3EE8B37BA627BCEB812214E348D37E9E3F9E10DDDD1AA3DC7BB46544F4EACB88FE6536CB518F15EDD4B6F8B2DB6281B57D1348BE762FBDA787F46DC8BFB891EA755A336DE9B885DE3AA5B7BC57B05EF7BDFFBCAA6EFD0BFFBC4134F2C7779889DC7A21113BBC6C5DF134D60EF378D793D79E03A236FE65656D4D43D403D695E1BC988F92B1AAB91D3625E8A7921E697B8BF76EC32108DD4D89A3DDE2F8FB92DAEBE8D5B07C6D6CA71224BFC8CD83639E2304E26A97E6EE4C3B89237DEB39C397366D9E88D866FCC6FB153657C1EBFA3BAE581FCCBCAC4AD48AB666AE4B0B898692CC555E4071E78E0D0AB733FEA5FA5897575755D1513C17838E9A493BE5E04C9B725A29766C4D595910CE2ECC52894AB11C9659D656728C6EBAA9BB2C7D771C56D759F80B82769DCF7A43A4B3EB6D3B9F3CE3BCB338D622B88B83749F16F563E175BDA44DCFCF55FFF755974471339DE7489E65A3488637B80E18B824852F1BD7113790DDDE68ABFD8763BFEDDA24888E226FE1DE3ECB0F8F77AFDEB5F5F3E1ECF470C44DCC4E22ECED87DE52B5F59DEDBE6F8E38F2FAFA8ADFE8DABAD8EAB455B2CC2220E2396A2E08862290A962846A2291B67C455AF8FE7E34CB93851207E4F145D717652FC0D116FC3FFDBE26ADDF85BE2ACB6EA3EBBDFFFFEF75F70B2436CE337F4C4876A3B95F879D5C90EF13112675C115CCC8DE582308E456CE71C7F7F9CB51767DDC53D32C4DF4B6E6DB7015DDBC6C2AEEBFCFF338CF7F54F019877CDBB8CEE7A266EE511DB77C688F545D45C713542FCCED88233BE8EEDF0E2B5A3597B8E778DA89E9C58717FCA29A7947113EB9CEDB7DF7EF9153CD58875573C1F312EEEC5FD448ED368D6C68E5B71A140FC8CD88A34AEFC8DEFADFE8E88C9EA4AB668C84403254E108A9F17234E188A988D264B3C1F271289D331AB2787366347D2CC5D939FA39E34AFBDE838F2C823CB3921B65D8EF71577DE79E7F282A3982BD659B60341BC171AEF2B461D5ACD33F158EC20B0EFBEFB96179BC463714149DC1F3CEAD41871B56F9C4812735D9CA412CDB0D86E399AB15573ACBAD5A1FCCBAA14B132AF8A993849E9D9679F1DB31E5DFCBEEA7717E3265B6A37B92449B69C366DDA537136F458BAEDB6DBAE2A02E4F1E2F76F2311BD7457E8C63D4BA2C11567055523AEB88CC7AB866E5CB11B67BD575F0F6DBAC6BD4EE25E56D5360F31626B9BF818DB3D44F11E85795C0D198FC5163C73E6CC293F8F266E14D1439B7343477C4F14F651706BE83657FCFDE4273F29176E679C71C64A473C1F3F379AFCD5F6DB510CC5F7C736CD71DFDB5890C5BD6E87FEECD81639BE37EE5511DB3045433FCEC28D45DB8AFE965838460115F1164DDC2BAEB8A27C3CB63389E2E5E4934F7EC1F7C4994BF1FA88F3D8A669E8D5E1C347DCF37965DB85C7FF2BB1F55FFC8DB1CD54FCAEEABE18F1DF103F7BFAF4E9E5D5CBE26FD4168323BDE7CDDA3416AAEDA26CCF049877CDBB8CC17A266AC7B81A2BD6A0F1C67D5C49155745449DB6D34E3B95BB00C5C9A6F1DAD1AE3DC7B346544F4EACB88FF8A8AE3E8CAD13E30AA1D8E12A76C8AAD62F712562C4A2B817F7133D4EA38112F1154D97D34F3FBDBCB237DE7B8AAB74E3AAB9F8F9D1A48DD88DD7C67B51D100193E22BFC4050AD57B58E274CCEAC968BE1EB0CEC89BB9ABF373D493E6B5D5BED547DC4A303E8FF924E69CB8D23F1AA3D1C48DAB72E322A9788FFB97BFFC65790153B56B4CCC75F15E765C00558D68B25E78E185CFFB1DB13BC161871DF6BCD755AFAD4E52947F599522AF7D604853B58C91B110FDA4A1BF37CB32BB1DB482A2C039AC98649E18ABAD978B45FBADC5EFBCB50892FF2311191ABAE26F65633CB6E7167F4DB1181CC91563236D2CBC14DB8E029877CDBBEAC9351CA3F9E6BAF50CD6F1E25E9C1AE2B425EAC991524F9AD70CF35ADBE9E8E838B56AACC6894FD16C1D4D37DC70439C10F5DC90866EBF7F85163263C68C0B4E38E184516FEA3EFBECB3F74E9F3EBD5E04C8D912912111893FF1C74A16676B7AA6ED481A0B6B73651A8079D7BCAB9E34D493E2DE10F7E2549C8AD391D79323A19E34AF19E6B5B6145B1D0FDD7A399ABAD75D77DDA835730F3CF0C03F0D69E6DE9C24C9C6FE155A2C60A64F9FFEFDE38E3BEE7F46ABA91B57E6CE9831A311F7CD9D3A75EA8612912111893FF1C72A16836BB2485BD3C642F5F39DD10B60DE453DA99E44DC8B7B716A88D3B1AF2747FAF3D593E635C3BCD696A64C99F2BA8E8E8EBB86367563FBE597F29EBA71E5EFB02B73EF2FC61B1DFD16144DDDCECECE730E3BECB0FF79A9EFA91BF7CC5DB6CDF2D9EDDECC95882422F16728845E126BB26DD39A3416AAED999CD10B60DE453DA99E44DC8B7B716A88D3F1A927D7847AD2BC6698D7268468AE0E6DEAC638F1C413F3458B16AD557FEEE1871F2E7FCED09FAB99DB26D2343D64CA94294B2EBDF4D2479F7EFAE9B5DD62F9FE934E3AE9EB45603CDECEF7CC95882422F16788BF715D0CAE6E6361D7622C5CC719BD00E65DD493EA49C4BDB817A786381DCF7A7275A927CD6B86796D425976A5EEBCA1CDD7FDF7DF3F3FFFFCF3F3850B17AE517F2E1AC1175D74516CB1FCDCB066EECD9AB96D2449922DB32CFB4EF10FFDD8B7BFFDEDDF3CFCF0C3CFAC49A0FCFEF7BFBFA5BFBFFF1BC5CFB823B6582E3EBE4522322422F127FE1881D5D9B669751A0B932C0201CCBBA827D593887B712F4E0D71DA14F5E4EA504F9AD70CF3DA8414BBE9A6697AC6B0266C398E3EFAE8FCD24B2F2DEFB11B3BED561765C6C7050B1694F7C8FDDEF7BE971F7BECB1796767E7732BF819FDEE99DBA68AA0795B31CE2DFEE1FFE7F0C30FFFC579E79DF78B1B6FBCF1370F3CF0C01F87F46F1F8F06EEBC79F3E69E7EFAE9B30F3EF8E0D945502CCEB2EC9BC5F7ED2011191291F8137FACA5B53DC3B7FAFE7D1D4A00F32EEA49F524E25EDC8B53439CAA2731AF19E6B566B7DF7EFB7D60F8D5BA6B316ECAB2CCD6F51341DCF77659F09C5A8C4631EE29C633438261E1B2C0EA4FD374F244B84FAE442411893F43FC8DCB62708F117CDF4B7166308079D7BCAB9E34D493E2DE10F7E2D410A7EA49CC6BE635C654F4DC3A3A3A660FEBC9ADD6C8B26CA0181F8DAB7E1D4990882422F16788BFB15C0CAEC9A2AEDAE6C9F64C00E65DD493EA49C4BDB817A78638554F625E33CC6B2D6BEAD4A9AF4AD3B4232EAC5C7681E5C2610DDCF2C2CBD87537CBB28FC7AD551D3590882422F16788BFF1128BBBC5ABB1B88BD78DE44C6000CCBBD633EA49F5A4B837C4BD3835C4A97A12F39A790D4022322422F127FE58CBC5E0AA167993D659BB7BF50060DEB59E51C7A927C5BD21EEC5A9214ED59398D7CC6B0012912111893FF1C75A58D9B64DBB1563A14520807917F5A47A12712FEEC5A9214ED59398D70CF31A80442411893F43FC8DFF6270E819BCD5E2F0E30E0D807917F5A47A12712FEEC5A9214ED59398D70CF31A80442411893F43FC35CF62F0D4756CCF0460DE453DA99E44DC8B7B71DA1463C99225F92DB7DC527E5C9BC7C5A97A12F39A615E0390882422F16788BFF6B0474747471CE73D1C0A80D1B7D5565B1D5A7C30EFAA270DF5A4B837C4BD385DE988E66CD40BF1716D1E17A7EDBB8E574F22FF9AD70024224343D7BFBBF89B6096357401189B3977F6DE7BEF9D4F9A34697D47433D69A827C5BD21EEC5A9862E23F42A8700F9D7BC062011191ABA86F89B58CD05C719600CA469BA6B31E73E13F36E9665AEA8504F1AEA49716F887B71AAA10BC8BFF22F8044644844E24FFCF1E2347401C6469AA6B362CE5D366E7244D493867A52DC1BE25E9C6AE802F2AFFC0B2011191291F8137FBC280D5D8031996B77ACAECEAD469AA6931D19F5A4A19E14F786B817A71ABA80FC2BFF024844864424FEC41F2FD664709C01467FAE9D3DB4995B5DA5EB5EBAEA49433D29EE0D712F4E357401F957FE0590880C8948FC893F5EACC9E038038CEE3CFB82AB73AB9165D9471D21F5A4A19E14F786B817A71ABA80FC2BFF024844864424FEC41FAB6A3438CE00A33BCFFE7845CDDC65639E23A49E34D493E2DE10F7E2544317907FE55F0089C89088C49FF863558D06C71960F4E6D8955E9DEB5EBAEA49433D29EE0D712F4E357401F957FE0590880C8948FC893F56A7D9E038038CDE1C3B7B55CDDCEA5EBA8E947AD2504F8A7B43DC8B530D5D40FE957F0124224322127FE28F95351B1C6700F32EEA49F524E25EDC8B530D5D710AE635C3BC0620114944E2CF107F1A0B009877D593867A52DC1BE25E9C6AE88A53907FE55F8096363838280134CF78B24844CF883F43FC692C0060DE453DA99E44DC8B7B71AAA12B4EC1BC6698D7004A575F7DF5C2458B1649024D30162C58F0AD2211DD2EFE0CF1A7B100807917F5A47A12712FEEC5E9D88C254B9694CDD9F8B8368F8B5330AF19E635805153AFD7F79A3B77EE630F3DF4D013AD34692F5DBAB4ADCE288A243467CE9CDF16635FF167883F8D0500CCBB4CAC7AB2A8C7D4935847897B716A885330AFA93BCD6B002B574C7E930706066E8A6D0A62EFF9661FFFF11FFF917776762EFFFA9BDFFC661E6FD4B5C2DFBE9211C7FDF6899A845A2DFEDA704CE8F8D3580030EFA29E1CEFF1D39FFE34AFD56AF9AC59B3D4935847897B716A885330AFA93BCD6B00AD2F49928DD334BDABA3A3E389216FD2CD8E37EA264D9AB4BE2304343B8D0500F32E54F23CDFF091471E79B490CF9C39F3878E080000EA4E005A5E9AA667C49B72C57866EAD4A91B165FEF1A9FC7635996EDE10801CD4E6301C0BC0B95FBEFBFFFC27C99EBAFBF7E41B1A6F9A8A3020080BA138096D5D9D9B9434747C793CB1ABA31A6A6693A6BC8D737394A40B3D3580030EF4258B264C9DBFFF4A73F3D970FF1C52F7EF1FEA953A7BECAD1010040DD09404BEAE8E8680C69DEC6F85975756E35D2349DEC48014D3E97692C009877619D071F7CF0EE7C98C71E7BECC12953A6F4393A0000A83B016839B105C4B066EECAC64DEEA50B34338D0500F32EDC77DF7DC7E62B316BD6AC078BB8DDD151020040DD0940CB88AD1F8AC4B270351BBAB9FDFF8166A6B10060DE6562CBF37CCBA54B973EBDB237D69E7BEEB9A77A7A7A7EE544550000D49D00B48C8E8E8EFED56DE62E1BF31C35A089E7348D0500F32E13D8EF7EF7BB79F98BB8FBEEBBEFCFB2ACDBD1020040DD0940D34BD374D7E1F7C95D9DE15EBA40B3D2580030EF32B15D77DD752FF6BE5AFEE4934FCE8DD89D3A75EA868E180000EA4E009A5A96651F4FD3F4DC22A9CC8EFBE316E3FED5BD97AEA30734238D0500F32E13DB71C71DF7E9556D7D17EFAB1D7DF4D197BA520200007527002DABA3A3E30FC5784D9224DB141F27A569DAE18D3AA085E630F31580799709EE5BDFFAD69D2B7B576DFEFCF95F89DBC8B897190000EA4E005A5292241B1549E689E18F7BA30E6815E62B00F32EC4C9A9F3E7CF7F72F89B6ACF3DF7DC2D53A64CB9A588DB1D1D250000D49D00B46A02DABA4832F70C7FDC1B7540AB305F019877219C7AEAA9FDCF3DF7DC9F86BEB176DE79E77D2D4DD3331C1D0000D49D00B4AC8E8E8E77C536102B78DC1B7540ABCC63E62B00F32EAC135BDB5D71C5158BAA37D51E7BECB14B8A78BD6BEAD4A9AF72740000507702D0B2D234DDBB4836DF1DFEB837EA805661BE0230EF42E590430ED9FDD1471F5D5A8C7CE6CC9973B22CFBA8A3020080BA13809656249A4F7574747C79F8E3DEA8035A85F90AC0BC0B439D73CE393FAED56A799AA6B31C0D0000D49D00B4BC8E8E8E138B8473DC0A1EF7461DD02AF398F90AC0BC0BCBC5567711A749926CE3680000A0EE04A0E51509E7ABC598B982C7BD5107B4CA3C66BE0230EF8238050040DD09407B4AD3F40745D2F9884404289C0130EF224E010040DD0940F3259C9F767676EE2C11010A6700CCBB88530000507702D07C09E7BE2449B69288008533AD2CCFF3F5EFBEFBEE6FDF70C30D7F1A1C1CCC0706068C311E73E6CCC9AFBEFAEADF17E3E322D2BC0BE2140000752700BC7409E7A924495E2611010A675A593473AFB9E69A7CD1A245F9534F3D658CD358BC78717ED55557FD61CE9C39FB8A4AF32E88530000D49D00B0969224D9B448388F484480C299561757E66AE6364D53F7A9818181DB45A57917C4290000EA4E00584B59966D5B249CDB242240E14CAB8B6D9635539B670C0C0C3C232ACDBB204E0100507702C0DA279BF76759569788008533AD2EEEE1AA91DA540D5DFF5F9A77419C0200A0EE0480B595A6E99422E15C2C11010A675ADDEA3674973CB630BFFBA6F3F35BE79C588EF83C1ED384D5D0C5BC8B380500007527004D27CBB2238AF1EF1211A070A6D5AD4E43F7F14717E4B7FCE4D8FC97971FF9BC118FC5731AB11ABA987711A70000A0EE04A0D992CDA9699A1E2911010A675ADDEA3474EFBFF5072F68E656E377B7CED688D5D0C5BC8B380500007527004D976C2E2CC6FE1211A070A6D5AD4E43F7F6C6BFADB4A11BCF69C46AE862DE459C020080BA1380A69265D940313E2811010A675ADDEA34746F19E85D6943379ED388D5D0C5BC8B38050000752700CD966C6E9E3265CA761211A070A6D569E86AE862DE05710A0080BA1380764C368B9324D95C220214CEB4BAD569E8DE3AE7C4953674E3398D580D5DCCBB88530000507702D03466CE9CB941916C9E2E3E5D57220214CEB4BAD569E8DE75DD592B6DE8C6731AB11ABA987711A70000A0EE04A0692449F2DA22D92C9088008533ED60751ABA0F2FF8557ECB95C7BF70BBE5E2B1784E23564317F32EE2140000D49D003453A2D9B1183F9788008533ED60751ABA31EEF9D9052F68E8C6639AB01ABA987711A70000A0EE04A0A9A4693AB948363F9488008533ED60B51ABA4B97E6775D7FF60BB75B2E1E8BE73462357431EF224E010040DD0940D3C8B2ECA022D99C2711010A67DAC18B35741F7F7441FEEBEBFA577A0FDD782E5EA319ABA18B7917710A0000EA4E009A25D11C9365D917242240E14C3B58694377E9D27CE15DF5FCE62B8E5E6933B71AF19A78ADAB75357431EF224E010040DD094033249AB3D2343D44220214CEB4831535745FECAA5C57EB6AE862DE459C020080BA1380A695A6E9778A64B3AF4404289C69072B6AE8AECE55B9ABBA5A5763564317F32EE2140000D49D008C67A2B936CBB2DD242240E14C3B58514377A4CDDC6A68CC6AE862DE459C020080BA1380F14C34F39324D946220214CEB48395DE43D7D0D0C5BC8B380500007527002D9A68962449B2B14404289C69071ABA1ABA9877419C0200A0EE04A06D4423371ABA1211A070A65D68E86AE862DE05710A0080BA1380B6115B2DC796CB1211A070A65D68E86AE862DE05710A0080BA1380764A32EF29C6B51211A070A65D68E86AE862DE05710A0080BA1380B691A66952249A6F4B4480C29976A1A1ABA18B7917C4290000EA4E00DA469665871689A65F220214CEB40B0D5D0D5DCCBB204E0100507702D04E49E68B699A7E4E220214CEB40B0D5D0D5DCCBB204E0100507702D04E49E66BC5982111010A67DA8586AE862EE65D10A70000A83B01681B699A5E5E249A0F4B4480C29976A1A1ABA18B7917C4290000EA4E00DA29C9FCBCB3B3F3EF252240E14CBBD0D0D5D0C5BC0BE2140000752700ED9464162449F25A89085038D32E3474357431EF8238050040DD09405BE8EDED5DAF48324F4F9A34697D89085038D32E3474357431EF8238050040DD09405B489264F322C92C9688008533ED4443574317F32E88530000D49D00B4852CCBB62F92CCCD1211A070A645F2D64031767BB1D769E86AE862DE05710A0080BA1380B690A6E987E2CD7189085038D32AFFBE31227715396CD795BD4E43574317F32E88530000D49D00B485344D0F2892CC051211A070A655FE7D878D1FAFE88A5D0D5D0D5DCCBB204E0100507702D016B22CFB4C314E9188008533ADF2EFBBA2317C2B660D5D0D5DCCBB204E0100507702D02E09E6F4344D0F9788008533ADF2EFFB22E3C7B115B386AE862EE65D10A70000A83B016897047349313A2522A09D0A67C318ED86EE030F3CB0FCF3DFFDEE77F9638F3D56FECEABAFBE7A85AFBFE38E3BF21B6EB8215FBA7469F9F5DCB973F33BEFBC7385AFBDEFBEFBF273CF3D375FBC7871F9F5C30F3F9C3FF4D043F9A2458BF2050B16E48F3FFEF80BBEE7BAEBAECBFBFAFA56FAF7DE7EFBEDF9AC59B3CACFFFEBBFFEABFC9BE36FB9F1C61BCB9F3DDA0D5D31D9FE43F6C11B6B0000A0EE0460946459562FC6EE121100ADB2305AC9B8294DD3C993264D5A3F5E379A0DDDEF7DEF7BF9C61B6F9C5F71C515E5D7C5EFCCF7DC73CFFC9FFEE99FF28F7FFCE365737768C337C6BFFCCBBFE45B6CB145BE64C992FCD24B2F8D9C9A6FBEF9E6F96F7FFBDBE5AF993F7F7EFE9FFFF99FF929A79C523EFFE52F7F39FFE637BF994F9932A5FCBA1A871C72483E6FDEBCF26357575739DEF296B794CFC5EFA91E8BE7AFBFFEFAF2679F7DF6D9F9AB5EF5AAF2F337BCE10DF949279D547EFEB297BD2CBFE4924B5CA10B4C88FCE1280000A0EE04A05513CC6D4992BC552202A0551646AB6AE45646B3A1FBC4134FE4071F7C70BEE1861BE63366CCC837D86083FCCD6F7E73D9E4DD64934DCAE6EA9BDEF4A67CE1C285CBAF887DC52B5E919F7EFAE9E595B49B6DB659FEE94F7F3A7FDBDBDE96BFF7BDEF2DAFC08DD75D7EF9E5F9565B6D956FBAE9A6F93FFEE33FE6AF7EF5ABF3BFFBBBBFCB8B3C9DBFE73DEFC97FF4A31F954DDBF3CF3FBF6CF4AEBBEEBAE5EF8FB1D75E7B950DE2E2582C7F6CBDF5D6CB2FBAE8A2FCAAABAECAA74D9B56FE7DD14C8EBFF5D4534F2D7F67FC5DDFFDEE77F36BAEB926FFD5AF7EA5A10BB475FE70140000507702D0AA09E691244936958800689585D1B2312FCBB28F0E6FE456C6E21EBAFFFDDFFF9D9F7CF2C9E515BA71C5EBB6DB6E9BEFB8E38EE5E79FFFFCE7F346A3913FF2C8236503351AA7C71C734C79456C345763BBE3BBEFBEBB6CE06EB9E596CBAF92FDCA57BE523672634BE46818C7D5C09FFAD4A7F23DF6D8A36C026FBFFDF6E5F7FEF18F7FCC3FF399CF948DDFF7BFFFFDF94E3BED54367BDFFDEE77975FEFBEFBEEF9673FFBD9727BE6F819FBECB34FF937C4B6CCF1F7ECBCF3CEE555BCF1585C551C4DE9FEFE7E0D5DA0ADF387A3000080BA138096B3E79E7BBEBC48304B2522005A6861B4C22B72871BCD86EEECD9B3F32F7CE10BF9F1C71F5F365BDFF18E77E4EF7CE73B9F37DEFEF6B7E75FFDEA57CB6D8F8B3FA7BC9A361AB4D56B7FFDEB5FE7679D7556BECB2EBB944DDAC99327975B2DC7F31B6DB451BEC30E3B2C6FD046C338465C611B4DDCEAEF88AB84DFF8C637E6471D75547EC0010794AF8FBF27BE8EC763FBE5EAB5F1B7FCE55FFE657ED75D77950DDDBFF99BBF291BE3D1D08DEF8B66B12D978136CF1FE6210000D49D00B49E2449B62A12CC7D121100ED66341BBA71A56D5C555BFC9A725BE568A6469ECCB2AC1CF179D5783DF3CC33CBAB61E3FEB571DFDB7ABD5E7E5F34747B7B7BCBC6EBE2C58BF37BEFBDB7BC3A377ED681071EB87C7476769657E7C688AB6BA3291C57F656F7E57DED6B5F9B4F9F3EBDBC7F6FFCDCF8DDF1F56B5EF39AE50DDDB892B8BA0F6F3473876FB97CD04107B9872ED0F6AC670000507702D0AAC9659762FC542202A0DD8CF696CB71CFD9E2D7E40F3EF860FE577FF557F9AEBBEE9AEFB7DF7EE578EB5BDF9ABFEB5DEF2A5F17F7C78D7BDE464337BE8EED8FE3FB7EFFFBDF97DB326FBDF5D6CFFBB9714FDDF859D588C670B5E5F2934F3E593692AB666C346C5FF7BAD7951FF7DE7BEFF2E7C6F6C9431F8FD77DE2139F289F8BE6EDB5D75EBBC27BE8C636CE1ABA409BAF7DCC430000A83B01683D699AEE552498EF4B4400B49BB16EE846F3F4DC73CF2D475C2D5B3574637CFDEB5F5FDED08D7BEE4613353E5F514337EE9FFBCFFFFCCFE5B6C96F7BDBDBCA0671D5D08DE73FFCE10F9757F1560DDD6DB6D9A6BCD277C68C19E5DF73C41147945FFFEDDFFEEDF286EE1D77DC919F76DA69E596CBF1F58A1ABAB185F4B1C71EABA10BB42DEB190000D49D00B4A42CCB0E2E12CC39121100ED66341BBA71A5EC91471E5936506FB8E186FC4D6F7A53BEF9E69B3F6F7CF0831F7C4143F78F7FFC63BEDD76DB950DDB5535742FBAE8A2F2F3B8DA364DD3B2A1BBDB6EBB95CDDB0D36D8203FFAE8A3CBE7A3891B4DDA0F7DE843E5D5BCF1F7C415BEF1753C3E742BE5EA1EBA554377DAB4696513B76AE8F6F4F494CD630D5DA05D59CF0000A0EE04A05593CBF159969D201101D06E46B3A11B57C816BFA2BC0AF795AF7C65BECF3EFBE4871C7248D9148D8F071F7C70D91CEDEAEA2A5FFFB5AF7DAD6C9C462377DD75D7CDAFBCF2CAF2F1B892F60D6F78C30B1ABA2F7FF9CBF38D37DE385F7FFDF5CB9F1357DA4693361AB0711FDD871E7A68F955C2714FDEA1570CDF73CF3DCB1BA8D75F7F7DF9797CDC7FFFFDF3CD36DBACFC9B36DA68A3F2EF88FBFDC6EFF9C0073E50FE1D9FFBDCE7347481765EFB98870000507702D092C9E5EC344D3F291101D06E46B3A1FB8D6F7C23BFE4924BCACF2FBBECB2B2591A5B21C755B931627BE468DE7EE52B5F295F73F1C517E7EF7CE73BF3430F3D343FEBACB396FF9C33CF3C33DF7DF7DD9FF7B3B7DD76DBFC94534EC91B8D463E65CA94FC939FFC6479856E347457F537CD9D3BB7BC02F7B6DB6E7BC173D1508E2B81E3671D73CC31E5B6CFF3E7CF2F9F8BDF157FFBF4E9D3F3FBEFBF5F431768E7B58F79080000752700AD274DD3594582F998440440BB19ED7BE81A1ABA406BB19E010040DD0940AB2697795996FD83440440BBD1D0D5D005B09E010040DD09403B24977B9224D95A2202A0DD68E86AE80258CF0000A0EE04A01D92CB9349926C241101D06E3474357401AC670000507702D0D29224D9A4482E7F90880068471ABA1ABA00D6330000A83B0168694992BCB9482E774A4400B4230D5D0D5D00EB190000D49D00B47A62999465D955121100ED4843574317C07A0600007527002D2D4DD322B7747C4B2202A01D69E86AE80258CF0000A0EE04A0A56559D65D8C33252200DA9186AE862E80F50C0000EA4E005A3DB19C9CA6E967252200DA9186AE862E80F50C0000EA4E005A3DB17CBD1853252200DA9186AE862E80F50C0000EA4E005A5A9AA6576459B6874404403BD2D0D5D005B09E010040DD0940AB27965F747676EE201101D08E3474357401AC670000507702D0EA89E5C12449B694880068471ABA1ABA00D6330000A83B0168594992FC5991589E8E8F121100ED4843574317C07A0600007527002D2BAECC8D2B74252200DA9586AE862E80F50C0000EA4E005A39A9BC23EEA12B1101D0AE3474357401AC670000507702D0B2D234DDB31857484400B42B0D5D0D5D00EB190000D49D00B4AC344DA71589E57C89088076A5A1ABA10B603D030080BA1380969565D9FF2DC6BF4A4400B42B0D5D0D5D00EB190000D49D00B47252E94BD3B44B2202A05D69E86AE80258CF0000A0EE04A09593CAA5C548252200DA9586AE862E80F50C0000EA4E005A5696655715E37D121100ED4A43574317C07A060000752700AD9C54EE4C92E4CD121100ED4A43574317C07A060000752700AD9C54FE9024C926121100ED4A43574317C07A0600007527002D2949928D8AA4F2844404403BD3D0D5D005B09E010040DD09404B4A9264EB22A9DC231101D0CE06070735529B673C393030F08CA804C693F50C0000EA4E005A29A1BCAB18F3242200DAD9D5575FBD70D1A2459AA94D30162C58F0AD818181DB452530CEEB20EB190000D49D00B486344DF72E92CA77252200DA59BD5EDF6BEEDCB98F3DF4D0434F68AA8EDF95B9D1CC9D3367CE6F8BB1AFA804C693F50C0000EA4E005A4696659F2A92CA97252200DADD9C3973260F0C0CDC14DBFDC63D5C8D311F71DC6FD7CC059A81F50C0000EA4E005A29A19C98A6E971121100003081D641D6330000A83B01689984F2D562CC948800008009B40EB29E010040DD09406B48D3F4074552F988440400004C14D6330000A83B0168A584F2D3CECECE9D252200006002AD83AC670000507702D03209E5BE2449B6928800008009B40EB29E010040DD0940CB2494A792247999440400004CA07590F50C0000EA4E009A5F92249B1609E511890800009848AC670000507702D012B22CDBB64828B749440000C044623D030080BA1380564926EFCFB2AC2E11010000136C2D643D030080BA1380E697A6E99422A15C2C110100001389F50C0000EA4E005A4296654714E3DF252200006022B19E010040DD0940AB249353D3343D52220260AC1CD27FE56BBAFB1A07C5E73DFD576DD77D4663876AF4F437763CB4D6785D3C37F39CD9AFE8AA350EAEBE2F9EEBEE1FDCD31104E0255A0B59CF0000A0EE04A02592C985C5D85F220260AC749FD17863575FBDDCEEBFBB56FF654FAD7E4235BA6AF52F769D39F8DE78AEAB36F889EEFEFA67CA6FCAF3758BD7FEB0ABBF7E79F1F1DAAEB31A931D4900D6722D643D030080BA1380E69765D940313E2811013016BAFAEBFB74D71A3FE8AED5EFEDAE0D9E5B7C6C3CEF0579BE6E7CE8EDED5DAFBBAF71655CA55BBC667A575FE35FBB6A83C71C715A63B368E81E75CEC026F11A47148091B29E010040DD0940AB24939BA74C99B29D4404C058E9EA1BD8AAA76FF0C2F8BCA756BFB5BB561FA84657ADBE301EEFEE6B7CBAF8FAAEAE5AA35E7CBC201AC0C573F38A8F3717636E316E39AC6FF05D8E26006BB116B29E010040DD09404B2493C549926C2E11013056CA866EAD7159575F63B7E157E8565F1FF9A5C6963D67D5B78DAB747B7B2F7B596CBFDCD337F8B1EEBEFAE1D1C88DAB75BBCE9CB393A309C05AAC85AC670000507702D0DC66CE9CB941914C9E2E3E5D572202602C4413B7A7AFFE9DEE5A7DF1B2AB706F2CBEDEAF1AC5D7BF88D7F5F636D6EFE91B9C5DBCE6A0186543B7563FA578FE1BC5D79F2B3E5EDA531BDCD9110560A4AC670000507702D0F49224796D914C164844008C959EFEC68E711FDD6ACBE5EE5AFDA69EBEFACC6A74F5376694AFABD5DF1757EB76F7D5FF2D5EBFACA1DBD755AB1F10A3A77F705AD79973B6704401B09E010040DD09403B27921D8BF173890880B134F41EBAC3B75C1EEEF02F5DF5FAE557E8F60D7EAC7A3CB664EEEEAB9FE86802603D030080BA1380B695A6E9E42299FC50220260ACF49EDFD8B0FB8CC60EFFDBD01DFC5577AD7E4135BAFAEA179757E1F637D2D88EB9787E5677AD312546576DF0B4B86F6E5CE5DB53AB1FDD536B7CDE1105C07A0600007527006D2BCBB2838A64729E4404C058E9EEAFBF3BEEA1DBD55FFFC8B2AFCF39E2B4C666D5886D943FF9E56B5EFDA92F35364E2EBBECCFAAEF3BB4F6A39777D5EA8715AF3FB6BB6FB0B71887168FFD85230A80F50C0000EA4E00DA39911C9365D917242200006002AE87AC670000507702D0F489E4AC344D0F918800008009B81EB29E010040DD0940734BD3F43B4532D95722020000261AEB190000D49D00B44222B936CBB2DD242200006002AE87AC670000507702D0F489647E9224DB48440000C0045C0F59CF0000A0EE04A0E913C992244936968800008009B81EB29E010040DD0940F38A466E3474252200006022B29E010040DD0940538BAD9663CB65890800009888AC670000507702D0EC49E43DC5B8766D1391611886611886611846AB0E2B430000C6E0BD787527002393A6695224926F3B120000000000303A34740118B12CCB0E2D1249BF23010000000000A343431780B549225F4CD3F4738E0400000000008C0E0D5D00D626897CAD18331C090000000000181D1ABA008C589AA6971789E4C38E0400000000008C0E0D5D00D62689FCBCB3B3F3EF1D090000000000181D1ABA00AC4D12599024C96B1D090000000000181D1ABA008C486F6FEF7A4512797AD2A449EB3B1A0000000000303A34740118912449362F92C86247020000000000468F862E00239265D9F64512B9D991000000000080D1A3A10BC088A469FAA12CCB061C090000000000183D1ABA008C489AA6071449E40247020000000000468F862E00239265D9678A718A23010000000000A347431780912690D3D3343DDC91000000000080D1A3A10BC04813C825C5E87424000000000060F468E80230225996D58BB1BB23010000000000A347431780912690DB922479AB23010000000000A347431780912690479224D9D491000000000080D1A3A10BC01ADB73CF3D5F5E2490A58E0400000000008C2E0D5D00D65892245B1509E43E470200000000004697862E0023491EBB14E3A78E0400000000008C2E0D5D00D6589AA67B1509E4FB8E0400008CBF43FAAF7C4D775FE3A0F8BCA7FFAAEDBACF68EC508D9EFEC68E87D61AAF8BE7669E33FB155DB5C6C1D5F7C573DDFD837B3A820000D0DC347401586359961D5C2490731C090000187FDD6734DED8D557BFB8FCBC56FF654FAD7E4235BA6AF52F769D39F8DE78AEAB36F889EEFEFA67CA6FCAF3758BD7FEB0ABBF7E79F1F1DAAEB31A931D490000684E1ABA008C24791C9F65D9098E0400008CAFAEFEFA3EDDB5C60FBA6BF57BBB6B83E7161F1BCF7B419EAF1B1F7A7B7BD7EBEE6B5C1957E916AF99DED5D7F8D7AEDAE031479CD6D82C1ABA479D33B049BCC611050080E6A3A10BC04892C7D9699A7ED291000080F1D7D537B0554FDFE085F1794FAD7E6B77AD3E508DAE5A7D613CDEDDD7F874F1F55D5DB546BDF8784134808BE7E6151F6F2EC6DC62DC7258DFE0BB1C4D0000683E1ABA00ACB1344D671509E4638E0400008CBFB2A15B6B5CD6D5D7D86DF815BAD5D7477EA9B165CF59F56DE32ADDDEDECB5E16DB2FF7F40D7EACBBAF7E783472E36ADDAE33E7ECE468020040F3D1D0056024C9635E9665FFE0480000C0F88A266E4F5FFD3BDDB5FAE26557E1DE587CBD5F358AAF7F11AFEBED6DACDFD33738BB78CD4131CA866EAD7E4AF1FC378AAF3F577CBCB4A736B8B3230A0000CD4743178091248F7B9224D9DA91000080F1D5D3DFD831EEA35B6DB9DC5DABDFD4D3579F598DAEFEC68CF275B5FAFBE26ADDEEBEFABFC5EB973574FBBA6AF50362F4F40F4EEB3A73CE168E280000341F0D5D0046923C9E4C92642347020000C6DFD07BE80EDF7279B8C3BF74D5EB975FA1DB37B8FC362AB12573775FFD44471300009A8F862E006B2449924D8AE4F10747020000C65FEFF98D0DBBCF68ECF0BF0DDDC15F75D7EA1754A3ABAF7E7179156E7F238DED988BE76775D71A536274D5064F8BFBE6C655BE3DB5FAD13DB5C6E71D510000683E1ABA00AC912449DE5C248F3B1D090000187FDDFDF577C73D74BBFAEB1F59F6F539479CD6D8AC1AB18DF227BF7CCDAB3FF5A5C6C6C96597FD59F57D87D67EF4F2AE5AFDB0E2F5C776F70DF616E3D0E2B1BF70440100A0F968E802B0A68963529665573912000000000030FA3474015823699A16B9A3E35B8E0400000000008C3E0D5D00D6489665DDC538D391000000000080D1A7A10BC09A268E93D334FDAC23010000000000A34F431780354D1C5F2FC65447020000000000469F862E006B244DD32BB22CDBC391000000000080D1A7A10BC09A268E5F747676EEE0480000000000C0E8D3D005604D13C78349926CE9480000000000C0E8D3D00560B5F5F6F6AE1789C3300CC3300CC3300CC3300CC3300CC3308CB11B3A1400AC5153D751000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060A2FB7F6C1A245B7744FAA50000000049454E44AE426082, 1); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('90afc1dc-69e4-11ec-a1dc-0235bf949cb9', 1, 'flowConSign.bpmn', '90afc1db-69e4-11ec-a1dc-0235bf949cb9', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E222069643D226469616772616D5F666C6F77436F6E5369676E22207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C70726F636573732069643D22666C6F77436F6E5369676E22206E616D653D22E5A49AE5AE9EE4BE8BE58AA0E7ADBE2220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C666C6F7761626C653A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E466C6F7746696E69736865644C697374656E6572223E3C2F666C6F7761626C653A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C73746172744576656E742069643D224576656E745F3077706B6A3665223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D2241637469766974795F31786B376A346E22206E616D653D22E5BD95E585A52220666C6F7761626C653A61737369676E65653D22247B7374617274557365724E616D657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383936323633313922206C6162656C3D22E68F90E4BAA42220747970653D226D756C74695F7369676E222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383936333333373322206C6162656C3D22E58AA0E7ADBE2220747970653D226D756C74695F636F6E7369676E222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3131316B7970732220736F757263655265663D224576656E745F3077706B6A366522207461726765745265663D2241637469766974795F31786B376A346E223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3030366736716F22206E616D653D22E4BC9AE7ADBE2220666C6F7761626C653A61737369676E65653D22247B61737369676E65657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383937333336303022206C6162656C3D22E5908CE6848F2220747970653D226D756C74695F6167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D2266616C73652220666C6F7761626C653A636F6C6C656374696F6E3D2261737369676E65654C6973742220666C6F7761626C653A656C656D656E745661726961626C653D2261737369676E6565223E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B6E724F66496E7374616E636573203D3D206E724F66436F6D706C65746564496E7374616E6365737D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F306374327969642220736F757263655265663D2241637469766974795F31786B376A346E22207461726765745265663D2241637469766974795F3030366736716F223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3070376F6D646D22206E616D653D22E5AEA1E689B92220666C6F7761626C653A61737369676E65653D2261646D696E2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383936383238393522206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383936383639333922206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3035326B767A682220736F757263655265663D2241637469766974795F3030366736716F22207461726765745265663D2241637469766974795F3070376F6D646D223E3C2F73657175656E6365466C6F773E0A202020203C656E644576656E742069643D224576656E745F3165356D6D7870223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D22466C6F775F316E673571703722206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3070376F6D646D22207461726765745265663D224576656E745F3165356D6D7870223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3030397037687922206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3070376F6D646D22207461726765745265663D2241637469766974795F31786B376A346E223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F77436F6E5369676E223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F77436F6E5369676E222069643D2242504D4E506C616E655F666C6F77436F6E5369676E223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3077706B6A3665222069643D2242504D4E53686170655F4576656E745F3077706B6A3665223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223130322E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31786B376A346E222069643D2242504D4E53686170655F41637469766974795F31786B376A346E223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223139302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3030366736716F222069643D2242504D4E53686170655F41637469766974795F3030366736716F223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223335302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3070376F6D646D222069643D2242504D4E53686170655F41637469766974795F3070376F6D646D223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223531302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3165356D6D7870222069643D2242504D4E53686170655F4576656E745F3165356D6D7870223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223637322E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30303970376879222069643D2242504D4E456467655F466C6F775F30303970376879223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223536302E302220793D223238302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223536302E302220793D223233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223234302E302220793D223233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223234302E302220793D223238302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223338392E302220793D223231322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316E6735717037222069643D2242504D4E456467655F466C6F775F316E6735717037223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223631302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223637322E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223633302E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3035326B767A68222069643D2242504D4E456467655F466C6F775F3035326B767A68223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223435302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223531302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30637432796964222069643D2242504D4E456467655F466C6F775F30637432796964223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223239302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223335302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3131316B797073222069643D2242504D4E456467655F466C6F775F3131316B797073223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223133382E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223139302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E, 0); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('90b9aced-69e4-11ec-a1dc-0235bf949cb9', 1, 'flowConSign.flowConSign.png', '90afc1db-69e4-11ec-a1dc-0235bf949cb9', 0x89504E470D0A1A0A0000000D49484452000002CE000001720806000000E50C5CBF00001E104944415478DAEDDD0BB45575BD2F702D2B2B475959A78795958D1CD919DAB8D6B0A3953D4675CBCA5312029A040929C8DE4B5393D40B5CF19108ECB5E12845C3CA6E8A2F3CE21BF65A3CD2AD796F79101F8592F110C107062888C0BCFFDF1C7B71165B90F7DE6BADFDF98CF11B7BEFB5D6565C7C9DBFDF9AF33FE7DC6B2F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006830435BEF7E7F734BF9C7F17DA175D6BF368F2B1F5EA9426BF988D38BE503E3B94193A6BDA5A9581E5CF9BD78AEB9B5ED7F7A070100E811D2807C50534BE9FFE4DF174BFF5528964656AAA9581ADD34BEED0BF15C53B1ED94E6D6D2D9F92F65D9DEE9B5B736B5966E4B5FFFD834A17CAC77120080869506DFEF3717CBB7A4E1F7C9E662DBAFD2D7F2662F4803727C193162C4EB9A5BCA77C75EE7F49A014D2DE58BD3207DDE9963CA07C4E07CCEA4E96F8FD77847010068DCE1B965FA870A2D6D57C7F78562E9E134084FAF5453B1B4341E4F43F390F4F3FCA662B994BEFE2E06EDF45C7BFAFA50AA99A9E60D6B69FB37EF2600008D3D3817CBD735B5948FEEBCC7B9F2F35913CBEF2D4C281D1A7B9D478CB8EE8DB16C230DDBFFDEDC523A2306E6D8FBDC347EC667BC9B000034E8D05C3EBAD052BA210DC8CF74EC55BE3FFDFC834AA59F1F8CD78D1851DE270DCAD3E224C2A87C702E967E919EFF6DFAF9E7E9EB9442B1EDB3DE5100001A525C1923D63957966AA401F88134300FAA54536B7960FEBA62E98BB1F7B9B9A57469BCBE63706E692A967E1855686DFB51D3F819FFE21D0500A06155AF717ED5C9819D9C3171D60737ED716E69FBF7CAE3B194230DD5A3BC9B000034A4115795F7CDAFD7BC69706E9BDB71F25F5E7199BA7CAF726BB9772CE348CF4F6D2E96FB45A5E1794CAC6B8EBDD685626978A158FEDFDE5100001A52736BE9A858E3DCD45AFA4EC7CF93E21273958AE517A7FEC79C779C36B1BC5FAFEBAE7B7DE5F74E2FDEFEA634500F4BAF3FBFB9A56D44AAD3D3636FF38E020000000000000000000000000000000000000000000000D4B0134E3821534AA99E5ABA00003B34387B1700DB3F00D038006CFF00D038006CFF00D038006CFF00D038006CFF00D038006CFF00D038006CFF00D038006CFF0040E300B0FD0340E300B0FD0340E300B0FD0340E300B0FD0340E300B0FD0340E300B0FD0340E300B0FD03008D03B0FD03008D03C0F60F008D03C0F60F008D03C0F60F008D03C0F60F008D03C0F60F008D03C0F60F008D03C0F60F00340E00DB3F00340E00DB3F00340E00DB3F00340E00DB3F00340E00DB3F00340E00DB3F00340E00DB3F00D038006CFF00D038006CFF00D038006CFF00D03800BACCB265CBBE5F2C16B3B40D3CC8BB0180C119600BB22CDBF7F9E79F5F916483060DBAD53B0280C119600B162D5A7475D6E1DE7BEF5DD2A74F9FE3BC2B00189C01AAAC5EBDFAB00D1B366CCCAA8C1E3D7A51FFFEFDF7F7EE00607006E8F0F4D34F2FC83A79E185179EEED7AF5F8B770700833340B270E1C2F3B3AD983A75EAD3697B7884770980CA903C2D06E56DD403DE29A0D1A4D9F8BD6BD7AE5DB7B5C179E3C68D2F170A85B9C71C73CC3EDE2D0062703E22D52BAF3538F7EEDDFB58EF14D068162F5EDC9E6DC382050B16F5E9D3A7D9BB05406578BEE33506E7767B5B804674CF3DF76C6B6ECED6AC593333B685FDFBF7DFD73B064065AFF31607679764021AD505175C30E4B5966AC4DC3C7CF8F029F63803D07978DED25AE707EC6D061AD9B5D75EFBD7AD4DCD8F3FFEF8958EBA01B0A5C1F9556B9DAD6D061A5DAF5EBD0E4E03F29A2D9C1838AF5FBF7EF35C5503802D4A83F2547B9B819EE6B2CB2E6B4D83F286EAC179F2E4C9BF4EDBC471DE1D00B636381F59B5B6F91BDE11A027889D0477DE79E7F2AA9B9FFC216D07E7BB732000AFA9B2D6D9DE66A027193A74E89757AC58B136553668D0A0194E8C06607B06E723DC3910E889264D9A7447B1588CF33BA67A3700F6B02CCBF659B060C1F5F7DD77DF86B6B6B66CFAF4E975593138D7EB9F7DC68C19D9ECD9B39F4D75A2FC4D57F2277F3B50B7DD765BBEFDBBF1C61BE50F604F8BA63167CE9C6CF9F2E5D9CB2FBFACBAA99E79E6996CD6AC59FF4C4DE478F953F2277F3B524B962C913F80AE107B5A0C2D35D33C5E9E3E7DFAA3F2A7E44FFEE40FA006C5E1491BEDDAA9D4385E913F257FF2277F003528D698D960D754E3C8E44FC99FFCC91F401D378ED52F2CCD163C7055F6F08C5179C5F7F1988DBDC6217FF2277F4AFE008DA3A356AD5892CDBBEBFCECBF6E3B6BB38AC7E2391B7C8D43FEE44FFE94FC011A47AA450FDFF2AAA651A9C50F4FB3C1D738E44FFEE44FC91FA071443D5ABE74AB8D239EB3C1D738E44FFEE44FC91FA071A49A377DC4561B473C6783AF71C89FFCC99F923F40E3D038340EF9933FF9933FF903D8BEC61167916FAD71C47336F81A87FCC99FFC29F903348E54F3EF99B0D5C611CFD9E06B1CF2277FF2A7E40FD038523DB7646E36EFEEFFF5EAC394E9B178CE065FE3903FF9933F257F80C6D1517FFFBFBF7B55E388C76CEC350EF9933FF953F207681C955ABB369B7FEF15AF3E4C991E8BE76CF0350EF9933FF953F207F4F8C61177C6FADB3DAD5B5DE317CFB97B96C6217FF2277F4AFE809EDB38D6AECD96CE2F650FDD397CAB4DA352F19A78ADBD2F1A87FCC99FFC29F9037A54E3D8D65E167B5F340EF9933FF9933FF9030CCEA9B6672FCB6BED7DD100340EF9933FF953F207F488C6B1B34DA3521A80C6217FF2277F4AFE801ED13894C6217FF2277F4AFE6A53FFFEFDF73FE184138E4FD59AAA3DD5D2545955C5CFEDBD7BF7FE559F3E7D4E4C7580778DAD5ABC78F16153A74E1D3F71E2C479E79D77DEAAA143876EE8D7AFDFA6409D72CA29EBCE3CF3CCE7468E1C397BCC98313F4901DCD7E06C83AD71C89F923FD558F91B3162C4EB9AC7950F2F4C281DBAA58AE77A5D77DDEB3BFF5EA1B5D477584BE92BB596D734081F9BE6986969105EDF6950DE66A5DF999EEAB8638E39661F93227B6559B64F7B7BFBD9C56271691A8CB38B2FBE38BBE9A69BB2071F7C305BB26449B67EFDFAACE2B9E79ECBE6CE9D9BDD7CF3CDD9840913B23438AF3FEBACB3EE1D3060C06106676570913FF9933FD518F9FBE96577BDB5B9585AD8DCDA76E196AA502C2D48C3F3FEF1DAE6D6D2458562F9BAA662E9D1F43B37FEF7F76DD737B7B48DEFCE9CA6C1F78834F4DEB7A3C3F256EA81F4CFFA86C9B1079B356BD68071E3C6AD3AEDB4D3B2EBAFBF3E5BBA7469B62356AC5891FFCF3A64C89057860D1B764F0AD5411A8732B8C89FFCC99FAAEFFC9D5EBCFD4D69082E3715CB839B8BE5719B554BDB4F9B5BCA779F36B1BCDFB096B67F6B6E299D9B06E5B3D2EB97C4D7F43BE7A4EF97E58FB596CE6E1ADFF685AECE67EC1D4E43EEC55BDAC37CCE39E7E433CF3DF7DC932D5CB8305BB3664D3ED3AC5BB72EFFF9BEFBEECB77209E7FFEF95B1BA05B7BFA11F71EB99779CA94290F0D183020BBE69A6B36856667C55EE9D80B7DD24927BD3270E0C073340E6570913FF9933F55FF83F3E9C5D9EFFEE91577BDA7735506E778BE509CF1F934245F10037475E58FB5968E6A1A3FE35FBA329BFDFAF53BB0F35EE6349F64575D75D50EEF207CF2C927B3C99327C711F6CEC3F343F1EF3151F600293407B5B6B62E6F6E6ECE03B13BC53FAF5028AC39E594537EDF133E8D691C0617F953F2A71A79708EEFD3D7079B5A4BB7453517DBE6E6EB9F3B06E7787E584BE97F3417CBB7175A4A83AA2BFDDE5D85D659FFDA95B94C03F3217DFBF67DAA7AC88D25A8CB972FDFA5F92696AA8E1A35AAF3F0BCA8A71D69EF9143732CCD88C30FB1CC624F88BDD7A3478F7E71E0C0817734FA427A8DC3E0227F4AFE540F189CEFAA3C5E289666E48F550DCE71A2607ACD03CDADA5E266552CFDBF3891B02BF734570FCDB19779E6CC999B9DABB5ABE6CC9993FF730DCF3D647946EC698EA1795797666CCFD28D0B2FBC70650AD7648D43195CE44FFEE44FD5F1E0DC5ABAAF79C28CCFE59506E4CE83F319C5D261F19AA6D6B66B0A2DA51BE26B54BCB6AB06E78E35CD9B9667C415C11E7BECB13D32E3C41AE84E4B371EEAD5ABD77E26CD06136B9A6379C6CA952BB3AE10C3F9B061C356A6F09EAD7128838BFCC99FFCA9BA1D9C9F4883F2CFF36A2D9DBF5796EDBDD91EE796B6D30B2DE56FC415340AC5D2F0A662DBD053FF63CE3BE2E4C0426BE9B42E5AA27171F59EE63D3534570FCFD597EB8D13064D9A0D64F6ECD9A7C48980BB7B4DF3F6AC794EC15A933E891DAC7128838BFCC99FFCA93AB98EF355E57DD3903C2B86E442B1EDDB95C763EF72C79AE63F0D9A34ED2D8589E58363CFF2E9C5F2816950BE6368EBDDEF6F6E298D4ACFF74F43F4C8F4DC7F36B7968FD99359ECB8E4DCA6AB67C4F28CAE10CB363A5DEFD9A5EA1A6589C6E5975FBE3AAE9ED11D6EBAE9A617D2F07C93C6A10C2EF2277FF2A7EA237FB137B9502CBF6A2F6A1A828FCBAFE3DC521A5419A4A3E2FB8E4BD24D884ADF8F2E8C6DFB405C75A3A965FA87F6F0DEE6FBAA4F04DC9D6B9AB7A5D309830FB8494A03889B9BC4759AF7F4BAE6D75AEF3C60C080657DFBF63D5CE3500617F9933FF953F2B7BB74DC1170D3128D5DBD7AC6CE5C6DA37ABD73DC61D0E459E7C68E1DBB342EF4DD9DA64D9B16679D5EAD71288D43FEE44FFE94FCEDC6651AD32A436B5CA7B93BFCFEF7BFDFECF6DC26CF3AB678F1E2C3E236DA3B7AC1EFDD2D2E7DD7B76FDFE71BEDDACE1A87C6217F4AFE543DE4AF119710A49962FFEAB5CDDD35EBC45EEEEA1305D39FE90013689D9A3A75EAF85FFCE217592D38F7DC731F88432AF5F0BEC527C654476B1C0617F953F2277FF59CBFD47EDFBB78F1E2F6B8BDF479E79D7766BD0CD0DB93C334A41E5F7D1BEDEE547D7BEEF4E73ED1045AA78AC5E2C371BFF55AF09BDFFCE6A17AB95C4BF5219734EC1FA971185CE44FC99FFCD55BFE162E5C78FE9A356B5EA9F4E1B56BD7AEBBF6DA6BE70F1932E4D046C861CC1495D775F792D498B52A7F96F4E7FD9509B44EA54F97AB1E7CF0C19A189CFFFCE73FCF4F816AAFA7C65155776CE993AFC66170913F257FAAD6F2B77AF5EAC3962D5BB6D5EBCFFEFDEF7F5F73C925975C59CBCB27B727873153549E8F3DEADD29AEEB5CF5676D3781D6A9A143876EE8EEF5CD15CF3EFBECEA14A6A575DA38367DF2ADFE1F57E330B8C89F923F552BF94BF65DB468D1D51B366CD8B8AD9EBC71E3C60D77DE79E7B38542E1DBF59AC398292A8F2F5CB8B05B679C254B9654FF39979A40EB542C56EFCAEB196E4B04AA9E1B47F527DF3874A471185CE44FC99FAA85FAD39FFE94BDF0C20BFFDC8993F7D75E71C5156DB57642DBF6E4B0FAE775EBD675EB7C13FFFEEA3F8F09B48E3780B5643BFE47A8ABAAF5C6B176EDDA1ED5381A2D5FF59EBFEAFAEB5FFF9A4D9932250E116FF1F938321627322F5AB468D36393274F8E255EF2277FBBA5E2507E4B4BCB569F7FF4D147B3A953A7E6DF47EE162F5E9C6F43EFBFFFFE6CD9B26535FDDF167B3B8BC5627E05AB9DB9EA55FC6EBDE7B1D6661C13A83DCEBBC3AA06D8E39C5F19A4725672AD378E5B6FBD357BFDEB5F9FBDE94D6F7A55BDE10D6F88BD139BBD7ED0A041D9073FF8C1ECC31FFE70F6FEF7BF3F9B3D7BB63D7EF2B7CBF5B7BFFD2DCF53FA2367871E7A683E24777E4DDCA4299EFFFAD7BF9E7DE73BDFC97EF2939FE43F1F76D861D9F1C71F9F7DEF7BDFCB264C98207FF2B7DDD5DEDE9E0D1D3A346B6A6ACAEB90430EC93315D9AA3C16CFDF7BEFBDF9EBAFB8E28A6CFFFDF7CFBF8F6DE045175D947FFFC637BE31FBC31FFE50F3FF9FDD7CF3CDB10DBF35FDF72CDDB871E37635FED403FE3078F0E072FA7B9D9AFE7E0FAAB71C563FDE5D3779B3C7B9C19C7AEAA92FD7CA1AE7F4897D5E1DAF71DEAC61D4CB1ABFA79F7E3A2B140AD9B061C336ABCF7DEE737913E9FCFA680E175E786176F2C927E70DA61E9A450F195CEA327FD1C8E2C3DB473FFAD1ECC8238FCCE6CE9D9B7DFEF39FCF0E3AE8A03C5BFFFCE73F37ED597ED7BBDE9567F575AF7B5DF6ED6F7F3B7BEB5BDF9A7DF39BDFCC2B3EFC9D7BEEB9712325F993BFEDAE6BAEB926DB7BEFBDB3810307E6F5DDEF7E377BF7BBDF1D573CD8F458E42D6E5E316BD6ACEC473FFA51B6DF7EFBE547463EF1894F64975D7659FECF79CB5BDE925F3161CE9C3979866B3D7F71E7BA9123472E5AB162C5F2D758DF3C6FD2A449BF4A7FB7F36BF54E77DB93C3EA35CE4F3EF9A435CEECBAB3CF3EFBE95AB9AA46FAF43FB30EAFAAD11E1B95AD5DF7B2961BC733CF3C936F48C68F1F9F5D7EF9E5D9B871E336D5A73FFDE9ECD8638FCD0F456EE91064BC2606E7B82EA5C159FE76A662EFDD81071E98E7E8ED6F7F7B1637628A3D7D7154E31DEF78C7A6C7CF3AEBACFCF52B57AECCBF4E9C38311FAC3FF0810F641FFFF8C7B36BAFBD361F586208973FF9DB917AF1C517B3D403B32F7DE94BD957BEF295EC339FF94C9EBBA38E3A2AFFF9CB5FFE72F6B39FFD2C5BB56A55BEB7F6FBDFFF7E3E24C7728E189C3FFBD9CFE67BA5E3B1134F3C313F4AD7DADA5A17F9EBD5ABD77EFDFAF56BB9F1C61B976FD8B0E1A5AA56BCE6F1C71FBF323D372F0DA1E3E20622F59C4357D560B71B356AD4DDB5721DE7B163C74EABA3EB386F710F4B3D358EF3CE3B2F6F12DBAA682C9D7FF7AB5FFD6AFE5C340F83B3FCED4C5D7DF5D5D9D7BEF6B57CAFDDA73EF5A97CC945A5E2E74B2EB9243BEEB8E3F20F67953DD331C844EEBEF0852F64D75D775DFEDAF8398E90C4CF95E15AFEE46F7B6BF0E0C1F907B1B839C60F7FF8C33C4FB12C287E8EC7E3C35CE5B5BFFCE52FF3231FF3E7CFCFB77D71A42486A0189CE3F7860C195277F94B7FFE230A85C2DC050B162C79E9A597660D1F3E7C4AC7B0794423E4B0FA3ACE71A4C0759CD965975E7AE98FC68C19B3B11606E7B4019B562F770EDC5EB5DC381E7AE8A17CCF4973737376F7DD77C70D68F28D7FECD1BBE5965BB2C30F3F3CBBEAAAABB279F3E6BD6A3D6A1CBE1C306040FEFAF85D83B3FCED68C54980B1D7F9B7BFFDED56EBCA2BAFCCF33672E4C83C6BDFFAD6B7B2030E38207BCF7BDE931F528FAF1FFAD087B21FFCE007F9728D38C42E7FF2B7231583711CBD88ED592CFB899CC560133FC7BAFBCAE0FC97BFFC25BF6572658741E7A51A3FFEF18FEB76FB1783679F3E7D9A3B2EE5D6DC48B7DE76E74076BBB8B879DA40AC7BEEB9E7BAFB1ACEB1BEF9995ABED87A23368E58171A8D200E33C619E3F17DAC5F3EFAE8A3F3936066CE9CF9AADFE9DBB76FF6E637BF395F1F1DCD23D6423FFFFCF30667F9DB99BF8B6D56DCED2BF638C7A5B46EB8E1867CE9501C3E8FB5D095135C638FF3EDB7DF9E2D5FBE5CFEE46F8707E75832145FE304D3CAF6B0FAF1785D2C258AE76248FEE31FFFB8C535CEB57E95A26DE5AF9106E6AA1967FF345BBC5219589F78E2896E997162DB947AE7C6AAC1F980BDA85FE95358394EAAE94EADADADBF4D61BA5AE3E8FA8A61240E7D8F1E3D7AD3B01287231F79E4912D9E4C13CFC727F7F8394E9AA9ECA13138CBDF8EAE2F7DEAA9A7F24B5DC549576F7BDBDBB27FFCE31FF91AD158631FEBEFE3C4E5CA0982B1873A4E088CD7C69012B98B0126D639C787BC38F146FEE46F6706E7830F3E381B3162447E3260E4EACC33CFCC7FFED8C73EB669707EECB1C7B23163C6E4DBC6F8794B83739C385DCBE77DF4B4FC55ED759E561958274D9AD42D334EF4CAEA1BB4983CEBDC8001030E1B3468D0FAEEBA54CBFAF5EB17A5203D9E3E8D1DAE71745DC5C012FF33C78930D12CCE38E38C4D43712CC5889303E3F064E5F571FDD2B84CDD273FF9C93842B0E9F1383C5EF9BD7ADFE3227FDDB364237215473F2A4B81DEF9CE77665FFCE217F3E1BAFAB5A3468DCA8F76C41DC04E3AE9A4FCE84764AF964FC892BFDAFE3B89613986E1586F1F5776D9AB630D7DFC1C8F572FC1A8AC71AE0CCEF1212E86E5CAE01C577D896543F2575B62096865688DED46ECFDED4A7144FFE4934FAEDEDB7CDC5ED4BFA6A6A659DD7592E045175DF49B14A6EB358EAEBFE1C43EFBEC931F9E8C35A4714DD2681A71483CB2F0BEF7BD2F3F4B3CD642C79537E2B24D71324C1CEAAAFEE7C41EC16834F1BBA79E7AAAC145FEB67B8F73AC298D0F62919D382C1E6B4A6388AE1CF9882B1654F6F6F5EFDF3F3F845EB9867354EC818E413AAEC411CFBFF4D24BF2277F3B5471459652A9B4E9FBC85DE5263CF1E7AF5CC339BEC6D0156BEC239791BBD826A62128BF445D9C301DD776FEF9CF7F2E7FB5B9D779D3D535E2037857DEBF22FE7DD597CC6BC425313D52AF5EBDDE9B3E3DBFDCD5D7397CE4914766A520AD4AFFFE83358EAEAF38341E5FE31064DCD82406E0D5AB576FBAFCD78C1933F2EF63588EA1656B77C78ADF39FDF4D3F301C7E0227FDB5B71E39238092B8E568C1D3B363F0212998BBDCE175F7C71BEF72E86E1583614AF8D0CC6F0D2B962CF737C00AC6457FEE46F672ACEE9D8DA32B55FFFFAD7D9473EF2917CE7405C9128AEFAF2F8E38FE7CFC51D2DE3C4D5C872F59D2DE5AF76A46DC957ABAFF91C7FD75D213E8C55FF7BD307AD6F98381B486A3EC39A9B9B5FEAAA251B2FBEF8E2C3E9DFF9700AD34F350EA571C89FFCC99F92BF3DB8D7F9B2CA001B574889A1764F5FB7397DD8DF583538B7EE45E3193870E0EF468E1CB9C787E7F5EBD73F993E9D975290AED03894C6217FF2277F4AFEF6A48E5B70B7570FCF7BEAA62831349F7CF2C91BAA86E687E2A633A6CC060D561A68FFF3820B2E58B9A786E7D8D39C06F472AC6B6EB4CBCF691C1A87FC29F9933FF9AB4D69583E306E235E3D3CC7B28DDDB9E639F66477DAD3BC28D54126CC061F9EFBF6ED3B69D8B0612B77F79AE758D3DCB13CE38A461F9A350E8D43FE94FCF97B97BFDA12436CF5F05C39617057AFB61157CFE87422A0A1B9A7E9DDBBF7D0F4696CF594295356AC5BB76E972F39D771F58C558DBCA659E3D038E44FC99FFCC95F5DEC796EAF1E72E344E3B85B6E5C3F7E476F6E122736575F72AEB23CC3D0DC03C5D536FAF4E973430AC40BD75F7FFD13E913D52B3B7A47C0B8B949FA673C164B33D2D743340EA571C89FFCC99F92BFEE3EBADEBB77EF719D86DDBC860F1F9E4D9932255F031D47DE2B3B0FE36BDC6C29D630DF7CF3CDF90D6FAAEF08587D22A035CDF63E7F2AD5AF5240569E71C6190F4E9E3CF9C1FBEFBFFF89A79E7AEAC5AA3979550CCAEDEDED33C78E1D3B6DF0E0C171B79E67D2B07C4D23DEDC44E3D038E44FC99FFCC95F7DEBB8545DFB9606E89DA8075C728ECDC4BAE48E90C5655DE204BFBF57DF073ED5D28E00B6C6DD7A7AC23A668D43E3903F257FF2277F75BF83F0D88EDB73BFB2A30373DC463BEE08E8E626A071681CF2A7E44FFEE4AF27ED20DC3F0DD127C40EC08E1D814B3B0DCAF90EC2380A9F86E5136349AB770D340E8D43FE94FCC99FFC01681C1A87FC29F9933FF903D03894C6217FF2277FCAE00C681C4AE3903FF9933F257F80C6A1348E1E9BBFD5AB5767F3E6CDCBBFEECAE3F2277F4AFE008D43691C0D9DBF1882D31F39FFBA2B8FCB9FFC29F903340EA571189C0DCEF2A7E40FD03894C661703638CB9F923FC0E06C83AD71C89FC159FE94FC01681C1A87FC199CE5CFF64FFE00340E8D43FE0CCEF267FB67FB07A071681CF26770963FF9B3FD03D03894C66170963FF953066740E3501A87C1D9E02C7F4AFE008D43691C066783B3FC29F9030CCE4AE3903F83B3FC29F903D038340EF93338CB9FED9FFC01EC8CB6B6361BECDAA935A971BC227F0667F9933FDB3F801A347BF6ECA5CB972FB7D1AE815AB264C9B5A9713C2A7FB559AB57AFCE87E0F8BA2B8FCB9FFC29F903EA54A954FAEECC99335F58B66CD94B36DEDDB7A7259AC68C1933FE91EA78F953F2277FF20750A3D2C6EAD8F449FF81384C166BCC549757BCEF8FF6D4A6217FF2277FF2676806000000000000000000000000000000000000000000000000E841FE3F56AD54529221CC020000000049454E44AE426082, 1); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('98155f80-69e4-11ec-a1dc-0235bf949cb9', 1, 'flowTranslate.bpmn', '98155f7f-69e4-11ec-a1dc-0235bf949cb9', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E222069643D226469616772616D5F666C6F775472616E736C61746522207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C70726F636573732069643D22666C6F775472616E736C61746522206E616D653D22E8BDACE58A9EE6B581E7A88B2220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C666C6F7761626C653A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E6F72616E6765666F726D732E636F6D6D6F6E2E666C6F772E6C697374656E65722E466C6F7746696E69736865644C697374656E6572223E3C2F666C6F7761626C653A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C73746172744576656E742069643D224576656E745F316F756B386B6A223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D2241637469766974795F303870396B6E6722206E616D653D22E5BD95E585A52220666C6F7761626C653A61737369676E65653D22247B7374617274557365724E616D657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383938333631303822206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30386C67766F302220736F757263655265663D224576656E745F316F756B386B6A22207461726765745265663D2241637469766974795F303870396B6E67223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F31326F6C72303122206E616D653D22E8BDACE58A9E2220666C6F7761626C653A61737369676E65653D2261646D696E2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383938343835353422206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383938353339353922206C6162656C3D22E8BDACE58A9E2220747970653D227472616E73666572222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F306E343566356A2220736F757263655265663D2241637469766974795F303870396B6E6722207461726765745265663D2241637469766974795F31326F6C723031223E3C2F73657175656E6365466C6F773E0A202020203C656E644576656E742069643D224576656E745F306C7A786E7738223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D22466C6F775F317338693965722220736F757263655265663D2241637469766974795F31326F6C72303122207461726765745265663D224576656E745F306C7A786E7738223E3C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F775472616E736C617465223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F775472616E736C617465222069643D2242504D4E506C616E655F666C6F775472616E736C617465223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F316F756B386B6A222069643D2242504D4E53686170655F4576656E745F316F756B386B6A223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223133322E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F303870396B6E67222069643D2242504D4E53686170655F41637469766974795F303870396B6E67223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223232302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31326F6C723031222069643D2242504D4E53686170655F41637469766974795F31326F6C723031223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223338302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F306C7A786E7738222069643D2242504D4E53686170655F4576656E745F306C7A786E7738223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223534322E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31733869396572222069643D2242504D4E456467655F466C6F775F31733869396572223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223534322E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306E343566356A222069643D2242504D4E456467655F466C6F775F306E343566356A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223332302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30386C67766F30222069643D2242504D4E456467655F466C6F775F30386C67766F30223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223136382E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223232302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E, 0); +INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('981f2281-69e4-11ec-a1dc-0235bf949cb9', 1, 'flowTranslate.flowTranslate.png', '98155f7f-69e4-11ec-a1dc-0235bf949cb9', 0x89504E470D0A1A0A0000000D494844520000024C0000017C08060000003DF6E4F3000013034944415478DAEDDD0B90D773BF07F0C7EDC17890FB6518318FCB706662E618C7658CC10C668C8391B495D826D7241C0CE288DC4BB4720D3D1E749A4CC53A3824B54DB63074148523B76A55285D44C5F7FC3EBFE9BFF36F2BB5DBB6FBDFDDD76BE633B5FFDDAD7DF279FEEFCFEFF7FBFEBEBFBFFC05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006093A594B69E356BD6C8C99327FFFEF6DB6FA7B7DE7A4B35718D1D3B36555555FD905557FDA71FF41F40098AB09A3871629A3F7F7EFAEDB7DF5433D582050BD28409137ECEC2EB3CFDA7F41F408989237B615532A1F55B76C43F43FF29FD075062E23288B0289DCA026BA5FE53FA0FA0C4C41A064151528195F49FD27F002D34B0962EAA49B3DE7F367D32F68EBCE2F7F19A901158FA4FFF0108ACAC962C9C93A6FFCFADE97FFFFBFA352A5E8BCF091A81A5FFF41F409B0FACEF3E7965ADB02AD4EC4F2A058DC0D27FFA0F4060CD78E7BEF506567C4ED0082CFDA7FF00DA7C604D7FEBF6F506567C4ED0082CFDA7FF000496C01258FA4FFF011898FEFC4D34EE4A5A5F60C5E7048DC0D27FFA0FA0CD07D617931E596F60C5E7048DC0D27FFA0FA0CD07D68F733E4ED3DFFCCFB52F8764AFC5E7048DC0D27FFA0FA0CD0756D4571F3CB75660C56B424660E93FFD0720B0A27EFD357DF1EE636B5F0EC95E8BCF091A81A5FFF41F409B0EACD849F9F34915EB5D43129FB3DBB2C0D27FFA0FA06D065676E45EF3C5B834ED8D9BD71B56858AAF89AF75B42FB0F49FFE03683381B5A1A37A47FB024BFFE93F80363F306DCC51FD9F1DED0B1E81A5FFF41F40AB0FAC868655A1048FC0D27FFA0FA0D507961258FA4FFFB17E175D7451BB0B2EB8E0BCAC2AB2AACEAA26AB5454F17175A74E9D9EEADCB973D7AC76F7AF46C9993D7B7687D1A3473F3464C890E97DFBF65DD2AB57AFDFBB74E952DBC83D7BF65C71DD75D7FDD8AF5FBFAA0103065C9635FE7606264121B0F49F32306D4836009D99E548653600ADAA33206DB0B2EF792BABB34F3AE9A4ADFD4BD26C524A5B575757DF3078F0E09A6C204AF7DC734F1A356A549A3A756A9A33674E5AB56A552AF8F1C71FD3C71F7F9CC68C19931E79E491940D4CABAEBFFEFA77CBCBCB3B189894C0D27FFA8FBAB281E75FB36167727D87A4F5D4FBD99F75BA7F559ADC840913CA070D1AB4E48A2BAE4823478E4C353535A93E162E5C98BF495C79E5952B7BF7EE3D296BE6F6024B092CFDA7FF88B341D97073CFBACE28DD78E38D79E64C9A34297DFBEDB769F9F2E579A6AC58B122FF78F2E4C9F981FBADB7DEBABEC1A9A2AD5FE1A009CF2A8D1831625A7979791A3E7C786DB336549C858AB34EDDBA755BD9A3478F1B05961258FA4FFFB55D5DBA74D9AFEE59A52C1FD2B3CF3E5BEF03F3AFBFFE3A0D1D3A34AE68D41D9AA6C5DFE35F9BCD266BD6F6151515F3FBF4E9933762638A3FEF9A6BAE59DEB367CFE7DBC2F42FB00496FE5306A6356583D261656565738B879B58EA317FFEFC4DCA97581272C71D77D41D9ABE6B6B573668C261292EC1C569CEB89CB639C4D9AABBEEBA6B598F1E3D5E6FED0BF40496C0D27FCAC0B4E699A5E26129CE2A8D1F3F7E8DB5B09B6AE2C489F99F6B6862B35E868B334B312C6DEA25B88DB944D7BF7FFFC559530F15584A60E93FFDD7FAAD5EB3547B192EEEB09E3973E666C99858E354E712DDB48E1D3BFE4DD2D32862CD525C865BBC78716A0A3194F5EEDD7B71F67F9A1B04961258FA4FFFB5FA4B71F7149F59DA5CC352F1D054BCED4D2C0497F46CB2AAAAAA9EB1C0BBB1D72C6DCC9AA6ACA1976793FFDF05961258FA4FFFB54EABB70EA8BD1B2E2EC33585B83C5767BF265B0EB06997E2060E1CB834EE866B0EA3468D5A940D4DA304961258FA4FFFB5DAB34B938B177837E69AA50DA9B310FC7D9B5BD260B12965ECB3B4B9D72DFDD97AA6F2F2F279656565470A2C25B0F49FFE6B5D56EFE05D7B296E53EF866BC8DD73C5EB99624770C94F833CF8E08335B1415873AAACAC8CBB18FE29B094C0D27FFAAFD55D8EAB2C0C2BB1CF527378FEF9E7D7788C8AE4A7DEE2D970F1B893FA6E14D6D8620B83B2B2B29F5ADBDE4C024B60E93FD59607A678906EF1DAA5E6CA9A38AB55BC00DC037BA9B77890EEFDF7DF9F4AC14D37DDF47E9CBA6D09FF6EAB1FF47882C01258FA4FB5D5816963FA301B4ECE2B7EDC49732A7E8C4AF673773501502F83070FFE249EC7530A860D1B36ADA5DCF6597C6A371BF2FE4D60092CFDA7DADAC0B4317D18EFE985AF6BEEA51F9175859F25FB799F3201502F7DFBF65D3275EAD49218983EFCF0C32FB246AE6E496F1445F5FABA8EB40496C0D27FAAB50F4C7FD687F19E5EF87C3C48B739C5BE4C453F6BB509807AE9D5ABD7EFCDBD7EA9E0871F7E589A35714D0B7DA3A83DD22A7EC31058024BFFA9363430ADD587F19E5E78FDDB6FBF6DD68C9933674EF1CF596302A05E62115C53EE87B121D1C82DF98DA2F8482B4E510B2C81A5FF545B1B988AFBB0F8E3152B56346BBEC4DF5FFCF39800A877C397928DF83F608BAA520FAC5F7FFDB54D05566BEBAF96DE7FB367CF4E4F3CF1449C5DAE7D6DC1820569CC9831F9DE39EBFA9E65CB96A5A79E7A2A4D993245FFB5B02AB58C3101D092CF302D69056798F23BFD0A3BC9967A60BDFAEAAB69ABADB64ADB6EBBED5AB5CD36DBA4458B16ADF1F5975C7249DA7FFFFDD301071C90F6DD77DF545555E5085FFF35A8DE7BEFBD7CC7E72DB6D822BDFEFAEBE9DD77DF4DE3C68D4B0F3FFC70FC374A6FBEF966FEF88CEFBFFF7E8DEF8B0D76E37BEEBEFB6E67985A401F16BFDE5C9B233BC344A3B8FCF2CB7F2B95354CF3E6CD9BDE82D730AD11542D650D4984D135D75C130F415EA38E3DF6D874D86187ADF5F52FBEF862EADFBF7FEADEBD7B1E6AF1B1C0D27F0DA9ABAEBA2AEDB6DB6E69EFBDF74ED9CF9D2EBCF0C274F4D147A73DF6D823EDB2CB2E790F1E73CC3169C28409F91E3A37DD7453FE888B3BEFBC33EFBDD34F3F3DFF7DBF7EFDD21B6FBCA1FF4AB40F8BD73035F5B34AAD61A251DD70C30DDF97CA5D72D5D5D5E35BE05D72D5B1CDFEFA9E4D54CA8115973EE20DECA1871E4A03070E4C83060DAAADA38E3A2A9D79E699F925936C905DEB7BE36B22B4625F130393FE6B68B56FDF3E9D7AEAA9E99C73CE4983070F8E5BBDD35E7BED959FC12CFC6FCCDEA3F2339D03060CC82FC53DF0C00379EF5D7BEDB5E9B9E79E4B3BEEB863BAFDF6DBF330D47FA5D787EE92A3D5C88ED8DE2C957D981E7CF0C1CA16B40FD33A8FE85B5260F5EDDB370F9E0D550456DDEF8D908BCF1D7AE8A10626FDD7A09A366D5ADE43714673CF3DF74C151515E9C4134FCC5F3BF9E493D3D9679F9D570C46F1F571A96EF7DD774F2FBFFC72FE351F7CF041FEFACE3BEF9C5F563EF0C003F55F09F661F13E4C23468CB00F132DD77DF7DD777176E4F647290C4C975E7A69654BD9E97B63957A604508F5E9D3275F2F326CD8B03C88860C19925E79E59574E49147E6CF7D9A3E7DFA1ADFF7F9E79FA72DB7DC321E985CBBD6C4C0A4FFEA5BB10629FA67871D76C8FBE9E0830F4ECF3CF34CFEDAA38F3E9A9E7EFAE9F4C20B2FD4DE9870DA69A7E53D19EB9E6240FAF9E79FF3D7B7DB6EBB74CA29A7E4DF57EA0BC1DBE2A351ECF44DAB11CF6ECB826F45DC91D2CC7B30C5FAA5059E25D7B415EB422268BA76ED9A66CC9891FF3ED6279D70C209A95DBB76F9A2DBBADF53565696B6DF7EFB7CFD539C618AB54E3FFDF4938149FFD5AB66CD9A959E7CF2C974D96597E56789E2E1A8B18E29FA2ED6306DBDF5D6F930F4D9679FE5975262A1F72DB7DC92F75CF467E18EB9783D06FF18A2EEBAEB2EFD577A19D32E7B6F5F591854BEFCF2CB667B965CF6DEF58767C9B149B2A9FF9DCACACA661D982A2A2AFE9135F13F0556D3D74B2FBD945F0A89B0295C868BC5B89F7EFAE95A5F3B7CF8F0FCF371A4181F47C8C5C7F1066460D27FF5A977DE79275FB774D65967A5BFFEF5AF69BFFDF6CBD72AC57014BFEEB3CF3EF980145F3B71E2C4D4A14387FC8683E8B7B87C17AFC74688F1713C72E388238EC8D742E9BF923CCB54591854621B89E610EF55C51B6B4A7E1AA4BCBCBCC325975CB2AAB96EF95CB56AD5775903FF5F36FD1F29B09AAE162E5C98BF891C7FFCF1B58B680BC3505C228945DF1F7DF451EDD78F1E3D3ADF6EE0F0C30F5F63DF9C58A85BF8BE52DFD7C9C0543A156735E30C526C4F1197E5EEBDF7DEFC726F0C4F871C72487E96296E4C287C7D5CFADD69A79DD271C71D979F592AFAEF990F593180C55904FD577A62A9456158E9D6AD5BFEDFA929C51594EEDDBB179F5D3A5BF2D360575F7DF584E65AFC7DF7DD770FCB9A78A4C06ADA8A4B1D71D9E3DC73CFCD6FCD2EAC2989FD71A217E2083FF6628AB54E71275D5CFA38E8A083F253EAC57F4EAC25292CD6BDFCF2CB0596FEDBA89A3B776EFAE5975FF2754A3134155E8F754C31B0C79D9A8B172FCE5F7BFCF1C7F3FE8BAFFBEAABAFD219679C91F7620C55BBEEBAEB7A37B9D47F257596A9F66EB9D81EA229F7FF8BBFAF78EB830DDD2C017FAA63C78E7B5F7CF1C5BF35F53E199F7EFAE984AC8197647FFFDF0556D3D737DF7C93FF1AB76CC7869431F82C5DBA347F2DC26AECD8B1F9EF63488A3302EBDA62202ABE27F6D5993973A6C0D27FF5AA38CB59F76ECBB86C136B9962588F8F6320CA0EEA6AB70E78EDB5D7F2BB37630D5E4BDA3CB52D0F4CE79F7FFEA9C57B36C5FAC8A6109773EB3CE7EE7489CF262B2B2BEBDDA74F9F5F9AEAD2DCB265CB3EC9FECE4FB226FE0F81A50496FEAB7B064AFFB5BAB34C0F14069778CA440C339B7BDFA5EC40EF8FA281A942D2D3687AF4E8F15CBF7EFD36FBD0B46AD5AAAFCBCBCBC7650DFC98C052024BFFE9BFD66FF5A352AA8B87A6CDB599650C4BDDBB77FFBD68589AD6B163C7BF49791AB5A1B341E6E5DB6EBB6DF1E61A9AE2CC523698BD13EB965ADB3602024B60E93FA5FFD62F1B92F6CBDEFBBF281E9AE2F25C63AE698A335775CE2C7D97557B09CF66199ACACACA9EE8DDBBF7E2C65ED3146B96565F867BACB50F4B024B60E93F65605AE7A5B9F6C543536121F8A6DE3D176BDDEA2CF0362CD1343A75EAD42B9BFE978E183162613CE57953B70E587D37DC92D6BC664960092CFDA7F4DF469F69AA2E1E6E62CB8178BA407D1F081F8356DC3C50BC7540E1329C6189261377CF75EEDCF9A5AC11178D1C39F2CB6C825F59DF1DBC6353CAECCF981997E0B25F0F13584A60E93FFD475CCDC80ECC07D51972F2BAF9E69BF367CFC51AA7B8D25138688F5FE36EC958A33466CC98FC7127C53B78172FF0B66689E63ADBF42FF1B0C2AC31175F7BEDB553870E1D3A75CA94295FCE9D3B7759D17CB42406A4EAEAEAF1F120DD78365C3CEE241B9286B7C64D290596C0D27F4AFF6DBAD55B0E54AF6B706A40BD6FEB004A42AC3B5ADDDC717B682CDCFEAAF8394159D5AC6EFC8AD8DDB52DAC531258024BFF29FDD72807E667AE7E8CCACAFA0E4AF1B893D8C1DBA69420B094C0D27FFAAFAD1C98B7CB86A70BE2C07BF501784D9D01293F308FAB1ED990D435968EF8570381A50496FED37F00024B092CFDA7FF000C4C824260E93F6560021058024BFF29FD0720B00496FE53FA0F4060092CFDA7F41F80C0520626A5FF0004961258FA4FFF01082C25B0F49FFE0310584A60E93FFD07606052024BFFE93F000496C0D27F4AFF01082C81A5FF94FE031058024BFF29FD0720B00496FE53FA0F40602981A5FFF41F80C052024BFFE93F80D6E3EDB7DF1614A553CBB3C05AA9FF94FE03283155555535F3E7CF1716255073E6CCF9AF2CB066E83FA5FF004ACCB871E3FE7DFCF8F18BE6CD9BF78BD068BE23FB08ABB163C77E93D579FA4FE93F801294BD499E991D59BE1FA7E3630D836AF28A7FF7196D35ACF49FFE0300000000000000000000000000000000000000001AD1FF03FA56BFF47D794D750000000049454E44AE426082, 1); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('9d23d446-1cd7-11ec-acd8-3ae4f1d3c3af', 1, 'flowContract.bpmn', '9d23d445-1cd7-11ec-acd8-3ae4f1d3c3af', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E222069643D226469616772616D5F666C6F77436F6E747261637422207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C70726F636573732069643D22666C6F77436F6E747261637422206E616D653D22E59088E5908CE5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C666C6F7761626C653A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E557064617465466C6F775374617475734C697374656E6572223E3C2F666C6F7761626C653A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C73746172744576656E742069643D224576656E745F3170736D697364223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D2241637469766974795F306E796C61317222206E616D653D22E59088E5908CE5BD95E585A52220666C6F7761626C653A61737369676E65653D22247B7374617274557365724E616D657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839363537313222206C6162656C3D22E68F90E4BAA42220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F303063657865612220736F757263655265663D224576656E745F3170736D69736422207461726765745265663D2241637469766974795F306E796C613172223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3175637268353222206E616D653D22E4B89AE58AA1E983A8E9A286E5AFBCE5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22247B64657074506F73744C65616465727D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550545F504F53545F4C45414445522671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A7461736B4C697374656E6572206576656E743D226372656174652220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E44657074506F73744C65616465724C697374656E6572223E3C2F666C6F7761626C653A7461736B4C697374656E65723E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839373234353522206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30346B63616A632220736F757263655265663D2241637469766974795F306E796C61317222207461726765745265663D2241637469766974795F31756372683532223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F30323666766E712220736F757263655265663D2241637469766974795F3175637268353222207461726765745265663D22476174657761795F30396364787466223E3C2F73657175656E6365466C6F773E0A202020203C706172616C6C656C476174657761792069643D22476174657761795F30396364787466223E3C2F706172616C6C656C476174657761793E0A202020203C757365725461736B2069643D2241637469766974795F3133386D346E6E22206E616D653D22E5B7A5E7A88BE983A8E5AEA1E689B92220666C6F7761626C653A63616E64696461746555736572733D2261646D696E2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353139343939313937323335322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839373831303122206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F307A7A307539672220736F757263655265663D22476174657761795F3039636478746622207461726765745265663D2241637469766974795F3133386D346E6E223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F30746D336D706822206E616D653D22E980A0E4BBB7E983A8E5AEA1E689B92220666C6F7761626C653A61737369676E65653D2261646D696E2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353139343939313937323335322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383839383233373722206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F317978716265302220736F757263655265663D22476174657761795F3039636478746622207461726765745265663D2241637469766974795F30746D336D7068223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F31323465387A332220736F757263655265663D2241637469766974795F3133386D346E6E22207461726765745265663D22476174657761795F306F79366F666C223E3C2F73657175656E6365466C6F773E0A202020203C706172616C6C656C476174657761792069643D22476174657761795F306F79366F666C223E3C2F706172616C6C656C476174657761793E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3175766A3364732220736F757263655265663D2241637469766974795F30746D336D706822207461726765745265663D22476174657761795F306F79366F666C223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3179757579696522206E616D653D22E8B4A2E58AA1E983A8E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303936343531393339353333323039362C313434303936343531393339313133373739322220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353132373739303833333636342671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383930333738313422206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383930343234383922206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F316B79686E6C7A2220736F757263655265663D22476174657761795F306F79366F666C22207461726765745265663D2241637469766974795F31797575796965223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3039386E63767722206E616D653D22E6B395E58AA1E983A8E4BC9AE7ADBE2220666C6F7761626C653A61737369676E65653D22247B61737369676E65657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353030313039333439323733362671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383931393036363222206C6162656C3D22E5908CE6848F2220747970653D226D756C74695F6167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383931393734303622206C6162656C3D22E68B92E7BB9D2220747970653D226D756C74695F726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D2266616C73652220666C6F7761626C653A636F6C6C656374696F6E3D2261737369676E65654C6973742220666C6F7761626C653A656C656D656E745661726961626C653D2261737369676E6565223E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B6E724F66496E7374616E636573203D3D206E724F66436F6D706C65746564496E7374616E6365737D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3064693671613622206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3179757579696522207461726765745265663D2241637469766974795F31656577743031223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C6578636C7573697665476174657761792069643D22476174657761795F316D356672757A223E3C2F6578636C7573697665476174657761793E0A202020203C73657175656E6365466C6F772069643D22466C6F775F306A7976317A622220736F757263655265663D2241637469766974795F3039386E63767722207461726765745265663D22476174657761795F316D356672757A223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F316833706E787922206E616D653D22E680BBE7BB8FE79086E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303931313431303538313231333431362220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935343932303334383934363433322671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B444550542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383934343935303822206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383934353238353022206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F31663879786F7622206E616D653D22E5908CE6848FE4BABAE695B0E5A4A7E4BA8E3430252220736F757263655265663D22476174657761795F316D356672757A22207461726765745265663D2241637469766974795F316833706E7879223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6D756C74694167726565436F756E74202F206E724F66496E7374616E636573203E20302E347D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C656E644576656E742069643D224576656E745F3132616A6F3364223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D22466C6F775F31613371636C6D22206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F316833706E787922207461726765745265663D224576656E745F3132616A6F3364223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F306C6C6F79353622206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3179757579696522207461726765745265663D2241637469766974795F306E796C613172223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3165657774303122206E616D653D22E6B395E58AA1E983A8E5AEA1E689B92220666C6F7761626C653A63616E64696461746547726F7570733D22313434303936343338373937393339393136382220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303935353030313039333439323733362671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B504F53542671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383933333730323422206C6162656C3D22E4BC9AE7ADBE2220747970653D226D756C74695F7369676E222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383933343139303122206C6162656C3D22E58AA0E7ADBE2220747970653D226D756C74695F636F6E7369676E222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F307A6D736E33782220736F757263655265663D2241637469766974795F3165657774303122207461726765745265663D2241637469766974795F3039386E637677223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3176737269766222206E616D653D22E5908CE6848FE4BABAE695B0E5B08FE4BA8E3430252220736F757263655265663D22476174657761795F316D356672757A22207461726765745265663D2241637469766974795F306E796C613172223E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6D756C74694167726565436F756E74202F206E724F66496E7374616E636573203C3D20302E347D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F316D323430366622206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F316833706E787922207461726765745265663D2241637469766974795F306E796C613172223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F77436F6E7472616374223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F77436F6E7472616374222069643D2242504D4E506C616E655F666C6F77436F6E7472616374223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3170736D697364222069643D2242504D4E53686170655F4576656E745F3170736D697364223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D2239322E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F306E796C613172222069643D2242504D4E53686170655F41637469766974795F306E796C613172223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223138302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31756372683532222069643D2242504D4E53686170655F41637469766974795F31756372683532223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223334302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F30396364787466222069643D2242504D4E53686170655F476174657761795F30396364787466223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223530352E302220793D223330352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3133386D346E6E222069643D2242504D4E53686170655F41637469766974795F3133386D346E6E223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223636302E302220793D223136302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F30746D336D7068222069643D2242504D4E53686170655F41637469766974795F30746D336D7068223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223636302E302220793D223339302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F306F79366F666C222069643D2242504D4E53686170655F476174657761795F306F79366F666C223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D223835352E302220793D223330352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31797575796965222069643D2242504D4E53686170655F41637469766974795F31797575796965223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313030302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3039386E637677222069643D2242504D4E53686170655F41637469766974795F3039386E637677223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313336302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22476174657761795F316D356672757A222069643D2242504D4E53686170655F476174657761795F316D356672757A223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2235302E30222077696474683D2235302E302220783D22313531352E302220793D223330352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F316833706E7879222069643D2242504D4E53686170655F41637469766974795F316833706E7879223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313637302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3132616A6F3364222069643D2242504D4E53686170655F4576656E745F3132616A6F3364223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D22313836322E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31656577743031222069643D2242504D4E53686170655F41637469766974795F31656577743031223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D22313139302E302220793D223239302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316D3234303666222069643D2242504D4E456467655F466C6F775F316D3234303666223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313732302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313732302E302220793D223534302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223534302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223231302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223935342E302220793D223532322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31767372697662222069643D2242504D4E456467655F466C6F775F31767372697662223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313534302E302220793D223330352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313534302E302220793D223133302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223133302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223239302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2238392E302220783D223834312E302220793D223131322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F307A6D736E3378222069643D2242504D4E456467655F466C6F775F307A6D736E3378223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313239302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313336302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306C6C6F793536222069643D2242504D4E456467655F466C6F775F306C6C6F793536223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313035302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313035302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223530302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D223337302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223632392E302220793D223438322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31613371636C6D222069643D2242504D4E456467655F466C6F775F31613371636C6D223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313737302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313836322E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D22313830352E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31663879786F76222069643D2242504D4E456467655F466C6F775F31663879786F76223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313536352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313637302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2238392E302220783D22313537332E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F306A7976317A62222069643D2242504D4E456467655F466C6F775F306A7976317A62223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313436302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313531352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30646936716136222069643D2242504D4E456467655F466C6F775F30646936716136223E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313130302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313139302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D22313133342E302220793D223331322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316B79686E6C7A222069643D2242504D4E456467655F466C6F775F316B79686E6C7A223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223930352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D22313030302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3175766A336473222069643D2242504D4E456467655F466C6F775F3175766A336473223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223736302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223335352E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31323465387A33222069643D2242504D4E456467655F466C6F775F31323465387A33223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223736302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223838302E302220793D223330352E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F31797871626530222069643D2242504D4E456467655F466C6F775F31797871626530223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223335352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223636302E302220793D223433302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F307A7A30753967222069643D2242504D4E456467655F466C6F775F307A7A30753967223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223330352E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223636302E302220793D223230302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30323666766E71222069643D2242504D4E456467655F466C6F775F30323666766E71223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223434302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223530352E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30346B63616A63222069643D2242504D4E456467655F466C6F775F30346B63616A63223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223238302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223334302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30306365786561222069643D2242504D4E456467655F466C6F775F30306365786561223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223132382E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D223333302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E, 0); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('9edcf5f7-1cd7-11ec-acd8-3ae4f1d3c3af', 1, 'flowContract.flowContract.png', '9d23d445-1cd7-11ec-acd8-3ae4f1d3c3af', 0x89504E470D0A1A0A0000000D4948445200000774000002260806000000AB78BB71000069854944415478DAECDD07981D55D938F05014AC34FB5F6CE0A7D83F15151B114114145009D98426862F8496DD0D298A88A11B5BB27743899F48533F0145098A81ECBD1702482F22016921B484D02142820AF39F77D859EE6E76934DB26576F7F77B9EF3E496B96577DF9C79CF79E7CC0C1B06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000834CE389D52D1B7FF6D757AC6ABBC9D32E7FCD4127565FDDDDE7279D587D93DF2E000000000000402A8AA9F5A5CA5F56D6F2826B7A7B7C6373F93BD11A9ACBB736942A67B4DD2F951B3A7BFFC6E66A7D7DA97A40C7C70F3CE9B24D1A9A2BA7C7EBEA9BAB7BA5EFF5C7A953A7AE9B3E76F7CABE6FFD8CF2E7D36D4FE9ECB9F4BDFEB7CB9FA3A9F2B3EEFE4EE27B747CECD0D2851BACF858F5AD63675DF7325104000000000000F48AD6C2EA8D8DCD977EB0B316CFC536B16D43A9B2736373A5B1A154BEB9A1B9BA5BD64A953BD3FB07C6739DBD7F7DA932A9B1A9BA6FC7C763756F1466EB9BAA273496AACDF5A5F2110DD3E7BD397DEC9186A6F2D4688DA5F22756785DA9B26D146E3BFBAC6CD570FEBD9BCA13E3FDF3FB8796CA5B74DC7ECAACB91BA5DBDC54DF5C1D993D9024EBA4F74F4ADBC28652F5C2F83EAD3FC3F8F899D3CFBE62C439E7AC973DD65CD9B1A1A97A717E1F000000000000A0C76505DD52E5F286A6CA842850B66F5951F4F2D8A6B1A9B247AC9E6D2C5516A48FDD17B75BDB03F9EDC6A66A5DC7F7AF6FAA9E5C5FAA4EE9F8F884A6CA4EE9FBDC92B6246D8BE273D2CF189BFE5B6E2D10DF7E68A9E57DB16DAC988DEDE3766D4137FD8EDF1B3BEB825776F67365DFB7A97274573FF7D4D3AA1B3694AAF3E2F30F69BEF49DADEF77707A7F4EB652B8A9F2DD585D9C1579D39FB1F16773364D9F9B3BBEA9FA81F14D97BE3BBD7DFDC1335B36134100000000000040AFC90BBA71EDDAFA1995F7B46F2D6FCC0BBAB16DC3F44BB74AEFFFAAA1543EADB6353695CFCA8BAF1DC5AAD6F435F7765CC97A48F3C56FA92F956F489F3B3BDDE6BAACF0DB54F9657ABBE5B099E5B7C7E7BCF41E2D9F8BC75BDFEFA5826E9CF2B9A932F6C5EF56DD380AB3794BDFFB90F4F999B58FC536B1EDD4A9D5F51B4AD5D9E9F3A7A6EDE1EC435E2CDCDE1D9F1577EB9B2BBB3496AAE7642B899BCBB7B6AEE65D38F1E48BDE90BEF69AF477F321D103000000000000F4AABCA03B79DAE5AF7971A56C143AB362E7A22880B62BE83697B78B226CDA7E52DB62B56A3CD7F1BDA3E819AB70EB9BABE7D53757BE59FB5CEB299B87D7972AC74D28553F35E1C44B374FB7AD66AB669BAAFB37962A47E5DBA6B79BD2F718D37ABBADA09BBEFFD6F1FED9ED99D5AF66D7E47DA95D9A3EF7B7768FC569A15F2CDCA6B7ABD3E33B3436952F88D71FD65C7D6F149EDBBE5F536542FA593FCA3EB3B9FC9DF8191A4BE5AFC5B57ED3D7EE9EBEC767C63755BEE81ABA00000000000040AFC90BBA87962E7C6D1453F3C7A3B89A3F575BD06D68AE5C15C5D6DA966E7375C7826E9CB6B8BEB9F2E76C75ED89D52DA3C01A2B63F3E71B4BE52FA5AFBB287DFDE3E9BFBF8FCF8EE26876AAE452E5A986E9D58FC476F54D73DF969DD6B975756DC76BE8C6678F6F2A7FBAE3CFD5D529971B9BCBE3D2D73C9D1574E354D3A5CAF5F533CA9F6F2DD6FEA9F6E78FF768F7DA52F598F4E73C36AEB91B2B86E37B64A76506000000000000E80DED0BBA95875E3A9572E5A18E05DDFA52657CACAACD56ACA6B763E56C763DD9E6F257EA9BAB7BD5BE6F3CD758AA36E7F71B9A2BC7A7AFF9CB4127565FFDD236D5735EBC5E6EB9A1A1A93CB575BBCFA49FF9EFC6E92DEFCAEE972A3F6D6CAE1C54F3BEED0BBA4DE5BDD336A3E3CFD5554137BEEF84A6962F448BEBF4A6AF3D344EA3DC5A38BE2ABB7E6EFAF3E4B7DB3E2756E596AAB363856FFADEBF8B4275FAF34C8ADF8528020000000000007A455EB48DDBD929966B5A142FE314CBD93633CB1F4DB7BBECD052798B28764EFCF145AFCAAE7B3BB3658728A8C6E98DE314C88D3F9BB36943A9FC87B87E6DED8ADCECFD63756B5C3777FABC3767F7A3185BAA2C4FDB7FEA4BD50362556E5CAF367DFDA8EC74C9E97687962EDCA0B6B01A85E3C652E5E7F9FD58D53B76D605AFECF8734511B8F6B4CD1DBD781DDDCAD238D574DB6B4AD5E6F4B3EF8855BBB5D7046E3D75F4B551F4CEEE972A47A6F77F9BFE7B5B5C0B581401000000000000BD62CAACB91BD59E6A3917D79BCDAE7F5B2ADF90AD4A2D55B78FD5B1AD85D039F5A5CA9551088E7F273455769A50AA7CB86166CB3651EC8CE26C579FD7D854199B3E3F2556C6C6F568E3D4CB07CF6CD92C5E97ADD8CD4FB53CB36587FAA6EA096DAF9BDEF2AE28A0468BD32377F9FECDD58F67A7802E55FE1EA7525EDDDF47ED0AE2B6DFC5F44BB7EA58B88D9FB7B6180C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014445D5D5DA2699AA6699AA6699AA6699AA6699AD6D3CDEC2B00400F1574FD1600000000809E64DE1100406205000000001494794700008915000000005050E61D0100245600000000404199770400905801000000000565DE1100406205000000001494794700008915000000005050E61D0100245600000000404199770400905801000000000565DE1100406205000000001494794700008915000000005050E61D0100245600000000404199770400905801000000000565DE1100406205000000001494794700008915000000005050E61D0100245600000000404199770400905801000000000565DE1100406205000000001494794700008915000000005050E61D0100245600000000404199770400905801000000000565DE1100406205000000001494794700008915000000005050E61D0100245600000000404199770400905801000000000565DE1100406205000000001494794700008915000000005050E61D0100245600000000404199770400905801000000000565DE1100406205C0109424C9CB172C5870CE95575EF9AF72B99CCC9D3B57EBE396FEDE5F98376FDEA24AA5B2AB88040000BA62DE1100406205C010B460C18273E7CD9B972C59B22459B66C59F2DC73CF697DDCE2F71EBFFF4B2EB9E4A9B973E7EE2C2A010080CE987704009058013004C5CADC28262AACF67F5BBC78F1A373E7CEBD46540200009D31EF080020B10260088AD32C5B995B9C95BA73E7CE5D2E2A010080CE987704009058013004C5355C15538BD3E2EF212A010080CE98770400905801300475B7A0FBCF2717270BAE3D2D99DF7274D6E2763CA608ABA00B0000F40DF38E0000122B0086A0EE1474973EF16072CB45DF4FFEF6E749ED5A3C16CF29C42AE8020000BDCFBC230080C40A8021A83B05DDFBE7CF5EA1989BB707E65FA010ABA00B0000F401F38E0000122B0086A0EE14746FAB4EEBB2A01BCF29C42AE8020000BDCFBC230080C40A8021A83B05DD5BE64EEDB2A01BCF29C42AE8020000BDCFBC230080C40A8021484157411700001818CC3B020048AC001882BA53D09DDF72749705DD784E215641170000E87DE61D01002456000C41DD29E8DE79C5CC2E0BBAF19C42AC822E0000D0FBCC3B020048AC001882BA53D07DECC19B935B2EFEC18AA75B4E1F8BE714621574010080DE67DE1100406205C010D49D826EB47BAE3B7385826E3CA608ABA00B0000F40DF38E0000122B0086A06E1574972F4FEEFCEBC92B9E6E397D2C9E538855D00500007A9F7947000089150043D0AA0ABA4B9F7830B9E38AE62EAFA11BCFC5368AB10ABA000040EF32EF080020B1026008EAB2A0BB7C79B2F8CE4AF2F739877759CCCD5B6C13DB5AADABA00B0000F41EF38E0000122B0086A0CE0ABAAB5A956BB5AE822E0000D0F7CC3B020048AC0018823A2BE8766755EECA56EB2ACC2AE80200003DCFBC230080C40A8021A8B382EE9A1673F3A630ABA00B0000F43CF38E0000122B0086A02EAFA1AB29E80200008562DE1100406205C010A4A0ABA00B00000C0CE61D01002456000C410ABA0ABA0000C0C060DE1100406205C010A4A0ABA00B00000C0CE61D01002456000C410ABA0ABA0000C0C060DE1100406205C010A4A0ABA00B00000C0CE61D01002456000C410ABA0ABA0000C0C060DE1100406205C010A4A0ABA00B00000C0CE61D01002456000C410ABA0ABA0000C0C060DE1100406205C010A4A0ABA00B00000C0CE61D01002456000C410ABA0ABA0000C0C060DE1100406205C010A4A0ABA00B00000C0CE61D01002456000C410ABA0ABA0000C0C060DE1100406205C010A4A0ABA00B00000C0CE61D01002456000CAEFD51356DC357B59D82AE822E00003060C679C60B0000122B0006D3FEA8B5ADB4B0ABA0ABA00B00000C9C719EDF020080C40A8041B43FEAD03A2DEC2AE82AE802000003679CE7B7000020B1026010ED8FBA68ED0ABB0ABA0ABA0000C0C019E7F92D000048AC001844FBA355B4ACB0ABA0ABA00B00000C9C719EDF020080C40A1862FD95A615B1A0BB6CD9B264E9D2A5ABDC6ED1A245C96DB7DDB65AEFBD64C992E4CA2BAFECF2F9471E7924993F7F7E767BE1C285C9934F3E997D9F7FFCE31FDDFA4E6BDBC4E4E06FF63E000098770400905801E8AF28CC2997CF3AEBACE4A73FFD6997EDF4D34FCFB6BBFCF2CB937DF7DD37F9D8C73E96BCE215AF480E3AE8A0E4FDEF7F7FF2BEF7BDAF5D5BBE7C79B278F1E2E4B2CB2E4B76DB6DB7E4831FFC60763BDAF7BFFFFD76DBC6674771F684134E686B3BEFBC73B2EEBAEB26C71E7B6CBBC7EFBCF3CEEC7BFCFAD7BF4E5EFFFAD767B737DA68A3E4ECB3CF4E1E7CF0C1F8BF925C77DD7556E8A2DF0500403E090020B102D05FD1337FDF95157273BD5DD0DD6FBFFD92ADB7DE3A6B1FF8C007B2C268FC9B3F16DF2DB6AB56ABC92EBBEC92ACB3CE3AC911471C915C73CD35D9B651F43DEFBCF392638E3926BB1FAB65CF3CF3CCEC76C7B6CF3EFB249FFDEC67931FFFF8C7D9FDD9B36727E79E7B6EB2FEFAEB275FFEF297BB6CB1ED85175E98DC7DF7DDC9E4C993938D37DE382997CB0ABAE8770100904F020048AC00F457F4DEDF776585DC5C5F9E72394E5B9C7E6472F3CD3777FADCF9E79F9FAD9E3DFEF8E3936BAFBD36DBF6C0030F4C8E3BEEB8E480030E682BE8C6F651783DFAE8A3B315BBDB6DB75D72EAA9A726DFFEF6B793BDF6DA2BF9D18F7E94ADB27DE69967928B2EBA285BE97BCF3DF7642D4EB71CEF138FE78F7DF8C31F4EAEB8E28A64FAF4E9C9061B6C901595DFFBDEF76605DD33CE3823DB265E3375EAD4649B6DB6E9F4FB2BE8A2DF0500403E090020B102D05FB13A7FDF951672734529E8C64ADC57BDEA55D9F3AF7DED6B939FFCE427C937BEF18D766DF7DD77CF0AB877DC714756E07DC73BDE91ADC08DD79C72CA29593137DA873EF4A1AC109CBF779C467958272B7AF3169F5DBB6DED2997E3F9CF7DEE73D9BFF1FDC68D1B977DBE822EFA5D0000E4930000122B00FD15BDAE2805DD6853A64CC99E9F38716252A954B2026EC7162B69C78F1FDF696176871D7648468D1A956CB5D55659C1B7B648BBE9A69B26D75F7F7D766AE5D8360AC1717F8B2DB658A1A01B05E538CD731474E35ABB717DDF784D7CB6532EA3DF0500403E090020B102D05FD1678A52D08D55AF1B6EB861F6FCCB5EF6B2AC307BF8E18767D7C58DC71A1B1BB3FB37DD7453B64A77D6AC59C949279DD4D62EB8E082B6532E5F7DF5D5C9CB5FFEF2E4BEFBEE5BAD15BA71BDDC38FD723CF695AF7CC53574D1EF0200209F0400905801E8AFE85F4529E846E176E79D774ED65B6FBDE4A8A38ECA56C8C6E98D77D96597EC3563C68C490E3AE8A0B6ED63BBCD37DF3CBBD6EDC61B6F9C1560F3826E3C1FD7CD9D366D5A5B4177934D3649AEBAEAAA64F6ECD9D9FBFDE637BFC9EED7AED08D6BF86EBFFDF6C9EB5EF7BAB6532E772CE8FEF39FFF54D045BF0B00807C1200406205A0BFA26F14A5A07BDC71C76505D328D456ABD5E4E1871FCE0ABABBEDB65BF69AFDF6DB6F8582EE9C3973B2DB871C72485B4177DB6DB74D264F9E9C6CB6D9665931766DAFA1DBB1A0BBC71E7BB4DB5E4117FD2E0000F2490000891580FE8A5ED39B05DDD34F3F3D2BB0E66DEBADB7CE0AA39FF8C427DA3DFECB5FFE3279F6D967DB0AB551D08D42EA8C193392830F3E387BCD09279C90DDCFBF6F6CB7DD76DB257BEEB967F29EF7BCA7ADA01BD7D9FDC217BE9015831F7BECB16CDB2BAFBC323B6573ACAEBDF3CE3BB3F7BBF6DA6BB3FBF1BE2D2D2DD9760F3DF450B63A380ABAF17C7CC6473EF29164D75D77CD5E3373E6CCE4DDEF7E77D2D4D4A4A08B7E170000F9240080C40A407F45EFEBCD82EE25975C921C79E491AB6C7941B5B6A01BA758FEE4273FB9423BFEF8E3DBB6FBEA57BF9A156EE3F4CA1D4FB9DC555BB87061569CBDF1C61B5778EE17BFF845F6DCD7BFFEF5EC9ABC6F7DEB5BB3F72F97CB59113A9E7BCB5BDE92CC9F3F5F4117FD2E0000F2490000891580FE8ADED797A75CEE4EBBF7DE7BBB759DDABBEEBA2B59BA7469DBCADA458B16258B172FCEFE5DD9EB9E79E699E49A6BAE697B6D6D8BCF8DF788DBCB972F5FE1F9A79E7AAAD3C71574D1EF0200209F0400905801E8AFE815452BE80EF5A6A0ABDF050000F9240080C40A407F451B055D055DF4BB0000C8270100245600FA2B0A4A41574117FD2E0000F2490000891580FE8A8252D055D045BF0B00807C1200406205A0BFA2A014741574D1EF0200209F0400905801E8AF2828055D055DF4BB0000C8270100245600FA2B0A4A41574117FD2E0000F2490000891580FE8A8252D055D045BF0B00807C1200406205A0BFA2A014741574D1EF0200209F0400905801E8AF2828055D055DF4BB0000C8270100245600FA2B0A4A41574117FD2E0000F2490000891580FE8A8252D055D045BF0B00807C1200406205A0BFA2A014741574D1EF0200209F0400905801E8AF2828055D055DF4BB0000C8270100245600FA2B0A4A41574117FD2E0000F2490000891580FE8A8252D055D045BF0B00807C1200406205A0BFA2A014741574D1EF0200209F0400905801E8AF2828055D055DF4BB0000C8270100245600FA2B0A4A41574117FD2E0000F2490000891580FE8A8252D055D045BF0B00807C1200406205A0BFA2A014741574D1EF0200209F0400905801E8AF2828055D055DF4BB0000C8270100245600FA2B0A4A41574117FD2E0000F2490000891580FE8A8252D055D045BF0B00807C1200406205A0BFA2A014741574D1EF0200209F0400905801E8AF28A872B9FCC2B265CB14530BD0D2BFC3A2B973E72E1795FA5D0000904F020048AC00F45764E6CD9BB768C992250AAA0568F7DE7BEF6FE7CE9D7B8DA8D4EF0200807C1200406205A0BF2253A95476BDE4924B9E5ABC78F1A356EAF6DBCADCC50B172EFCCDDCB973EF4BDBCEA252BF0B0000F2490000891580FE8A3651448C95A1697B2EAEE1AAF5797BAEF5F7AF98ABDF050000F9240080C40A407F05A0DF0500403E090020B102D05F01A0DF0500403E090020B102D05F01E8770100904F020020B102F45700E8770100904F020048AC00F45700FA5D0000904F020048AC00FD1500FA5D0000E4930000122B00FD15807E170000E4930000122B00FD15807E170000F9240000122B407F05807E170000F9240080C40A407F05A0DF0500403E090080C40AD05F01A0DF0500403E090020B102D05F01E8770100403E090020B102D05F01E8770100904F020048AC00F45700E8770100904F020048AC00F45700FA5D0000E493000048AC00FD1500FA5D0000E4930000122B00FD15807E170000E4930000122B407F05807E170000F9240080C40A407F05A0DFF55B0000403E090020B102D05F01E8770100904F020020B102F45700E8770100904F020048AC00F45700FA5D0000E493000048AC00FD1500FA5D0000E4930000122B00FD15807E170000E4930000122B00FD15807E170000F9240000122B407F05807E170000F9240080C40A407F05A0DF0500403E090080C40AD05F01A0DF0500403E090020B102D05F01E8770100403E090020B102F457FA2B00FD2E0000F2490000891580FE0A00FD2E0000F2490000891580FE0A40BF0B00807C1200008915A0BF0240BF0B00807C1200406205A0BF02D0EF0200209F944F020048AC00FD1500FA5D0000E4930000122B00FD15807E170000E4930000122B00FD15807E170000F9240000122B407F05807E170000F9240080C40A407F05A0DF0500403E0900C0AA93A86A2452AB6855BF29C0401000FD2E0000F2490080BE4FA28677A3A03BDC6F0A30100440BF0B00807C1200A07F12A9AAD5B980812000FA5D0000E4930000C54CA4865B9D0B180802A0DF0500403E090050DC64AA6A752E602008807E170000F92400403193A9E156E702068200E8770100904F02001437A1AA5A9D0B180802A0DF0500403E090050CC846AB8D5B980812000FA5D0000E4930000C54DAAAA122BC0401000FD2E0000F2490080622655C3255680812000FA5D0000E49300C0A09324C9CB172C5870CE95575EF9AF72B99CCC9D3B7740B648AC06EA774F7FEF2FCC9B376F51A552D955FCCDD5C49F812000FA5DE493F249C4BDB817A79A38954FA25FD3F46B00B97427746EDA09264B962C49962D5B963CF7DC735A1FB7F8BDC7EFFF924B2E792ADD31ED2CFE34F1672008807E17F9A47C12712FEEC5A9264EE593E8D734FD1A40268E288A4ED00EA1FFDBE2C58B1F4D7744D7883F4DFC190802A0DF453E299F44DC8B7B71AA8953F924FA354DBF069089D34338A2A8384718A53BA2E5E24F137F068200E877914FCA2711F7E25E9C6AE2543E897E4DD3AF0164E2DCF37602C569F1F7107F9AF833100440BF8B7C523E89B817F7E25413A7F249F46B9A7E0D60B57644FF7C7271B2E0DAD392F92D47672D6EC763761E7644E24FFC61200850A03EB61AFDEC2A5AD56F4A3E299F944F8A7B4DDC8B53718A713CFA35FD1AC0A0DA112D7DE2C1E4968BBE9FFCEDCF93DAB5782C9EB303B123127FE20F03418082F4B1C3BB51D01DEE37259F944FCA27C5BD7815F7E2549C621C8F7E4DBF0630A87644F7CF9FBDC24E286F0FCCBFC00EC48E48FC893F0C04018AD4CF56ADCE954FCA27E593E25EDC8B7B71AA8953E378F46BFA358021B523BAAD3AADCB1D513C6707624724FEC41F06820005EA67875B9D2B9F944FCA27C5BDB817F7E25413A7C6F1E8D7F46B00436A4774CBDCA95DEE88E2393B103B22F127FE30100428585F5BB53A573E299F944F8A7B712FEEC5A9264E8DE3D1AFE9D700EC88EC88EC88C49FF8C34010A0987DED70AB73E593F249F9A4B817F7E25E9C6AE2D4381EFD9A7E0D60C8EC88E6B71CDDE58E289EB303B123127FE20F03418002F6B755AB73E593F249F9A4B817F7E25E9C6AE2D4381EFD9A7E0D6048EC88EEBC6266973BA278CE0EC48E48FC893F0C04010AD8DF0EB73A573E299F944F8A7B712FEEC5A9264E8DE3D1AFE9D70086C48EE8B1076F4E6EB9F8072B9E26227D2C9EB303B123127FE20F03418082F6B955FDAE7C523E299F14F7E25EDC8B53712A4E8DE3D1AFE9D70006FD8E28DA3DD79DB9C28E281EB3F3B023127FE20F03418002F7B9C3478C18A1DF954FCA27E593E25EDC8B7B712A4E318E47BFA65F0318E43BA2E5CB933BFF7AF28AA789481F8BE7EC40EC88C49FF8A3DBB66D1D086EEB5701D037FDEE861B6EA8DF954FCA27E593E25EDC8B7B712A4E318E47BFA65F0318BC3BA2A54F3C98DC71457397E7FE8FE7621B3B113B22F127FE58F520306D4BD236B1F55F834100FD2EF249F924E25EDC8B53712A4EE593E8D734FD1AC01AEE88962F4F16DF5949FE3EE7F02E7742798B6D625B4719D911893FF1C72A0781DB76711F00FD2EF249F924E25EDC8B53712A4EE593E8D734FD1A40F77644AB3A9AC851467644E24FFCB15683C0553D0E807E17F9A47C12712FEEC5A93815A7F249F46B9A7E0DA0EB1D51778E265AD9514676287644E24FFCD1EDC19EC120807E17F9A47C12712FEEC5A93815A7F249F46B9A7E0D60F576446BBA13CA9B1D8A1D91F8137FACD620CF601040BF8B7C523E89B817F7E2549C8A53F924FA354DBF06D0FD1D91664724FEC41F7D3608341804D0EF229F944F22EEC5BD38D5C4A97C12FD9AA65F1B34BEF5AD6F6D5C5757B7FBC891234BE9BFE5B4DD93B667D396B4FE1BF7CBADCFEF1EDBFBAD0D414F3DF5D4A6B367CF3E7AE6CC997F3BEAA8A31E9D3265CAB2030F3CF085089471E3C6FD7BE2C4894F7FEF7BDFBBEFE8A38FBE60D2A4495F4E5FB28E1D911D801D91F8D32442FD3808341804D0EF229F944F1640E389D52D1B7FF6D757887BCD384A9C8A53F9E460C927BBBB6F9B3CEDF2D71C7462F5D5DD7D7ED289D537ADECFD0E2D5DF8DA29B3E66EA45FD3F46B033FF75C1DA3468DDAA1AEAEEEBCB43DD75ABCED6E8BEDCF8BD7DB250D01575F7DF5B81933663C78C001072453A64C49CE3DF7DCE4FAEBAF4FEEBEFBEEE4B1C71E4B42FC1BF7E3F1787EF2E4C92F8C1933E6B94993265D347AF4E87749B0353B22F127FEE8A741A0E202807E17F9A47CB287C484737DA9F29795B57C523ABD3DBEB1B9FC9D680DCDE55B1B4A9533DAEE97CA0DE25E338E12A7E2543E59847CB2B7F76D8DCDD5FAFA52F5808E8F1F78D2659B3434574E8FD7D53757F74ADFEB8F53A74E5D377DECEE957DDFF80EF5A5F2219D3D97BED7FF76F97334557ED6DDDF497C8F8E8F1D5ABA7083151FABBE75ECACEB5EA65FD3AFC93D7BCFA851A3B6A9ABABBB6A358BB85DB5ABE2FDEC9E06A19B6FBE79A7934E3A69D1D8B16393DFFFFEF7C9238F3C92AC8ED83E5E3766CC987F3536369E9306CAEB24D89A1D91F8137FF4D2202EA9698A0B00FA5DE493F2C95ED03AF97C6363F3A51FECACC573B1CD8B93CA959D1B9B2B8D0DA5F2CD0DCDD5DDB256AADC99DE3F309E13F79A71943815A7433E9FECCBF7E9B77D5B7DA932A9B1A9BA6FC7C763F560FA9A53EA9BAA273496AACDF5A5F2110DD3E7BD397DEC9186A6F2D4688DA5F22756785DA97278637379BFCE3E2B5B95987FEFA6F2C478FFFCFEA1A5F2161DB78F95BEE93637D5375747BE98E127EBA4F74F4ADBC28652F5C2F83EAD3FC3F8F899D3CFBE62C439E7AC973DD65CD9B1A1A97A717E5FBFA65F937BF6AC6F7DEB5B1B8E1C39F2C4BABABA173A16661B1A1A925FFFFAD72B5D7819CFC7769D14755F88F78DF7B7AB1A04D2BFFB7A175E78E1EC28E49E71C619C9D2A54B93B511AF8FF74903E4D9BDF6DA6B3709B626C1167FE28F5E18BC75A7B0A0B800A0DF453E299F5CDB49B552E5F286A6CA8498C46DDFB289E3CB639BC6A6CA1EB1C2A8B15459903E765FDC6E6D0FE4B71B9BAA75E25E338E12A7E27448E793FDF57E7DBA6FAB6FAA9E5C5FAA4EE9F8F884A6CA4EE9FBDC92B6246D8BE273D2CF189BFE5B6E2D40DD7E68A9E57DF54D73DFD6582A7F296FE9E3673796AAC7D43E76D8CCF2DB3BBE7FF67D9B2A4777F5734F3DADBA6143A93A2F3EFF90E64BDF198FA53FF3C1E9FD39D94AE1A6CA7763757156E44D7FC6C69FCDD9347D6EEEF8A6EA07C6375DFAEEF4F6F507CF6CD94CBFA65F937BF6BCBABABACD478D1AF5B7DA42ECE8D1A39359B366250F3CF0C06AD5E762FB785DBCBE4361F7A6F81CBBAC012CFDFB6E7CD65967DD71F0C107270B162C487A52BCDFD8B163978D1933E62809B626C1167FE28F1E1EB475B7B0A0B800A0DF453E299F5CCB49B5B8BE5FFD8CCA7BDAB79637E6936AD9A4F0F44BB74AEFFFAAA1543EADB6353695CF8A096A71AF19478953713AE4F3C922BC6FAFEFDB62556BFA9A7B3BAE643DA4F9E2B7D497CA37BC58A0AD5C97157E9B2ABF4C6FB74481363EE7C5D7B77CAEA1A932ADAD952A8F6545AB9AC7D2D77EB6617A75E328CCE62D4ECB9C6E3BB3F6B1D826DE73EAD4EAFA0DA5EAECF4F953D3F6706B61609D170B622D9F8BBBF5CD955D1A4BD573B295C4CDE55B5B57F32E9C78F2456F485F7B4DFABBF9907E4DBF26F7EC79A3468D7A6FDA1EAC2DBE4E9B362DB9FFFEFBD7AA3E17AF8FF7E950D4BD3F3ECFAE6B008A626EA9547AE288238E489E78E289A437C4FB4E9932E5D97DF6D9E74C09B626C1167FE28F1E1CACAD4E6141710140BF8B7C523EB916936A93A75DFE9A175713C564703621BC282689DB4DAA3597B78B89EAB4FDA4B6C58A9E784EDC6BC651E2549C0EF97CB210EFDF9BFBB6287AC62ADCFAE6EA79F5CD956FD63ED77A4AD8E1F5A5CA71134AD54F4D38F1D2CDD36DABD9AAD9A6EAFE8DA5CA0A8BA226942EFDEF749BBBD26DFE1AA7576EF75933AB5FCDAEC9FB52BB34DDF66FED1E8BD3CEBE58B84D6F57A7C777686C2A5F10AF3FACB9FADE283CB77DBFA6CA84F43BFC286EC73548E367682C95BF16D7FA4D5FBB7BFA1E9F19DF54F9A26BE8EAD7E49E3DA77565EE83B5AB7267CF9EDDA335BA78BF0EAB75EFB752778089D32C9F75D65977463137FED3F6A678FF8913273EB9E79E7B7E4F82AD49B0C59FF8A3870669AB5B58505C00D0EF229F944FAEE1A4DAA1A50B5F1B13CE6D93BEA54A357FAE7652ADA1B972554C48D7B6749BAB157435E328712A4E07753EB94EDAF66DFD776D74F63E3D9E4FF6D6BE2D4E5B5CDF5CF973AC788DE26B145863656CFE7CEBE9932F4A5FFF78FAEFEFE3B3A3389A9D3AB65479AA617AF5231DBF6BAC98CD4E3DDB5CF94C145857F6737575CAE5C6E6F2B8F4FD9FCE0ABA712ADB52E5FAFA19E5CFB7166BFF54FBF3C77B74F8FC63D29FF3D8B8E66EAC246E2895FF373B2DB37E4DBF26F75C6B714DDBDAD32CEFB7DF7EC98D37DED82B35BA78DF78FFDAD32FBBA6EE0012D7CC3DE490437A6D656E672B75F7DF7FFFA7D340D94582AD49B0C59FF8A30706676B5258505C00D0EF229F944FAEF1A45AE5A1974E675779A8E3A45A7DA9323E561E65AB7AD2DB8DA54A5376CDBDE6F257EA9BAB7B897BCD384A9C8AD341994F46F1F5D4D61CF1D4616B5ED45DD9FBF4683ED95BFBB678AEB1546DCEEF3734578E4F5FF397834EACBEFAA56DAAE7BC78BDDC72434353796AEB769F493FF3DF8DD35BDED5EEFD9AAA7551C4CA4FDD1CA7914D3FE3F0AE7EAEAE0ABAF17D2734B57C215A5CA737FDDC43E334CA71ADDE288665D7CF4D7F9EFC76DBF78F55B9A5EAEC58E19BBEF7EFA2509DFE3C93E277A15FD3AFC93DD7DEC891234FAC5D99DB5BC5DCDAA26EED4ADDF87CBBB30120FDC3ED3C76ECD81EBF666E77AEA9BBD75E7B3D3162C488D74BB03509B6F8137FACE5A06C4D0B0B8A0B807E57BF8B7C523EB99A936AD9C46E9CE6AEA6C5046F9CE62EDB6666F9A3E976971D5A2A6F1113C2137F7CD1ABB26B03CE6CD9A1A1A93C234E01593FA3656B71AF19478953713AE8F2C97D3BE4896B52D4AD2DE6E66D9FDECA277B7ADFD6F8B3399B3694CA7F88EBD7D6AEC8CDDE3F56B7C67573A7CF7B7376BFA9BC77BADDF2B4FDA7BE543D2056E5C6F56AD3D78FCA4E979C6E17AB76D3CF2BA58FDD91BF2E4C9D7ACECB5B4FA3FCDBB1B32E7865C79FABB1B9725067A76D7EE9F5711DDDCAD238956DDB6B4AD5E6EC734A95EB6BAF39DA7AEAE86BA3A896DD2F558E8CCF4DFFBD2DAE05AC5FD3AFC93DD7CEA851A3B6A9ABAB7B3E2FAE5E70C1057D52A38BCFA959A5FB7C7C0F9956C19D74D2498BCE38E38CA43F9C7CF2C98BD2406992606B126CF127FE1415D67230B6368505C50540BFABDF453E299FEC8629B3E66E547BBABBB609EA5265E7EC1A81A5F20DD9CA9D5275FBC65265DBD6C9E239F5A5CA95311917FF4E68AAEC34A154F970C3CC966DC4BD661C254EC5E9A0CB273B2BC6AE4E51B7B3D7FFA28BD7F7483ED9D3FBB628764671B6ABCF6B6CAA8C4D9F9F122B63E37AB471EAE58367B66C16AFCB56ECB69E6A390A51F54DD5131A9A2B93D3ED4E8D025567EFD7D054F96EED698FD3DB1FCF4E315BAAFC3D4EA5BCBABF8FDA15C46D9F31FDD2AD3A166EE3E7AD2D06EBD7F46B72CF3557575777555E589D366D5A9FD6E8E2F36A8ABA57C9B40AECEAABAF1E17AB739F7EFAE97E29E8C6E7EEBDF7DE4F8D1E3DFA5D126C4D822DFEC49F41E05ABCC7DA1616141700FDAE7E17F9A47C52DC8B37712F4E3571BAF679DC9A167557A7983B74F2C9245947BFA6E9D706AF3DF6D863FBDA532DDF7FFFFD7D5AA38BCFAB3DF5727C1F7F95829A3163C683E79D775ED29FCE3CF3CCBBD340996547A4D911893FF16710D8CF8505C50540BFABDF453E299F14F79AB817A79A385DFBFC6D758BBA6B52CC954FEAD734FDDA80575757775E5E4C9D356B56BFD4E8E2736B56E99EE7AF52404F3FFDF466E3C68D4B1E7EF8E17E2DE8A69FFF9FD1A3472FA9BDC8BA1D91664724FEC49F41603F15160C0601FDAE7E17F9E480CB2707DB785ADC6BC651E2549C0E8A7CB2BB45DDB529E6CA27F56B9ABC73C01A3D7AF426757575CFE5C5D4BE5E9D5BBB4AB7A6A0FB5C7C2F7F9D82F9D39FFE74D49429539222D87FFFFD17A681F2E981F07B4BBF67356DC3ED8824D8E24F33C0EB7E4CF6C160AB270B0B0683C0509F7CD3EF0E62F2C9C1954F3EF4D043EFBCEFBEFB6EB9E1861B9E3BF2C8238F1F3E7CF8FAA25CDC1B4789534D9C16681CBFAAA26E4F1473E593FA354DDE3920E33F7D7EF7BC90DAD0D0D0AF35BAF8FC9AA2EEEEFE8205D3DCDCFCF773CF3DB71005DD534E39E5A634487E3840FE23E641BDD2FF907644126CF1A70D91826EB762B20F06593D5D583018040613FD2EF2C941964FA6C3E8F5EEB8E38EE9CB972F7F3E1F57A7DBFDFBECB3CF7E70BFFDF6FBB44817F7C651E25413A7051AC77755D45D7758CF1573E593FA354DDE39E0E23F7DBC39DFEE57BFFA55BFD6E8E2F36BBE73B3BF60C11C75D4518F5E7FFDF58528E8CE9B37EFE6912347CE1E60FF1157FA1FD28E48822DFEB42156D0EDEE80B0B70657BD51583018040603FD2EF2C941964FDE73CF3DDB2E59B2A4CB6B272D5CB8F05FD3A64D3B77C488111B8978716F1C254E35715A90717C6745DDDB87F56C31573EA95FD3E49D032AFE478D1A55C99FBFEEBAEBFAB546179F9F7F97F85EFE82053379F2E4650B162C284441F7F6DB6F8F532E5F3B40FF2376FA1FD28E48822DFEB4215AD05D5992DE9B83AADE2A2C180C0203997E17F9E420CA2753AFB9EBAEBBFEFCFCF3CFAF728CFD422A7DCDD2C6C6C67D45BDB8378E12A79A382DC838BEB3A26E4F1773E593FA354DDE3960E23FFDF7BEFCF1FEAED5C5E7D77CC7FBFC050B66DCB8712F3CFEF8E38528E83EF6D8634BD320797080FF476CF71FD28E48822DFEB4215ED0ED98A47467309514A0190C0283857E17F9E4206A575E7965F2D4534F2D5BDDB1F6134F3CF1AF534E39E5FA112346BC53DC8B7BE32871AA89D35E18C7AFAE38CD72C795B9B7B73EDE1FF930FA354DDED99FF1FF4C7EBFBF6B75F1F9352B749FF6172C98BDF7DE3BF9F7BFFF5D88826EFA3D9EEE46800FA8D6DF3BA2679E7926EB7CE3DFFEF8FCA79F7E3A3AFEC2EC88065B7CF566FCC5DFEDFEFBEFCF6EDF7BEFBD2BFD3BC6913B0F3CF0C02ADF73D1A245C96DB7DDD6ADCF8FF77BF8E1877B2D16962C5992FDDFE8EAF9471E7924993F7F7E767BE1C285C9934F3E992C5BB62CF9C73FFE912C5DBA54FCAD414B13B964C30D378C41DAC455EC9A8A5C5818D6FAFD6330F84A59045070AF6CEDAF067CBF3BD4F7A143753C1379D7E2C58BFB24F7ECCF1CB1BB2D7E9E9FFCE427C9A38F3EBADA63ED784DBC564C1723EE9F7DF6D9151EBBFBEEBB93871E7AA84FC75C0321EE8DA356DE86529CAE6A7EEB89279E58E1B3632E23E6A5CC37F5C9387E75AC6C85EEA9C37A7685AE7CD2FE7785D6B1FFB9E69A6B92E5CB97AFB0DD3DF7DCD3ABDF43DEA975D6FABB56179F5FF37DFE635AA5600E38E0807F1765856EDA49DD350856E816E65411D1C97FE52B5FC912A29D76DA29BBDF31B17DCF7BDEB3CA9617F5E2FCE95B6EB965A7EDC4134FECF43B6CBBEDB6C997BEF4A5E49FFFFCA723260758FCFDE637BF495EF39AD764B737D86083E4DC73CFED74BB18CCBDF9CD6F4E3EFAD18F26BFFEF5AFDBB5D881C736311177D9659725BBEDB65BF2C10F7E30BB1DEDFBDFFF7EF2BEF7BDAFAD9D75D6596D83C04D36D924F9AFFFFAAFEC3DB6D9669B76DB456B6E6ECEB6FDF18F7FBCC273B52D4F7022013AE18413DADACE3BEF9CACBBEEBAC9B1C71EDBEEF13BEFBC33DB3EBEFFEB5FFFFAECF6461B6D949C7DF6D9C9830F3E98FD7F8AFF0B8E2C5FB3981C66A518405FD3EF52D8F14C4C9ED5E66DEF7FFFFBB349AAFCF9FFFEEFFF4E66CC98D1ABB9671172C4D569E79D775EB2FFFEFB5F5CA9541E79E185179EEFC630FB3FE9EFE3B7DFFEF6B7FF9EFE5D2FB442B7FFE33E62EEAD6F7D6B72FEF9E7B77BFCBDEF7D6FF2C31FFEB04FC65C032DEEADD01D9A71DAB158BBE38E3B663117FFC63C66C7CF9F3C7972B2CE3AEB24A79D765AF6995124D9628B2D92CF7FFEF36DDFE3861B6E10A7BD378E5F9B62EEEDBD5CD4954FEAD7DADA05175C90BCEC652F6B2BA4461F147177D14517B5DBEEEF7FFF7BD6A7C4F3D1AF44DF56DBA64D9BD6969B8D1F3FBEAD1D70C0019DCE4FC60131F24EF1DF55FCC74A582B74E996C30E3BECE9A25C43F7D65B6FBD6E005F43B75017738F24F9B39FFD6CF28E77BC239933674EF2F6B7BF3DBB1F47FEE4DBDC75D75DD90EE088238E4866CE9CB9423BFCF0C3B3E763BBFCA8A05FFDEA57C9E9A79FDEAEBDE52D6F498E3BEEB84EBFC75FFFFAD7E495AF7C653269D22405DD01127FF951B8DD29E8C6D1AF51B48F3879E73BDF99B588B9B8BFFEFAEB67C94A6C77E69967763A79BBCF3EFB64711945D9B83F7BF6EC6C122FDEF3939FFC64F2C52F7E31D975D75DB3D79F7AEAA9592C8D1D3B36BB9D272E13274ECC0ABF31E0AB6DDFFDEE77B3F7CC8FC68DEF1FDFE9CB5FFE72972DB6BFF0C20BB3EF1D83C18D37DE382997CB0ABA3D18937D3098722D4700FD2E03643C73C9259724AF7AD5AB92E9D3A76793F91147318E89D510D1B6DA6AAB64EAD4A96D676DE98DDCB30839E29AE493A3468DDA23FD9DA5C3BB250F7735BE7EFEF9E76F9C366DDAB9E9DFF581D85ED41723EE63BCF5ED6F7F3B8BBB18D7444C45DB6CB3CDB2F8CEEFC7CA1871AFA03B94E334FF2EF7DD775FF2894F7C225B4C103F731469E37EED6ADC58B010F3059B6FBE79561C897FE3A0A078AF982F887F63C142A95412A7FD3B8EEFAC981BD7CC5DB793C77BAAA82B9FD4AFB53BF0248AB3EF7EF7BBB3A26CDCDE7AEBAD93B7BDED6DD9EDDA33101C7AE8A1C9C73FFEF1ECF6D5575F9D1D64182DCE761A31FAF39FFF3C7BEE97BFFC65F2A94F7D2AEBEBF6D8638F6C6153CC67467137F69DF17C6C1FAB82E59DE2BFABF8770D5DBAED88238EB8FFFAEBAF2F4441B7A5A5A53C72E4C8D903EC3FE2CA929D7E29E8C60E288EDE89A4353F3544FC478C9DD51BDFF8C6B6231DF3826E9C02218A671D5B9E48E705DDFC68CCCE92EFAE0ABAD17EFAD39F661335DD39ED8E8160FFC6DF8D37DE98C54E14413B2BE8C6113AF1FC2DB7DC92155E6340F4A637BD2979C52B5E916CB7DD7659C2317CF8F064D34D375DE1C8B648428E3EFAE8EC1426B16D0C0A6380B8D75E7B253FFAD18FB2F78D53271D7FFCF1D9E7C6F67FF8C31FB2F78ACF89E42A622DB68BDBF9CF1605DD612B59F1931774E3FBC4AA8F7C82308EC41BD67A045EFED8873FFCE1E48A2BAEC82615E3678E23F122E623693AE38C33B26DE23531B118AB866FBEF9661311AB19937D30A8EAADC282412030D0E97729DC78260ABA3149B5E79E7BC6D1FF6D93FA1DF3B9830F3EB8D772CF22E4886B9A4F8E183162A3F47777729AB73FF99FFFFCE7D99AA1F5D3D75D77DDE9E9730FA47FDB93623B115F9CB88F03A5A358F5FBDFFF3E99376F5E7656AD68AF7EF5ABB3B8CAEFC744AEB81FF205DD211DA751548EF88B988BD5BCF9D9E3A2C0FB810F7C203BAB57535353F6F9279D7452566C8E79A71D76D8215B2117FFC6FBC79C40ED5C9838EDB7717C57C5DC7556F2FCDA1675E593FAB5762D8AA0115B7160481C3898B798331F5653248DB35C461FF3BBDFFD2E3B80E4B7BFFD6DF6F8B5D75E9BF56B71C048ED299AE360957C0E75DF7DF7CD0E6889D7BDFCE52F4FBEF6B5AFB51574E59DE2BFABF81F356A5425DF2EE2B03FC5E7D7ACD0ADF80B164CFA9FFF8228D414C1B1C71E7B5E1A283F1C20FF11BB95ECF47541F7C0030FCC3AF548B2DFF08637B4DB3945721D3B9778BEB1B1B1ADA01BA74FE86C856EECB486B51674E368C7889358911B4716D5B638A54E4CC2C4F3713EFF8EDF294EA513EFD3D0D0A0A05BF0F88B5363478CFCE94F7FEAB4A0FBC73FFE311B08E5A7C28B23C462703761C28476936EDFFBDEF7B25393E4C9CD1D77DC910DA822A189F7896D4E39E5946CC016ED431FFA5016BBF9299423AEA64C99920DDAE2678855B971C45C0CFCE200814888E2142979413756895F7AE9A5C955575DD5AEC50AF1389AEEFFFEEFFFDA4E55326C25C5DF78EFFC77D1F1B426F1FCE73EF7B9ECDF384061DCB871D9CF652262F562B20F0657BD5158300804060BFD2E851ACF7456D08D2242ACD2CDCF1614078EC6A9367B2BF72C428EB8B6F9E4C891233F555F5F7F6BEAA1C71F7FFCB2F4F71313427F8BC7457AF1E23E0A4FB18230C63CDD3995ADB81F92055D719A6E3B66CC98ECF9287EC41C40EC2FF216D774CD0B30071D7450DB2AE158CCF03FFFF33FD9F651CC8D9F21560EC7FC96F9A67E1DC7AFAA98BBB2EDD6B4A82B9FD4AF7559D08D79EE8E97251C5653D0FDCE77BE93DDFFC8473E92EDF7E23221B1AF8BF9D1E807D75B6FBD6CDE320E3E89BE27F2D6384B40A552C90E4E8C8552A3468DCAE655A3F03AACB5A02BEF14FF2BD9A6392FA2C61952FB537C7E4D11BAD95FB060D2CE67C7C99327BF50807AEEBF478F1E7D731A249F1E4CBFDFBE2EE846121D45D738C2274E25D3B1C5E3B182370A5D7941F7A69B6ECAFE83C64E2A6F23468CC81E1FD65AD0FDCB5FFE929D3227AEA112FF46012D9E8B9592713F7668F16F5E64ABBDC87C24D0F94EAF76B5AF826E31E36F975D76C906449D157463601583A3782C8E847DDDEB5E97C5416C174785C5EA8938A5485C1B221E8FA3D96205783CD659921247CC468213071CC4A02E3F0A2E068F91C0449214D7CA8D09BEF85E710AA6386237066F79AC453CC7D16A5D254291F044BCE789501C49176725882386E3F9F8B9E27E1C9DD731697AED6B5F9B1DF010EF11D7B3B8FCF2CBB3D7C49172E2AFB093F63D5D58300804F4BBFADD21ADAF0BBAB1222B5653C541A3717DB3FC1ABABD957B162147EC897C72F8F0E1EBA73FDBE4745CF748FC1BF7456F71C7F17149A258DDB8DF7EFB65A7668C1613B37196ADFC7EC4A0B8378E1ACA711A0769476CC6E945E3A0F38E2D56ECC62AE298BB8A224A7CD728B2C425C7E260F458C91B67FDFA7FFFEFFF659F110596983313A77D9EAF75B798BBB2ED57B7A82B9FD4AFADB4A01BF39BD1C7E52DE6AD87D51474E37BE407A8C4B572E394CA71204ABE6024E64CA3801BFBCA934F3EB95D7F1607A7C42ADBB83E6E9CB5E090430E59A1A02BEFA4A3F477B97B5E448D4571FDA9BEBEFE859A82EEEEFE3A053375EAD475D3C1F373715DA2FEF4C0030F5C9106C8E2F83E76446BD7E2C2E9F9D18D9DB5FCC2EAB505DD28E28E1E3D3A3B75431C49142B236B0BBAB17D5C943D4E2911473C46812C9E8BA390E2A88D986C89A26FC7EF123BC4D8E9C5ED8F7DEC63D9648D826EB1E32F56674771BE634137928818A4FDF9CF7FCE1E9B3F7F7E56F88D98895335C7B525E2344B71F46DB4385D48C44C9C9E398EC69D356B5656A8CD5B1464F3D32AC5B528E208DA187045CB0F2C8855E551AC8DB889826E0CC06210981774E328B4486062B0164955DE2226E3144C91E8445CE631DCDDA3E0E29A14917CC5633128740DDD01555CE8C9C2824120A0DFD5EF9A58EB8382EEEEBBEFDE36911605DDB804473C16638FBCA0DB5BB9671172C49ECC2707DB787A308FE36312374E3B1B13C6F9E96AE376DE5A5A5AC4BD71D4908ED3D81F44D1388ABD2B6B7110508CFB77DA69A764D75D77ED349EBFFAD5AF263BEEB863DB7C8638EDB37C72758BB92B7B5D778BBAF249FD5A972DE607637E316F7156BFE83BF2FBB5AB5D639E3C169AC4429238702572D5FAFAFAB616B96A7EF681DA532E478137FAB3CF7CE633D9FC653E1F1FFB4D79275D49E36D93BABABAE7F2426A1CB4D41FE2736B8AB9CFC5F7F2D729A04993265D14477AF4A7638E39E6376990CCB2235AFB16097074EC71947BEC6CF21609723C1ECF7756D08D899328EC47A2DD5941374E7D16D740896DE3A8C9782EB68B626EEDD143B5897FECB8A2D816F723C18ED5BA7194A5826E71E32F0AFEF1B7FDC10F7ED0AEA01B1D794CB8C56999F36DF3235DBB6A471C7144DBB671A4ECE69B6F9E2543F13E918CE483B6783E4EA31447BDC5ED5B6FBD358BC558911BDBC4D16C9160C5D1C0175F7C715B41B7B36BAC75D6E288E23C698A23832306E348DE782E0AD771BFF628B8F3CF3F3FD97EFBEDB302767E5A938E4953EDEF41FC15AAB8D0538505834040BFABDF6558DF147463E23F0E2A1CD6BA42214E2D17078ED616747B33F7ECEF1C513E39F4C6F1F901D2718ADA38CD78C4685C7A262E611463ECDA31B3B817F743354EE3524F871D7658D6E2D24FF119713BE6B7629570DC8E4B30C5294FF3B37DEDBDF7DED92AB7D8774401378ABD71EDCB28D4E4DB89D33ECB27D7B498BBB2D7AFAAA82B9FD4AFADB4C5A5DC629F17FD4DB55ACD56BFFEFCE73FCF9E8B53287FEB5BDFCA6EFFE217BF688BBB583012796A1C1812B9692C3C89DBDFF8C637DA5D433756ECC6D903E27ADD71204C5C82302E8918B7A3DD7EFBEDF6BFAC545D5DDD797931350E7EEA0FF1B93505DDF3FC550A6AF4E8D1EF1A3366CCBF22D1E90F4F3CF1C43569803C1CDFC38EA8E70ABA8F3FFE78BBC7E3FEB09514746B93A4CE0ABA0F3DF4505B012D12EE61ADE7EDDF6CB3CDB29D51EDC5E0E300812802C6D194B5DF217644714467BCB7826E71E32F8E5A8D84A6B6A01BAB5EF3D8C95B1C311B2D56CD464213AFCB1F8B6BDEC660AF76D03667CE9CEC761468F3415B5CCF2612AA88A3484CE2F94F7FFAD3D9445E9C82241295E9D3A7275FFCE217B3EF112B70E328DC485CA2CF7AECB1C7B2442B2602E3F425713F6235E2330E2688FBB1DDDA5EA7A263D2B4C71E7B747A2083F8EBF7C9FC9E282C180402FA5DFD2E7D309E89DC2A563C449E181359C71C734C7600DFA9A79E9A3DDFB1A0DB5BB9677FE788F2C9A1378E8F49B298208EDB471E796416538F3EFA68763FC6D85FFFFAD7C5BDB817A7ADDB4781245E93FFBCB12A381616445C76FCCEF159B14238B65D7FFDF5B3B981B8966E9CFAD47C539FE793FB0E5BF3626EAEB3A2EE3EF249FDDA9AB4587D1BFD532C14897FE394ECD10745DF13972F8CDBD16FDC73CF3DD94293782CE64163FF16672288F788B9D128D2D6BE6F1C8C985FD736FAAF38D824E6BFA3FF8C330EC4ED68711D5EFB5F5626FD7B6E9F17536385785FAFD28DCF1B356A54DBE996E3FBF8AB14586363E339717A94FE907EF6D9699034D911F56C41F79BDFFC66ED1115D9A920867551D08D9D415C003E6F7124661C5D14CFC72996E37A24B103D972CB2DB3CE3C767EC35A4FB91CA7998895B7FFBFBD7B01B2ABAE0F072E8F2AA01544B04E112B288DC58A967690581DA3680B858A74389C3D09221A0151C8EE461E02A504860E0F11D8DD84470B96E2C08838541019FC6FF65E12B1415E02F29077082621101E2148122A9CFFF91E73334BD8BC36DCDD7BEE7E3E33DFD9DD7BEF3E38F9F2FB7E7FF77BCFB97139DC287031708BE63A5E01D918A435225ED519979C885717350A99816EEBE45FBC3AADF1CAB1680AA2F188CFA3D189F7B369DC178F8B8D59BC5A2C365FD1F0C4136F313C7DF4D147CBF7A58957B935DE5BA2B1698B8D545C3E3986AF8D4D5BE4E5673FFBD9F255B6F1FDF1D878C56FBCE236DEAB397E5EBCF7F32EBBEC5236409167F1FD8D4B8545C4ABDCE27D72E2318B162D2ABF3FF2332EED34F8BF2F7E4EB1DE94AF606B9C897CDB6DB7955FC799E9B1316CBC78E1D4534F2D733EEE8FBF3D5EF4D0B87C53BC322F7E573C0129FF5A6EB8B0B183059B40C0BA6BDD6584F6337169CE9D77DE39DF7DF7DDCB27D3E22D5AA2BF8A5E2C2ED319BD60A3DF6A66EF39DA3DA27E726CE57D3C511CFBE5C89338F331F65CF1E285344DCB4B2BC68B58637F7DCF3DF7C87B793FE6F3349EBF8AF7548FDF1DC3E218F8C615B8DEF39EF794EF4DD9384B78C18205E573585FF9CA57CA2B7DC5202686BBF1364CF17C46FCCCB83F9EAC96A723D64F0E1EC60E6798BB213F473F695D5B679C78E289E5D501E284A45887E28CDCF87D71C598B81265D4C4380969DAB469E55501A3378D752EAE1A106B4FD4C6786E34D6C3F83C22DE06EEA28B2E2AD798B85265AC4571824C449CEDDB380338A25157D55FD6A6A3A3E396C62C27AE563192E2F70D9A25DDE25FA3C52549B27DB1D0BC1CC3BB9174FBEDB7C7A5969F8EDFAF10BDB903DDC30F3FBC7C1F93461C76D8616B1CE8AEFE33A2B98EFBE2520F51E8EEBEFBEEF2558E71099B934E3AA9BC2F9E60699C951B85250A4A5C96394ECD8FC63C9AFAA1FEBEE79F7FBE1CCC35F3BD4B14A2E1E55F6CBCC68F1FBFCE88C7C5ABC2A29988C17D343F8D57CA466EC4C6EF9FFFF99FCB01FEE04D5B5C92249A9C688656BFACD2EA1103DBB80453BCA74EE461FC9EB82D9AA368B462B0BCFAFB60C4654D8E38E288557F436C20D7F4DFDA18FAC61389ABDFD7B8B44ABCE2389AB8F7BDEF7DE5DF1D9BD13DF6D86355FE375EA127FF5A6AB8B03183059B40C0BA6BDD6504F733F1FE8B7BEEB967D9B3C50B45A3CF8C3322E26A3F9153F12458E3C9FA66F79EA3D923EA27C756DE47EE449E44BEC6BE2AAE8E153975ECB1C7967BE9C8A75D77DDB53C2352DECBFBB19EA771E65B9C58102FEC8EEF993C7972F93BBFFFFDEF976FCB14CF7B350624F1A2F075450CA7E5E988F693317C3DE42DC31FE6AECFCFD14F5AD7D62BE28CD6783FDCF83C5E9C122FF668EC6362681A2733C573E431588DB35EE3B9F4461F9A2449F97EBBAB479C1C37F877FCF6B7BF2D9FC31C2AE28428F59775C9B26C7C4747C7AB8DC16AFCDB8F84F83D8386B9AFC6DFE15FA3028AE6E94B471C71C4B218B88D84A79F7E7A5691204F14F14585E8CD8B785F90386371F02590079FC9B874E9D2558F8B274C1A5F0F8E38CB3186FB430D65A3118F57CC479E8CD67BE12A44AD917F7166F75003FBA1722306AE8D5C8B5799C560365E00101FD7F4F31B6778473EAE9E9F6BFB9BE23D73D6F69846FEC759E243E57F346FF1B7C5E743FD7FB464C992216F977F2D315C18EE60C12610B0EE5A7719E17E327AAAA1DEFB2BFAACB86FF5BD48B37BCFD1EA11F593636F1F15EF0DBAB6FB07E7A9BC97F7F274CD35C4F34D6DD34F56E5F7D146CFA3C71AD7B834FC68AD1BEA2F4349D374C6E04B2FC7C0BF99E2E70FBED472FC7EFF0A153279F2E4538F3FFEF897E37FDA662A169CFB8B84BCAD4896131422A1C1967FF28F376973369CC1824D20807517FDA47E12792FEFE5A990A7A3D34FB6F2EFC1BA665D63441D7AE8A15B747474DCD518B0C65B0D346BA81B3FB7F87DAF0E3A3BF7AEF8FDFE152AE690430EB9FC98638E79A15967EA3EFDF4D337C530B748904B1422A110C93FF9C79BB849DBD0C1824D20807517FDA47E12792FEFE5A990A7A3D74FB6DACFC7BA26AC6BA3AAA3A363C7229E1C7CA6EE75D75DF7A6CEE8E2E70D3E3377E5EFDBD1D1AFA84993269D3479F2E417DFECF7D45DF99EB9F3DAFDCC5C854821927F4223342A9BB50D192CD804025877D14FEA2791F7F25E9E0A793ABAFD642BFC5CAC6BC2BAD652B22CFBF0E0A16EC459679D953FF9E4931B359F8BEF8F9F33F8E7C6EF89DFE7A8575CBCB7EDC1071FFCFC85175EB820AEE5BE315E78E1855F7577775F55FCCCA7DBF93D7315228548FE09F937AA9BC1F51D2CD804025877D14FEA2791F7F25E9E0A793AFAFDE468FD3CAC6BC2BAD6D2569EA97BD7E0E16B9CAD7BF1C517E7BFFBDDEF36683E178F8FEF5BEDACDC7CE5CF77666EBB28FE81B72BFE417BBEFCE52F2FB9ECB2CB1E7DE69967FE6F03F2E4FFE6CF9FFFCB534F3DF5CA9583DC9EF8790A915088E49FFCA3499BB7F5192CD804025877D14FEA2791F7F25E9E0A79DA1AFDE448FE1CAC6BC2BA5629F19EB6699ACEE8E8E8587D109B777575E5575C71457EC71D77E48F3EFA68FEECB3CF9643B9F8185FC7ED717F6767E71BBE377E5EFC5CEF99DBA6264E9CB873F18F7C7196654F1F76D8614F5C74D145BF9E3D7BF63D0F3EF8E0BCC58B17BF54E4C9D2A79F7EFAB1FBEEBBEFF6E27FF6FED34F3FFD9AE27BEE29BEE7A9F8BEF87E85482844F24FFE31CA9B389B4000EB2EFA49FD24F25EDECB53214FF59358D78475AD32B22C1BDFD1D171CB1083D9E1C42DF1F31CD5B16193830E3AE8EF8B7FF033D234BDAEF8C7BF75D0B5BCE3E3AD717BDC1F8F8BC72B440A804224FF8446A8053683368100D65DF493FA49E4BDBC97A7429EEA27B1AE09EB5A256559F6858E8E8E6B8A58B18143DC78FC35F1FD8E2228440A91FC13F2AF953783368100D65DF493FA49E4BDBC97A7429EEA27B1AE09EB5AE51D7AE8A1DB7474741C98A6696FF171A088C78B7879E5F0F6E5955F0FACBCFFC078BCA3060A914224FF84FC6BF5CDA04D20807517FDA47E12792FEFE5A990A7FA49AC6BC2BA06A0102944F24FC8BF16DC0CDA04025877D14FEA2791F7F25E9E0A79AA9FC4BA26AC6B000A914224FF84FC6BC1CDA04D20807517FDA47E12792FEFE5A990A7FA49AC6BC2BA06A0102944F24FC8BF16DC0CDA04025877D14FEA2791F7F25E9E0A79AA9FC4BA26AC6B000A914224FF84FC6BC1CDE031368100D65DF493FA49E4BDBC97A7AD112FBDF4527EEFBDF7961F37E67679AA9FC4BA26AC6B000A914224FF84FC6B93CD604747476E13083032C68D1BD7B9C5165B5877F593423F29EF85BC97A76B8C18CE167F72F971636E97A7EDBB8F7F8B612EEAAF750D40211206BAFEDDE5DFD8B272A00BC0C8ACB9F52449ACBBFA49A19F94F742DECB53035D36C6560E01EAAF750D40211206BA42FE8DADE182E30C3032EBED84587357C60447443F29F493F25EC87B796AA00BA8BFEA2F8042241422F927FF589F0183E30C3032EB6D7DD040B7EE88E827857E52DE0B792F4F0D7401F557FD055088844224FFE41FEB3360709C019ABFD60E3E3BD759BAFA49A19F94F742DECB53035D40FD557F011422A110C93FF9C77A0F191C6780E6AFB5F52106BACED2D54F0AFDA4BC17F25E9E1AE802EAAFFA0BA010098548FEC93FD63964709C019ABBCE0E7576AEB374F593423F29EF85BC97A706BA80FAABFE0228444221927FF28FF51A3438CE00CD5D67EB6B19E83A4B573F29F493F25EC87B796AA00BA8BFEA2F8042241422F927FF58EBA0C1710668DE1ABBB6B3739DA5AB9F14FA49792FE4BD3C35D005D45FF5174021120A91FC937FAC73D8E03803346F8DADAFC740D759BAFA49A19F94F742DECB53035D40FD557F011422A110C93FF9C71A870D8E33807517FDA47E12792FEFE5A981AE3C05EB9AB0AE0128440A91FC13F2CF600100EBAE7E52E827E5BD90F7F2D440579E82FAABFE0254DAC0C0C06BCB962D53045A208A7F870545215A2EFF84FC335800C0BA8B7E523F89BC97F7F2D440579E82754D58D7004AB367CF5EB068D12285A005E289279EF86151886E957F42FE192C0060DD453FA99F44DECB7B793A32F1D24B2F95C3D9F8B831B7CB53B0AE09EB1A40D3D46AB5FD6FBAE9A6250B172E5C5CA557182D5FBEBC9D5E51B470EEDCB9571645685E11FBCA3F21FF0C1600B0EE32B6FAC9050B16E827B18F92F7F254C853B0AEE93BAD6B006B168B5FBCA2A5881571EDF9568FFFFCCFFFCC274D9AB4EAEBCB2FBF3C8F27EAAAF0B7AF2156AC3CFEFBCABFFE5CC83F830500ACBB8CA57E72CE9C39F939E79C935F73CD35FA49ECA3E4BD3C15F214AC6BFA4EEB1A40F52549F28E8E8E8EF9699AFE7ED09374754FD4015561BD02B0EE42439EE7EF58B264C9B2C58B17E793274FFEB923020080BE1380CAEBE8E838379E942BE20F871E7AE816C5C7092BBF8E98E008011558C70C1600ACBB507AE491477E96AF54ABD59EC9B2EC20470500007D27009595A6E9EE31C86D0C708BAF2735CECE5D197547096875060B00D65D088F3FFEF8675E7DF5D5C6F36AF96BAFBDF6EAC9279FBC284992AD1D1D0000F49D0054CEB469D336EDE8E8B875D0F036CFB2ECCEC15F3B4B17A802830500EB2EE479BED9A2458B9ECE5713B74D9A34E942470800007D2700959365D9D1430C6F870A67E9022DCD6001C0BA0B0F3DF4D079F91A5C79E5952FA469BAA7A3040080BE1380CA489264878E8E8E25EB39D075962ED0D20C1600ACBB8C6D0B172EFCC0F2E5CB5F5DD3136B7FF8C31F5E9E3265CAFD13264CD8DCD1020040DF094025A469FAE30D18E63A4B176869060B00D65DC6B679F3E6DD9BAFC3FDF7DFFF549665C7395A0000E83B016879699AEEB781C35C67E9022DCD6001C0BACBD89524C96677DE79E78A753DB1F6DC73CFFDA2C8DD67E2F18E1A0000FA4E005A5A514C0E2BE2BFD234BDB1F87867114F3A4B17A8F8BA66B00060DD650C3BF9E493FF7DC58A15FFB796E7D55EECEEEEAE39530200007D27009515EFA77BF0C1078F4BD3F463071D74D0E78B8F933C510754680DB35E01587719C3E23DCAAEBAEAAAF96B7A56EDF6DB6FBFACC8DBBBBD97190000FA4E002A2949922D8B22F3F2EAB77BA20EA80AEB15807517BEFAD5AF7E72EEDCB9AFACFEA4DAABAFBEFAEB499326FD2E4DD33D1D250000F49D00545292243B7574743CBEFAED9EA803AAC27A0560DD8570D659675DFD5A61D0F36A7F88DB8A9CBDC0D1010040DF0940651545E69345CC19E2764FD4015559C7AC5700D65D8817AB6EDDDFDFBFB4F1ACDAC2850B7F58E4EBEFE276470700007D27009595A6E9BF14C5E69AD56FF7441D5015D62B00EB2E347476761EF2FCF3CFBFB278F1E2FC6B5FFBDA6FB22C3BC851010040DF0940A51585E69B435D0AC21375405558AF00ACBB30D845175D74C739E79C9317B97A83A3010080BE1380CA2B8ACD69699AFEDB10B77BA20EA8CA3A66BD02B0EEC22A4992EC14791A1F1D0D0000F49D00545E5170FEA388C387B8DD13754055D631EB15807517E4290000FA4E00DA539AA6D71545E78B0A11A07106C0BA8B3C0500007D2700AD57706E9D3871E21E0A11A07106C0BA8B3C0500007D2700AD5770E62549F27E8508D0385365799EBFF5B1C71EFBD19C39735E191818C8FBFBFBC5084771DC5F9B3D7BF6825AADB6BF8CB4EE823C050040DF09006F5EC1599124C95B152240E34C953DF6D86357CF9E3D3B5FB46851BE6CD9B27CC58A156284238E7B1CFF9B6EBA69497F7FFFBEB2D2BA0BF21400007D27006CA42449B62D0ACE730A11A071A6EAE2CCDC18261AAC8E7E2C5CB870717F7FFFADB2D2BA0BF21400007D27006CA42CCB3E52149CFB152240E34CD5C565969D99DB3A67EAF6F7F72F9795D65D90A70000E83B0160E38BCD5E5996D5142240E34CD5C57BB81AA6B64EC4BF87ACB4EE823C050040DF09001B294DD34945C1B942210234CE54DDFA0E745F7A6161FED86DFF95DF37F3B432E2F3B8CD10D64017EB2EF2140000F49D00B49C2CCBBE5DC4F7142240E34CD5ADCF4077E9F3F3F37B7F7E727EF7CF8E7D5DC46D719F41AC812ED65DE4290000E83B0168B562F3DD344D8F5588008D3355B73E03DD27EFBBEE0DC3DC46FCEEBE9F1AC41AE862DD459E020080BE1380962B363F28E2CB0A11A071A6EAD667A0FB40FDAC350E74E33E8358035DACBBC8530000D07702D052B22CEB2FE20B0A11A071A6EAD667A07B6FFFB4350E74E33E8358035DACBBC8530000D07702D06AC5E63793264DFAA84204689CA93A035D035DACBB204F0100D07702D08EC5E6992449B65788008D3355B73E03DDFB669EB6C6816EDC67106BA08B7517790A0000FA4E005AC6E1871FFE2745B179A5F874138508D0385375EB33D07DF897D3D738D08DFB0C620D74B1EE224F010040DF0940CB48926487A2D8CC5788008D33ED607D06BACFCEBF27BFF7FF9DF2C6CB2D17B7C57D06B106BA587791A70000A0EF04A0950ACDDF1571874204689C6907EB33D08D78FCF6CBDF30D08DDB0C610D74B1EE224F010040DF09404B49D374BFA2D85CAF10011A67DAC17A0D74972FCF1FFEDF0BDF78B9E5E2B6B8CF20D64017EB2EF2140000F49D00B48C2CCBBE5E149B4B142240E34C3B58D74077E9F3F3F3877ED9B7C6F7D08DFBE23186B106BA587791A70000A0EF04A0550ACDBF665976BA4204689C69076B1CE82E5F9E2F7CB896FFE6C613D738CC6D443C261EEB6C5D035DACBBC8530000D07702D00A85667A9AA647294480C6997630D440775D67E53A5BD74017EB2EF2140000F49D00B4AC344D7F5C149B03152240E34C3B186AA0BB3E67E5AEED6C5D8359035DACBBC8530000D07702309A85E6E62CCB3EA510011A67DAC15003DDE10E731B61306BA08B7517790A0000FA4E0046B3D03C9224C987142240E34C3B58E37BE80A035DACBBC8530000D0770250D142F3529224EF5088008D33EDC040D74017EB2EC8530000F49D00B48D18E4C64057210234CEB40B035D035DACBB204F0100D07702D036E252CB71C9658508D038D32E0C740D74B1EE823C050040DF09403B15994F1771B34204689C691706BA06BA5877419E0200A0EF04A06DA4699A1485E66A8508D038D32E0C740D74B1EE823C050040DF0940DBC8B2ECE8A2D0F4294480C6997661A06BA08B7517E4290000FA4E00DAA9C8FC7B9AA627294480C6997661A06BA08B7517E4290000FA4E00DAA9C85C5AC4648508D038D32E0C740D74B1EE823C050040DF0940DB48D3F46745A1D957210234CEB40B035D035DACBB204F0100D07702D04E45E68E891327FEAD4204689C691706BA06BA5877419E0200A0EF04A09D8ACCFC2449765088008D33EDC240D74017EB2EC8530000F49D00B48569D3A66D5A149957264C98B0B94204689C691706BA06BA5877419E0200A0EF04A02D2449B27D51649E5188008D33EDC440D74017EB2EC8530000F49D00B4852CCB762B8ACC6F142240E34C45FE7DEB454C58D7E30C740D74B1EE823C050040DF09405B48D3F41FB22CEB5788008D3355F9F75D196B1DEC1AE81AE862DD05790A0080BE1380B690A6E9214591B95C210234CE54E5DF77B51872B06BA06BA08B7517E4290000FA4E00DA429665C71571B64204689CA9CABFEF1AE275835D035D035DACBB204F0100D07702D02E05E6DC344DA72A4480C699AAFCFBAE23CAC1AE81AE812ED65D90A70000E83B01689702736511131522A09D1A67219A3DD05DB264C91B6E5BB46851FEC8238F0CF9F8279F7CF2755F3FF1C413F90B2FBC30E463172C58903FF0C0031BF4F7C4EF9E3367CE1AEF7FE69967F2FBEEBBAFFC7CEEDCB9E5EF5EB66C59FEDBDFFE365FBA7469D307BA72B2FD43F5C1136B0000A0EF04A049B22CAB15F139850880AA6C8C46FB92CB3104DD6EBBEDF2EBAEBBAEFC7AC68C19F917BFF8C5BCA7A727DF7DF7DDDFF0F8DFFFFEF7F94E3BED944F9D3AB5FCFAFAEBAF8F9A9A7FE10B5F78DDE3162E5C98FFE217BFC8BFF4A52FE51FFDE847CBCF234E3EF9E47CD75D775D153FF8C10FCAE1EC19679CB12AF6DD77DF7CD34D37CD4F3FFDF4D7DDFEF0C30F973FFB8A2BAEC8B7DF7EFBF2F3ADB7DE3ABFEAAAABF2F9F3E7977FC7EDB7DFEE0C5D604CD40F470100007D2700552D30F72749B2AB4204405536466B1BE43634FB0CDD18CEBEF5AD6FCD67CE9C590E6B8B5F996FBEF9E6E5C72DB6D822FFF33FFFF3558FBDF0C20BCBDB7FFEF39FE78B172FCE77DC71C7FC2B5FF94AFEA77FFAA7E510B8F1B8CB2FBFBC7CDCEA71C82187E49FFAD4A7F2EF7EF7BBE5D73148BEFAEAABCBDFB7F7DE7BAF31E2B137DC7043FEE8A38FE6C71D775CBECD36DBE403030306BAC098AD1F8E020000FA4E00AA5A609E4B92645B850880AA6C8CD636C86D1889F7D0FDFEF7BF9FDF7CF3CDF9565B6D95FFE4273FC93B3B3BF371E3C69567D5362E7F1C97338E01EEBBDFFDEEFCA9A79E2A07B371F66DDC7EC925979467D59E75D659AB7E660C5E4F3BEDB47CF9F2E5F9E73EF7B9FCD24B2FCDBFF6B5AFE5071F7C707EF6D9679767D9C619BF311CFEC8473E923FFEF8E365C4EF7BCBCAA171E3B68F7DEC63F92F7FF9CBFCBCF3CECBDFF6B6B7E59B6CB249FEE10F7FB81CE8FEF77FFF77F998F89E69D3A6E5E3C78FCFEFB9E71E035DA0ADEB87A3000080BE1380CAD9679F7DDE561498E50A110015DA18AD7590DBD0CC816E0C4D4F39E5943262581AC3DABFFCCBBF2C87AD71766E7C1E71FEF9E79767E0167F4EFEAE77BDABBC5CF2DBDFFEF6BCAFAFAFFC39F7DE7B6F7EC001079443DD134F3C317FE8A187F2238E3822FFC0073E509E811BDF77D1451795C3DC88DD76DB2D3FF2C82357FD1D7119E5B70C71466F23BEF7BDEFBDEEB1832FB91CF77FFAD39F2E3FC6DFF48D6F7CA3FCFD06BA401BD70FEB100000FA4E00AA274992F71705669E420440BB69E64037CE9ADD6BAFBD565DD2F8DC73CF2D07B28323CEBABDFBEEBBF32CCBF2F7BCE73DE525988F39E698F27BE352C9F1734E3AE9A4F22CDC6BAEB9A63C9376CA9429430E66E3BD76E3E7FCD55FFD5539F01D3CA4DD76DB6DF33BEEB8A3FC3BE2B131088EAF3FF8C10FBE61A0FBCE77BEB3FC5D31D08DF7DA8DB38BE37BE277BBE432D0EEEC670000D0770250D5E2F289226E5588006837CDBEE4F2C2850BCB61E8C30F3F5C9E35FB962186B0F1B818AEC659BA8DF7D48DF7BF8DF7DE1D3CD06DFCCCB8CCF2C5175F9C5F70C105ABE2A73FFDE9AA4B2EFFEA57BF2ABF77DEBC791B74866EBC5F6E5C7E396EDB679F7DBC872E3056F73ED6210000F49D00544F9AA6FB1705E65A8508807633D203DD2449CAF7B68D38E18413560D7423A64F9FBE6AA01B97688ECB310F35D08DD86CB3CDCAF7DC8DF7BADD669B6DCA016C63A01BF7C7FBE636DE733706BA7129E75B6EB9A51C14C7DF73E59557965F0F3E43F7DA6BAFCD3FFFF9CFE7DB6DB7DDAA4B2EAF3ED07DE9A5970C7481B6663F030080BE13804ACAB2EC88A2C05CAC1001D06E9A3DD08DCB2917BF26BFEBAEBBCA816E9C39FB677FF667656CB5D5566B1CE87EFDEB5FCFF7DF7FFFB50E746FBCF1C6F2F3A38E3A6AD540F7339FF94C7EDC71C795EFD71BC3D88D7D0FDDD507BA071D74D0EB1E6FA00BB41BFB190000F49D0054B5B89C9265D9A90A1100EDA69903DD1884EEB0C30EE519B43BEFBC73F9BEB69D9D9DF9F1C71F5F9E9DFB9DEF7C273FF3CC33CBCB2D0F1EE83EF0C003F9965B6E595E82796D03DDB86DD2A449F9B871E3560D740F3CF0C0FCB39FFD6CFE8D6F7C237FF6D967CBC7CE993327EFEEEE2ECFAE8D33858BFFECFCB6DB6E2BBF3EE38C33F2993367968F7BEAA9A7F2534F3DB51CE8C6FDF13B3EFEF18F9783E5F89EF8FB76D96597557F97812ED0A67B1FEB100000FA4E002A595C2E4CD3F44885088076D3CC816E9CED1AC3D6175E78A1BC84725C1E79DB6DB7CDDFFEF6B7E75B6CB1C5AA98366DDAEB06BA31308D41EACB2FBFBC6AA0BBD75E7BBD61A0BBDF7EFB9583DBB8BCF2EA975C5E53CC9D3BB71CCEFEFAD7BF7EC37D975C724979DF01071C50BE27EFFBDEF7BEF2E70F0C0CE47BECB147795FFC7DF7DD779F812ED0CE7B1FEB100000FA4E00AA274DD3FF290ACC010A1100EDA6D9975C5EB468D17A3F76C99225E559B2AB7F5F9C49FBE28B2FBEEEB18F3CF248BE74E9D25567D62E58B0A07CBFDEF8B8B6DF11EFDD7BEBADB7AEFADEC111BF277E467CBE7CF9F221FFBEA16E37D005DA89FD0C0000FA4E00AA5A5CE66459365E2102A0DD347BA02B0C7481CAED7DAC430000E83B01A86471793C49929D142200DA8D81AE812E80FD0C0000FA4E00DAA1B82C4B92644B8508807663A06BA00B603F030080BE13804A4B9264EBA2B82C518800684706BA06BA00F6330000E83B01A8B42449C615C5E5418508807664A06BA00B603F030080BE1380AA1796095996CD528800684706BA06BA00F6330000E83B01A8B4344D8BDAD2F1438508807664A06BA00B603F030080BE13804ACBB2ACAB88F3152200DA9181AE812E80FD0C0000FA4E00AA5E58CE4CD3F43B0A1100EDC840D74017C07E0600007D2700552F2C971571A84204403B32D035D005B09F010040DF0940A5A5697A6396657B2B4400B423035D035D00FB190000F49D0054BDB0DC3571E2C48F2B4400B423035D035D00FB190000F49D0054BDB03C9524C97B152200DA9181AE812E80FD0C0000FA4E002A2B4992CD8AC2F24A7C548800684706BA06BA00F6330000E83B01A8AC383337CED0558800685706BA06BA00F6330000E83B01A87251F99B780F5D8508807665A06BA00B603F030080BE1380CA4AD3749F226E548800685706BA06BA00F6330000E83B01A8AC344DBF5A1496FF528800685706BA06BA00F6330000E83B01A8AC2CCB4E28E20C8508807665A06BA00B603F030080BE13802A17959E344D3B152200DA9581AE812E80FD0C0000FA4E00AA5C54AE2A22558800685706BA06BA00F6330000E83B01A8AC2CCB6615F1198508807665A06BA00B603F030080BE13802A179507932419A71001D0AE0C740D7401EC670000D0770250E5A2B2244992AD152200DA9581AE812E80FD0C0000FA4E002A2949922D8BA2F2B24204403B33D035D005B09F010040DF0940252549B25351541E5788006867030303AF2D5BB6CC30B505A2F87758D0DFDFBF5C5602A3C97E0600007D2700552A289F2C628E4204403B9B3D7BF682458B1619A8B6403CF1C4133FECEFEFBF555602A3BC0FB29F010040DF094035A469FA2F4551B9462102A09DD56AB5FD6FBAE9A6250B172E5CEC4CDD513B3377E1DCB973AFECEFEF9F57C4BEB212184DF6330000E83B01A88C2CCBBE5914950B142200DA5D0C11E3CCD02256C47BB88A118F152B8FBF612E30EAEC670000D0770250A582725A9AA6FFA61001000063681F643F030080BE1380CA1494FF28E270850800001843FB20FB190000F49D0054439AA6D71545E58B0A1100003056D8CF0000A0EF04A04A05E5D6891327EEA11001000063681F643F030080BE1380CA1494794992BC5F21020000C6D03EC87E0600007D27009529282B922479AB420400008CA17D90FD0C0000FA4E005A5F9224DB1605E53985080000184BEC670000D07702500959967DA42828F72B440000C058623F030080BE1380AA1493BDB22CAB29440000C018DB0BD9CF0000A0EF04A0F5A5693AA928285728440000C058623F030080BE13804AC8B2ECDB457C4F21020000C612FB190000F49D0054A5987C374DD363152200464AF2A31F6DF6ED73EADBADF38179BEC9D1BD37BCB3F1E53767D4DFE1E801F026EE85EC670000D07702508962F28322BEAC10013052BACF1DD8A1ABB77E5D7CDED5533BADABB776EDE0E8EEA9EF5DDED7579FD0DD53FB71E3FB3A7B07EEEC9A3E73FCF117F76F3D6D5A7D734712808DDC0BD9CF0000A0EF04A0F56559D65FC41714220046C2B133EAEFEDECABFD63575F6DD6949EFA5F77F5D606E2EBA9BDB58F35E2C80B7EF1AE786CF198CBBAFAEA5F8ACFA7F6D4FEA9AB77E0A1E2F1D717B1B4B8EFEF1D4D003686FD0C0000FA4E00AA524C7E3369D2A48F2A44008C84CEDEDA2145CCE9EAAD2DEEECAB5FD3DD5B9B39B5B7BE67D779F50F447C7BFAC05FC4E3E2F2CA5DBD03F7744EAFEFD7D9539B513CFEC1F231D3678E8F21B02309C09BB017B29F010040DF0940258AC93349926CAF10013052065F723906BA5DBD0357FFF16CDC227A6BCF94B7F7D53B3B7B6B0FC459B99DBD038715B7BFD8D957FB590C8263A05BC47C4712808DDC0BD9CF0000A0EF04A0B51D7EF8E17F521493578A4F375188001829E5A596FB6A8F96EF97DB5B9B1903DEC67DF13EB9F1B1FBDC1BB72D3E3FAAB8FFECF8BA78EC6DE5C7BEDAACC15F03C070D9CF0000A0EF04A0E52549B243514C867D86934204C086EAEAAB9DDCD55BFFDFB8EC725C56F98F67E8D62E2D3EF644149F3F158F3BBA77E083C5631676F70E9CD9DD57EB2E6EBF3BCEEA2D3ECE5BF971AEA309C0C6B09F010040DF0940150AC9DF1571874204C0481A7CC9E5F2F2C97DF5099DE7D7C6454CE999B54BDC3EA567E0935D3DF56F759E3F73B7A37B6F78E7EA67E41ED5376BA7E2F19F703401B09F010040DF0940DB4AD374BFA2985CAF100130923A7BFADF3FF83D74BB7B07F6983A63D68E8DE83AAFBE4DF78CFA87BAFAEAA7C499BC5D3D03E7C7A598E332CC8D9FD1D5533FA9B86F8AA30980FD0C0000FA4E00DA5696655F2F8AC9250A110023656AEFACBFE9EAADDD15C3DAF8BAABA7765AF1F54F0647676FFD88AEBE817DBA7AEB9362B8BBF2712714F7FDAA71B9E6E2F32BBF357DE6BB1D5100EC670000D07702D0CE85E45FB32C3B5D21020000C6E07EC87E0600007D27002D5F48A6A7697A94420400008CC1FD90FD0C0000FA4E005A5B9AA63F2E8AC9810A11000030D6D8CF0000A0EF04A00A85E4E62CCB3EA51001000063703F643F030080BE1380962F248F2449F221850800001883FB21FB190000F49D00B47C21792949927728440000C018DC0FD9CF0000A0EF04A075C5203706BA0A1100003016D9CF0000A0EF04A0A5C5A596E392CB0A1100003016D9CF0000A0EF04A0D58BC8A78BB879630B91104208218410425435EC0C01001881E7E2F59D000C4F9AA6495148AE76240000000000A0390C740118B62CCB8E2E0A499F23010000000000CD61A00BC0C614917F4FD3F424470200000000009AC34017808D2922971631D991000000000080E630D00560D8D234FD595148F675240000000000A0390C7401D8982272C7C48913FFD691000000000080E630D00560638AC8FC24497670240000000000A0390C7401189669D3A66D5A149157264C98B0B9A3010000000000CD61A00BC0B02449B27D51449E71240000000000A0790C740118962CCB762B8AC86F1C090000000000681E035D0086254DD37FC8B2ACDF91000000000080E631D0056058D2343DA42822973B120000000000D03C06BA000C4B9665C71571B623010000000000CD63A00BC0700BC8B9699A4E75240000000000A0790C7401186E01B9B288898E040000000000348F812E00C3926559AD88CF39120000000000D03C06BA000CB780DC9F24C9AE8E040000000000348F812E00C32D20CF2549B2AD23010000000000CD63A00BC006DB679F7DDE561490E58E0400000000003497812E001B2C4992F71705649E23010000000000CD65A00BC0708AC7278AB8D591000000000080E632D0056083A569BA7F5140AE7524000060F4253FFAD166DF3EA7BEDD3A1F98E79B1CDD7BC33B1B5F7E7346FD1D8E1E0000B43E035D0036589665471405E46247020000465FF7B9033B74F5D6AF8BCFBB7A6AA775F5D6AE1D1CDD3DF5BDCBFBFAEA13BA7B6A3F6E7C5F67EFC09D5DD3678E3FFEE2FEADA74DAB6FEE480200406B32D0056038C5E3942CCB4E7524000060741D3BA3FEDECEBEDA3F76F5D5664DE9A9FF75576F6D20BE9EDA5BFB58238EBCE017EF8AC7168FB9ACABAFFEA5F87C6A4FED9FBA7A071E2A1E7F7D114B8BFBFEDED1040080D664A00BC0708AC785699A1EE9480000C0E8EAECAD1D52C49CAEDEDAE2CEBEFA35DDBDB599537BEB7B769D57FF40C4B7A70FFC453C2E2EAFDCD53B704FE7F4FA7E9D3DB519C5E31F2C1F337DE6F818023B920000D0BA0C7401D860699AFE4F51400E7024000060F40DBEE4720C74BB7A07AEFEE3D9B845F4D69E296FEFAB7776F6D61E88B3723B7B070E2B6E7FB1B3AFF6B31804C740B788F98E240000B426035D0086533CE6645936DE91000080D1575E6AB9AFF668F97EB9BDB59931E06DDC17EF931B1FBBCFBD71DBE2F3A38AFBCF8EAF8BC7DE567EECABCD1AFC350000D07A0C7401184EF1783C49929D1C090000185D5D7DB593BB7AEBFF1B975D8ECB2AFFF10CDDDAA5C5C79E88E2F3A7E27147F70E7CB078CCC2EEDE8133BBFB6ADDC5ED77C759BDC5C7792B3FCE75340100A03519E802309CE2B12C49922D1D090000187D832FB95C5E3EB9AF3EA1F3FCDAB888293DB37689DBA7F40C7CB2ABA7FEADCEF367EE7674EF0DEF5CFD8CDCA3FA66ED543CFE138E260000B41E035D00364892245B17C5638923010000ADA1B3A7FFFD83DF43B7BB77608FA93366EDD888AEF3EADB74CFA87FA8ABAF7E4A9CC9DBD533707E5C8A392EC3DCF8195D3DF5938AFBA6389A0000D07A0C7401D82049928C2B8AC7838E0400008CBEA9BDB3FEA6ABB776570C6BE3EBAE9EDA69C5D73F191C9DBDF523BAFA06F6E9EAAD4F8AE1EECAC79D50DCF7ABC6E59A8BCFAFFCD6F499EF76440100A0F518E802B0A18563429665B31C090000000000683E035D0036489AA645EDE8F8A123010000000000CD67A00BC006C9B2ACAB88F31D090000000000683E035D0036B4709C99A6E9771C090000000000683E035D0036B4705C56C4A18E040000000000349F812E001B244DD31BB32CDBDB91000000000080E633D00560430BC75D13274EFCB823010000000000CD67A00BC086168EA7922479AF23010000000000CD67A00BC07A9B366DDAA6513884104208218410420821841042083172614201C0060D751D050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C6BAFF0FC6E57D9A0AC9FE2D0000000049454E44AE426082, 1); INSERT INTO `ACT_GE_BYTEARRAY` VALUES ('a9040623-5e3a-11ec-8bee-f20bcee4e113', 1, 'flowConSign.bpmn', 'a9040622-5e3a-11ec-8bee-f20bcee4e113', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E222069643D226469616772616D5F666C6F77436F6E5369676E22207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2042504D4E32302E787364223E0A20203C70726F636573732069643D22666C6F77436F6E5369676E22206E616D653D22E5A49AE5AE9EE4BE8BE58AA0E7ADBE2220697345786563757461626C653D2274727565223E0A202020203C657874656E73696F6E456C656D656E74733E0A2020202020203C666C6F7761626C653A657865637574696F6E4C697374656E6572206576656E743D22656E642220636C6173733D22636F6D2E666C6F772E64656D6F2E636F6D6D6F6E2E666C6F772E6C697374656E65722E557064617465466C6F775374617475734C697374656E6572223E3C2F666C6F7761626C653A657865637574696F6E4C697374656E65723E0A202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C73746172744576656E742069643D224576656E745F3077706B6A3665223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D2241637469766974795F31786B376A346E22206E616D653D22E5BD95E585A52220666C6F7761626C653A61737369676E65653D22247B7374617274557365724E616D657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A66616C73652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383936323633313922206C6162656C3D22E68F90E4BAA42220747970653D226D756C74695F7369676E222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383936333333373322206C6162656C3D22E58AA0E7ADBE2220747970653D226D756C74695F636F6E7369676E222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3131316B7970732220736F757263655265663D224576656E745F3077706B6A366522207461726765745265663D2241637469766974795F31786B376A346E223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3030366736716F22206E616D653D22E4BC9AE7ADBE2220666C6F7761626C653A61737369676E65653D22247B61737369676E65657D2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383937333336303022206C6162656C3D22E5908CE6848F2220747970653D226D756C74695F6167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D2266616C73652220666C6F7761626C653A636F6C6C656374696F6E3D2261737369676E65654C6973742220666C6F7761626C653A656C656D656E745661726961626C653D2261737369676E6565223E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B6E724F66496E7374616E636573203D3D206E724F66436F6D706C65746564496E7374616E6365737D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F306374327969642220736F757263655265663D2241637469766974795F31786B376A346E22207461726765745265663D2241637469766974795F3030366736716F223E3C2F73657175656E6365466C6F773E0A202020203C757365725461736B2069643D2241637469766974795F3070376F6D646D22206E616D653D22E5AEA1E689B92220666C6F7761626C653A61737369676E65653D2261646D696E2220666C6F7761626C653A666F726D4B65793D227B2671756F743B666F726D49642671756F743B3A2671756F743B313434303934353431313335343236373634382671756F743B2C2671756F743B726561644F6E6C792671756F743B3A747275652C2671756F743B67726F7570547970652671756F743B3A2671756F743B41535349474E45452671756F743B7D223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A6F7065726174696F6E4C6973743E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383936383238393522206C6162656C3D22E5908CE6848F2220747970653D226167726565222073686F774F726465723D2230223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A202020202020202020203C666C6F7761626C653A666F726D4F7065726174696F6E2069643D223136333233383936383639333922206C6162656C3D22E68B92E7BB9D2220747970653D22726566757365222073686F774F726465723D2231223E3C2F666C6F7761626C653A666F726D4F7065726174696F6E3E0A20202020202020203C2F666C6F7761626C653A6F7065726174696F6E4C6973743E0A20202020202020203C666C6F7761626C653A7661726961626C654C6973743E3C2F666C6F7761626C653A7661726961626C654C6973743E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3035326B767A682220736F757263655265663D2241637469766974795F3030366736716F22207461726765745265663D2241637469766974795F3070376F6D646D223E3C2F73657175656E6365466C6F773E0A202020203C656E644576656E742069643D224576656E745F3165356D6D7870223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D22466C6F775F316E673571703722206E616D653D22E5908CE6848F2220736F757263655265663D2241637469766974795F3070376F6D646D22207461726765745265663D224576656E745F3165356D6D7870223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D226167726565223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D20276167726565277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D22466C6F775F3030397037687922206E616D653D22E68B92E7BB9D2220736F757263655265663D2241637469766974795F3070376F6D646D22207461726765745265663D2241637469766974795F31786B376A346E223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A637573746F6D436F6E646974696F6E20747970653D226F7065726174696F6E22206F7065726174696F6E547970653D22726566757365223E3C2F666C6F7761626C653A637573746F6D436F6E646974696F6E3E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C636F6E646974696F6E45787072657373696F6E207873693A747970653D2274466F726D616C45787072657373696F6E223E3C215B43444154415B247B6F7065726174696F6E54797065203D3D2027726566757365277D5D5D3E3C2F636F6E646974696F6E45787072657373696F6E3E0A202020203C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F666C6F77436F6E5369676E223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22666C6F77436F6E5369676E222069643D2242504D4E506C616E655F666C6F77436F6E5369676E223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3077706B6A3665222069643D2242504D4E53686170655F4576656E745F3077706B6A3665223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223130322E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F31786B376A346E222069643D2242504D4E53686170655F41637469766974795F31786B376A346E223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223139302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3030366736716F222069643D2242504D4E53686170655F41637469766974795F3030366736716F223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223335302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F3070376F6D646D222069643D2242504D4E53686170655F41637469766974795F3070376F6D646D223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2238302E30222077696474683D223130302E302220783D223531302E302220793D223238302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D224576656E745F3165356D6D7870222069643D2242504D4E53686170655F4576656E745F3165356D6D7870223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233362E30222077696474683D2233362E302220783D223637322E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30303970376879222069643D2242504D4E456467655F466C6F775F30303970376879223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223536302E302220793D223238302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223536302E302220793D223233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223234302E302220793D223233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223234302E302220793D223238302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232322E302220783D223338392E302220793D223231322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F316E6735717037222069643D2242504D4E456467655F466C6F775F316E6735717037223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223631302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223637322E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C62706D6E64693A42504D4E4C6162656C3E0A202020202020202020203C6F6D6764633A426F756E6473206865696768743D2231342E30222077696474683D2232332E302220783D223633302E302220793D223330322E30223E3C2F6F6D6764633A426F756E64733E0A20202020202020203C2F62706D6E64693A42504D4E4C6162656C3E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3035326B767A68222069643D2242504D4E456467655F466C6F775F3035326B767A68223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223435302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223531302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F30637432796964222069643D2242504D4E456467655F466C6F775F30637432796964223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223239302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223335302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D22466C6F775F3131316B797073222069643D2242504D4E456467655F466C6F775F3131316B797073223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223133382E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223139302E302220793D223332302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E, 0); @@ -1123,8 +1133,13 @@ INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('1a075ec8-1c4e-11ec-94ee-5ef70686b817', INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('1ba32d20-1c51-11ec-94ee-5ef70686b817', '合同审批', 'XM', 'flowContract', '', '2021-09-23 17:32:02.325', NULL, NULL, '1ba32d20-1c51-11ec-94ee-5ef70686b817', NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('1d1dbf34-1c51-11ec-94ee-5ef70686b817', '报销申请', 'CW', 'flowSubmit', '', '2021-09-23 17:32:04.806', NULL, NULL, '1d1dbf34-1c51-11ec-94ee-5ef70686b817', NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('4b5dcdb3-5e3c-11ec-8bee-f20bcee4e113', '合同审批', 'XM', 'flowContract', '', '2021-12-16 14:49:19.713', NULL, NULL, '4b5dcdb3-5e3c-11ec-8bee-f20bcee4e113', NULL); +INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('7063ef4f-69e4-11ec-a1dc-0235bf949cb9', '请假申请', 'HR', 'flowLeave', '', '2021-12-31 10:50:40.070', NULL, NULL, '7063ef4f-69e4-11ec-a1dc-0235bf949cb9', NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('76b77a98-5e3b-11ec-8bee-f20bcee4e113', '报销申请', 'CW', 'flowSubmit', '', '2021-12-16 14:43:22.946', NULL, NULL, '76b77a98-5e3b-11ec-8bee-f20bcee4e113', NULL); +INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('7cb13243-69e4-11ec-a1dc-0235bf949cb9', '报销申请', 'CW', 'flowSubmit', '', '2021-12-31 10:51:00.709', NULL, NULL, '7cb13243-69e4-11ec-a1dc-0235bf949cb9', NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('83c9896e-5e3a-11ec-8bee-f20bcee4e113', '合同审批', 'XM', 'flowContract', '', '2021-12-16 14:36:35.378', NULL, NULL, '83c9896e-5e3a-11ec-8bee-f20bcee4e113', NULL); +INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('84e67bf7-69e4-11ec-a1dc-0235bf949cb9', '合同审批', 'XM', 'flowContract', '', '2021-12-31 10:51:14.480', NULL, NULL, '84e67bf7-69e4-11ec-a1dc-0235bf949cb9', NULL); +INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('90afc1db-69e4-11ec-a1dc-0235bf949cb9', '多实例加签', 'HR', 'flowConSign', '', '2021-12-31 10:51:34.254', NULL, NULL, '90afc1db-69e4-11ec-a1dc-0235bf949cb9', NULL); +INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('98155f7f-69e4-11ec-a1dc-0235bf949cb9', '转办流程', 'HR', 'flowTranslate', '', '2021-12-31 10:51:46.664', NULL, NULL, '98155f7f-69e4-11ec-a1dc-0235bf949cb9', NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('9d23d445-1cd7-11ec-acd8-3ae4f1d3c3af', '合同审批', 'XM', 'flowContract', '', '2021-09-24 09:34:52.156', NULL, NULL, '9d23d445-1cd7-11ec-acd8-3ae4f1d3c3af', NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('a9040622-5e3a-11ec-8bee-f20bcee4e113', '多实例加签', 'HR', 'flowConSign', '', '2021-12-16 14:37:37.836', NULL, NULL, 'a9040622-5e3a-11ec-8bee-f20bcee4e113', NULL); INSERT INTO `ACT_RE_DEPLOYMENT` VALUES ('b97761b8-1c51-11ec-94ee-5ef70686b817', '多实例加签', 'HR', 'flowConSign', '', '2021-09-23 17:36:27.118', NULL, NULL, 'b97761b8-1c51-11ec-94ee-5ef70686b817', NULL); @@ -1196,19 +1211,24 @@ CREATE TABLE `ACT_RE_PROCDEF` ( BEGIN; INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowConSign:1:b981c1fb-1c51-11ec-94ee-5ef70686b817', 1, 'http://flowable.org/bpmn', '多实例加签', 'flowConSign', 1, 'b97761b8-1c51-11ec-94ee-5ef70686b817', 'flowConSign.bpmn', 'flowConSign.flowConSign.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowConSign:2:a9103b25-5e3a-11ec-8bee-f20bcee4e113', 1, 'http://flowable.org/bpmn', '多实例加签', 'flowConSign', 2, 'a9040622-5e3a-11ec-8bee-f20bcee4e113', 'flowConSign.bpmn', 'flowConSign.flowConSign.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); +INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowConSign:3:90b9fb0e-69e4-11ec-a1dc-0235bf949cb9', 1, 'http://flowable.org/bpmn', '多实例加签', 'flowConSign', 3, '90afc1db-69e4-11ec-a1dc-0235bf949cb9', 'flowConSign.bpmn', 'flowConSign.flowConSign.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowContract:1:1bbc0c53-1c51-11ec-94ee-5ef70686b817', 1, 'http://flowable.org/bpmn', '合同审批', 'flowContract', 1, '1ba32d20-1c51-11ec-94ee-5ef70686b817', 'flowContract.bpmn', 'flowContract.flowContract.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowContract:2:9edd1d08-1cd7-11ec-acd8-3ae4f1d3c3af', 1, 'http://flowable.org/bpmn', '合同审批', 'flowContract', 2, '9d23d445-1cd7-11ec-acd8-3ae4f1d3c3af', 'flowContract.bpmn', 'flowContract.flowContract.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowContract:3:d28aadd0-1cd8-11ec-acd8-3ae4f1d3c3af', 1, 'http://flowable.org/bpmn', '合同审批', 'flowContract', 3, 'd273a35d-1cd8-11ec-acd8-3ae4f1d3c3af', 'flowContract.bpmn', 'flowContract.flowContract.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowContract:4:8486bef1-5e3a-11ec-8bee-f20bcee4e113', 1, 'http://flowable.org/bpmn', '合同审批', 'flowContract', 4, '83c9896e-5e3a-11ec-8bee-f20bcee4e113', 'flowContract.bpmn', 'flowContract.flowContract.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowContract:5:4b726726-5e3c-11ec-8bee-f20bcee4e113', 1, 'http://flowable.org/bpmn', '合同审批', 'flowContract', 5, '4b5dcdb3-5e3c-11ec-8bee-f20bcee4e113', 'flowContract.bpmn', 'flowContract.flowContract.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); +INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowContract:6:84ff341a-69e4-11ec-a1dc-0235bf949cb9', 1, 'http://flowable.org/bpmn', '合同审批', 'flowContract', 6, '84e67bf7-69e4-11ec-a1dc-0235bf949cb9', 'flowContract.bpmn', 'flowContract.flowContract.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowLeave:1:1bc2a35b-1c4e-11ec-94ee-5ef70686b817', 1, 'http://flowable.org/bpmn', '请假申请', 'flowLeave', 1, '1a075ec8-1c4e-11ec-94ee-5ef70686b817', 'flowLeave.bpmn', 'flowLeave.flowLeave.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowLeave:2:de31b55a-5e35-11ec-9f5e-f20bcee4e113', 1, 'http://flowable.org/bpmn', '请假申请', 'flowLeave', 2, 'de258057-5e35-11ec-9f5e-f20bcee4e113', 'flowLeave.bpmn', 'flowLeave.flowLeave.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); +INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowLeave:3:714a7ec2-69e4-11ec-a1dc-0235bf949cb9', 1, 'http://flowable.org/bpmn', '请假申请', 'flowLeave', 3, '7063ef4f-69e4-11ec-a1dc-0235bf949cb9', 'flowLeave.bpmn', 'flowLeave.flowLeave.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowSubmit:1:efe9db3f-1c4e-11ec-94ee-5ef70686b817', 1, 'http://flowable.org/bpmn', '报销申请', 'flowSubmit', 1, 'efd6c86c-1c4e-11ec-94ee-5ef70686b817', 'flowSubmit.bpmn', 'flowSubmit.flowSubmit.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowSubmit:2:1d2bc8f7-1c51-11ec-94ee-5ef70686b817', 1, 'http://flowable.org/bpmn', '报销申请', 'flowSubmit', 2, '1d1dbf34-1c51-11ec-94ee-5ef70686b817', 'flowSubmit.bpmn', 'flowSubmit.flowSubmit.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowSubmit:3:e77c42e7-5e39-11ec-9f5e-f20bcee4e113', 1, 'http://flowable.org/bpmn', '报销申请', 'flowSubmit', 3, 'e76c3d54-5e39-11ec-9f5e-f20bcee4e113', 'flowSubmit.bpmn', 'flowSubmit.flowSubmit.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowSubmit:4:76c5d27b-5e3b-11ec-8bee-f20bcee4e113', 1, 'http://flowable.org/bpmn', '报销申请', 'flowSubmit', 4, '76b77a98-5e3b-11ec-8bee-f20bcee4e113', 'flowSubmit.bpmn', 'flowSubmit.flowSubmit.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); +INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowSubmit:5:7cc3f6f6-69e4-11ec-a1dc-0235bf949cb9', 1, 'http://flowable.org/bpmn', '报销申请', 'flowSubmit', 5, '7cb13243-69e4-11ec-a1dc-0235bf949cb9', 'flowSubmit.bpmn', 'flowSubmit.flowSubmit.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowTranslate:1:faa41acf-1c51-11ec-94ee-5ef70686b817', 1, 'http://flowable.org/bpmn', '转办流程', 'flowTranslate', 1, 'fa9b683c-1c51-11ec-94ee-5ef70686b817', 'flowTranslate.bpmn', 'flowTranslate.flowTranslate.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowTranslate:2:bf74f549-5e3a-11ec-8bee-f20bcee4e113', 1, 'http://flowable.org/bpmn', '转办流程', 'flowTranslate', 2, 'bf6b3146-5e3a-11ec-8bee-f20bcee4e113', 'flowTranslate.bpmn', 'flowTranslate.flowTranslate.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); +INSERT INTO `ACT_RE_PROCDEF` VALUES ('flowTranslate:3:981f70a2-69e4-11ec-a1dc-0235bf949cb9', 1, 'http://flowable.org/bpmn', '转办流程', 'flowTranslate', 3, '98155f7f-69e4-11ec-a1dc-0235bf949cb9', 'flowTranslate.bpmn', 'flowTranslate.flowTranslate.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0); COMMIT; -- ---------------------------- @@ -5680,11 +5700,11 @@ CREATE TABLE `zz_flow_entry` ( -- Records of zz_flow_entry -- ---------------------------- BEGIN; -INSERT INTO `zz_flow_entry` VALUES (1440962968085860352, '请假申请', 'flowLeave', 1440940473421139968, 1471360270025625600, '2021-12-16 14:03:20', 1, '\n\n \n \n Flow_05fy9wh\n \n \n \n \n \n \n \n \n Flow_05fy9wh\n Flow_012hd4v\n Flow_1dpnyz6\n Flow_0pme0vr\n \n \n \n \n \n \n \n \n \n \n Flow_0pme0vr\n Flow_1hbob37\n Flow_012hd4v\n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1hbob37\n Flow_0so810a\n Flow_1dpnyz6\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n Flow_0so810a\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440945149889744896, 1440945411354267648, NULL, '2021-12-16 14:27:17', 1440965465605148672, '2021-09-23 16:55:18', 1440911410581213417); -INSERT INTO `zz_flow_entry` VALUES (1440966906914803712, '报销申请', 'flowSubmit', 1440940520124715008, 1471370350892683264, '2021-12-16 14:43:23', 1, '\n\n \n \n Flow_00ldvag\n \n \n \n \n \n \n \n \n \n Flow_00ldvag\n Flow_09b7unr\n Flow_0x9dx2t\n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0x9dx2t\n Flow_18p3hqb\n \n \n \n Flow_18p3hqb\n Flow_1qigakr\n Flow_058cmsb\n \n \n \n \n \n \n \n Flow_1qigakr\n Flow_0ycx8fb\n \n \n ${totalAmount <= 1000}\n \n \n \n \n \n \n \n \n \n \n Flow_058cmsb\n Flow_0ycx8fb\n Flow_09b7unr\n \n \n ${totalAmount > 1000}\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440946020174270464, 1440947675041107968, NULL, '2021-12-16 14:46:40', 1440965465605148672, '2021-09-23 17:10:57', 1440911410581213417); -INSERT INTO `zz_flow_entry` VALUES (1440968423508021248, '合同审批', 'flowContract', 1440940563934220288, 1471371847462293504, '2021-12-16 14:49:20', 1, '\n\n \n \n Flow_00cexea\n \n \n \n \n \n \n \n \n Flow_00cexea\n Flow_0lloy56\n Flow_1vsrivb\n Flow_1m2406f\n Flow_04kcajc\n \n \n \n \n \n \n \n \n \n Flow_04kcajc\n Flow_026fvnq\n \n \n \n \n Flow_026fvnq\n Flow_0zz0u9g\n Flow_1yxqbe0\n \n \n \n \n \n \n \n \n \n Flow_0zz0u9g\n Flow_124e8z3\n \n \n \n \n \n \n \n \n \n Flow_1yxqbe0\n Flow_1uvj3ds\n \n \n \n \n Flow_124e8z3\n Flow_1uvj3ds\n Flow_1kyhnlz\n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1kyhnlz\n Flow_0di6qa6\n Flow_0lloy56\n \n \n \n \n \n \n \n \n \n \n Flow_0zmsn3x\n Flow_0jyv1zb\n \n ${nrOfInstances == nrOfCompletedInstances}\n \n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n Flow_0jyv1zb\n Flow_1f8yxov\n Flow_1vsrivb\n \n \n \n \n \n \n \n \n \n \n \n Flow_1f8yxov\n Flow_1a3qclm\n Flow_1m2406f\n \n \n ${multiAgreeCount / multiNumOfInstances > 0.4}\n \n \n Flow_1a3qclm\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0di6qa6\n Flow_0zmsn3x\n \n \n \n ${multiAgreeCount / multiNumOfInstances <= 0.4}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440952710487609344, 1440954920348946432, NULL, '2021-12-16 14:53:28', 1440966324770574336, '2021-09-23 17:16:59', 1440911410581213417); -INSERT INTO `zz_flow_entry` VALUES (1440972435892473856, '多实例加签', 'flowConSign', 1440940473421139968, 1471368903379652608, '2021-12-16 14:37:38', 1, '\n\n \n \n Flow_111kyps\n \n \n \n \n \n \n \n \n \n Flow_111kyps\n Flow_009p7hy\n Flow_0ct2yid\n \n \n \n \n \n \n \n \n \n Flow_0ct2yid\n Flow_052kvzh\n \n ${nrOfInstances == nrOfCompletedInstances}\n \n \n \n \n \n \n \n \n \n \n \n Flow_052kvzh\n Flow_1ng5qp7\n Flow_009p7hy\n \n \n \n Flow_1ng5qp7\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440945149889744896, 1440945411354267648, NULL, '2021-12-16 14:37:33', 1440965344985354240, '2021-09-23 17:32:55', 1440911410581213417); -INSERT INTO `zz_flow_entry` VALUES (1440973419167354880, '转办流程', 'flowTranslate', 1440940473421139968, 1471369060921905152, '2021-12-16 14:38:15', 1, '\n\n \n \n Flow_08lgvo0\n \n \n \n \n \n \n \n \n Flow_08lgvo0\n Flow_0n45f5j\n \n \n \n \n \n \n \n \n \n \n Flow_0n45f5j\n Flow_1s8i9er\n \n \n \n Flow_1s8i9er\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440945149889744896, 1440945411354267648, NULL, '2021-12-16 14:38:12', 1440965344985354240, '2021-09-23 17:36:50', 1440911410581213417); +INSERT INTO `zz_flow_entry` VALUES (1440962968085860352, '请假申请', 'flowLeave', 1440940473421139968, 1476747610374017024, '2021-12-31 10:50:42', 1, '\n\n \n \n Flow_05fy9wh\n \n \n \n \n \n \n \n \n Flow_05fy9wh\n Flow_012hd4v\n Flow_1dpnyz6\n Flow_0pme0vr\n \n \n \n \n \n \n \n \n \n \n Flow_0pme0vr\n Flow_1hbob37\n Flow_012hd4v\n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1hbob37\n Flow_0so810a\n Flow_1dpnyz6\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n Flow_0so810a\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440945149889744896, 1440945411354267648, NULL, '2021-12-31 10:50:36', 1440911410581213417, '2021-09-23 16:55:18', 1440911410581213417); +INSERT INTO `zz_flow_entry` VALUES (1440966906914803712, '报销申请', 'flowSubmit', 1440940520124715008, 1476747691038871552, '2021-12-31 10:51:01', 1, '\n\n \n \n Flow_00ldvag\n \n \n \n \n \n \n \n \n \n Flow_00ldvag\n Flow_09b7unr\n Flow_0x9dx2t\n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0x9dx2t\n Flow_18p3hqb\n \n \n \n Flow_18p3hqb\n Flow_1qigakr\n Flow_058cmsb\n \n \n \n \n \n \n \n Flow_1qigakr\n Flow_0ycx8fb\n \n \n ${totalAmount <= 1000}\n \n \n \n \n \n \n \n \n \n \n Flow_058cmsb\n Flow_0ycx8fb\n Flow_09b7unr\n \n \n ${totalAmount > 1000}\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440946020174270464, 1440947675041107968, NULL, '2021-12-31 10:50:57', 1440911410581213417, '2021-09-23 17:10:57', 1440911410581213417); +INSERT INTO `zz_flow_entry` VALUES (1440968423508021248, '合同审批', 'flowContract', 1440940563934220288, 1476747748962209792, '2021-12-31 10:51:15', 1, '\n\n \n \n Flow_00cexea\n \n \n \n \n \n \n \n \n Flow_00cexea\n Flow_0lloy56\n Flow_1vsrivb\n Flow_1m2406f\n Flow_04kcajc\n \n \n \n \n \n \n \n \n \n Flow_04kcajc\n Flow_026fvnq\n \n \n \n \n Flow_026fvnq\n Flow_0zz0u9g\n Flow_1yxqbe0\n \n \n \n \n \n \n \n \n \n Flow_0zz0u9g\n Flow_124e8z3\n \n \n \n \n \n \n \n \n \n Flow_1yxqbe0\n Flow_1uvj3ds\n \n \n \n \n Flow_124e8z3\n Flow_1uvj3ds\n Flow_1kyhnlz\n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1kyhnlz\n Flow_0di6qa6\n Flow_0lloy56\n \n \n \n \n \n \n \n \n \n \n Flow_0zmsn3x\n Flow_0jyv1zb\n \n ${nrOfInstances == nrOfCompletedInstances}\n \n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n Flow_0jyv1zb\n Flow_1f8yxov\n Flow_1vsrivb\n \n \n \n \n \n \n \n \n \n \n \n Flow_1f8yxov\n Flow_1a3qclm\n Flow_1m2406f\n \n \n ${multiAgreeCount / multiNumOfInstances > 0.4}\n \n \n Flow_1a3qclm\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0di6qa6\n Flow_0zmsn3x\n \n \n \n ${multiAgreeCount / multiNumOfInstances <= 0.4}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440952710487609344, 1440954920348946432, NULL, '2021-12-31 10:51:11', 1440911410581213417, '2021-09-23 17:16:59', 1440911410581213417); +INSERT INTO `zz_flow_entry` VALUES (1440972435892473856, '多实例加签', 'flowConSign', 1440940473421139968, 1476747831480946688, '2021-12-31 10:51:34', 1, '\n\n \n \n Flow_111kyps\n \n \n \n \n \n \n \n \n \n Flow_111kyps\n Flow_009p7hy\n Flow_0ct2yid\n \n \n \n \n \n \n \n \n \n Flow_0ct2yid\n Flow_052kvzh\n \n ${nrOfInstances == nrOfCompletedInstances}\n \n \n \n \n \n \n \n \n \n \n \n Flow_052kvzh\n Flow_1ng5qp7\n Flow_009p7hy\n \n \n \n Flow_1ng5qp7\n \n \n \n \n \n ${operationType == \'agree\'}\n \n \n \n \n \n ${operationType == \'refuse\'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440945149889744896, 1440945411354267648, NULL, '2021-12-31 10:51:31', 1440911410581213417, '2021-09-23 17:32:55', 1440911410581213417); +INSERT INTO `zz_flow_entry` VALUES (1440973419167354880, '转办流程', 'flowTranslate', 1440940473421139968, 1476747883532259328, '2021-12-31 10:51:47', 1, '\n\n \n \n Flow_08lgvo0\n \n \n \n \n \n \n \n \n Flow_08lgvo0\n Flow_0n45f5j\n \n \n \n \n \n \n \n \n \n \n Flow_0n45f5j\n Flow_1s8i9er\n \n \n \n Flow_1s8i9er\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', 0, 1440945149889744896, 1440945411354267648, NULL, '2021-12-31 10:51:43', 1440911410581213417, '2021-09-23 17:36:50', 1440911410581213417); COMMIT; -- ---------------------------- @@ -5719,13 +5739,18 @@ INSERT INTO `zz_flow_entry_publish` VALUES (1440973324426416128, 144097243589247 INSERT INTO `zz_flow_entry_publish` VALUES (1440973782771568640, 1440973419167354880, 'flowTranslate:1:faa41acf-1c51-11ec-94ee-5ef70686b817', 'fa9b683c-1c51-11ec-94ee-5ef70686b817', 1, b'1', b'0', 1440911410581213417, '2021-09-23 17:38:16', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"DEPT\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632389836108\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_08p9kng\",\"taskType\":1}'); INSERT INTO `zz_flow_entry_publish` VALUES (1441214529919782912, 1440968423508021248, 'flowContract:2:9edd1d08-1cd7-11ec-acd8-3ae4f1d3c3af', '9d23d445-1cd7-11ec-acd8-3ae4f1d3c3af', 2, b'1', b'0', 1440911410581213417, '2021-09-24 09:34:55', '{\"assignee\":\"${startUserName}\",\"formId\":1440954920348946432,\"groupType\":\"DEPT\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632388965712\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0nyla1r\",\"taskType\":1}'); INSERT INTO `zz_flow_entry_publish` VALUES (1441216695006924800, 1440968423508021248, 'flowContract:3:d28aadd0-1cd8-11ec-acd8-3ae4f1d3c3af', 'd273a35d-1cd8-11ec-acd8-3ae4f1d3c3af', 3, b'1', b'0', 1440911410581213417, '2021-09-24 09:43:31', '{\"assignee\":\"${startUserName}\",\"formId\":1440954920348946432,\"groupType\":\"DEPT\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632388965712\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0nyla1r\",\"taskType\":1}'); -INSERT INTO `zz_flow_entry_publish` VALUES (1471360270025625600, 1440962968085860352, 'flowLeave:2:de31b55a-5e35-11ec-9f5e-f20bcee4e113', 'de258057-5e35-11ec-9f5e-f20bcee4e113', 2, b'1', b'1', 1401532052469190656, '2021-12-16 14:03:20', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632387369558\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0sc2yuf\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1471360270025625600, 1440962968085860352, 'flowLeave:2:de31b55a-5e35-11ec-9f5e-f20bcee4e113', 'de258057-5e35-11ec-9f5e-f20bcee4e113', 2, b'1', b'0', 1401532052469190656, '2021-12-16 14:03:20', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632387369558\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0sc2yuf\",\"taskType\":1}'); INSERT INTO `zz_flow_entry_publish` VALUES (1471367541166182400, 1440966906914803712, 'flowSubmit:3:e77c42e7-5e39-11ec-9f5e-f20bcee4e113', 'e76c3d54-5e39-11ec-9f5e-f20bcee4e113', 3, b'1', b'0', 1440911410581213417, '2021-12-16 14:32:13', '{\"assignee\":\"${startUserName}\",\"formId\":1440947675041107968,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632388352676\",\"label\":\"提交\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1639636285550\",\"label\":\"撤销\",\"type\":\"revoke\"}],\"readOnly\":false,\"taskKey\":\"Activity_03kjurt\",\"taskType\":1}'); INSERT INTO `zz_flow_entry_publish` VALUES (1471368646335926272, 1440968423508021248, 'flowContract:4:8486bef1-5e3a-11ec-8bee-f20bcee4e113', '83c9896e-5e3a-11ec-8bee-f20bcee4e113', 4, b'1', b'0', 1440965344985354240, '2021-12-16 14:36:37', '{\"assignee\":\"${startUserName}\",\"formId\":1440954920348946432,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632388965712\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0nyla1r\",\"taskType\":1}'); -INSERT INTO `zz_flow_entry_publish` VALUES (1471368903379652608, 1440972435892473856, 'flowConSign:2:a9103b25-5e3a-11ec-8bee-f20bcee4e113', 'a9040622-5e3a-11ec-8bee-f20bcee4e113', 2, b'1', b'1', 1440965344985354240, '2021-12-16 14:37:38', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632389626319\",\"label\":\"提交\",\"type\":\"multi_sign\"},{\"showOrder\":\"1\",\"id\":\"1632389633373\",\"label\":\"加签\",\"type\":\"multi_consign\"}],\"readOnly\":false,\"taskKey\":\"Activity_1xk7j4n\",\"taskType\":1}'); -INSERT INTO `zz_flow_entry_publish` VALUES (1471369060921905152, 1440973419167354880, 'flowTranslate:2:bf74f549-5e3a-11ec-8bee-f20bcee4e113', 'bf6b3146-5e3a-11ec-8bee-f20bcee4e113', 2, b'1', b'1', 1440965344985354240, '2021-12-16 14:38:15', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632389836108\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_08p9kng\",\"taskType\":1}'); -INSERT INTO `zz_flow_entry_publish` VALUES (1471370350892683264, 1440966906914803712, 'flowSubmit:4:76c5d27b-5e3b-11ec-8bee-f20bcee4e113', '76b77a98-5e3b-11ec-8bee-f20bcee4e113', 4, b'1', b'1', 1440965465605148672, '2021-12-16 14:43:23', '{\"assignee\":\"${startUserName}\",\"formId\":1440947675041107968,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632388352676\",\"label\":\"提交\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1639636285550\",\"label\":\"撤销\",\"type\":\"revoke\"}],\"readOnly\":false,\"taskKey\":\"Activity_03kjurt\",\"taskType\":1}'); -INSERT INTO `zz_flow_entry_publish` VALUES (1471371847462293504, 1440968423508021248, 'flowContract:5:4b726726-5e3c-11ec-8bee-f20bcee4e113', '4b5dcdb3-5e3c-11ec-8bee-f20bcee4e113', 5, b'1', b'1', 1440965465605148672, '2021-12-16 14:49:20', '{\"assignee\":\"${startUserName}\",\"formId\":1440954920348946432,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632388965712\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0nyla1r\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1471368903379652608, 1440972435892473856, 'flowConSign:2:a9103b25-5e3a-11ec-8bee-f20bcee4e113', 'a9040622-5e3a-11ec-8bee-f20bcee4e113', 2, b'1', b'0', 1440965344985354240, '2021-12-16 14:37:38', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632389626319\",\"label\":\"提交\",\"type\":\"multi_sign\"},{\"showOrder\":\"1\",\"id\":\"1632389633373\",\"label\":\"加签\",\"type\":\"multi_consign\"}],\"readOnly\":false,\"taskKey\":\"Activity_1xk7j4n\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1471369060921905152, 1440973419167354880, 'flowTranslate:2:bf74f549-5e3a-11ec-8bee-f20bcee4e113', 'bf6b3146-5e3a-11ec-8bee-f20bcee4e113', 2, b'1', b'0', 1440965344985354240, '2021-12-16 14:38:15', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632389836108\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_08p9kng\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1471370350892683264, 1440966906914803712, 'flowSubmit:4:76c5d27b-5e3b-11ec-8bee-f20bcee4e113', '76b77a98-5e3b-11ec-8bee-f20bcee4e113', 4, b'1', b'0', 1440965465605148672, '2021-12-16 14:43:23', '{\"assignee\":\"${startUserName}\",\"formId\":1440947675041107968,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632388352676\",\"label\":\"提交\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1639636285550\",\"label\":\"撤销\",\"type\":\"revoke\"}],\"readOnly\":false,\"taskKey\":\"Activity_03kjurt\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1471371847462293504, 1440968423508021248, 'flowContract:5:4b726726-5e3c-11ec-8bee-f20bcee4e113', '4b5dcdb3-5e3c-11ec-8bee-f20bcee4e113', 5, b'1', b'0', 1440965465605148672, '2021-12-16 14:49:20', '{\"assignee\":\"${startUserName}\",\"formId\":1440954920348946432,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632388965712\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0nyla1r\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1476747610374017024, 1440962968085860352, 'flowLeave:3:714a7ec2-69e4-11ec-a1dc-0235bf949cb9', '7063ef4f-69e4-11ec-a1dc-0235bf949cb9', 3, b'1', b'1', 1440911410581213417, '2021-12-31 10:50:42', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632387369558\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0sc2yuf\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1476747691038871552, 1440966906914803712, 'flowSubmit:5:7cc3f6f6-69e4-11ec-a1dc-0235bf949cb9', '7cb13243-69e4-11ec-a1dc-0235bf949cb9', 5, b'1', b'1', 1440911410581213417, '2021-12-31 10:51:01', '{\"assignee\":\"${startUserName}\",\"formId\":1440947675041107968,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632388352676\",\"label\":\"提交\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1639636285550\",\"label\":\"撤销\",\"type\":\"revoke\"}],\"readOnly\":false,\"taskKey\":\"Activity_03kjurt\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1476747748962209792, 1440968423508021248, 'flowContract:6:84ff341a-69e4-11ec-a1dc-0235bf949cb9', '84e67bf7-69e4-11ec-a1dc-0235bf949cb9', 6, b'1', b'1', 1440911410581213417, '2021-12-31 10:51:15', '{\"assignee\":\"${startUserName}\",\"formId\":1440954920348946432,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632388965712\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_0nyla1r\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1476747831480946688, 1440972435892473856, 'flowConSign:3:90b9fb0e-69e4-11ec-a1dc-0235bf949cb9', '90afc1db-69e4-11ec-a1dc-0235bf949cb9', 3, b'1', b'1', 1440911410581213417, '2021-12-31 10:51:34', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632389626319\",\"label\":\"提交\",\"type\":\"multi_sign\"},{\"showOrder\":\"1\",\"id\":\"1632389633373\",\"label\":\"加签\",\"type\":\"multi_consign\"}],\"readOnly\":false,\"taskKey\":\"Activity_1xk7j4n\",\"taskType\":1}'); +INSERT INTO `zz_flow_entry_publish` VALUES (1476747883532259328, 1440973419167354880, 'flowTranslate:3:981f70a2-69e4-11ec-a1dc-0235bf949cb9', '98155f7f-69e4-11ec-a1dc-0235bf949cb9', 3, b'1', b'1', 1440911410581213417, '2021-12-31 10:51:47', '{\"assignee\":\"${startUserName}\",\"formId\":1440945411354267648,\"groupType\":\"ASSIGNEE\",\"operationList\":[{\"showOrder\":\"0\",\"id\":\"1632389836108\",\"label\":\"提交\",\"type\":\"agree\"}],\"readOnly\":false,\"taskKey\":\"Activity_08p9kng\",\"taskType\":1}'); COMMIT; -- ---------------------------- @@ -5784,6 +5809,17 @@ INSERT INTO `zz_flow_entry_publish_variable` VALUES (1471370350917849089, 147137 INSERT INTO `zz_flow_entry_publish_variable` VALUES (1471370350917849090, 1471370350892683264, 'totalAmount', '报销金额', 1, 1440946127531675648, NULL, 1440946127493926912, b'0'); INSERT INTO `zz_flow_entry_publish_variable` VALUES (1471371847491653632, 1471371847462293504, 'operationType', '审批类型', 1, NULL, NULL, NULL, b'1'); INSERT INTO `zz_flow_entry_publish_variable` VALUES (1471371847491653633, 1471371847462293504, 'startUserName', '流程启动用户', 0, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476747610436931584, 1476747610374017024, 'operationType', '审批类型', 1, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476747610436931585, 1476747610374017024, 'startUserName', '流程启动用户', 0, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476747691076620288, 1476747691038871552, 'operationType', '审批类型', 1, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476747691076620289, 1476747691038871552, 'startUserName', '流程启动用户', 0, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476747691076620290, 1476747691038871552, 'totalAmount', '报销金额', 1, 1440946127531675648, NULL, 1440946127493926912, b'0'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476747748999958528, 1476747748962209792, 'operationType', '审批类型', 1, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476747748999958529, 1476747748962209792, 'startUserName', '流程启动用户', 0, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476747831514501120, 1476747831480946688, 'operationType', '审批类型', 1, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476747831514501121, 1476747831480946688, 'startUserName', '流程启动用户', 0, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476747883553230848, 1476747883532259328, 'operationType', '审批类型', 1, NULL, NULL, NULL, b'1'); +INSERT INTO `zz_flow_entry_publish_variable` VALUES (1476747883553230849, 1476747883532259328, 'startUserName', '流程启动用户', 0, NULL, NULL, NULL, b'1'); COMMIT; -- ---------------------------- @@ -5999,6 +6035,9 @@ INSERT INTO `zz_flow_task_ext` VALUES ('flowConSign:1:b981c1fb-1c51-11ec-94ee-5e INSERT INTO `zz_flow_task_ext` VALUES ('flowConSign:2:a9103b25-5e3a-11ec-8bee-f20bcee4e113', 'Activity_006g6qo', '[{\"showOrder\":\"0\",\"id\":\"1632389733600\",\"label\":\"同意\",\"type\":\"multi_agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowConSign:2:a9103b25-5e3a-11ec-8bee-f20bcee4e113', 'Activity_0p7omdm', '[{\"showOrder\":\"0\",\"id\":\"1632389682895\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632389686939\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowConSign:2:a9103b25-5e3a-11ec-8bee-f20bcee4e113', 'Activity_1xk7j4n', '[{\"showOrder\":\"0\",\"id\":\"1632389626319\",\"label\":\"提交\",\"type\":\"multi_sign\"},{\"showOrder\":\"1\",\"id\":\"1632389633373\",\"label\":\"加签\",\"type\":\"multi_consign\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowConSign:3:90b9fb0e-69e4-11ec-a1dc-0235bf949cb9', 'Activity_006g6qo', '[{\"showOrder\":\"0\",\"id\":\"1632389733600\",\"label\":\"同意\",\"type\":\"multi_agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowConSign:3:90b9fb0e-69e4-11ec-a1dc-0235bf949cb9', 'Activity_0p7omdm', '[{\"showOrder\":\"0\",\"id\":\"1632389682895\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632389686939\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowConSign:3:90b9fb0e-69e4-11ec-a1dc-0235bf949cb9', 'Activity_1xk7j4n', '[{\"showOrder\":\"0\",\"id\":\"1632389626319\",\"label\":\"提交\",\"type\":\"multi_sign\"},{\"showOrder\":\"1\",\"id\":\"1632389633373\",\"label\":\"加签\",\"type\":\"multi_consign\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:1:1bbc0c53-1c51-11ec-94ee-5ef70686b817', 'Activity_098ncvw', '[{\"showOrder\":\"0\",\"id\":\"1632389190662\",\"label\":\"同意\",\"type\":\"multi_agree\"},{\"showOrder\":\"1\",\"id\":\"1632389197406\",\"label\":\"拒绝\",\"type\":\"multi_refuse\"}]', NULL, NULL, 'DEPT', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:1:1bbc0c53-1c51-11ec-94ee-5ef70686b817', 'Activity_0nyla1r', '[{\"showOrder\":\"0\",\"id\":\"1632388965712\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'DEPT', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:1:1bbc0c53-1c51-11ec-94ee-5ef70686b817', 'Activity_0tm3mph', '[{\"showOrder\":\"0\",\"id\":\"1632388982377\",\"label\":\"同意\",\"type\":\"agree\"}]', NULL, NULL, 'DEPT', NULL, NULL, NULL, NULL); @@ -6039,12 +6078,23 @@ INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:5:4b726726-5e3c-11ec-8bee-f INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:5:4b726726-5e3c-11ec-8bee-f20bcee4e113', 'Activity_1h3pnxy', '[{\"showOrder\":\"0\",\"id\":\"1632389449508\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632389452850\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT', NULL, NULL, '1440911410581213416', NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:5:4b726726-5e3c-11ec-8bee-f20bcee4e113', 'Activity_1ucrh52', '[{\"showOrder\":\"0\",\"id\":\"1632388972455\",\"label\":\"同意\",\"type\":\"agree\"}]', NULL, NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:5:4b726726-5e3c-11ec-8bee-f20bcee4e113', 'Activity_1yuuyie', '[{\"showOrder\":\"0\",\"id\":\"1632389037814\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632389042489\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'POST', '[{\"id\":\"deptPost__1440964519391137792\",\"type\":\"deptPost\",\"deptPostId\":\"1440964519391137792\"}]', NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:6:84ff341a-69e4-11ec-a1dc-0235bf949cb9', 'Activity_098ncvw', '[{\"showOrder\":\"0\",\"id\":\"1632389190662\",\"label\":\"同意\",\"type\":\"multi_agree\"},{\"showOrder\":\"1\",\"id\":\"1632389197406\",\"label\":\"拒绝\",\"type\":\"multi_refuse\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:6:84ff341a-69e4-11ec-a1dc-0235bf949cb9', 'Activity_0nyla1r', '[{\"showOrder\":\"0\",\"id\":\"1632388965712\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:6:84ff341a-69e4-11ec-a1dc-0235bf949cb9', 'Activity_0tm3mph', '[{\"showOrder\":\"0\",\"id\":\"1632388982377\",\"label\":\"同意\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:6:84ff341a-69e4-11ec-a1dc-0235bf949cb9', 'Activity_138m4nn', '[{\"showOrder\":\"0\",\"id\":\"1632388978101\",\"label\":\"同意\",\"type\":\"agree\"}]', NULL, NULL, 'DEPT', NULL, NULL, '1440963698460987392', NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:6:84ff341a-69e4-11ec-a1dc-0235bf949cb9', 'Activity_1eewt01', '[{\"multiSignAssignee\":{\"assigneeList\":\"1440963642542526464\",\"assigneeType\":\"DEPT_GROUP\"},\"showOrder\":\"0\",\"id\":\"1632389337024\",\"label\":\"会签\",\"type\":\"multi_sign\"},{\"showOrder\":\"1\",\"id\":\"1632389341901\",\"label\":\"加签\",\"type\":\"multi_consign\"}]', NULL, NULL, 'POST', '[{\"id\":\"deptPost__1440964387979399168\",\"type\":\"deptPost\",\"deptPostId\":\"1440964387979399168\"}]', NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:6:84ff341a-69e4-11ec-a1dc-0235bf949cb9', 'Activity_1h3pnxy', '[{\"showOrder\":\"0\",\"id\":\"1632389449508\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632389452850\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT', NULL, NULL, '1440911410581213416', NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:6:84ff341a-69e4-11ec-a1dc-0235bf949cb9', 'Activity_1ucrh52', '[{\"showOrder\":\"0\",\"id\":\"1632388972455\",\"label\":\"同意\",\"type\":\"agree\"}]', NULL, NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowContract:6:84ff341a-69e4-11ec-a1dc-0235bf949cb9', 'Activity_1yuuyie', '[{\"showOrder\":\"0\",\"id\":\"1632389037814\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632389042489\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'POST', '[{\"id\":\"deptPost__1440964519391137792\",\"type\":\"deptPost\",\"deptPostId\":\"1440964519391137792\"}]', NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:1:1bc2a35b-1c4e-11ec-94ee-5ef70686b817', 'Activity_0olxatv', '[{\"showOrder\":\"0\",\"id\":\"1632388147727\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632388151069\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'POST', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:1:1bc2a35b-1c4e-11ec-94ee-5ef70686b817', 'Activity_0sc2yuf', '[{\"showOrder\":\"0\",\"id\":\"1632387369558\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'DEPT', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:1:1bc2a35b-1c4e-11ec-94ee-5ef70686b817', 'Activity_1jw5u20', '[{\"showOrder\":\"0\",\"id\":\"1632387389734\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632387393116\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:2:de31b55a-5e35-11ec-9f5e-f20bcee4e113', 'Activity_0olxatv', '[{\"showOrder\":\"0\",\"id\":\"1632388147727\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632388151069\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'POST', '[{\"id\":\"deptPost__1440964221780103168\",\"type\":\"deptPost\",\"deptPostId\":\"1440964221780103168\"}]', NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:2:de31b55a-5e35-11ec-9f5e-f20bcee4e113', 'Activity_0sc2yuf', '[{\"showOrder\":\"0\",\"id\":\"1632387369558\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:2:de31b55a-5e35-11ec-9f5e-f20bcee4e113', 'Activity_1jw5u20', '[{\"showOrder\":\"0\",\"id\":\"1632387389734\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632387393116\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:3:714a7ec2-69e4-11ec-a1dc-0235bf949cb9', 'Activity_0olxatv', '[{\"showOrder\":\"0\",\"id\":\"1632388147727\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632388151069\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'POST', '[{\"id\":\"deptPost__1440964221780103168\",\"type\":\"deptPost\",\"deptPostId\":\"1440964221780103168\"}]', NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:3:714a7ec2-69e4-11ec-a1dc-0235bf949cb9', 'Activity_0sc2yuf', '[{\"showOrder\":\"0\",\"id\":\"1632387369558\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowLeave:3:714a7ec2-69e4-11ec-a1dc-0235bf949cb9', 'Activity_1jw5u20', '[{\"showOrder\":\"0\",\"id\":\"1632387389734\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632387393116\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:1:efe9db3f-1c4e-11ec-94ee-5ef70686b817', 'Activity_03kjurt', '[{\"showOrder\":\"0\",\"id\":\"1632388352676\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'DEPT', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:1:efe9db3f-1c4e-11ec-94ee-5ef70686b817', 'Activity_0qay48u', '[{\"showOrder\":\"0\",\"id\":\"1632388536771\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632388540081\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:1:efe9db3f-1c4e-11ec-94ee-5ef70686b817', 'Activity_0ywxfwu', '[{\"showOrder\":\"0\",\"id\":\"1632388372003\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632388375866\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', '[{\"variableType\":1,\"showName\":\"报销金额\",\"variableName\":\"totalAmount\",\"bindColumnId\":1440946127493926912,\"createTime\":1632388418000,\"builtin\":false,\"bindDatasourceId\":1440946127531675648,\"variableId\":1440967581673459712,\"entryId\":1440966906914803712}]', NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); @@ -6057,10 +6107,15 @@ INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:3:e77c42e7-5e39-11ec-9f5e-f20 INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:4:76c5d27b-5e3b-11ec-8bee-f20bcee4e113', 'Activity_03kjurt', '[{\"showOrder\":\"0\",\"id\":\"1632388352676\",\"label\":\"提交\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1639636285550\",\"label\":\"撤销\",\"type\":\"revoke\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:4:76c5d27b-5e3b-11ec-8bee-f20bcee4e113', 'Activity_0qay48u', '[{\"showOrder\":\"0\",\"id\":\"1632388536771\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632388540081\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT', NULL, NULL, '1440911410581213416', NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:4:76c5d27b-5e3b-11ec-8bee-f20bcee4e113', 'Activity_0ywxfwu', '[{\"showOrder\":\"0\",\"id\":\"1632388372003\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1639636304080\",\"label\":\"驳回\",\"type\":\"reject\"}]', '[{\"variableType\":1,\"showName\":\"报销金额\",\"variableName\":\"totalAmount\",\"bindColumnId\":1440946127493926912,\"createTime\":1632388418000,\"builtin\":false,\"bindDatasourceId\":1440946127531675648,\"variableId\":1440967581673459712,\"entryId\":1440966906914803712}]', NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:5:7cc3f6f6-69e4-11ec-a1dc-0235bf949cb9', 'Activity_03kjurt', '[{\"showOrder\":\"0\",\"id\":\"1632388352676\",\"label\":\"提交\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1639636285550\",\"label\":\"撤销\",\"type\":\"revoke\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:5:7cc3f6f6-69e4-11ec-a1dc-0235bf949cb9', 'Activity_0qay48u', '[{\"showOrder\":\"0\",\"id\":\"1632388536771\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632388540081\",\"label\":\"拒绝\",\"type\":\"refuse\"}]', NULL, NULL, 'DEPT', NULL, NULL, '1440911410581213416', NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowSubmit:5:7cc3f6f6-69e4-11ec-a1dc-0235bf949cb9', 'Activity_0ywxfwu', '[{\"showOrder\":\"0\",\"id\":\"1632388372003\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1639636304080\",\"label\":\"驳回\",\"type\":\"reject\"}]', '[{\"variableType\":1,\"showName\":\"报销金额\",\"variableName\":\"totalAmount\",\"bindColumnId\":1440946127493926912,\"createTime\":1632388418000,\"builtin\":false,\"bindDatasourceId\":1440946127531675648,\"variableId\":1440967581673459712,\"entryId\":1440966906914803712}]', NULL, 'DEPT_POST_LEADER', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowTranslate:1:faa41acf-1c51-11ec-94ee-5ef70686b817', 'Activity_08p9kng', '[{\"showOrder\":\"0\",\"id\":\"1632389836108\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'DEPT', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowTranslate:1:faa41acf-1c51-11ec-94ee-5ef70686b817', 'Activity_12olr01', '[{\"showOrder\":\"0\",\"id\":\"1632389848554\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632389853959\",\"label\":\"转办\",\"type\":\"transfer\"}]', NULL, NULL, 'DEPT', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowTranslate:2:bf74f549-5e3a-11ec-8bee-f20bcee4e113', 'Activity_08p9kng', '[{\"showOrder\":\"0\",\"id\":\"1632389836108\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); INSERT INTO `zz_flow_task_ext` VALUES ('flowTranslate:2:bf74f549-5e3a-11ec-8bee-f20bcee4e113', 'Activity_12olr01', '[{\"showOrder\":\"0\",\"id\":\"1632389848554\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632389853959\",\"label\":\"转办\",\"type\":\"transfer\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowTranslate:3:981f70a2-69e4-11ec-a1dc-0235bf949cb9', 'Activity_08p9kng', '[{\"showOrder\":\"0\",\"id\":\"1632389836108\",\"label\":\"提交\",\"type\":\"agree\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); +INSERT INTO `zz_flow_task_ext` VALUES ('flowTranslate:3:981f70a2-69e4-11ec-a1dc-0235bf949cb9', 'Activity_12olr01', '[{\"showOrder\":\"0\",\"id\":\"1632389848554\",\"label\":\"同意\",\"type\":\"agree\"},{\"showOrder\":\"1\",\"id\":\"1632389853959\",\"label\":\"转办\",\"type\":\"transfer\"}]', NULL, NULL, 'ASSIGNEE', NULL, NULL, NULL, NULL); COMMIT; -- ---------------------------- @@ -6074,7 +6129,7 @@ CREATE TABLE `zz_flow_work_order` ( `process_definition_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '流程引擎的定义Id', `process_instance_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '流程实例Id', `online_table_id` bigint DEFAULT NULL COMMENT '在线表单的主表Id', - `table_name` varchar(128) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '静态表单表名', + `table_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '静态表单表名', `business_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '业务主键值', `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '未完成的任务Id', `task_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '未完成的任务名称',