Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
bigDataSystem
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张伯涛
bigDataSystem
Commits
f506e403
Commit
f506e403
authored
Dec 03, 2024
by
zxw
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
自助建表-页面修改
parent
c1e226a0
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
207 additions
and
15 deletions
+207
-15
editAuditRulesModal.vue
...iptDevelopment/functionManagement/editAuditRulesModal.vue
+36
-6
editAuditRulesModal.vue
...elopment/selfServiceTableCreation/editAuditRulesModal.vue
+70
-3
mainBody.data.ts
...riptDevelopment/selfServiceTableCreation/mainBody.data.ts
+3
-2
mock.ts
src/views/scriptDevelopment/selfServiceTableCreation/mock.ts
+3
-3
editAuditRulesModal.vue
src/views/scriptDevelopment/sqlAudit/editAuditRulesModal.vue
+1
-1
vite.config.ts.timestamp-1733101094674-9a3cc74e73b39.mjs
vite.config.ts.timestamp-1733101094674-9a3cc74e73b39.mjs
+47
-0
vite.config.ts.timestamp-1733109704960-8029bd881e077.mjs
vite.config.ts.timestamp-1733109704960-8029bd881e077.mjs
+47
-0
No files found.
src/views/scriptDevelopment/functionManagement/editAuditRulesModal.vue
View file @
f506e403
...
...
@@ -22,8 +22,8 @@
<a-button
type=
"primary"
>
文件选择
</a-button>
<p
style=
"margin: 5px"
>
仅允许导入单个.jar文件
</p>
</div>
<div
style=
"margin-top: 10px"
>
<a-input
style=
"width: 342px; margin-right: auto"
allowClear
/>
<div
style=
"margin-top: 10px
;
"
>
<a-input
style=
"width: 342px; margin-right: auto"
allowClear
/>
</div>
</
template
>
...
...
@@ -35,20 +35,50 @@
</template>
<
script
lang=
"ts"
setup
>
import
{
ref
,
}
from
'vue'
;
import
{
PageWrapper
}
from
"@/components/Page"
;
import
{
tableList
}
from
"./mock"
;
import
{
personSchema
}
from
"./mainBody.data"
;
import
{
BasicForm
,
useForm
}
from
"@/components/Form"
;
import
SaveSettingsModal
from
"./saveSettingsModal.vue"
;
import
{
useModal
}
from
"@/components/Modal"
;
import
{
computed
,
onMounted
}
from
"vue"
;
// 初始化 info 为一个响应式对象
const
info
=
ref
({...
tableList
[
0
]});
const
[
saveSettings
,
{
openModal
:
openModal
}]
=
useModal
();
// 新建质量主体弹窗
const
pros
=
defineProps
({
deptId
:
{
type
:
Number
,
default
:
0
,
}
})
// 初始化 info 为一个响应式对象
const
info
=
computed
(()
=>
{
const
list
=
tableList
;
const
index
=
list
.
findIndex
((
item
)
=>
{
return
item
.
selectedDeptId
===
pros
.
deptId
;
// 添加 return 关键字
});
console
.
log
(
'list'
,
list
);
console
.
log
(
'index'
,
index
);
console
.
log
(
'deptId'
,
pros
.
deptId
);
if
(
index
!==
-
1
)
{
return
list
[
index
];
}
return
{};
});
function
palyStart
()
{
setFieldsValue
(
info
.
value
);
}
onMounted
(()
=>
{
console
.
log
(
'tableList'
,
tableList
)
palyStart
();
});
function
preservation
()
{
openModal
(
true
,
{
...
...
@@ -56,7 +86,7 @@ function preservation() {
});
}
const
[
registerGuideModeForm
]
=
useForm
({
const
[
registerGuideModeForm
,{
setFieldsValue
}
]
=
useForm
({
labelWidth
:
100
,
schemas
:
personSchema
,
showActionButtonGroup
:
false
,
...
...
src/views/scriptDevelopment/selfServiceTableCreation/editAuditRulesModal.vue
View file @
f506e403
<
template
>
<PageWrapper
dense
contentFullHeight
fixedHeight
contentClass=
"flex"
>
<PageWrapper
dense
contentFullHeight
fixedHeight
contentClass=
"flex flex-col"
class=
"toolbar"
style=
"width: 910px; "
>
<PageWrapper
dense
contentFullHeight
fixedHeight
contentClass=
"flex flex-col"
class=
"toolbar"
>
<div
class=
"toolbar"
style=
"background: white; "
>
<div
class=
"tools"
>
<a-button
type=
"primary"
style=
"float: right; margin: 10px 15px 10px 0"
>
保存
</a-button>
...
...
@@ -29,9 +29,17 @@
<BasicTable
@
register=
"registerTable"
style=
"width: 960px; height: 160px; overflow: hidden;"
class=
"w-3/4 xl:w-4/5"
style=
"width: 100%; height: 160px; overflow: hidden;"
>
<
template
#
sort
>
<Icon
icon=
"material-symbols:holder"
/>
</
template
>
<
template
#
nonEmpty
>
<checkbox
/>
</
template
>
<
template
#
bodyCell=
"{ column }"
>
<template
v-if=
"column.key === 'action'"
>
<TableAction
...
...
@@ -59,6 +67,7 @@
@
register=
"partitionConfigurationTemplate"
>
<
template
#
tableConfiguration
>
<h1
class=
"title-text"
style=
"width: 525px;margin-bottom:-30px;margin-top: 3px;"
>
分区配置
</h1>
<h1
class=
"title-text"
style=
"margin-bottom:-30px; margin-top: 10px; margin-left: 520px;"
>
分桶配置
</h1>
...
...
@@ -91,6 +100,8 @@ import {useModal} from "@/components/Modal";
import
generateTableBuildingStatementsMode
from
'./generateTableBuildingStatementsMode.vue'
;
import
addFieldsModal
from
'./addFieldsModal.vue'
;
let
fieldConfigurationL
=
ref
(
fieldConfigurationList
);
// 初始化 info 为一个响应式对象
const
info
=
ref
({...
fieldConfigurationList
[
0
]});
...
...
@@ -104,7 +115,7 @@ const [
api
:
async
(
params
)
=>
{
const
response
=
{
total
:
fieldConfigurationL
ist
.
length
,
total
:
fieldConfigurationL
.
value
.
length
,
data
:
[],
};
...
...
@@ -126,6 +137,7 @@ const [
showTableSetting
:
false
,
bordered
:
false
,
pagination
:
false
,
customRow
:
customRow
,
handleSearchInfoFn
(
info
)
{
console
.
log
(
'handleSearchInfoFn'
,
info
);
return
info
;
...
...
@@ -137,6 +149,61 @@ const [
},
});
let
source
=
0
;
// 源目标数据序号
let
target
=
0
;
// 目标数据序号
function
customRow
(
record
,
index
)
{
console
.
log
(
record
,
index
);
// 这里输出是表格全部的数据
return
{
props
:
{
// draggable: 'true'
},
style
:
{
cursor
:
'pointer'
,
},
// 鼠标移入
onMouseenter
:
(
event
)
=>
{
// 兼容IE
let
ev
=
event
||
window
.
event
;
ev
.
target
.
draggable
=
true
;
// 让你要拖动的行可以拖动,默认不可以
},
// 开始拖拽
onDragstart
:
(
event
)
=>
{
// 兼容IE
let
ev
=
event
||
window
.
event
;
// 阻止冒泡
ev
.
stopPropagation
();
// 得到源目标数据序号
source
=
index
;
console
.
log
(
record
,
index
,
'source'
);
},
// 拖动元素经过的元素
onDragover
:
(
event
)
=>
{
// 兼容 IE
let
ev
=
event
||
window
.
event
;
// 阻止默认行为
ev
.
preventDefault
();
},
// 鼠标松开
onDrop
:
(
event
)
=>
{
// 兼容IE
let
ev
=
event
||
window
.
event
;
// 阻止冒泡
ev
.
stopPropagation
();
// 得到目标数据序号
target
=
index
;
// 这里就是让数据位置互换,让视图更新 你们可以看record,index的输出,看是什么
console
.
log
(
fieldConfigurationL
);
// [tableData.value[source], tableData.value[target]] = [tableData.value[target], tableData.value[source]];
const
temp
=
ref
();
temp
.
value
=
fieldConfigurationL
.
value
[
source
];
fieldConfigurationL
.
value
[
source
]
=
fieldConfigurationL
.
value
[
target
];
fieldConfigurationL
.
value
[
target
]
=
temp
.
value
;
console
.
log
(
record
,
index
,
'target'
,
source
,
target
);
},
};
}
function
sqlStatement
()
{
openModal
(
true
,
{
isUpdate
:
false
,
...
...
src/views/scriptDevelopment/selfServiceTableCreation/mainBody.data.ts
View file @
f506e403
...
...
@@ -48,6 +48,7 @@ export const fieldConfiguration: BasicColumn[] = [
title
:
'排序'
,
dataIndex
:
'sort'
,
width
:
50
,
slots
:{
customRender
:
'sort'
}
},
{
...
...
@@ -99,10 +100,10 @@ export const fieldConfiguration: BasicColumn[] = [
{
title
:
'非空'
,
dataIndex
:
'nonEmpty'
,
width
:
60
,
edit
:
true
,
width
:
100
,
editComponent
:
'Checkbox'
,
slots
:{
customRender
:
'nonEmpty'
}
},
];
...
...
src/views/scriptDevelopment/selfServiceTableCreation/mock.ts
View file @
f506e403
...
...
@@ -26,13 +26,12 @@ export const tableList: any[] = [
export
const
fieldConfigurationList
:
any
[]
=
[
{
fieldChineseName
:
'用户ID'
,
fieldEnglishName
:
'ID'
,
tableType
:
'string'
,
fieldType
:
''
,
fieldAccuracy
:
''
,
nonEmpty
:
true
,
nonEmpty
:
'1'
,
},
{
...
...
@@ -41,7 +40,8 @@ export const fieldConfigurationList: any[] = [
tableType
:
'varchar'
,
fieldType
:
'255'
,
fieldAccuracy
:
''
,
nonEmpty
:
true
,
nonEmpty
:
'1'
,
},
];
...
...
src/views/scriptDevelopment/sqlAudit/editAuditRulesModal.vue
View file @
f506e403
...
...
@@ -40,7 +40,7 @@
</template>
<
script
lang=
"ts"
setup
>
import
{
computed
,
onMounted
,
ref
,
}
from
'vue'
;
import
{
computed
,
onMounted
}
from
'vue'
;
import
{
PageWrapper
}
from
"@/components/Page"
;
import
{
tableList
}
from
"@/views/scriptDevelopment/sqlAudit/mock"
;
import
{
personSchema
}
from
"@/views/scriptDevelopment/sqlAudit/mainBody.data"
;
...
...
vite.config.ts.timestamp-1733101094674-9a3cc74e73b39.mjs
0 → 100644
View file @
f506e403
// vite.config.ts
import
{
defineApplicationConfig
}
from
"file:///D:/workapace/vue_workspace/bigdatasystem1/internal/vite-config/dist/index.mjs"
;
var
vite_config_default
=
defineApplicationConfig
({
overrides
:
{
optimizeDeps
:
{
include
:
[
"echarts/core"
,
"echarts/charts"
,
"echarts/components"
,
"echarts/renderers"
,
"qrcode"
,
"@iconify/iconify"
,
"ant-design-vue/es/locale/zh_CN"
,
"ant-design-vue/es/locale/en_US"
]
},
server
:
{
proxy
:
{
"/basic-api"
:
{
// target: 'http://localhost:3000',
target
:
"http://106.3.97.198:20062/"
,
// target: `http://192.168.0.9:8082/`,
changeOrigin
:
true
,
ws
:
true
,
rewrite
:
(
path
)
=>
path
.
replace
(
new
RegExp
(
`^/basic-api`
),
""
)
// only https
// secure: false
},
"/upload"
:
{
target
:
"http://localhost:3300/upload"
,
changeOrigin
:
true
,
ws
:
true
,
rewrite
:
(
path
)
=>
path
.
replace
(
new
RegExp
(
`^/upload`
),
""
)
}
},
open
:
true
,
// 项目启动后,自动打开
warmup
:
{
clientFiles
:
[
"./index.html"
,
"./src/{views,components}/*"
]
}
}
}
});
export
{
vite_config_default
as
default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFx3b3JrYXBhY2VcXFxcdnVlX3dvcmtzcGFjZVxcXFxiaWdkYXRhc3lzdGVtMVwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRDpcXFxcd29ya2FwYWNlXFxcXHZ1ZV93b3Jrc3BhY2VcXFxcYmlnZGF0YXN5c3RlbTFcXFxcdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0Q6L3dvcmthcGFjZS92dWVfd29ya3NwYWNlL2JpZ2RhdGFzeXN0ZW0xL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQXBwbGljYXRpb25Db25maWcgfSBmcm9tICdAdmJlbi92aXRlLWNvbmZpZyc7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUFwcGxpY2F0aW9uQ29uZmlnKHtcbiAgb3ZlcnJpZGVzOiB7XG4gICAgb3B0aW1pemVEZXBzOiB7XG4gICAgICBpbmNsdWRlOiBbXG4gICAgICAgICdlY2hhcnRzL2NvcmUnLFxuICAgICAgICAnZWNoYXJ0cy9jaGFydHMnLFxuICAgICAgICAnZWNoYXJ0cy9jb21wb25lbnRzJyxcbiAgICAgICAgJ2VjaGFydHMvcmVuZGVyZXJzJyxcbiAgICAgICAgJ3FyY29kZScsXG4gICAgICAgICdAaWNvbmlmeS9pY29uaWZ5JyxcbiAgICAgICAgJ2FudC1kZXNpZ24tdnVlL2VzL2xvY2FsZS96aF9DTicsXG4gICAgICAgICdhbnQtZGVzaWduLXZ1ZS9lcy9sb2NhbGUvZW5fVVMnLFxuICAgICAgXSxcbiAgICB9LFxuICAgIHNlcnZlcjoge1xuICAgICAgcHJveHk6IHtcbiAgICAgICAgJy9iYXNpYy1hcGknOiB7XG4gICAgICAgICAgLy8gdGFyZ2V0OiAnaHR0cDovL2xvY2FsaG9zdDozMDAwJyxcbiAgICAgICAgICB0YXJnZXQ6ICdodHRwOi8vMTA2LjMuOTcuMTk4OjIwMDYyLycsXG4gICAgICAgICAgLy8gdGFyZ2V0OiBgaHR0cDovLzE5Mi4xNjguMC45OjgwODIvYCxcbiAgICAgICAgICBjaGFuZ2VPcmlnaW46IHRydWUsXG4gICAgICAgICAgd3M6IHRydWUsXG4gICAgICAgICAgcmV3cml0ZTogKHBhdGgpID0+IHBhdGgucmVwbGFjZShuZXcgUmVnRXhwKGBeL2Jhc2ljLWFwaWApLCAnJyksXG4gICAgICAgICAgLy8gb25seSBodHRwc1xuICAgICAgICAgIC8vIHNlY3VyZTogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgJy91cGxvYWQnOiB7XG4gICAgICAgICAgdGFyZ2V0OiAnaHR0cDovL2xvY2FsaG9zdDozMzAwL3VwbG9hZCcsXG4gICAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxuICAgICAgICAgIHdzOiB0cnVlLFxuICAgICAgICAgIHJld3JpdGU6IChwYXRoKSA9PiBwYXRoLnJlcGxhY2UobmV3IFJlZ0V4cChgXi91cGxvYWRgKSwgJycpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG9wZW46IHRydWUsIC8vIFx1OTg3OVx1NzZFRVx1NTQyRlx1NTJBOFx1NTQwRVx1RkYwQ1x1ODFFQVx1NTJBOFx1NjI1M1x1NUYwMFxuICAgICAgd2FybXVwOiB7XG4gICAgICAgIGNsaWVudEZpbGVzOiBbJy4vaW5kZXguaHRtbCcsICcuL3NyYy97dmlld3MsY29tcG9uZW50c30vKiddLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufSk7XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQXFULFNBQVMsK0JBQStCO0FBRTdWLElBQU8sc0JBQVEsd0JBQXdCO0FBQUEsRUFDckMsV0FBVztBQUFBLElBQ1QsY0FBYztBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1A7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxJQUNBLFFBQVE7QUFBQSxNQUNOLE9BQU87QUFBQSxRQUNMLGNBQWM7QUFBQTtBQUFBLFVBRVosUUFBUTtBQUFBO0FBQUEsVUFFUixjQUFjO0FBQUEsVUFDZCxJQUFJO0FBQUEsVUFDSixTQUFTLENBQUMsU0FBUyxLQUFLLFFBQVEsSUFBSSxPQUFPLGFBQWEsR0FBRyxFQUFFO0FBQUE7QUFBQTtBQUFBLFFBRy9EO0FBQUEsUUFDQSxXQUFXO0FBQUEsVUFDVCxRQUFRO0FBQUEsVUFDUixjQUFjO0FBQUEsVUFDZCxJQUFJO0FBQUEsVUFDSixTQUFTLENBQUMsU0FBUyxLQUFLLFFBQVEsSUFBSSxPQUFPLFVBQVUsR0FBRyxFQUFFO0FBQUEsUUFDNUQ7QUFBQSxNQUNGO0FBQUEsTUFDQSxNQUFNO0FBQUE7QUFBQSxNQUNOLFFBQVE7QUFBQSxRQUNOLGFBQWEsQ0FBQyxnQkFBZ0IsNEJBQTRCO0FBQUEsTUFDNUQ7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg==
vite.config.ts.timestamp-1733109704960-8029bd881e077.mjs
0 → 100644
View file @
f506e403
// vite.config.ts
import
{
defineApplicationConfig
}
from
"file:///D:/workapace/vue_workspace/bigdatasystem1/internal/vite-config/dist/index.mjs"
;
var
vite_config_default
=
defineApplicationConfig
({
overrides
:
{
optimizeDeps
:
{
include
:
[
"echarts/core"
,
"echarts/charts"
,
"echarts/components"
,
"echarts/renderers"
,
"qrcode"
,
"@iconify/iconify"
,
"ant-design-vue/es/locale/zh_CN"
,
"ant-design-vue/es/locale/en_US"
]
},
server
:
{
proxy
:
{
"/basic-api"
:
{
// target: 'http://localhost:3000',
target
:
"http://106.3.97.198:20062/"
,
// target: `http://192.168.0.9:8082/`,
changeOrigin
:
true
,
ws
:
true
,
rewrite
:
(
path
)
=>
path
.
replace
(
new
RegExp
(
`^/basic-api`
),
""
)
// only https
// secure: false
},
"/upload"
:
{
target
:
"http://localhost:3300/upload"
,
changeOrigin
:
true
,
ws
:
true
,
rewrite
:
(
path
)
=>
path
.
replace
(
new
RegExp
(
`^/upload`
),
""
)
}
},
open
:
true
,
// 项目启动后,自动打开
warmup
:
{
clientFiles
:
[
"./index.html"
,
"./src/{views,components}/*"
]
}
}
}
});
export
{
vite_config_default
as
default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFx3b3JrYXBhY2VcXFxcdnVlX3dvcmtzcGFjZVxcXFxiaWdkYXRhc3lzdGVtMVwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRDpcXFxcd29ya2FwYWNlXFxcXHZ1ZV93b3Jrc3BhY2VcXFxcYmlnZGF0YXN5c3RlbTFcXFxcdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0Q6L3dvcmthcGFjZS92dWVfd29ya3NwYWNlL2JpZ2RhdGFzeXN0ZW0xL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQXBwbGljYXRpb25Db25maWcgfSBmcm9tICdAdmJlbi92aXRlLWNvbmZpZyc7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUFwcGxpY2F0aW9uQ29uZmlnKHtcbiAgb3ZlcnJpZGVzOiB7XG4gICAgb3B0aW1pemVEZXBzOiB7XG4gICAgICBpbmNsdWRlOiBbXG4gICAgICAgICdlY2hhcnRzL2NvcmUnLFxuICAgICAgICAnZWNoYXJ0cy9jaGFydHMnLFxuICAgICAgICAnZWNoYXJ0cy9jb21wb25lbnRzJyxcbiAgICAgICAgJ2VjaGFydHMvcmVuZGVyZXJzJyxcbiAgICAgICAgJ3FyY29kZScsXG4gICAgICAgICdAaWNvbmlmeS9pY29uaWZ5JyxcbiAgICAgICAgJ2FudC1kZXNpZ24tdnVlL2VzL2xvY2FsZS96aF9DTicsXG4gICAgICAgICdhbnQtZGVzaWduLXZ1ZS9lcy9sb2NhbGUvZW5fVVMnLFxuICAgICAgXSxcbiAgICB9LFxuICAgIHNlcnZlcjoge1xuICAgICAgcHJveHk6IHtcbiAgICAgICAgJy9iYXNpYy1hcGknOiB7XG4gICAgICAgICAgLy8gdGFyZ2V0OiAnaHR0cDovL2xvY2FsaG9zdDozMDAwJyxcbiAgICAgICAgICB0YXJnZXQ6ICdodHRwOi8vMTA2LjMuOTcuMTk4OjIwMDYyLycsXG4gICAgICAgICAgLy8gdGFyZ2V0OiBgaHR0cDovLzE5Mi4xNjguMC45OjgwODIvYCxcbiAgICAgICAgICBjaGFuZ2VPcmlnaW46IHRydWUsXG4gICAgICAgICAgd3M6IHRydWUsXG4gICAgICAgICAgcmV3cml0ZTogKHBhdGgpID0+IHBhdGgucmVwbGFjZShuZXcgUmVnRXhwKGBeL2Jhc2ljLWFwaWApLCAnJyksXG4gICAgICAgICAgLy8gb25seSBodHRwc1xuICAgICAgICAgIC8vIHNlY3VyZTogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgJy91cGxvYWQnOiB7XG4gICAgICAgICAgdGFyZ2V0OiAnaHR0cDovL2xvY2FsaG9zdDozMzAwL3VwbG9hZCcsXG4gICAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxuICAgICAgICAgIHdzOiB0cnVlLFxuICAgICAgICAgIHJld3JpdGU6IChwYXRoKSA9PiBwYXRoLnJlcGxhY2UobmV3IFJlZ0V4cChgXi91cGxvYWRgKSwgJycpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG9wZW46IHRydWUsIC8vIFx1OTg3OVx1NzZFRVx1NTQyRlx1NTJBOFx1NTQwRVx1RkYwQ1x1ODFFQVx1NTJBOFx1NjI1M1x1NUYwMFxuICAgICAgd2FybXVwOiB7XG4gICAgICAgIGNsaWVudEZpbGVzOiBbJy4vaW5kZXguaHRtbCcsICcuL3NyYy97dmlld3MsY29tcG9uZW50c30vKiddLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufSk7XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQXFULFNBQVMsK0JBQStCO0FBRTdWLElBQU8sc0JBQVEsd0JBQXdCO0FBQUEsRUFDckMsV0FBVztBQUFBLElBQ1QsY0FBYztBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1A7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxJQUNBLFFBQVE7QUFBQSxNQUNOLE9BQU87QUFBQSxRQUNMLGNBQWM7QUFBQTtBQUFBLFVBRVosUUFBUTtBQUFBO0FBQUEsVUFFUixjQUFjO0FBQUEsVUFDZCxJQUFJO0FBQUEsVUFDSixTQUFTLENBQUMsU0FBUyxLQUFLLFFBQVEsSUFBSSxPQUFPLGFBQWEsR0FBRyxFQUFFO0FBQUE7QUFBQTtBQUFBLFFBRy9EO0FBQUEsUUFDQSxXQUFXO0FBQUEsVUFDVCxRQUFRO0FBQUEsVUFDUixjQUFjO0FBQUEsVUFDZCxJQUFJO0FBQUEsVUFDSixTQUFTLENBQUMsU0FBUyxLQUFLLFFBQVEsSUFBSSxPQUFPLFVBQVUsR0FBRyxFQUFFO0FBQUEsUUFDNUQ7QUFBQSxNQUNGO0FBQUEsTUFDQSxNQUFNO0FBQUE7QUFBQSxNQUNOLFFBQVE7QUFBQSxRQUNOLGFBQWEsQ0FBQyxnQkFBZ0IsNEJBQTRCO0FBQUEsTUFDNUQ7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg==
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment