Commit 0733b296 authored by 夏敏伟's avatar 夏敏伟

首次提交

parents
{
"compact": false,////max 500kib
"presets": [
["es2015", {
"modules": false,
"targets": {
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
}
}],
"stage-2"
]
}
\ No newline at end of file
node_modules/
dist/
.vscode/
src/view/zchj/zchj1.vue
# 缓存
cache:
paths:
- node_modules
# 本次构建的阶段:build package
stages:
- build
- package
# 编译
build:
stage: build
only:
- dev
script:
- echo "=============== 开始编译构建任务 ==============="
- npm install
- npm run build
artifacts:
paths:
- dist/
# 打包
package:
stage: package
only:
- dev
script:
- echo "=============== 开始打包任务 ==============="
- scp -r dist/* root@192.168.168.110:/3z/resource/3z
- echo "=============== 执行结束 ==================="
\ No newline at end of file
### 包解释
clean-webpack-plugin 清空build
html-webpack-plugin 打包生成的js文件被自动引入html文件中
vue-loader 用于解析.vue文件
vue-template-compiler 用于编译模板 配置如下
webpack-dev-server 热更新
vuedraggable 拖拽
### 安装注意
npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass
才能安装成功sass
### 安装环境
node版本14版本
\ No newline at end of file
<html>
<head>
<meta name="referrer" content="no-referrer" />
<link rel="icon" type="image/x-icon" href='static/img/favicon.ico'>
<title></title>
<style>
html body {
height: 100%;
margin: 0px !important;
}
</style>
</head>
<body>
<div id="app"></div>
</body>
<script>
if (typeof fetch === 'undefined') {
alert("当前浏览器版本过低,请升级!!!");
}
</script>
</html>
\ No newline at end of file
This diff is collapsed.
{
"name": "3z",
"version": "1.0.0",
"description": "",
"scripts": {
"build": "webpack --config ./webpack.config.js",
"dev": "webpack-dev-server --config ./webpack.config.js --open"
},
"author": "",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^7.1.5",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-stage-2": "^6.24.1",
"clean-webpack-plugin": "^3.0.0",
"copy-webpack-plugin": "^9.1.0",
"css-loader": "^5.2.6",
"element-theme-chalk": "^2.15.2",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.3.2",
"node-sass": "^4.14.1",
"sass-loader": "^11.1.1",
"style-loader": "^2.0.0",
"vue-loader": "^15.9.7",
"vue-style-loader": "^4.1.3",
"vue-template-compiler": "^2.6.14",
"webpack": "^5.40.0",
"webpack-cli": "^4.9.2",
"webpack-dev-server": "^4.7.4"
},
"dependencies": {
"@turf/turf": "^6.5.0",
"clipboard": "^2.0.0",
"css-color-function": "^1.3.3",
"docxtemplater": "^3.22.2",
"docxtemplater-image-module-free": "^1.1.1",
"echarts": "^5.1.2",
"echarts-wordcloud": "^2.0.0",
"el-table-infinite-scroll": "^1.0.10",
"element-ui": "^2.15.2",
"esri-loader": "^3.1.0",
"file-saver": "^2.0.5",
"html2canvas": "^1.4.1",
"jquery": "^3.6.0",
"jspdf": "^2.5.1",
"jszip": "^2.6.1",
"jszip-utils": "^0.1.0",
"object-assign": "^4.1.1",
"ol": "^6.5.0",
"push.js": "^1.0.12",
"relation-graph": "^1.1.0",
"vue": "^2.6.14",
"vue-router": "^3.5.2",
"vuedraggable": "^2.24.3",
"vuex": "^3.6.2",
"xlsx": "^0.17.0",
"webuploader": "^0.1.5"
}
}
<template>
<div style="height: 100%">
<keep-alive>
<router-view> </router-view>
</keep-alive>
</div>
</template>
<script>
export default {
name: "app"
};
</script>
import { get, post, delete_util } from "../util/http_util";
//#region 公共
//服务前缀
const PREFIX = "api/rest/decision";
/**
* 添加param
* @param {*} param
* @returns
*/
function addParam(param) {
let url = "";
let keys = Object.getOwnPropertyNames(param);
keys.forEach(function (key, index) {
if (param[key] != undefined) {
if (index == 0) {
url += "?";
}
url += key + "=" + param[key];
if (index != keys.length - 1) {
url += "&";
}
}
});
return url;
}
//#endregion
/**
* 查询分析研判
* @param {*} pageNum
* @param {*} pageSize
* @param {*} queryParam
* @returns
*/
export function queryDecisionSituationAnalysisJudgment(pageNum, pageSize, queryParam) {
return post(`${PREFIX}/queryDecisionSituationAnalysisJudgment?pageNum=${pageNum}&pageSize=${pageSize}`, queryParam);
}
/**
* 新增分析研判
* @param {*} source
* @param {*} competitorsSituation
* @param {*} competitorsPurpose
* @param {*} legalIllegal
* @param {*} currentSituations
* @param {*} nextImpact
* @param {*} content
* @returns
*/
export function addDecisionSituationAnalysisJudgment(param) {
return post(`${PREFIX}/addDecisionSituationAnalysisJudgment`, param);
}
/**
* 删除分析研判
* @param {*} ids
* @returns
*/
export function removeDecisionSituationAnalysisJudgment(ids) {
return delete_util(`${PREFIX}/removeDecisionSituationAnalysisJudgment`, ids);
}
/**
* 查询措施建议
* @param {*} pageNum
* @param {*} pageSize
* @param {*} queryParam
* @returns
*/
export function queryMeasuresSuggested(pageNum, pageSize, queryParam) {
return post(`${PREFIX}/queryMeasuresSuggested?pageNum=${pageNum}&pageSize=${pageSize}`, queryParam);
}
/**
* 新增措施建议
* @param {*} content
* @param {*} copingChannel
* @param {*} copingStrategies
* @param {*} copingStrength
* @param {*} object
* @returns
*/
export function addMeasuresSuggested(param) {
return post(`${PREFIX}/addMeasuresSuggested`, param);
}
/**
* 删除措施建议
* @param {*} ids
* @returns
*/
export function removeMeasuresSuggested(ids) {
return delete_util(`${PREFIX}/removeMeasuresSuggested`, ids);
}
/**
* 查询信息制品
* @param {*} pageNum
* @param {*} pageSize
* @param {*} queryParam
* @returns
*/
export function queryDecisionInformationProduct(pageNum, pageSize, queryParam) {
return post(`${PREFIX}/queryDecisionInformationProduct?pageNum=${pageNum}&pageSize=${pageSize}`, queryParam);
}
/**
* 新增信息制品
* @param {*} cal
* @param {*} content
* @param {*} copingChannel
* @param {*} copingStrategies
* @param {*} copingStrength
* @param {*} issues
* @param {*} object
* @param {*} productCode
* @param {*} productDelivery
* @returns
*/
export function addDecisionInformationProduct(param) {
return post(`${PREFIX}/addDecisionInformationProduct`, param);
}
/**
* 删除信息制品
* @param {*} ids
* @returns
*/
export function removeDecisionInformationProduct(ids) {
return delete_util(`${PREFIX}/removeDecisionInformationProduct`, ids);
}
/**
* 查询国家
* @returns
*/
export function queryCountry() {
return get(`${PREFIX}/queryCountry`);
}
/**
* 查询制作简报
* @param {*} pageNum
* @param {*} pageSize
* @param {*} name
* @returns
*/
export function queryBriefing(pageNum, pageSize, name) {
let url = `api/rest/document/queryBriefing`;
url += addParam({ pageNum, pageSize, name });
return get(url);
}
/**
* 简报删除
* @param {*} paths
* @returns
*/
export function removeBriefing(paths) {
return delete_util(`api/rest/document/removeBriefing`, paths);
}
/**
* 生成预案
* @param {*} content
* @param {*} result
* @returns
*/
export function saveResult(param) {
return post(`api/rest/decision/saveResult`, param);
}
/**
* 查询预案
* @param {*} pageNum
* @param {*} pageSize
* @param {*} content
* @returns
*/
export function queryResult(pageNum, pageSize, content) {
let url = `api/rest/decision/queryResult`;
url += addParam({ pageNum, pageSize});
return post(url, content);
}
/**
* 删除预案
* @param {*} ids
* @returns
*/
export function removeResult(ids) {
return delete_util(`api/rest/decision/removeResult`, ids);
}
\ No newline at end of file
import { get, post,delete_util } from "../util/http_util";
//#region 公共
//服务前缀
const PREFIX = "api/rest/dictitem";
//#endregion
/**
* 查询文档字典大类
* @returns
*/
export function queryDictType() {
return get(`${PREFIX}/queryDictType`);
}
/**
* 查询文档字典细类
* @param {*} typeCode
* @returns
*/
export function queryDictItem(typeCode) {
return get(`${PREFIX}/queryDictItem/${typeCode}`);
}
/**
* api统一管理
*/
import { get, post } from "../util/http_util";
/**
* 查询舆情概要统计
*/
export function queryYqtjgy() {
return post(
`api/rest/fulltext/statisticsSentimentNum`)
}
/**
* 查询前七日总量
*/
export function queryYqtjWeek(param) {
return post(
`api/rest/fulltext/statisticsNewsTime`, param)
}
/**
* 按洲或者国家查询新闻分布
*/
export function queryYqtj(param) {
return post(
`api/rest/fulltext/statisticsNewsRegion`, param)
}
\ No newline at end of file
/**
* api统一管理
*/
import { get, post } from "../util/http_util";
//#region 公共
/**
* 添加param
* @param {*} param
* @returns
*/
function addParam(param) {
let url = "";
let keys = Object.getOwnPropertyNames(param);
keys.forEach(function (key, index) {
if (param[key] != undefined) {
if (index == 0) {
url += "?";
}
url += key + "=" + param[key];
if (index != keys.length - 1) {
url += "&";
}
}
});
return url;
}
//#endregion
export function queryDynamicCharacter(pageNum, pageSize, param) {
return post(
`api/rest/resource/queryDynamicCharacter?pageNum=${pageNum}&pageSize=${pageSize}`, param)
}
export function queryDynamicOrganization(pageNum, pageSize, param) {
return post(
`api/rest/resource/queryDynamicOrganization?pageNum=${pageNum}&pageSize=${pageSize}`, param)
}
/**
* 根据条件查询新闻
*/
export function queryNews(pageNum = 1, pageSize = 10, body = {}) {
return post("api/rest/fulltext/queryNews?pageSize=20", {});
}
/**
* 辅助决策文件查询
* @param {*} pageNum
* @param {*} pageSize
* @param {*} body
* @returns
*/
export function queryDoc(pageNum = 1, pageSize = 10, body = {}) {
return post(`api/rest/document/queryDoc?pageNum=${pageNum}&pageSize=${pageSize}`, body);
}
/**
*
*/
export function queryAttention() {
return get("api/rest/resource/queryAttention");
}
/**
* 查询舆情分析
*/
export function queryYqfx(module, list) {
return post(`api/rest/document/multiQueryLiterature?module=${module}`, list);
}
/**
* 查询新闻详情
*/
export function queryNewsInfo(id) {
return get("api/rest/fulltext/queryOneNews?Id=" + id);
}
/**
* 查询辅助决策树结构
*/
export function queryFzjcTree(module) {
return get(`api/rest/document/queryDocumentTree?module=${module}`)
}
/**
* 查询舆情热点
*/
export function queryTopicNews(modules) {
return post(`api/rest/fulltext/multiTopicQueryNews`, modules)
}
/**
* 查询报告
*/
export function queryReport(pageNum, pageSize, name, startTime, endTime) {
let url = `api/rest/sentiment/queryReport`;
url += addParam({ pageNum, pageSize, name, startTime, endTime });
return get(url);
}
\ No newline at end of file
import { type } from "jquery";
import { get, post,delete_util } from "../util/http_util";
//#region 公共
//服务前缀
const PREFIX = "api/rest/resource";
const PREFIX_Sentiment = "api/rest/sentiment";
/**
* 添加param
* @param {*} param
* @returns
*/
function addParam(param) {
let url = "";
let keys = Object.getOwnPropertyNames(param);
keys.forEach(function (key, index) {
if (param[key] != undefined) {
if (index == 0) {
url += "?";
}
url += key + "=" + param[key];
if (index != keys.length - 1) {
url += "&";
}
}
});
return url;
}
//#endregion
//#region 想定作业8/10
/**
* 目录树查询
* @returns
*/
export function queryQuestionTree() {
return get(`${PREFIX}/queryQuestionTree`);
}
/**
* 题目查询
* @param {*} pageNum
* @param {*} pageSize
* @param {*} content
* @param {*} treeId
* @returns
*/
export function queryQuestion(pageNum, pageSize, content, treeId) {
let url = `${PREFIX}/queryQuestion`;
url += addParam({ pageNum, pageSize, content, treeId });
return get(url);
}
/**
* 答题
* @param {*} body
* @returns
*/
export function answerQuestion(body) {
return post(`${PREFIX}/answerQuestion`, body);
}
/**
* 选项查询
* @returns
*/
export function queryQuestionOptions() {
return get(`${PREFIX}/queryQuestionOptions`);
}
/**
* 历史答题记录
* @param {*} questionId
* @param {*} pageNum
* @param {*} pageSize
* @returns
*/
export function queryAnswerQuestionRecord(questionId, pageNum, pageSize) {
let url = `${PREFIX}/queryAnswerQuestionRecord`;
url += addParam({ questionId, pageNum, pageSize });
return get(url);
}
/**
* 新增题目
* @param {*} treeId
* @param {*} name
* @param {*} content
* @param {*} analysis
* @param {*} measure
* @returns
*/
export function addNewQuestion(param){
return post(`${PREFIX}/addQuestion`,param);
}
/**
* 编辑题目
* @param {*} treeId
* @param {*} name
* @param {*} content
* @param {*} analysis
* @param {*} measure
* @returns
*/
export function UpdateQuestion(param){
return post(`${PREFIX}/updateQuestion`,param);
}
/**
* 想定作业新增作业树节点
* @param {*} code
* @param {*} id
* @param {*} label
* @param {*} parentCode
* @returns
*/
export function addQuestionTreeNode(param){
return post(`${PREFIX}/addQuestionTreeNode`,param);
}
/**
* 想定作业编辑作业树节点
* @param {*} code
* @param {*} id
* @param {*} label
* @param {*} parentCode
* @returns
*/
export function updateQuestionTreeNode(param){
return post(`${PREFIX}/updateQuestionTreeNode`,param);
}
/**
* 想定作业删除作业树节点
* @param {*} id
* @returns
*/
export function removeQuestionTreeNode(id){
return delete_util(`${PREFIX}/removeQuestionTreeNode?id=${id}`);
}
/**
* 想定作业批量删除题目
* @param {*} ids
* @returns
*/
export function removeQuestion(ids){
return delete_util(`${PREFIX}/removeQuestion`,ids);
}
/**
* 想定作业查询选项树
* @returns
*/
export function queryQuestionOptionsTree(type){
return get(`${PREFIX}/queryQuestionOptionsTree?type=${type}`);
}
/**
* 舆情资讯库新增站点
* @param {*} countryEn
* @param {*} countryZh
* @param {*} domain
* @param {*} name
* @returns
*/
export function addWebsite(param){
return post(`${PREFIX_Sentiment}/addWebsite`,param);
}
/**
* 舆情资讯库删除站点
* @param {*} ids
* @returns
*/
export function removeWebsite(ids){
return delete_util(`${PREFIX_Sentiment}/removeWebsite`,ids);
}
/**
* 舆情资讯库编辑站点
* @param {*} countryEn
* @param {*} countryZh
* @param {*} domain
* @param {*} name
* @returns
*/
export function editWebsite(ids){
return post(`${PREFIX_Sentiment}/updateWebsite`,ids);
}
/**
* 舆情资讯库新增国家
* @param {*} parentid
* @param {*} name
* @returns
*/
export function addCountry(param){
return post(`${PREFIX_Sentiment}/addSource`,param);
}
/**
* 舆情资讯库编辑国家
* @param {*} id
* @param {*} name
* @returns
*/
export function editCountry(param){
return post(`${PREFIX_Sentiment}/updateSource?id=${param.id}&name=${param.name}`);
}
/**
* 舆情资讯库删除国家
* @param {*} id
* @returns
*/
export function removeCountry(id){
return post(`${PREFIX_Sentiment}/removeSource?id=${id}`);
}
/**
* 想定作业新增选项树节点
* @param {*} label
* @param {*} type
* @param {*} parentId
* @returns
*/
export function addQuestionOptionsTreeNode(label,type,parentId){
let url = `${PREFIX}/addQuestionOptionsTreeNode`;
url += addParam({ label, type, parentId});
return post(url);
}
/**
* 想定作业删除作业树节点
* @param {*} id
* @returns
*/
export function removeQuestionOptionsTreeNode(id){
return delete_util(`${PREFIX}/removeQuestionOptionsTreeNode?id=${id}`);
}
/**
* 想定作业编辑选项树节点
* @param {*} label
* @param {*} id
* @returns
*/
export function updateQuestionOptionsTreeNode(label,id){
return post(`${PREFIX}/updateQuestionOptionsTreeNode?label=${label}&id=${id}`);
}
//#endregion
\ No newline at end of file
import { get, post, delete_util } from "../util/http_util";
//#region 公共
/**
* 添加param
* @param {*} param
* @returns
*/
function addParam(param) {
let url = "";
let keys = Object.getOwnPropertyNames(param);
keys.forEach(function (key, index) {
if (param[key] != undefined) {
if (index == 0) {
url += "?";
}
url += key + "=" + param[key];
if (index != keys.length - 1) {
url += "&";
}
}
});
return url;
}
//#endregion
/**
* 查询用户文献上传信息列表
* @param {*} pageNum
* @param {*} pageSize
* @param {*} body
* @returns
*/
export function queryUserPerformance(pageNum = 1, pageSize = 10, logType = LITERATURE, body = {}) {
return post(`api/rest/user/queryUserPerformance?pageNum=${pageNum}&pageSize=${pageSize}&logType=${logType}`, body);
}
/**
* 统计用户文献上传数量
* @param {*} pageNum
* @param {*} pageSize
* @param {*} body
* @returns
*/
export function countUserPerformance(pageNum = 1, pageSize = 10, logType = LITERATURE,body = {}) {
return post(`api/rest/user/countUserPerformance?pageNum=${pageNum}&pageSize=${pageSize}&logType=${logType}`, body);
}
/**
* 查询消息
* @param {*} account
* @param {*} pageNum
* @param {*} pageSize
* @param {*} name
* @returns
*/
export function queryNotification(pageNum, pageSize, account, text) {
let url = `api/rest/user/queryNotification`;
url += addParam({ pageNum, pageSize, account, text });
return get(url);
}
/**
* 删除消息消息
* @param {*} ids
* @param {*} account
* @returns
*/
export function removeNotification(ids,account) {
return delete_util(`api/rest/user/removeNotification?account=${account}`, ids);
}
/**
*
* @param {*} account
* @param {*} noteId
* @returns
*/
export function readNotification(account, noteId) {
let url = `api/rest/user/readNotification`;
url += addParam({ account, noteId });
return post(url, {});
}
\ No newline at end of file
/*修改滚动条样式*/
div::-webkit-scrollbar {
width: 10px;
height: 10px;
/**/
}
div::-webkit-scrollbar-track {
background: #125473;
border-radius: 2px;
}
div::-webkit-scrollbar-thumb {
background: #06cee0;
border-radius: 10px;
}
div::-webkit-scrollbar-thumb:hover {
background: #06cee0;
}
div::-webkit-scrollbar-corner {
background: #179a16;
}
/* input 边框*/
.public-input>.el-input__inner,
.public-input>.el-input--suffix>.el-input__inner {
/* color: #ffffff96; */
/* color: white !important; */
background: none !important;
border: 1px solid #146a80 !important;
box-shadow: 0 0 10px #1b6097;
}
.public-input>.el-input__inner>input {
/* color: white; */
background-color: transparent;
}
.public-range {
box-shadow: 0 0 10px #1b6097;
border: 1px solid #146a80 !important;
}
/* 按钮样式 */
.myButton {
width: 100px;
height: 30px;
line-height: 30px;
margin-left: 35%;
text-align: center;
cursor: pointer;
background-image: url(../img/yqjc/40.png);
background-repeat: no-repeat;
background-size: 100% 100%;
}
.el-loading-spinner button{
width: 80px;
height: 30px;
margin-top: 10px;
border: none;
border-radius: 4px;
color: white;
background-color: #409eff;
cursor: pointer;
}
.el-loading-spinner button:hover{
border:none;
background-color: #1f6fc1;
}
.el-select-dropdown .el-tree-node__content .custom-tree-node{
max-width: 800px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
\ No newline at end of file
html,body{
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow: hidden;
}
#login{
background-image: url(../img/login.jpg);
height: 100%;
}
#form{
width: 420px;
height: 400px;
position: absolute;
left: calc(50% - 210px);
top: calc(50% - 200px);
color: white;
text-align: center;
}
button{
width: 140px;
}
#rdsj {
width: 100%;
height: 100%;
}
.rdsj-module {
width: 40%;
height: 42%;
float: left;
margin-left: 5%;
margin-top: 2%;
}
.title {
width: 150px;
height: 55px;
line-height: 40px;
float: left;
text-align: center;
background: url("../img/main/10.png") no-repeat;
background-size: 100% 100%;
}
.rdsj-div {
width: 100%;
height: calc(100% - 55px);
background: url("../img/main/02.png") no-repeat;
background-size: 100% 100%;
}
.rdsj-title {
width: 100%;
height: 55px;
}
/* .el-icon-setting{
margin-right: 70px;
} */
.rdsj-table{
width: 96%;
height: calc(100% - 80px);
overflow-y: auto;
}
.rdsj-table > table {
width: calc(100% - 100px);
max-height: 100%;
color: white;
float: left;
margin-left: 10%;
/* margin-top: 1%; */
table-layout: fixed;
}
.rdsj-table>table tr td {
padding: 5px;
font-size: 17px;
}
.rdsj-table>table tr td:nth-child(1){
width: 50px;
}
.rdsj-table>table tr td:nth-child(2){
width: 350px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.rdsj-table>table tr td:nth-child(3){
width: 50px;
}
.new-title{
cursor: pointer;
}
.tag {
width: 20px;
height: 20px;
line-height: 20px;
display: inline-block;
text-align: center;
}
.change-content {
float: right;
margin-top: 25px;
margin-right: 40px;
}
.change-content:hover {
cursor: pointer;
color: teal;
}
.el-icon-setting{
float: right; margin-top: 4%; cursor: pointer
}
.el-icon-setting:hover{
color:teal;
}
.el-notification__content{
cursor: pointer;
}
This image diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment