项目

一般

简介

Wiki » 金水自动站平台.html

系统功能点 - 竞 郭, 2022-06-13 16:37

 
1
<!DOCTYPE html>
2
<!-- saved from url=(0016)http://localhost -->
3
<html>
4
  <head>
5
    <meta charset="utf-8"/>
6
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
7
    <title>金水自动站平台</title>
8
    <style>
9
        body{
10
            margin: 0;
11
        }
12
        #content-info{
13
            width: auto;
14
            margin: 0 auto;
15
            text-align: center;
16
        }
17
        #author-info{
18
            white-space: nowrap;
19
            text-overflow: ellipsis;
20
            overflow: hidden;
21
        }
22
        #title{
23
            text-overflow: ellipsis;
24
            white-space: nowrap;
25
            overflow: hidden;
26
            padding-top: 10px;
27
            margin-bottom: 2px;
28
            font-size: 34px;
29
            color: #505050;
30
        }
31
        .text{
32
            white-space:nowrap;
33
            text-overflow: ellipsis;
34
            display: inline-block;
35
            margin-right: 20px;
36
            margin-bottom: 2px;
37
            font-size: 20px;
38
            color: #8c8c8c;
39
        }
40
        #navBar{
41
            width: auto;
42
            height: auto;
43
            position: fixed;
44
            right:0;
45
            bottom: 0;
46
            background-color: #f0f3f4;
47
            overflow-y: auto;
48
            text-align: center;
49
        }
50
        #svg-container{
51
            width: 100%;
52
            overflow-x: scroll;
53
            min-width: 0px;
54
            margin: 0 10px;
55
            overflow: visible;
56
            position: relative;
57
        }
58
        #nav-thumbs{
59
            overflow-y: scroll;
60
            padding: 0 5px;
61
        }
62
        .nav-thumb{
63
            position: relative;
64
            margin: 10px auto;
65
        }
66
        .nav-thumb >p{
67
            text-align: center;
68
            font-size: 12px;
69
            margin: 4px 0 0 0;
70
        }
71
        .nav-thumb >div{
72
            position: relative;
73
            display: inline-block;
74
            border: 1px solid #c6cfd5;
75
        }
76
        .nav-thumb img{
77
            display: block;
78
        }
79
        #main-content{
80
            bottom: 0;
81
            left: 0;
82
            right: 0;
83
            background-color: #d0cfd8;
84
            display: flex;
85
            height: auto;
86
            flex-flow: row wrap;
87
            text-align:center;
88
        }
89
        #svg-container >svg{
90
            overflow: visible;
91
            display: block;
92
            margin:5px auto;
93
            margin-bottom: 5px;
94
        }
95
        #copyright{
96
            bottom: 0;
97
            left: 50%;
98
            margin: 5px auto;
99
            font-size: 16px;
100
            color: #515151;
101
        }
102
        #copyright >a{
103
            text-decoration: none;
104
            color: #77C;
105
        }
106
        .number{
107
            position: absolute;
108
            top:0;
109
            left:0;
110
            border-top:22px solid #08a1ef;
111
            border-right: 22px solid transparent;
112
        }
113
        .pagenum{
114
            font-size: 12px;
115
            color: #fff;
116
            position: absolute;
117
            top: -23px;
118
            left: 2px;
119
        }
120
            #navBar::-webkit-scrollbar{
121
            width: 8px;
122
            background-color: #f5f5f5;
123
        }
124
            #navBar::-webkit-scrollbar-track{
125
            -webkit-box-shadow: inset 0 0 4px rgba(0,0,0,.3);
126
            border-radius: 8px;
127
            background-color: #fff;
128
        }
129
            #navBar::-webkit-scrollbar-thumb{
130
            border-radius: 8px;
131
            -webkit-box-shadow: inset 0 0 4px rgba(0,0,0,.3);
132
            background-color: #6b6b70;
133
        }
134
        #navBar::-webkit-scrollbar-thumb:hover{
135
            background-color: #4a4a4f;
136
        }
137
</style>
138
  </head>
139
  <body>
140
    <div id="main-area">
141
      <div id="content-info">
142
        <div id="content-info">
143
          <div id="title">金水自动站平台</div>
144
        </div>
145
        <div id="author-info">
146
          <div class="text" id="author-name">-</div>
147
          <div class="text" id="share-time">2022-06-13</div>
148
        </div>
149
      </div>
150
      <div id="main-content">
151
        <div id="svg-container"><svg ed:hSpacing="30" viewBox="0 0 1275 1693" xmlns:xlink="http://www.w3.org/1999/xlink" ed:name="页面-1" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:ed="https://www.edrawsoft.cn/xml/2017/SVGExtensions/" ed:vSpacing="30" preserveAspectRadio="xMinYMin meet" width="1275" height="1693" id="page0" xmlns="http://www.w3.org/2000/svg">
152
    <style type="text/css"><![CDATA[
153
g[ed\:togtopicid],g[ed\:hyperlink],g[ed\:comment],g[ed\:note] {cursor:pointer;}
154
g[id] {-moz-user-select: none;-ms-user-select: none;user-select: none;}
155
svg text::selection,svg tspan::selection{background-color: #4285f4;color: #ffffff;fill: #ffffff;}
156
.st8 {fill:#000000;font-family:Microsoft YaHei;font-size:9.75pt}
157
.st6 {fill:#303030;font-family:Microsoft YaHei;font-size:14.25pt;font-weight:bold}
158
.st5 {fill:#ffffff;font-family:Microsoft YaHei;font-size:18pt;font-weight:bold}
159
.st7 {font-size:10.5pt}
160
]]></style>
161
    <defs/>
162
    <rect fill="#ffffff" y="0" width="1275" height="1693" x="0"/>
163
    <path fill="none" ed:parentid="101" stroke="#454545" stroke-linejoin="round" d="M9.3,216L40.8,216L40.8,-210C40.8,-213.3,43.4,-216,46.8,-216L72.3,-216" stroke-linecap="round" stroke-width="2" id="103" transform="matrix(1,0,0,1,761.75,637)" ed:tosuperid="102"/>
164
    <path fill="none" ed:parentid="101" stroke="#454545" stroke-linejoin="round" d="M9.3,81.3L40.8,81.3L40.8,-75.3C40.8,-78.6,43.4,-81.3,46.8,-81.3L72.3,-81.3" stroke-linecap="round" stroke-width="2" id="109" transform="matrix(1,0,0,1,761.75,771.75)" ed:tosuperid="108"/>
165
    <path fill="none" ed:parentid="108" stroke="#454545" stroke-linejoin="round" d="M-13.5,46.8L0,46.8L0,-40.8C0,-44.1,2.7,-46.8,6,-46.8L13.5,-46.8" stroke-linecap="round" id="111" transform="matrix(1,0,0,1,1002.5,643.75)" ed:tosuperid="110"/>
166
    <path fill="none" ed:parentid="110" stroke="#454545" stroke-linejoin="round" d="M-13.5,50L0,50L0,-44C0,-47.3,2.7,-50,6,-50L13.5,-50" stroke-linecap="round" id="113" transform="matrix(1,0,0,1,1125.5,547)" ed:tosuperid="112"/>
167
    <path fill="none" ed:parentid="110" stroke="#454545" stroke-linejoin="round" d="M0,35.5L0,-29.5C0,-32.8,2.7,-35.5,6,-35.5L13.5,-35.5" stroke-linecap="round" id="119" transform="matrix(1,0,0,1,1125.5,561.5)" ed:tosuperid="118"/>
168
    <path fill="none" ed:parentid="110" stroke="#454545" stroke-linejoin="round" d="M0,21L0,-15C0,-18.3,2.7,-21,6,-21L13.5,-21" stroke-linecap="round" id="125" transform="matrix(1,0,0,1,1125.5,576)" ed:tosuperid="124"/>
169
    <path fill="none" ed:parentid="110" stroke="#454545" stroke-linejoin="round" d="M0,6.5L0,-0.5C0,-3.8,2.7,-6.5,6,-6.5L13.5,-6.5" stroke-linecap="round" id="127" transform="matrix(1,0,0,1,1125.5,590.5)" ed:tosuperid="126"/>
170
    <path fill="none" ed:parentid="110" stroke="#454545" stroke-linejoin="round" d="M0,-7.5L0,1.5C0,4.8,2.7,7.5,6,7.5L13.5,7.5" stroke-linecap="round" id="129" transform="matrix(1,0,0,1,1125.5,604.5)" ed:tosuperid="128"/>
171
    <path fill="none" ed:parentid="110" stroke="#454545" stroke-linejoin="round" d="M0,-22L0,16C0,19.3,2.7,22,6,22L13.5,22" stroke-linecap="round" id="131" transform="matrix(1,0,0,1,1125.5,619)" ed:tosuperid="130"/>
172
    <path fill="none" ed:parentid="110" stroke="#454545" stroke-linejoin="round" d="M0,-36L0,30C0,33.3,2.7,36,6,36L13.5,36" stroke-linecap="round" id="133" transform="matrix(1,0,0,1,1125.5,633)" ed:tosuperid="132"/>
173
    <path fill="none" ed:parentid="110" stroke="#454545" stroke-linejoin="round" d="M0,-50L0,44C0,47.3,2.7,50,6,50L13.5,50" stroke-linecap="round" id="135" transform="matrix(1,0,0,1,1125.5,647)" ed:tosuperid="134"/>
174
    <path fill="none" ed:parentid="108" stroke="#454545" stroke-linejoin="round" d="M0,-25L0,19C0,22.3,2.7,25,6,25L13.5,25" stroke-linecap="round" id="139" transform="matrix(1,0,0,1,1002.5,715.5)" ed:tosuperid="138"/>
175
    <path fill="none" ed:parentid="138" stroke="#454545" stroke-linejoin="round" d="M-13.5,7.3L0,7.3L0,-1.3C0,-4.6,2.7,-7.3,6,-7.3L13.5,-7.3" stroke-linecap="round" id="143" transform="matrix(1,0,0,1,1125.5,733.25)" ed:tosuperid="142"/>
176
    <path fill="none" ed:parentid="138" stroke="#454545" stroke-linejoin="round" d="M0,-7.3L0,1.3C0,4.6,2.7,7.3,6,7.3L13.5,7.3" stroke-linecap="round" id="145" transform="matrix(1,0,0,1,1125.5,747.75)" ed:tosuperid="144"/>
177
    <path fill="none" ed:parentid="108" stroke="#454545" stroke-linejoin="round" d="M0,-46.8L0,40.8C0,44.1,2.7,46.8,6,46.8L13.5,46.8" stroke-linecap="round" id="149" transform="matrix(1,0,0,1,1002.5,737.25)" ed:tosuperid="148"/>
178
    <path fill="none" ed:parentid="101" stroke="#454545" stroke-linejoin="round" d="M9.3,-87.3L40.8,-87.3L40.8,81.3C40.8,84.6,43.4,87.3,46.8,87.3L72.3,87.3" stroke-linecap="round" stroke-width="2" id="151" transform="matrix(1,0,0,1,761.75,940.25)" ed:tosuperid="150"/>
179
    <path fill="none" ed:parentid="168" stroke="#454545" stroke-linejoin="round" d="M-13.5,42L0,42L0,-36C0,-39.3,2.7,-42,6,-42L13.5,-42" stroke-linecap="round" id="153" transform="matrix(1,0,0,1,1079.5,880.5)" ed:tosuperid="152"/>
180
    <path fill="none" ed:parentid="168" stroke="#454545" stroke-linejoin="round" d="M0,28L0,-22C0,-25.3,2.7,-28,6,-28L13.5,-28" stroke-linecap="round" id="155" transform="matrix(1,0,0,1,1079.5,894.5)" ed:tosuperid="154"/>
181
    <path fill="none" ed:parentid="168" stroke="#454545" stroke-linejoin="round" d="M0,14L0,-8C0,-11.3,2.7,-14,6,-14L13.5,-14" stroke-linecap="round" id="157" transform="matrix(1,0,0,1,1079.5,908.5)" ed:tosuperid="156"/>
182
    <path fill="none" ed:parentid="168" stroke="#454545" stroke-linejoin="round" d="M0,0C0,0,2.7,0,6,0L13.5,0" stroke-linecap="round" id="159" transform="matrix(1,0,0,1,1079.5,922.5)" ed:tosuperid="158"/>
183
    <path fill="none" ed:parentid="168" stroke="#454545" stroke-linejoin="round" d="M0,-14L0,8C0,11.3,2.7,14,6,14L13.5,14" stroke-linecap="round" id="161" transform="matrix(1,0,0,1,1079.5,936.5)" ed:tosuperid="160"/>
184
    <path fill="none" ed:parentid="168" stroke="#454545" stroke-linejoin="round" d="M0,-28L0,22C0,25.3,2.7,28,6,28L13.5,28" stroke-linecap="round" id="163" transform="matrix(1,0,0,1,1079.5,950.5)" ed:tosuperid="162"/>
185
    <path fill="none" ed:parentid="168" stroke="#454545" stroke-linejoin="round" d="M0,-42L0,36C0,39.3,2.7,42,6,42L13.5,42" stroke-linecap="round" id="165" transform="matrix(1,0,0,1,1079.5,964.5)" ed:tosuperid="164"/>
186
    <path fill="none" ed:parentid="150" stroke="#454545" stroke-linejoin="round" d="M-13.5,52.5L0,52.5L0,-46.5C0,-49.8,2.7,-52.5,6,-52.5L13.5,-52.5" stroke-linecap="round" id="169" transform="matrix(1,0,0,1,982.5,975)" ed:tosuperid="168"/>
187
    <path fill="none" ed:parentid="150" stroke="#454545" stroke-linejoin="round" d="M0,-17.5L0,11.5C0,14.8,2.7,17.5,6,17.5L13.5,17.5" stroke-linecap="round" id="171" transform="matrix(1,0,0,1,982.5,1045)" ed:tosuperid="170"/>
188
    <path fill="none" ed:parentid="170" stroke="#454545" stroke-linejoin="round" d="M-13.5,14L0,14L0,-8C0,-11.3,2.7,-14,6,-14L13.5,-14" stroke-linecap="round" id="175" transform="matrix(1,0,0,1,1079.5,1048.5)" ed:tosuperid="174"/>
189
    <path fill="none" ed:parentid="170" stroke="#454545" stroke-linejoin="round" d="M0,0C0,0,2.7,0,6,0L13.5,0" stroke-linecap="round" id="177" transform="matrix(1,0,0,1,1079.5,1062.5)" ed:tosuperid="176"/>
190
    <path fill="none" ed:parentid="170" stroke="#454545" stroke-linejoin="round" d="M0,-14L0,8C0,11.3,2.7,14,6,14L13.5,14" stroke-linecap="round" id="179" transform="matrix(1,0,0,1,1079.5,1076.5)" ed:tosuperid="178"/>
191
    <path fill="none" ed:parentid="150" stroke="#454545" stroke-linejoin="round" d="M0,-52.5L0,46.5C0,49.8,2.7,52.5,6,52.5L13.5,52.5" stroke-linecap="round" id="183" transform="matrix(1,0,0,1,982.5,1080)" ed:tosuperid="182"/>
192
    <path fill="none" ed:parentid="182" stroke="#454545" stroke-linejoin="round" d="M-13.5,7L0,7L0,-1C0,-4.3,2.7,-7,6,-7L13.5,-7" stroke-linecap="round" id="187" transform="matrix(1,0,0,1,1105.5,1125.5)" ed:tosuperid="186"/>
193
    <path fill="none" ed:parentid="182" stroke="#454545" stroke-linejoin="round" d="M0,-7L0,1C0,4.3,2.7,7,6,7L13.5,7" stroke-linecap="round" id="189" transform="matrix(1,0,0,1,1105.5,1139.5)" ed:tosuperid="188"/>
194
    <path fill="none" ed:parentid="101" stroke="#454545" stroke-linejoin="round" d="M9.3,-216L40.8,-216L40.8,210C40.8,213.3,43.4,216,46.8,216L72.3,216" stroke-linecap="round" stroke-width="2" id="193" transform="matrix(1,0,0,1,761.75,1069)" ed:tosuperid="192"/>
195
    <path fill="none" ed:parentid="192" stroke="#454545" stroke-linejoin="round" d="M-13.5,42L0,42L0,-36C0,-39.3,2.7,-42,6,-42L13.5,-42" stroke-linecap="round" id="195" transform="matrix(1,0,0,1,982.5,1243)" ed:tosuperid="194"/>
196
    <path fill="none" ed:parentid="192" stroke="#454545" stroke-linejoin="round" d="M0,28L0,-22C0,-25.3,2.7,-28,6,-28L13.5,-28" stroke-linecap="round" id="197" transform="matrix(1,0,0,1,982.5,1257)" ed:tosuperid="196"/>
197
    <path fill="none" ed:parentid="192" stroke="#454545" stroke-linejoin="round" d="M0,14L0,-8C0,-11.3,2.7,-14,6,-14L13.5,-14" stroke-linecap="round" id="199" transform="matrix(1,0,0,1,982.5,1271)" ed:tosuperid="198"/>
198
    <path fill="none" ed:parentid="192" stroke="#454545" stroke-linejoin="round" d="M0,0C0,0,2.7,0,6,0L13.5,0" stroke-linecap="round" id="201" transform="matrix(1,0,0,1,982.5,1285)" ed:tosuperid="200"/>
199
    <path fill="none" ed:parentid="192" stroke="#454545" stroke-linejoin="round" d="M0,-14L0,8C0,11.3,2.7,14,6,14L13.5,14" stroke-linecap="round" id="203" transform="matrix(1,0,0,1,982.5,1299)" ed:tosuperid="202"/>
200
    <path fill="none" ed:parentid="192" stroke="#454545" stroke-linejoin="round" d="M0,-28L0,22C0,25.3,2.7,28,6,28L13.5,28" stroke-linecap="round" id="205" transform="matrix(1,0,0,1,982.5,1313)" ed:tosuperid="204"/>
201
    <path fill="none" ed:parentid="192" stroke="#454545" stroke-linejoin="round" d="M0,-42L0,36C0,39.3,2.7,42,6,42L13.5,42" stroke-linecap="round" id="207" transform="matrix(1,0,0,1,982.5,1327)" ed:tosuperid="206"/>
202
    <path fill="none" ed:parentid="101" stroke="#454545" stroke-linejoin="round" d="M-9.3,-366.5L-40.8,-366.5L-40.8,360.5C-40.8,363.8,-43.4,366.5,-46.8,366.5L-72.3,366.5" stroke-linecap="round" stroke-width="2" id="213" transform="matrix(1,0,0,1,617.25,1219.5)" ed:tosuperid="212"/>
203
    <path fill="none" ed:parentid="212" stroke="#454545" stroke-linejoin="round" d="M13.5,42L0,42L0,-36C0,-39.3,-2.7,-42,-6,-42L-13.5,-42" stroke-linecap="round" id="215" transform="matrix(1,0,0,1,376.5,1544)" ed:tosuperid="214"/>
204
    <path fill="none" ed:parentid="212" stroke="#454545" stroke-linejoin="round" d="M0,28L0,-22C0,-25.3,-2.7,-28,-6,-28L-13.5,-28" stroke-linecap="round" id="217" transform="matrix(1,0,0,1,376.5,1558)" ed:tosuperid="216"/>
205
    <path fill="none" ed:parentid="212" stroke="#454545" stroke-linejoin="round" d="M0,14L0,-8C0,-11.3,-2.7,-14,-6,-14L-13.5,-14" stroke-linecap="round" id="219" transform="matrix(1,0,0,1,376.5,1572)" ed:tosuperid="218"/>
206
    <path fill="none" ed:parentid="212" stroke="#454545" stroke-linejoin="round" d="M0,0C0,0,-2.7,0,-6,0L-13.5,0" stroke-linecap="round" id="221" transform="matrix(1,0,0,1,376.5,1586)" ed:tosuperid="220"/>
207
    <path fill="none" ed:parentid="212" stroke="#454545" stroke-linejoin="round" d="M0,-14L0,8C0,11.3,-2.7,14,-6,14L-13.5,14" stroke-linecap="round" id="223" transform="matrix(1,0,0,1,376.5,1600)" ed:tosuperid="222"/>
208
    <path fill="none" ed:parentid="212" stroke="#454545" stroke-linejoin="round" d="M0,-28L0,22C0,25.3,-2.7,28,-6,28L-13.5,28" stroke-linecap="round" id="225" transform="matrix(1,0,0,1,376.5,1614)" ed:tosuperid="224"/>
209
    <path fill="none" ed:parentid="212" stroke="#454545" stroke-linejoin="round" d="M0,-42L0,36C0,39.3,-2.7,42,-6,42L-13.5,42" stroke-linecap="round" id="227" transform="matrix(1,0,0,1,376.5,1628)" ed:tosuperid="226"/>
210
    <path fill="none" ed:parentid="101" stroke="#454545" stroke-linejoin="round" d="M-9.3,-248.3L-40.8,-248.3L-40.8,242.3C-40.8,245.6,-43.4,248.3,-46.8,248.3L-72.3,248.3" stroke-linecap="round" stroke-width="2" id="231" transform="matrix(1,0,0,1,617.25,1101.25)" ed:tosuperid="230"/>
211
    <path fill="none" ed:parentid="230" stroke="#454545" stroke-linejoin="round" d="M13.5,49L0,49L0,-43C0,-46.3,-2.7,-49,-6,-49L-13.5,-49" stroke-linecap="round" id="233" transform="matrix(1,0,0,1,396.5,1300.5)" ed:tosuperid="232"/>
212
    <path fill="none" ed:parentid="232" stroke="#454545" stroke-linejoin="round" d="M13.5,0L0,0C0,0,-2.7,0,-6,0L-13.5,0" stroke-linecap="round" id="235" transform="matrix(1,0,0,1,299.5,1251.5)" ed:tosuperid="234"/>
213
    <path fill="none" ed:parentid="230" stroke="#454545" stroke-linejoin="round" d="M0,0C0,0,-2.7,0,-6,0L-13.5,0" stroke-linecap="round" id="237" transform="matrix(1,0,0,1,396.5,1349.5)" ed:tosuperid="236"/>
214
    <path fill="none" ed:parentid="236" stroke="#454545" stroke-linejoin="round" d="M13.5,35L0,35L0,-29C0,-32.3,-2.7,-35,-6,-35L-13.5,-35" stroke-linecap="round" id="239" transform="matrix(1,0,0,1,299.5,1314.5)" ed:tosuperid="238"/>
215
    <path fill="none" ed:parentid="236" stroke="#454545" stroke-linejoin="round" d="M0,21L0,-15C0,-18.3,-2.7,-21,-6,-21L-13.5,-21" stroke-linecap="round" id="241" transform="matrix(1,0,0,1,299.5,1328.5)" ed:tosuperid="240"/>
216
    <path fill="none" ed:parentid="236" stroke="#454545" stroke-linejoin="round" d="M0,7L0,-1C0,-4.3,-2.7,-7,-6,-7L-13.5,-7" stroke-linecap="round" id="243" transform="matrix(1,0,0,1,299.5,1342.5)" ed:tosuperid="242"/>
217
    <path fill="none" ed:parentid="236" stroke="#454545" stroke-linejoin="round" d="M0,-7L0,1C0,4.3,-2.7,7,-6,7L-13.5,7" stroke-linecap="round" id="245" transform="matrix(1,0,0,1,299.5,1356.5)" ed:tosuperid="244"/>
218
    <path fill="none" ed:parentid="236" stroke="#454545" stroke-linejoin="round" d="M0,-21L0,15C0,18.3,-2.7,21,-6,21L-13.5,21" stroke-linecap="round" id="247" transform="matrix(1,0,0,1,299.5,1370.5)" ed:tosuperid="246"/>
219
    <path fill="none" ed:parentid="236" stroke="#454545" stroke-linejoin="round" d="M0,-35L0,29C0,32.3,-2.7,35,-6,35L-13.5,35" stroke-linecap="round" id="249" transform="matrix(1,0,0,1,299.5,1384.5)" ed:tosuperid="248"/>
220
    <path fill="none" ed:parentid="230" stroke="#454545" stroke-linejoin="round" d="M0,-49L0,43C0,46.3,-2.7,49,-6,49L-13.5,49" stroke-linecap="round" id="251" transform="matrix(1,0,0,1,396.5,1398.5)" ed:tosuperid="250"/>
221
    <path fill="none" ed:parentid="250" stroke="#454545" stroke-linejoin="round" d="M13.5,0L0,0C0,0,-2.7,0,-6,0L-13.5,0" stroke-linecap="round" id="253" transform="matrix(1,0,0,1,299.5,1447.5)" ed:tosuperid="252"/>
222
    <path fill="none" ed:parentid="101" stroke="#454545" stroke-linejoin="round" d="M-9.3,9.3L-40.8,9.3L-40.8,-3.3C-40.8,-6.6,-43.4,-9.3,-46.8,-9.3L-72.3,-9.3" stroke-linecap="round" stroke-width="2" id="255" transform="matrix(1,0,0,1,617.25,843.75)" ed:tosuperid="254"/>
223
    <path fill="none" ed:parentid="254" stroke="#454545" stroke-linejoin="round" d="M13.5,159.5L0,159.5L0,-153.5C0,-156.8,-2.7,-159.5,-6,-159.5L-13.5,-159.5" stroke-linecap="round" id="257" transform="matrix(1,0,0,1,376.5,675)" ed:tosuperid="256"/>
224
    <path fill="none" ed:parentid="256" stroke="#454545" stroke-linejoin="round" d="M13.5,65.3L0,65.3L0,-59.3C0,-62.6,-2.7,-65.3,-6,-65.3L-13.5,-65.3" stroke-linecap="round" id="259" transform="matrix(1,0,0,1,279.5,450.25)" ed:tosuperid="258"/>
225
    <path fill="none" ed:parentid="256" stroke="#454545" stroke-linejoin="round" d="M0,50.8L0,-44.8C0,-48.1,-2.7,-50.8,-6,-50.8L-13.5,-50.8" stroke-linecap="round" id="261" transform="matrix(1,0,0,1,279.5,464.75)" ed:tosuperid="260"/>
226
    <path fill="none" ed:parentid="256" stroke="#454545" stroke-linejoin="round" d="M0,36.3L0,-30.3C0,-33.6,-2.7,-36.3,-6,-36.3L-13.5,-36.3" stroke-linecap="round" id="263" transform="matrix(1,0,0,1,279.5,479.25)" ed:tosuperid="262"/>
227
    <path fill="none" ed:parentid="256" stroke="#454545" stroke-linejoin="round" d="M0,21.8L0,-15.8C0,-19.1,-2.7,-21.8,-6,-21.8L-13.5,-21.8" stroke-linecap="round" id="265" transform="matrix(1,0,0,1,279.5,493.75)" ed:tosuperid="264"/>
228
    <path fill="none" ed:parentid="256" stroke="#454545" stroke-linejoin="round" d="M0,7.3L0,-1.3C0,-4.6,-2.7,-7.3,-6,-7.3L-13.5,-7.3" stroke-linecap="round" id="267" transform="matrix(1,0,0,1,279.5,508.25)" ed:tosuperid="266"/>
229
    <path fill="none" ed:parentid="256" stroke="#454545" stroke-linejoin="round" d="M0,-7.3L0,1.3C0,4.6,-2.7,7.3,-6,7.3L-13.5,7.3" stroke-linecap="round" id="269" transform="matrix(1,0,0,1,279.5,522.75)" ed:tosuperid="268"/>
230
    <path fill="none" ed:parentid="256" stroke="#454545" stroke-linejoin="round" d="M0,-21.8L0,15.8C0,19.1,-2.7,21.8,-6,21.8L-13.5,21.8" stroke-linecap="round" id="271" transform="matrix(1,0,0,1,279.5,537.25)" ed:tosuperid="270"/>
231
    <path fill="none" ed:parentid="256" stroke="#454545" stroke-linejoin="round" d="M0,-36.3L0,30.3C0,33.6,-2.7,36.3,-6,36.3L-13.5,36.3" stroke-linecap="round" id="273" transform="matrix(1,0,0,1,279.5,551.75)" ed:tosuperid="272"/>
232
    <path fill="none" ed:parentid="256" stroke="#454545" stroke-linejoin="round" d="M0,-50.8L0,44.8C0,48.1,-2.7,50.8,-6,50.8L-13.5,50.8" stroke-linecap="round" id="275" transform="matrix(1,0,0,1,279.5,566.25)" ed:tosuperid="274"/>
233
    <path fill="none" ed:parentid="256" stroke="#454545" stroke-linejoin="round" d="M0,-65.3L0,59.3C0,62.6,-2.7,65.3,-6,65.3L-13.5,65.3" stroke-linecap="round" id="277" transform="matrix(1,0,0,1,279.5,580.75)" ed:tosuperid="276"/>
234
    <path fill="none" ed:parentid="254" stroke="#454545" stroke-linejoin="round" d="M0,0C0,0,-2.7,0,-6,0L-13.5,0" stroke-linecap="round" id="279" transform="matrix(1,0,0,1,376.5,834.5)" ed:tosuperid="278"/>
235
    <path fill="none" ed:parentid="278" stroke="#454545" stroke-linejoin="round" d="M13.5,79.8L0,79.8L0,-73.8C0,-77.1,-2.7,-79.8,-6,-79.8L-13.5,-79.8" stroke-linecap="round" id="281" transform="matrix(1,0,0,1,279.5,754.75)" ed:tosuperid="280"/>
236
    <path fill="none" ed:parentid="278" stroke="#454545" stroke-linejoin="round" d="M0,65.3L0,-59.3C0,-62.6,-2.7,-65.3,-6,-65.3L-13.5,-65.3" stroke-linecap="round" id="283" transform="matrix(1,0,0,1,279.5,769.25)" ed:tosuperid="282"/>
237
    <path fill="none" ed:parentid="278" stroke="#454545" stroke-linejoin="round" d="M0,50.8L0,-44.8C0,-48.1,-2.7,-50.8,-6,-50.8L-13.5,-50.8" stroke-linecap="round" id="285" transform="matrix(1,0,0,1,279.5,783.75)" ed:tosuperid="284"/>
238
    <path fill="none" ed:parentid="278" stroke="#454545" stroke-linejoin="round" d="M0,36.3L0,-30.3C0,-33.6,-2.7,-36.3,-6,-36.3L-13.5,-36.3" stroke-linecap="round" id="287" transform="matrix(1,0,0,1,279.5,798.25)" ed:tosuperid="286"/>
239
    <path fill="none" ed:parentid="278" stroke="#454545" stroke-linejoin="round" d="M0,21.8L0,-15.8C0,-19.1,-2.7,-21.8,-6,-21.8L-13.5,-21.8" stroke-linecap="round" id="289" transform="matrix(1,0,0,1,279.5,812.75)" ed:tosuperid="288"/>
240
    <path fill="none" ed:parentid="278" stroke="#454545" stroke-linejoin="round" d="M0,7.3L0,-1.3C0,-4.6,-2.7,-7.3,-6,-7.3L-13.5,-7.3" stroke-linecap="round" id="291" transform="matrix(1,0,0,1,279.5,827.25)" ed:tosuperid="290"/>
241
    <path fill="none" ed:parentid="278" stroke="#454545" stroke-linejoin="round" d="M0,-7.3L0,1.3C0,4.6,-2.7,7.3,-6,7.3L-13.5,7.3" stroke-linecap="round" id="293" transform="matrix(1,0,0,1,279.5,841.75)" ed:tosuperid="292"/>
242
    <path fill="none" ed:parentid="278" stroke="#454545" stroke-linejoin="round" d="M0,-21.8L0,15.8C0,19.1,-2.7,21.8,-6,21.8L-13.5,21.8" stroke-linecap="round" id="295" transform="matrix(1,0,0,1,279.5,856.25)" ed:tosuperid="294"/>
243
    <path fill="none" ed:parentid="278" stroke="#454545" stroke-linejoin="round" d="M0,-36.3L0,30.3C0,33.6,-2.7,36.3,-6,36.3L-13.5,36.3" stroke-linecap="round" id="297" transform="matrix(1,0,0,1,279.5,870.75)" ed:tosuperid="296"/>
244
    <path fill="none" ed:parentid="278" stroke="#454545" stroke-linejoin="round" d="M0,-50.8L0,44.8C0,48.1,-2.7,50.8,-6,50.8L-13.5,50.8" stroke-linecap="round" id="299" transform="matrix(1,0,0,1,279.5,885.25)" ed:tosuperid="298"/>
245
    <path fill="none" ed:parentid="278" stroke="#454545" stroke-linejoin="round" d="M0,-65.3L0,59.3C0,62.6,-2.7,65.3,-6,65.3L-13.5,65.3" stroke-linecap="round" id="301" transform="matrix(1,0,0,1,279.5,899.75)" ed:tosuperid="300"/>
246
    <path fill="none" ed:parentid="278" stroke="#454545" stroke-linejoin="round" d="M0,-79.8L0,73.8C0,77.1,-2.7,79.8,-6,79.8L-13.5,79.8" stroke-linecap="round" id="303" transform="matrix(1,0,0,1,279.5,914.25)" ed:tosuperid="302"/>
247
    <path fill="none" ed:parentid="254" stroke="#454545" stroke-linejoin="round" d="M0,-101.5L0,95.5C0,98.8,-2.7,101.5,-6,101.5L-13.5,101.5" stroke-linecap="round" id="305" transform="matrix(1,0,0,1,376.5,936)" ed:tosuperid="304"/>
248
    <path fill="none" ed:parentid="304" stroke="#454545" stroke-linejoin="round" d="M13.5,7.3L0,7.3L0,-1.3C0,-4.6,-2.7,-7.3,-6,-7.3L-13.5,-7.3" stroke-linecap="round" id="307" transform="matrix(1,0,0,1,279.5,1030.25)" ed:tosuperid="306"/>
249
    <path fill="none" ed:parentid="304" stroke="#454545" stroke-linejoin="round" d="M0,-7.3L0,1.3C0,4.6,-2.7,7.3,-6,7.3L-13.5,7.3" stroke-linecap="round" id="309" transform="matrix(1,0,0,1,279.5,1044.75)" ed:tosuperid="308"/>
250
    <path fill="none" ed:parentid="254" stroke="#454545" stroke-linejoin="round" d="M0,-123.3L0,117.3C0,120.6,-2.7,123.3,-6,123.3L-13.5,123.3" stroke-linecap="round" id="311" transform="matrix(1,0,0,1,376.5,957.75)" ed:tosuperid="310"/>
251
    <path fill="none" ed:parentid="310" stroke="#454545" stroke-linejoin="round" d="M13.5,0L0,0C0,0,-2.7,0,-6,0L-13.5,0" stroke-linecap="round" id="313" transform="matrix(1,0,0,1,292.5,1081)" ed:tosuperid="312"/>
252
    <path fill="none" ed:parentid="254" stroke="#454545" stroke-linejoin="round" d="M0,-159.5L0,153.5C0,156.8,-2.7,159.5,-6,159.5L-13.5,159.5" stroke-linecap="round" id="315" transform="matrix(1,0,0,1,376.5,994)" ed:tosuperid="314"/>
253
    <path fill="none" ed:parentid="314" stroke="#454545" stroke-linejoin="round" d="M13.5,21.8L0,21.8L0,-15.8C0,-19.1,-2.7,-21.8,-6,-21.8L-13.5,-21.8" stroke-linecap="round" id="317" transform="matrix(1,0,0,1,253.5,1131.75)" ed:tosuperid="316"/>
254
    <path fill="none" ed:parentid="314" stroke="#454545" stroke-linejoin="round" d="M0,7.3L0,-1.3C0,-4.6,-2.7,-7.3,-6,-7.3L-13.5,-7.3" stroke-linecap="round" id="319" transform="matrix(1,0,0,1,253.5,1146.25)" ed:tosuperid="318"/>
255
    <path fill="none" ed:parentid="314" stroke="#454545" stroke-linejoin="round" d="M0,-7.3L0,1.3C0,4.6,-2.7,7.3,-6,7.3L-13.5,7.3" stroke-linecap="round" id="321" transform="matrix(1,0,0,1,253.5,1160.75)" ed:tosuperid="320"/>
256
    <path fill="none" ed:parentid="314" stroke="#454545" stroke-linejoin="round" d="M0,-21.8L0,15.8C0,19.1,-2.7,21.8,-6,21.8L-13.5,21.8" stroke-linecap="round" id="323" transform="matrix(1,0,0,1,253.5,1175.25)" ed:tosuperid="322"/>
257
    <path fill="none" ed:parentid="101" stroke="#454545" stroke-linejoin="round" d="M-9.3,366.5L-40.8,366.5L-40.8,-360.5C-40.8,-363.8,-43.4,-366.5,-46.8,-366.5L-72.3,-366.5" stroke-linecap="round" stroke-width="2" id="325" transform="matrix(1,0,0,1,617.25,486.5)" ed:tosuperid="324"/>
258
    <path fill="none" ed:parentid="324" stroke="#454545" stroke-linejoin="round" d="M13.5,39.8L0,39.8L0,-33.8C0,-37.1,-2.7,-39.8,-6,-39.8L-13.5,-39.8" stroke-linecap="round" id="327" transform="matrix(1,0,0,1,376.5,80.25)" ed:tosuperid="326"/>
259
    <path fill="none" ed:parentid="326" stroke="#454545" stroke-linejoin="round" d="M13.5,0L0,0C0,0,-2.7,0,-6,0L-13.5,0" stroke-linecap="round" id="329" transform="matrix(1,0,0,1,279.5,40.5)" ed:tosuperid="328"/>
260
    <path fill="none" ed:parentid="324" stroke="#454545" stroke-linejoin="round" d="M0,-39.8L0,33.8C0,37.1,-2.7,39.8,-6,39.8L-13.5,39.8" stroke-linecap="round" id="331" transform="matrix(1,0,0,1,376.5,159.75)" ed:tosuperid="330"/>
261
    <path fill="none" ed:parentid="330" stroke="#454545" stroke-linejoin="round" d="M13.5,65L0,65L0,-59C0,-62.3,-2.7,-65,-6,-65L-13.5,-65" stroke-linecap="round" id="333" transform="matrix(1,0,0,1,279.5,134.5)" ed:tosuperid="332"/>
262
    <path fill="none" ed:parentid="330" stroke="#454545" stroke-linejoin="round" d="M0,50.5L0,-44.5C0,-47.8,-2.7,-50.5,-6,-50.5L-13.5,-50.5" stroke-linecap="round" id="335" transform="matrix(1,0,0,1,279.5,149)" ed:tosuperid="334"/>
263
    <path fill="none" ed:parentid="330" stroke="#454545" stroke-linejoin="round" d="M0,36L0,-30C0,-33.3,-2.7,-36,-6,-36L-13.5,-36" stroke-linecap="round" id="337" transform="matrix(1,0,0,1,279.5,163.5)" ed:tosuperid="336"/>
264
    <path fill="none" ed:parentid="330" stroke="#454545" stroke-linejoin="round" d="M0,21.5L0,-15.5C0,-18.8,-2.7,-21.5,-6,-21.5L-13.5,-21.5" stroke-linecap="round" id="339" transform="matrix(1,0,0,1,279.5,178)" ed:tosuperid="338"/>
265
    <path fill="none" ed:parentid="330" stroke="#454545" stroke-linejoin="round" d="M0,7L0,-1C0,-4.3,-2.7,-7,-6,-7L-13.5,-7" stroke-linecap="round" id="341" transform="matrix(1,0,0,1,279.5,192.5)" ed:tosuperid="340"/>
266
    <path fill="none" ed:parentid="330" stroke="#454545" stroke-linejoin="round" d="M0,-7.5L0,1.5C0,4.8,-2.7,7.5,-6,7.5L-13.5,7.5" stroke-linecap="round" id="343" transform="matrix(1,0,0,1,279.5,207)" ed:tosuperid="342"/>
267
    <path fill="none" ed:parentid="330" stroke="#454545" stroke-linejoin="round" d="M0,-22L0,16C0,19.3,-2.7,22,-6,22L-13.5,22" stroke-linecap="round" id="345" transform="matrix(1,0,0,1,279.5,221.5)" ed:tosuperid="344"/>
268
    <path fill="none" ed:parentid="330" stroke="#454545" stroke-linejoin="round" d="M0,-36.5L0,30.5C0,33.8,-2.7,36.5,-6,36.5L-13.5,36.5" stroke-linecap="round" id="347" transform="matrix(1,0,0,1,279.5,236)" ed:tosuperid="346"/>
269
    <path fill="none" ed:parentid="330" stroke="#454545" stroke-linejoin="round" d="M0,-50.5L0,44.5C0,47.8,-2.7,50.5,-6,50.5L-13.5,50.5" stroke-linecap="round" id="349" transform="matrix(1,0,0,1,279.5,250)" ed:tosuperid="348"/>
270
    <path fill="none" ed:parentid="330" stroke="#454545" stroke-linejoin="round" d="M0,-65L0,59C0,62.3,-2.7,65,-6,65L-13.5,65" stroke-linecap="round" id="351" transform="matrix(1,0,0,1,279.5,264.5)" ed:tosuperid="350"/>
271
    <path fill="none" ed:parentid="196" stroke="#454545" stroke-linejoin="round" d="M-13.5,0L0,0C0,0,2.7,0,6,0L13.5,0" stroke-linecap="round" id="493" transform="matrix(1,0,0,1,1079.5,1229)" ed:tosuperid="492"/>
272
    <g ed:width="163" ed:layout="map" ed:topictype="mainidea" ed:height="61" id="101" transform="matrix(1,0,0,1,608,822.5)">
273
        <path fill="#173679" stroke="#173679" stroke-linejoin="round" d="M4,0L159,0C161.7,0,163,1.3,163,4L163,57C163,59.7,161.7,61,159,61L4,61C1.3,61,0,59.7,0,57L0,4C0,1.3,1.3,0,4,0z" stroke-width="2"/>
274
        <text class="st5">
275
            <tspan textLength="120" y="38.5" style="white-space:pre" x="21">水质自动站</tspan>
276
        </text>
277
    </g>
278
    <g ed:width="118" ed:parentid="101" ed:layout="rightmap" ed:height="41" id="102" transform="matrix(1,0,0,1,834,400.5)">
279
        <path fill="#f9f9f9" stroke="#454545" stroke-linejoin="round" d="M4,0L114,0C116.7,0,118,1.3,118,4L118,37C118,39.7,116.7,41,114,41L4,41C1.3,41,0,39.7,0,37L0,4C0,1.3,1.3,0,4,0z" stroke-width="2"/>
280
        <text class="st6">
281
            <tspan textLength="13" class="st7" y="26.5" style="white-space:pre" x="20">1.</tspan>
282
            <tspan textLength="38" style="white-space:pre" x="33.3">首页</tspan>
283
        </text>
284
        <g>
285
            <use transform="translate(84,13)" xlink:href="#imgattachment"/>
286
        </g>
287
    </g>
288
    <symbol id="imgattachment">
289
        <image width="16" height="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEKADAAQAAAABAAAAEAAAAAA0VXHyAAACrElEQVQ4EY2SXUgUURTHz+yOs36Niu66PSQqUa5oD6GypCRGFGRFQSVouIFlHxIYhEQPPUhQEfgQ4UMfhH1YCGYPK5u0pu2ai6ZSD+LHVlZ+rCuzu7mOru7n7dyJMUyFDpy59557fv9z7tzLwH8YIaQE03LRVeh2hmGMOErGypONRgQVoigarba+/QNDn5X+QBCyddsDguCyqdUpB1EowGwE0hjCUYLbYzW+easfGbXDnkI9qKI56O0bgLjYWDhfZbAnJyXqNuOpQMrPqWnyoOlZxOF0hnAtmeByk2v1tyIoHMDAkXUCGIxZ8vkav3ybmPD8ml8Mh8PeP+jfb3uHmdxsuBfByJU1/4DCzjnB8qK1LW96ZlZBkUvnqphtmelrCrEsCxwXRWN+hbyDuRyFn7e05nkXFpnai2fpuZmm5hYIhUJyGjicc9DR2Q252bowBoclAYSZGYfT9PLV63zf8gpTc8YQSU/bCqxSCQrlag2YRfjRk2bIzEgnuwt2deItvJd2vQsLzW1G015RXILq0xWMNlWj7LJ8AGOHGUoP7APaMoUfIhwfH0cqThybSUhIKJXawuolJnOXr+76jcj3yUlcEmLutpILl68Sa2+ftHbMOkn97QZy525jZE4QvmKQk89EO8gdGR1XFekLICMtDbyiCO8sPXD86CHp7uXKMTHRxFBRNp6qVu+kD0gWoLegCgSDDMsqpVgiz0NdbQ0kJyWtti3B5SeHtWq1HuFlGaYj7WA8JzsraPs4BC63R9qj8I+pKenMFK4sL/uk1WjWwTRZesqeee/Y/cdPd/h8y0yhPh9W/H6w9Q8Sno+HasOpoS1aTfG/laVKsgD9KS6329TbP1g8MmZnOY6DHF1WoEif187zfOVm8GoHshoKHcZ5FroffRjdgjDBcVP7DaE9WYJ9YA5UAAAAAElFTkSuQmCC"/>
290
    </symbol>
291
    <g ed:width="155" ed:parentid="101" ed:layout="rightmap" ed:height="41" id="108" transform="matrix(1,0,0,1,834,670)">
292
        <path fill="#f9f9f9" stroke="#454545" stroke-linejoin="round" d="M4,0L151,0C153.7,0,155,1.3,155,4L155,37C155,39.7,153.7,41,151,41L4,41C1.3,41,0,39.7,0,37L0,4C0,1.3,1.3,0,4,0z" stroke-width="2"/>
293
        <g transform="translate(18.5,12.1)">
294
            <use transform="translate(0,0)" xlink:href="#imgstar1"/>
295
        </g>
296
        <text class="st6">
297
            <tspan textLength="13" class="st7" y="26.5" style="white-space:pre" x="41">2.</tspan>
298
            <tspan textLength="76" style="white-space:pre" x="54">数据采集</tspan>
299
        </text>
300
    </g>
301
    <symbol id="imgstar1">
302
        <image width="16" height="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI2OEQ4MUJENEZFMjExRTdCNjg2REUzMzYwNzdFOTQ4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI2OEQ4MUJFNEZFMjExRTdCNjg2REUzMzYwNzdFOTQ4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjY4RDgxQkI0RkUyMTFFN0I2ODZERTMzNjA3N0U5NDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjY4RDgxQkM0RkUyMTFFN0I2ODZERTMzNjA3N0U5NDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5uTGucAAAEXklEQVR42uSbW2xMURSG9ww1qo1WhaJKI7RNVbWCSF1fCJoiRIRW3BOEBA8ekKCIeOLNG0880JCgGveKVJrQEBJ1beJBhJbqTUcvU+vPWZM0TWd6zj73Myv5Mg8zZ87Z/6y991prr/HVxacLG62QeG7nA/htvPdN4gbxxE4Bhtp035PEUiKBSCU+EZlEbyx4AAa8mQcftinsDTExBcqI9AGeYxkxwesCxBE7I0y9YcRprwtwjOiMsh6VEoleFuAwMTzK+728QHpSgD1E9yCfwTQ46FUBTqh07yBPFU8JsI4IqPxsPHHEawJgdU/S8PkQsc8rAiwixmm8JsGqxdAKAc4QyZJh+ia3C5BD5EleO5I463YBynQGNlg3itwqwFhipc57QIBzbhXguEHpdhqx0KyH9JlUEfJz1Ocz6PuqiQVu8oCjRIeB35erYzG1xQPa+hU89BoCo/fEM+Il8YYJ2iXACGIyMYlfUdHJ5tc09qxkk7yrjacXdpdG4q1QCquvWZR6IwQY02dwYCqRRWQIpaQVYBcPcQYXb+B8l7EeFsbPz/aFPaWmj7e0RBMgiUPP5fwrQuF/PKjAIDm8k62DxwGP/UjUEeVEBdEeFmA0vdYS4/nX9LqhIvWHWAJB4DKP2M1jYfDhoguCtPv40f08f2LRMO7vEOAA0RRjg8fusSUcCGFvPc/zIhasiVP0p30jwVNCOZlp8fjgW4krxIWBQuEdQjmwbPbo4LHt3SL2R8sFthK3PegJiAdwCl2qJhnCweUddhcvGAKhF0SxlmywhKMlt4vQzdHfYpl0eCNR6WIRkKd8JQr01AM2EPdcKALOGBs4idNdEFlPPORsyy2GZ1V1FqG2IrSWeOwSEbqEUlIXRgoAW01UhdNIB897TZUorTXBYg4hnShCkLO8LjMFgBVx/tDusDk/nfil9ULZqvAKriM4wZp5n6+XuVhPWXyeQwRA41W+7MWyAqAImuIQAVDvm2O1ALkO2xLn2iHAEAcJkGm1AJhziQ4SAD9GqpUCwOV8DhIApe4ZVgqQ5bAgCAvhTKsESBLOK5vFyW7LMgJME+YdfOqxAisF8DtQgAyrBMgUxp79G2V/ZdYmGQHyHRYDhA1VoDwrBMg26IFRer/MObwR/xVKlMkJZATQ21ODHeSVUI6ntwul/+CqiPxHCi1jKTRbgBQd7o/C6jehtL/OYhFgKF3jwAIdKZU66ww5ZguAHUBrY1Ing1PoicTdCJ/7IZTGSkSZ6PlpkIwIE80UAA1QWvoJ2niew80vqbzmHTGfWMVe0qzRQ0eZKUBApcJY4Gp5Udot6c41PFXWCKUTTI0QPmFyUbRnkCQoyHN4FzFbKN1aeq2KtzecT3wQ0fsYQmZPAQzud4Q9GIHIRX6Aaybs8w94Cy5hYX9G2GECZgpQ0e/GIZ7n1zlCPGRBwINFFEde23jhbO23CFZr+TKZTlGIVs4DRjMi/g/02cYIcC+DznQ0VDdqufi/AAMAwrzVVV0VhtwAAAAASUVORK5CYII="/>
303
    </symbol>
304
    <g ed:width="96" ed:parentid="108" ed:layout="rightmap" ed:height="21.5" id="110" transform="matrix(1,0,0,1,1016,575.5)">
305
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L96,21.5"/>
306
        <text class="st8">
307
            <tspan textLength="78" y="14.65" style="white-space:pre" x="8">省控数据查询</tspan>
308
        </text>
309
    </g>
310
    <g ed:width="89" ed:parentid="110" ed:layout="rightmap" ed:height="22.5" id="112" transform="matrix(1,0,0,1,1139,474.5)">
311
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
312
        <g transform="translate(7,2.25)">
313
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
314
        </g>
315
        <text class="st8">
316
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">原始数据</tspan>
317
        </text>
318
    </g>
319
    <symbol id="imgpriority1">
320
        <image width="16" height="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MTc5MWZiNS1jNjU5LTdhNGMtYTdmZC1iOGU1NDQxOTk2OTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDM1QTY0MTQ0RjFFMTFFNzk5OTg5NzAxRkFDRkJENTQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDM1QTY0MTM0RjFFMTFFNzk5OTg5NzAxRkFDRkJENTQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjMwOGYyMTAtNTdmOC0wMjQ0LTljNTMtZWFlNGUwZGU3OGY5IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZTlkY2RhMjUtNGQwNC0xMWU3LTgyOTYt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"/>
321
    </symbol>
322
    <g ed:width="89" ed:parentid="110" ed:layout="rightmap" ed:height="22.5" id="118" transform="matrix(1,0,0,1,1139,503.5)">
323
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
324
        <g transform="translate(7,2.25)">
325
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
326
        </g>
327
        <text class="st8">
328
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">历史数据</tspan>
329
        </text>
330
    </g>
331
    <g ed:width="89" ed:parentid="110" ed:layout="rightmap" ed:height="22.5" id="124" transform="matrix(1,0,0,1,1139,532.5)">
332
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
333
        <g transform="translate(7,2.25)">
334
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
335
        </g>
336
        <text class="st8">
337
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">最新数据</tspan>
338
        </text>
339
    </g>
340
    <g ed:width="115" ed:parentid="110" ed:layout="rightmap" ed:height="22.5" id="126" transform="matrix(1,0,0,1,1139,561.5)">
341
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L115,22.5"/>
342
        <g transform="translate(7,2.25)">
343
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
344
        </g>
345
        <text class="st8">
346
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">历史站点数据</tspan>
347
        </text>
348
    </g>
349
    <g ed:width="70" ed:parentid="110" ed:layout="rightmap" ed:height="21.5" id="128" transform="matrix(1,0,0,1,1139,590.5)">
350
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
351
        <text class="st8">
352
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">采测数据</tspan>
353
        </text>
354
    </g>
355
    <g ed:width="115" ed:parentid="110" ed:layout="rightmap" ed:height="22.5" id="130" transform="matrix(1,0,0,1,1139,618.5)">
356
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L115,22.5"/>
357
        <g transform="translate(7,2.25)">
358
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
359
        </g>
360
        <text class="st8">
361
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">国控数据查询</tspan>
362
        </text>
363
    </g>
364
    <g ed:width="96" ed:parentid="110" ed:layout="rightmap" ed:height="21.5" id="132" transform="matrix(1,0,0,1,1139,647.5)">
365
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L96,21.5"/>
366
        <text class="st8">
367
            <tspan textLength="78" y="14.65" style="white-space:pre" x="8">现场日志查询</tspan>
368
        </text>
369
    </g>
370
    <g ed:width="96" ed:parentid="110" ed:layout="rightmap" ed:height="21.5" id="134" transform="matrix(1,0,0,1,1139,675.5)">
371
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L96,21.5"/>
372
        <text class="st8">
373
            <tspan textLength="78" y="14.65" style="white-space:pre" x="8">补测数据查询</tspan>
374
        </text>
375
    </g>
376
    <g ed:width="96" ed:parentid="108" ed:layout="rightmap" ed:height="21.5" id="138" transform="matrix(1,0,0,1,1016,719)">
377
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L96,21.5"/>
378
        <text class="st8">
379
            <tspan textLength="78" y="14.65" style="white-space:pre" x="8">国控数据查询</tspan>
380
        </text>
381
    </g>
382
    <g ed:width="89" ed:parentid="138" ed:layout="rightmap" ed:height="22.5" id="142" transform="matrix(1,0,0,1,1139,703.5)">
383
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
384
        <g transform="translate(7,2.25)">
385
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
386
        </g>
387
        <text class="st8">
388
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">原始数据</tspan>
389
        </text>
390
    </g>
391
    <g ed:width="89" ed:parentid="138" ed:layout="rightmap" ed:height="22.5" id="144" transform="matrix(1,0,0,1,1139,732.5)">
392
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
393
        <g transform="translate(7,2.25)">
394
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
395
        </g>
396
        <text class="st8">
397
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">有效数据</tspan>
398
        </text>
399
    </g>
400
    <g ed:width="89" ed:parentid="108" ed:layout="rightmap" ed:height="22.5" id="148" transform="matrix(1,0,0,1,1016,761.5)">
401
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
402
        <g transform="translate(7,2.25)">
403
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
404
        </g>
405
        <text class="st8">
406
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">站点信息</tspan>
407
        </text>
408
    </g>
409
    <g ed:width="135" ed:parentid="101" ed:layout="rightmap" ed:height="41" id="150" transform="matrix(1,0,0,1,834,1007)">
410
        <path fill="#f9f9f9" stroke="#454545" stroke-linejoin="round" d="M4,0L131,0C133.7,0,135,1.3,135,4L135,37C135,39.7,133.7,41,131,41L4,41C1.3,41,0,39.7,0,37L0,4C0,1.3,1.3,0,4,0z" stroke-width="2"/>
411
        <text class="st6">
412
            <tspan textLength="13" class="st7" y="26.5" style="white-space:pre" x="20">3.</tspan>
413
            <tspan textLength="76" style="white-space:pre" x="33.3">质量控制</tspan>
414
        </text>
415
    </g>
416
    <g ed:width="83" ed:parentid="168" ed:layout="rightmap" ed:height="21.5" id="152" transform="matrix(1,0,0,1,1093,817)">
417
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L83,21.5"/>
418
        <text class="st8">
419
            <tspan textLength="65" y="14.65" style="white-space:pre" x="8">加标回收率</tspan>
420
        </text>
421
    </g>
422
    <g ed:width="70" ed:parentid="168" ed:layout="rightmap" ed:height="21.5" id="154" transform="matrix(1,0,0,1,1093,845)">
423
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
424
        <text class="st8">
425
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">标样核查</tspan>
426
        </text>
427
    </g>
428
    <g ed:width="83" ed:parentid="168" ed:layout="rightmap" ed:height="21.5" id="156" transform="matrix(1,0,0,1,1093,873)">
429
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L83,21.5"/>
430
        <text class="st8">
431
            <tspan textLength="65" y="14.65" style="white-space:pre" x="8">平行样测试</tspan>
432
        </text>
433
    </g>
434
    <g ed:width="111.21875" ed:parentid="168" ed:layout="rightmap" ed:height="21.5" id="158" transform="matrix(1,0,0,1,1093,901)">
435
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L111.2,21.5"/>
436
        <text class="st8">
437
            <tspan textLength="93" y="14.65" style="white-space:pre" x="8">24小时跨度漂移</tspan>
438
        </text>
439
    </g>
440
    <g ed:width="111.21875" ed:parentid="168" ed:layout="rightmap" ed:height="21.5" id="160" transform="matrix(1,0,0,1,1093,929)">
441
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L111.2,21.5"/>
442
        <text class="st8">
443
            <tspan textLength="93" y="14.65" style="white-space:pre" x="8">24小时零点漂移</tspan>
444
        </text>
445
    </g>
446
    <g ed:width="148" ed:parentid="168" ed:layout="rightmap" ed:height="21.5" id="162" transform="matrix(1,0,0,1,1093,957)">
447
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L148,21.5"/>
448
        <text class="st8">
449
            <tspan textLength="130" y="14.65" style="white-space:pre" x="8">单因子质控合格率统计</tspan>
450
        </text>
451
    </g>
452
    <g ed:width="135" ed:parentid="168" ed:layout="rightmap" ed:height="21.5" id="164" transform="matrix(1,0,0,1,1093,985)">
453
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L135,21.5"/>
454
        <text class="st8">
455
            <tspan textLength="117" y="14.65" style="white-space:pre" x="8">站点质控合格率统计</tspan>
456
        </text>
457
    </g>
458
    <g ed:width="70" ed:parentid="150" ed:layout="rightmap" ed:height="21.5" id="168" transform="matrix(1,0,0,1,996,901)">
459
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
460
        <text class="st8">
461
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">质控数据</tspan>
462
        </text>
463
    </g>
464
    <g ed:width="70" ed:parentid="150" ed:layout="rightmap" ed:height="21.5" id="170" transform="matrix(1,0,0,1,996,1041)">
465
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
466
        <text class="st8">
467
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">远程控制</tspan>
468
        </text>
469
    </g>
470
    <g ed:width="70" ed:parentid="170" ed:layout="rightmap" ed:height="21.5" id="174" transform="matrix(1,0,0,1,1093,1013)">
471
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
472
        <text class="st8">
473
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">运行展示</tspan>
474
        </text>
475
    </g>
476
    <g ed:width="70" ed:parentid="170" ed:layout="rightmap" ed:height="21.5" id="176" transform="matrix(1,0,0,1,1093,1041)">
477
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
478
        <text class="st8">
479
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">公告管理</tspan>
480
        </text>
481
    </g>
482
    <g ed:width="70" ed:parentid="170" ed:layout="rightmap" ed:height="21.5" id="178" transform="matrix(1,0,0,1,1093,1069)">
483
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
484
        <text class="st8">
485
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">站点视频</tspan>
486
        </text>
487
    </g>
488
    <g ed:width="96" ed:parentid="150" ed:layout="rightmap" ed:height="21.5" id="182" transform="matrix(1,0,0,1,996,1111)">
489
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L96,21.5"/>
490
        <text class="st8">
491
            <tspan textLength="78" y="14.65" style="white-space:pre" x="8">质控计划管理</tspan>
492
        </text>
493
    </g>
494
    <g ed:width="96" ed:parentid="182" ed:layout="rightmap" ed:height="21.5" id="186" transform="matrix(1,0,0,1,1119,1097)">
495
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L96,21.5"/>
496
        <text class="st8">
497
            <tspan textLength="78" y="14.65" style="white-space:pre" x="8">远程质控计划</tspan>
498
        </text>
499
    </g>
500
    <g ed:width="96" ed:parentid="182" ed:layout="rightmap" ed:height="21.5" id="188" transform="matrix(1,0,0,1,1119,1125)">
501
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L96,21.5"/>
502
        <text class="st8">
503
            <tspan textLength="78" y="14.65" style="white-space:pre" x="8">站点质控设置</tspan>
504
        </text>
505
    </g>
506
    <g ed:width="135" ed:parentid="101" ed:layout="rightmap" ed:height="41" id="192" transform="matrix(1,0,0,1,834,1264.5)">
507
        <path fill="#f9f9f9" stroke="#454545" stroke-linejoin="round" d="M4,0L131,0C133.7,0,135,1.3,135,4L135,37C135,39.7,133.7,41,131,41L4,41C1.3,41,0,39.7,0,37L0,4C0,1.3,1.3,0,4,0z" stroke-width="2"/>
508
        <text class="st6">
509
            <tspan textLength="13" class="st7" y="26.5" style="white-space:pre" x="20">4.</tspan>
510
            <tspan textLength="76" style="white-space:pre" x="33.3">水质预警</tspan>
511
        </text>
512
    </g>
513
    <g ed:width="96" ed:parentid="192" ed:layout="rightmap" ed:height="21.5" id="194" transform="matrix(1,0,0,1,996,1179.5)">
514
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L96,21.5"/>
515
        <text class="st8">
516
            <tspan textLength="78" y="14.65" style="white-space:pre" x="8">水质智能监视</tspan>
517
        </text>
518
    </g>
519
    <g ed:width="70" ed:parentid="192" ed:layout="rightmap" ed:height="21.5" id="196" transform="matrix(1,0,0,1,996,1207.5)">
520
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
521
        <text class="st8">
522
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">报警查询</tspan>
523
        </text>
524
    </g>
525
    <g ed:width="109" ed:parentid="192" ed:layout="rightmap" ed:height="21.5" id="198" transform="matrix(1,0,0,1,996,1235.5)">
526
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L109,21.5"/>
527
        <text class="st8">
528
            <tspan textLength="91" y="14.65" style="white-space:pre" x="8">单指标模型分析</tspan>
529
        </text>
530
    </g>
531
    <g ed:width="109" ed:parentid="192" ed:layout="rightmap" ed:height="21.5" id="200" transform="matrix(1,0,0,1,996,1263.5)">
532
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L109,21.5"/>
533
        <text class="st8">
534
            <tspan textLength="91" y="14.65" style="white-space:pre" x="8">多指标趋势分析</tspan>
535
        </text>
536
    </g>
537
    <g ed:width="96" ed:parentid="192" ed:layout="rightmap" ed:height="21.5" id="202" transform="matrix(1,0,0,1,996,1291.5)">
538
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L96,21.5"/>
539
        <text class="st8">
540
            <tspan textLength="78" y="14.65" style="white-space:pre" x="8">组合模型分析</tspan>
541
        </text>
542
    </g>
543
    <g ed:width="109" ed:parentid="192" ed:layout="rightmap" ed:height="21.5" id="204" transform="matrix(1,0,0,1,996,1319.5)">
544
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L109,21.5"/>
545
        <text class="st8">
546
            <tspan textLength="91" y="14.65" style="white-space:pre" x="8">双指标密度分析</tspan>
547
        </text>
548
    </g>
549
    <g ed:width="96" ed:parentid="192" ed:layout="rightmap" ed:height="21.5" id="206" transform="matrix(1,0,0,1,996,1347.5)">
550
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L96,21.5"/>
551
        <text class="st8">
552
            <tspan textLength="78" y="14.65" style="white-space:pre" x="8">预警信息管理</tspan>
553
        </text>
554
    </g>
555
    <g ed:width="155" ed:parentid="101" ed:layout="leftmap" ed:height="41" id="212" transform="matrix(1,0,0,1,390,1565.5)">
556
        <path fill="#f9f9f9" stroke="#454545" stroke-linejoin="round" d="M4,0L151,0C153.7,0,155,1.3,155,4L155,37C155,39.7,153.7,41,151,41L4,41C1.3,41,0,39.7,0,37L0,4C0,1.3,1.3,0,4,0z" stroke-width="2"/>
557
        <g transform="translate(18.5,12.1)">
558
            <use transform="translate(0,0)" xlink:href="#imgstar1"/>
559
        </g>
560
        <text class="st6">
561
            <tspan textLength="13" class="st7" y="26.5" style="white-space:pre" x="41">5.</tspan>
562
            <tspan textLength="76" style="white-space:pre" x="54">数据审核</tspan>
563
        </text>
564
    </g>
565
    <g ed:width="70" ed:parentid="212" ed:layout="leftmap" ed:height="21.5" id="214" transform="matrix(1,0,0,1,293,1480.5)">
566
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
567
        <text class="st8">
568
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">数据审核</tspan>
569
        </text>
570
    </g>
571
    <g ed:width="70" ed:parentid="212" ed:layout="leftmap" ed:height="21.5" id="216" transform="matrix(1,0,0,1,293,1508.5)">
572
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
573
        <text class="st8">
574
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">数据直审</tspan>
575
        </text>
576
    </g>
577
    <g ed:width="70" ed:parentid="212" ed:layout="leftmap" ed:height="21.5" id="218" transform="matrix(1,0,0,1,293,1536.5)">
578
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
579
        <text class="st8">
580
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">人工补测</tspan>
581
        </text>
582
    </g>
583
    <g ed:width="70" ed:parentid="212" ed:layout="leftmap" ed:height="21.5" id="220" transform="matrix(1,0,0,1,293,1564.5)">
584
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
585
        <text class="st8">
586
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">审核日历</tspan>
587
        </text>
588
    </g>
589
    <g ed:width="96" ed:parentid="212" ed:layout="leftmap" ed:height="21.5" id="222" transform="matrix(1,0,0,1,267,1592.5)">
590
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L96,21.5"/>
591
        <text class="st8">
592
            <tspan textLength="78" y="14.65" style="white-space:pre" x="8">补测数据录入</tspan>
593
        </text>
594
    </g>
595
    <g ed:width="70" ed:parentid="212" ed:layout="leftmap" ed:height="21.5" id="224" transform="matrix(1,0,0,1,293,1620.5)">
596
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
597
        <text class="st8">
598
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">专家会审</tspan>
599
        </text>
600
    </g>
601
    <g ed:width="96" ed:parentid="212" ed:layout="leftmap" ed:height="21.5" id="226" transform="matrix(1,0,0,1,267,1648.5)">
602
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L96,21.5"/>
603
        <text class="st8">
604
            <tspan textLength="78" y="14.65" style="white-space:pre" x="8">佐证资料查询</tspan>
605
        </text>
606
    </g>
607
    <g ed:width="135" ed:parentid="101" ed:layout="leftmap" ed:height="41" id="230" transform="matrix(1,0,0,1,410,1329)">
608
        <path fill="#f9f9f9" stroke="#454545" stroke-linejoin="round" d="M4,0L131,0C133.7,0,135,1.3,135,4L135,37C135,39.7,133.7,41,131,41L4,41C1.3,41,0,39.7,0,37L0,4C0,1.3,1.3,0,4,0z" stroke-width="2"/>
609
        <text class="st6">
610
            <tspan textLength="13" class="st7" y="26.5" style="white-space:pre" x="20">6.</tspan>
611
            <tspan textLength="76" style="white-space:pre" x="33.3">运行维护</tspan>
612
        </text>
613
    </g>
614
    <g ed:width="70" ed:parentid="230" ed:layout="leftmap" ed:height="21.5" id="232" transform="matrix(1,0,0,1,313,1230)">
615
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
616
        <text class="st8">
617
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">信息统计</tspan>
618
        </text>
619
    </g>
620
    <g ed:width="70" ed:parentid="232" ed:layout="leftmap" ed:height="21.5" id="234" transform="matrix(1,0,0,1,216,1230)">
621
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
622
        <text class="st8">
623
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">运维报告</tspan>
624
        </text>
625
    </g>
626
    <g ed:width="70" ed:parentid="230" ed:layout="leftmap" ed:height="21.5" id="236" transform="matrix(1,0,0,1,313,1328)">
627
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
628
        <text class="st8">
629
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">运维资源</tspan>
630
        </text>
631
    </g>
632
    <g ed:width="70" ed:parentid="236" ed:layout="leftmap" ed:height="21.5" id="238" transform="matrix(1,0,0,1,216,1258)">
633
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
634
        <text class="st8">
635
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">设备管理</tspan>
636
        </text>
637
    </g>
638
    <g ed:width="70" ed:parentid="236" ed:layout="leftmap" ed:height="21.5" id="240" transform="matrix(1,0,0,1,216,1286)">
639
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
640
        <text class="st8">
641
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">设备绑定</tspan>
642
        </text>
643
    </g>
644
    <g ed:width="88.546875" ed:parentid="236" ed:layout="leftmap" ed:height="21.5" id="242" transform="matrix(1,0,0,1,197.45,1314)">
645
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L88.5,21.5"/>
646
        <text class="st8">
647
            <tspan textLength="71" y="14.65" style="white-space:pre" x="8">停/复站申请</tspan>
648
        </text>
649
    </g>
650
    <g ed:width="109" ed:parentid="236" ed:layout="leftmap" ed:height="21.5" id="244" transform="matrix(1,0,0,1,177,1342)">
651
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L109,21.5"/>
652
        <text class="st8">
653
            <tspan textLength="91" y="14.65" style="white-space:pre" x="8">无纸化办公添加</tspan>
654
        </text>
655
    </g>
656
    <g ed:width="109" ed:parentid="236" ed:layout="leftmap" ed:height="21.5" id="246" transform="matrix(1,0,0,1,177,1370)">
657
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L109,21.5"/>
658
        <text class="st8">
659
            <tspan textLength="91" y="14.65" style="white-space:pre" x="8">无纸化办公查询</tspan>
660
        </text>
661
    </g>
662
    <g ed:width="96" ed:parentid="236" ed:layout="leftmap" ed:height="21.5" id="248" transform="matrix(1,0,0,1,190,1398)">
663
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L96,21.5"/>
664
        <text class="st8">
665
            <tspan textLength="78" y="14.65" style="white-space:pre" x="8">水站断电统计</tspan>
666
        </text>
667
    </g>
668
    <g ed:width="70" ed:parentid="230" ed:layout="leftmap" ed:height="21.5" id="250" transform="matrix(1,0,0,1,313,1426)">
669
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
670
        <text class="st8">
671
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">远程维护</tspan>
672
        </text>
673
    </g>
674
    <g ed:width="70" ed:parentid="250" ed:layout="leftmap" ed:height="21.5" id="252" transform="matrix(1,0,0,1,216,1426)">
675
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
676
        <text class="st8">
677
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">远程巡视</tspan>
678
        </text>
679
    </g>
680
    <g ed:width="155" ed:parentid="101" ed:layout="leftmap" ed:height="41" id="254" transform="matrix(1,0,0,1,390,814)">
681
        <path fill="#f9f9f9" stroke="#454545" stroke-linejoin="round" d="M4,0L151,0C153.7,0,155,1.3,155,4L155,37C155,39.7,153.7,41,151,41L4,41C1.3,41,0,39.7,0,37L0,4C0,1.3,1.3,0,4,0z" stroke-width="2"/>
682
        <g transform="translate(18.5,12.1)">
683
            <use transform="translate(0,0)" xlink:href="#imgstar1"/>
684
        </g>
685
        <text class="st6">
686
            <tspan textLength="13" class="st7" y="26.5" style="white-space:pre" x="41">7.</tspan>
687
            <tspan textLength="76" style="white-space:pre" x="54">综合应用</tspan>
688
        </text>
689
    </g>
690
    <g ed:width="70" ed:parentid="254" ed:layout="leftmap" ed:height="21.5" id="256" transform="matrix(1,0,0,1,293,494)">
691
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
692
        <text class="st8">
693
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">数据图表</tspan>
694
        </text>
695
    </g>
696
    <g ed:width="136" ed:parentid="256" ed:layout="leftmap" ed:height="22.5" id="258" transform="matrix(1,0,0,1,130,362.5)">
697
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L136,22.5"/>
698
        <g transform="translate(7,2.25)">
699
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
700
        </g>
701
        <text class="st8">
702
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">监测数据同比</tspan>
703
        </text>
704
        <g>
705
            <use transform="translate(111,4)" xlink:href="#imgattachment"/>
706
        </g>
707
    </g>
708
    <symbol id="imgpriority3">
709
        <image width="16" height="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MTc5MWZiNS1jNjU5LTdhNGMtYTdmZC1iOGU1NDQxOTk2OTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDk4RkI2NjM0RjFFMTFFNzhBQzhGNjM2M0I4NUNFOEQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDk4RkI2NjI0RjFFMTFFNzhBQzhGNjM2M0I4NUNFOEQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M2RhODcyYzEtZTY3ZS01NjRhLTg4OGUtOGMxNThkNWE3YzExIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZTlkY2RhMjUtNGQwNC0xMWU3LTgyOTYt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"/>
710
    </symbol>
711
    <g ed:width="115" ed:parentid="256" ed:layout="leftmap" ed:height="22.5" id="260" transform="matrix(1,0,0,1,151,391.5)">
712
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L115,22.5"/>
713
        <g transform="translate(7,2.25)">
714
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
715
        </g>
716
        <text class="st8">
717
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">单站多参对比</tspan>
718
        </text>
719
    </g>
720
    <g ed:width="115" ed:parentid="256" ed:layout="leftmap" ed:height="22.5" id="262" transform="matrix(1,0,0,1,151,420.5)">
721
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L115,22.5"/>
722
        <g transform="translate(7,2.25)">
723
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
724
        </g>
725
        <text class="st8">
726
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">国省数据对比</tspan>
727
        </text>
728
    </g>
729
    <g ed:width="115" ed:parentid="256" ed:layout="leftmap" ed:height="22.5" id="264" transform="matrix(1,0,0,1,151,449.5)">
730
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L115,22.5"/>
731
        <g transform="translate(7,2.25)">
732
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
733
        </g>
734
        <text class="st8">
735
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">单参数散点图</tspan>
736
        </text>
737
    </g>
738
    <g ed:width="115" ed:parentid="256" ed:layout="leftmap" ed:height="22.5" id="266" transform="matrix(1,0,0,1,151,478.5)">
739
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L115,22.5"/>
740
        <g transform="translate(7,2.25)">
741
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
742
        </g>
743
        <text class="st8">
744
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">单参数区块图</tspan>
745
        </text>
746
    </g>
747
    <g ed:width="115" ed:parentid="256" ed:layout="leftmap" ed:height="22.5" id="268" transform="matrix(1,0,0,1,151,507.5)">
748
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L115,22.5"/>
749
        <g transform="translate(7,2.25)">
750
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
751
        </g>
752
        <text class="st8">
753
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">水质类别占比</tspan>
754
        </text>
755
    </g>
756
    <g ed:width="89" ed:parentid="256" ed:layout="leftmap" ed:height="22.5" id="270" transform="matrix(1,0,0,1,177,536.5)">
757
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
758
        <g transform="translate(7,2.25)">
759
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
760
        </g>
761
        <text class="st8">
762
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">站点一览</tspan>
763
        </text>
764
    </g>
765
    <g ed:width="115" ed:parentid="256" ed:layout="leftmap" ed:height="22.5" id="272" transform="matrix(1,0,0,1,151,565.5)">
766
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L115,22.5"/>
767
        <g transform="translate(7,2.25)">
768
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
769
        </g>
770
        <text class="st8">
771
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">日趋势图分析</tspan>
772
        </text>
773
    </g>
774
    <g ed:width="102" ed:parentid="256" ed:layout="leftmap" ed:height="22.5" id="274" transform="matrix(1,0,0,1,164,594.5)">
775
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L102,22.5"/>
776
        <g transform="translate(7,2.25)">
777
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
778
        </g>
779
        <text class="st8">
780
            <tspan textLength="65" y="15.15" style="white-space:pre" x="27">水污染日历</tspan>
781
        </text>
782
    </g>
783
    <g ed:width="128" ed:parentid="256" ed:layout="leftmap" ed:height="22.5" id="276" transform="matrix(1,0,0,1,138,623.5)">
784
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L128,22.5"/>
785
        <g transform="translate(7,2.25)">
786
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
787
        </g>
788
        <text class="st8">
789
            <tspan textLength="91" y="15.15" style="white-space:pre" x="27">上下游水质对比</tspan>
790
        </text>
791
    </g>
792
    <g ed:width="70" ed:parentid="254" ed:layout="leftmap" ed:height="21.5" id="278" transform="matrix(1,0,0,1,293,813)">
793
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
794
        <text class="st8">
795
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">数据报表</tspan>
796
        </text>
797
    </g>
798
    <g ed:width="89" ed:parentid="278" ed:layout="leftmap" ed:height="22.5" id="280" transform="matrix(1,0,0,1,177,652.5)">
799
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
800
        <g transform="translate(7,2.25)">
801
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
802
        </g>
803
        <text class="st8">
804
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">两率报表</tspan>
805
        </text>
806
    </g>
807
    <g ed:width="89" ed:parentid="278" ed:layout="leftmap" ed:height="22.5" id="282" transform="matrix(1,0,0,1,177,681.5)">
808
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
809
        <g transform="translate(7,2.25)">
810
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
811
        </g>
812
        <text class="st8">
813
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">日报查询</tspan>
814
        </text>
815
    </g>
816
    <g ed:width="115" ed:parentid="278" ed:layout="leftmap" ed:height="22.5" id="284" transform="matrix(1,0,0,1,151,710.5)">
817
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L115,22.5"/>
818
        <g transform="translate(7,2.25)">
819
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
820
        </g>
821
        <text class="st8">
822
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">多站水质报表</tspan>
823
        </text>
824
    </g>
825
    <g ed:width="89" ed:parentid="278" ed:layout="leftmap" ed:height="22.5" id="286" transform="matrix(1,0,0,1,177,739.5)">
826
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
827
        <g transform="translate(7,2.25)">
828
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
829
        </g>
830
        <text class="st8">
831
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">周报查询</tspan>
832
        </text>
833
    </g>
834
    <g ed:width="115" ed:parentid="278" ed:layout="leftmap" ed:height="22.5" id="288" transform="matrix(1,0,0,1,151,768.5)">
835
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L115,22.5"/>
836
        <g transform="translate(7,2.25)">
837
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
838
        </g>
839
        <text class="st8">
840
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">同比环比趋势</tspan>
841
        </text>
842
    </g>
843
    <g ed:width="115" ed:parentid="278" ed:layout="leftmap" ed:height="22.5" id="290" transform="matrix(1,0,0,1,151,797.5)">
844
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L115,22.5"/>
845
        <g transform="translate(7,2.25)">
846
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
847
        </g>
848
        <text class="st8">
849
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">单站水质报表</tspan>
850
        </text>
851
    </g>
852
    <g ed:width="89" ed:parentid="278" ed:layout="leftmap" ed:height="22.5" id="292" transform="matrix(1,0,0,1,177,826.5)">
853
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
854
        <g transform="translate(7,2.25)">
855
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
856
        </g>
857
        <text class="st8">
858
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">超标统计</tspan>
859
        </text>
860
    </g>
861
    <g ed:width="115" ed:parentid="278" ed:layout="leftmap" ed:height="22.5" id="294" transform="matrix(1,0,0,1,151,855.5)">
862
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L115,22.5"/>
863
        <g transform="translate(7,2.25)">
864
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
865
        </g>
866
        <text class="st8">
867
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">远程质控日报</tspan>
868
        </text>
869
    </g>
870
    <g ed:width="115" ed:parentid="278" ed:layout="leftmap" ed:height="22.5" id="296" transform="matrix(1,0,0,1,151,884.5)">
871
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L115,22.5"/>
872
        <g transform="translate(7,2.25)">
873
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
874
        </g>
875
        <text class="st8">
876
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">采测数据对比</tspan>
877
        </text>
878
    </g>
879
    <g ed:width="245" ed:parentid="278" ed:layout="leftmap" ed:height="22.5" id="298" transform="matrix(1,0,0,1,21,913.5)">
880
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L245,22.5"/>
881
        <g transform="translate(7,2.25)">
882
            <use transform="translate(0,0)" xlink:href="#imgpriority2"/>
883
        </g>
884
        <text class="st8">
885
            <tspan textLength="208" y="15.15" style="white-space:pre" x="27">白洋淀及上游流域水质自动监测日报</tspan>
886
        </text>
887
    </g>
888
    <symbol id="imgpriority2">
889
        <image width="16" height="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MTc5MWZiNS1jNjU5LTdhNGMtYTdmZC1iOGU1NDQxOTk2OTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDY5M0Q3Mzc0RjFFMTFFNzgzRkJDQTZFQkVEQThDMkYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDY5M0Q3MzY0RjFFMTFFNzgzRkJDQTZFQkVEQThDMkYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjMwOGYyMTAtNTdmOC0wMjQ0LTljNTMtZWFlNGUwZGU3OGY5IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZTlkY2RhMjUtNGQwNC0xMWU3LTgyOTYt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"/>
890
    </symbol>
891
    <g ed:width="245" ed:parentid="278" ed:layout="leftmap" ed:height="22.5" id="300" transform="matrix(1,0,0,1,21,942.5)">
892
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L245,22.5"/>
893
        <g transform="translate(7,2.25)">
894
            <use transform="translate(0,0)" xlink:href="#imgpriority2"/>
895
        </g>
896
        <text class="st8">
897
            <tspan textLength="208" y="15.15" style="white-space:pre" x="27">白洋淀及上有流域水质自动监测周报</tspan>
898
        </text>
899
    </g>
900
    <g ed:width="128" ed:parentid="278" ed:layout="leftmap" ed:height="22.5" id="302" transform="matrix(1,0,0,1,138,971.5)">
901
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L128,22.5"/>
902
        <g transform="translate(7,2.25)">
903
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
904
        </g>
905
        <text class="st8">
906
            <tspan textLength="91" y="15.15" style="white-space:pre" x="27">数据有效性分析</tspan>
907
        </text>
908
    </g>
909
    <g ed:width="70" ed:parentid="254" ed:layout="leftmap" ed:height="21.5" id="304" transform="matrix(1,0,0,1,293,1016)">
910
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
911
        <text class="st8">
912
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">综合展示</tspan>
913
        </text>
914
    </g>
915
    <g ed:width="89" ed:parentid="304" ed:layout="leftmap" ed:height="22.5" id="306" transform="matrix(1,0,0,1,177,1000.5)">
916
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
917
        <g transform="translate(7,2.25)">
918
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
919
        </g>
920
        <text class="st8">
921
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">监控中心</tspan>
922
        </text>
923
    </g>
924
    <g ed:width="76" ed:parentid="304" ed:layout="leftmap" ed:height="22.5" id="308" transform="matrix(1,0,0,1,190,1029.5)">
925
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L76,22.5"/>
926
        <g transform="translate(7,2.25)">
927
            <use transform="translate(0,0)" xlink:href="#imgpriority3"/>
928
        </g>
929
        <text class="st8">
930
            <tspan textLength="39" y="15.15" style="white-space:pre" x="27">一张图</tspan>
931
        </text>
932
    </g>
933
    <g ed:width="57" ed:parentid="254" ed:layout="leftmap" ed:height="21.5" id="310" transform="matrix(1,0,0,1,306,1059.5)">
934
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L57,21.5"/>
935
        <text class="st8">
936
            <tspan textLength="39" y="14.65" style="white-space:pre" x="8">知识库</tspan>
937
        </text>
938
    </g>
939
    <g ed:width="123" ed:parentid="310" ed:layout="leftmap" ed:height="22.5" id="312" transform="matrix(1,0,0,1,156,1058.5)">
940
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L123,22.5"/>
941
        <g transform="translate(7,2.25)">
942
            <use transform="translate(0,0)" xlink:href="#imgpriority4"/>
943
        </g>
944
        <text class="st8">
945
            <tspan textLength="65" y="15.15" style="white-space:pre" x="27">知识库管理</tspan>
946
        </text>
947
        <g ed:note="&lt;body style=&quot; font-family:'Microsoft YaHei'; font-size:12pt; font-weight:400; font-style:normal;&quot;>&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;>资源目录&lt;/p>&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;>&lt;br />&lt;/p>&lt;/body>">
948
            <use transform="translate(98,4)" xlink:href="#imgnote"/>
949
        </g>
950
    </g>
951
    <symbol id="imgpriority4">
952
        <image width="16" height="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MTc5MWZiNS1jNjU5LTdhNGMtYTdmZC1iOGU1NDQxOTk2OTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEMyQUFFRjk0RjFFMTFFNzk2NkM4RTM1QkFDMEZDNEQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEMyQUFFRjg0RjFFMTFFNzk2NkM4RTM1QkFDMEZDNEQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjMwOGYyMTAtNTdmOC0wMjQ0LTljNTMtZWFlNGUwZGU3OGY5IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZTlkY2RhMjUtNGQwNC0xMWU3LTgyOTYt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"/>
953
    </symbol>
954
    <symbol id="imgnote">
955
        <image width="16" height="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEKADAAQAAAABAAAAEAAAAAA0VXHyAAABu0lEQVQ4EaVTzysEcRT/fGeZHZQDmxihZEspoXDzmxIpR6F2b/4ARznZ5OAsUg4SBzdbcqJclCIlUnvAYaNEfs/Ozs54b9oZe5gheTXv+/p83+e9z5uZJ5A1y7KqKYzSozqYz5kkfE0Iccv3gh2Ra8zkwaV+PKOYH3c2xriXSYXlltw6p0lqVz0XkbJJESbLbTFROJbw4tkY3xFZcC4BrBZOAZU7SxWddmJA7bLPXBeo7CapJkRxLaCUsUp71LzcJCcOdq464fdJ5NThFJB+g9y+wHgZO0cBx/5GZG13GFb6FXnhCaQOJmE9Xw3Ru2v4vQCR9aNpkm8AH/eQQs2QW2ah7UfzqeO45wiulCzZSj1CGYzDSGxC2xulaxNK74ZOwfqPBbgzk4MdKzSsDBEsBTIa5LZ5epnhOH3GS98RjIslWO9Jl5y5iUM/jUEZ2Eb6YplFPrDzVaCfLULp27I7u+SedepcB/PpnLm2eReg2dnMlwTNvQHjegcFI/sQRVU2nuu8R8h8IhBqgvlwAqmk0ZfMhRwFSf7HaR8E/eOEFiHYv53byI0pB5xLAC/V/5fJ3TzeSCoYoedP6/wFlzuxc9t/NpsAAAAASUVORK5CYII="/>
956
    </symbol>
957
    <g ed:width="96" ed:parentid="254" ed:layout="leftmap" ed:height="21.5" id="314" transform="matrix(1,0,0,1,267,1132)">
958
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L96,21.5"/>
959
        <text class="st8">
960
            <tspan textLength="78" y="14.65" style="white-space:pre" x="8">国控数据分析</tspan>
961
        </text>
962
    </g>
963
    <g ed:width="128" ed:parentid="314" ed:layout="leftmap" ed:height="22.5" id="316" transform="matrix(1,0,0,1,112,1087.5)">
964
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L128,22.5"/>
965
        <g transform="translate(7,2.25)">
966
            <use transform="translate(0,0)" xlink:href="#imgpriority2"/>
967
        </g>
968
        <text class="st8">
969
            <tspan textLength="91" y="15.15" style="white-space:pre" x="27">国控站点日报表</tspan>
970
        </text>
971
    </g>
972
    <g ed:width="128" ed:parentid="314" ed:layout="leftmap" ed:height="22.5" id="318" transform="matrix(1,0,0,1,112,1116.5)">
973
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L128,22.5"/>
974
        <g transform="translate(7,2.25)">
975
            <use transform="translate(0,0)" xlink:href="#imgpriority2"/>
976
        </g>
977
        <text class="st8">
978
            <tspan textLength="91" y="15.15" style="white-space:pre" x="27">国省控数据报表</tspan>
979
        </text>
980
    </g>
981
    <g ed:width="128" ed:parentid="314" ed:layout="leftmap" ed:height="22.5" id="320" transform="matrix(1,0,0,1,112,1145.5)">
982
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L128,22.5"/>
983
        <g transform="translate(7,2.25)">
984
            <use transform="translate(0,0)" xlink:href="#imgpriority2"/>
985
        </g>
986
        <text class="st8">
987
            <tspan textLength="91" y="15.15" style="white-space:pre" x="27">白洋淀监测周报</tspan>
988
        </text>
989
    </g>
990
    <g ed:width="130.21875" ed:parentid="314" ed:layout="leftmap" ed:height="22.5" id="322" transform="matrix(1,0,0,1,109.78,1174.5)">
991
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L130.2,22.5"/>
992
        <g transform="translate(7,2.25)">
993
            <use transform="translate(0,0)" xlink:href="#imgpriority2"/>
994
        </g>
995
        <text class="st8">
996
            <tspan textLength="93" y="15.15" style="white-space:pre" x="27">国控74站点周报</tspan>
997
        </text>
998
    </g>
999
    <g ed:width="155" ed:parentid="101" ed:layout="leftmap" ed:height="41" id="324" transform="matrix(1,0,0,1,390,99.5)">
1000
        <path fill="#f9f9f9" stroke="#454545" stroke-linejoin="round" d="M4,0L151,0C153.7,0,155,1.3,155,4L155,37C155,39.7,153.7,41,151,41L4,41C1.3,41,0,39.7,0,37L0,4C0,1.3,1.3,0,4,0z" stroke-width="2"/>
1001
        <g transform="translate(18.5,12.1)">
1002
            <use transform="translate(0,0)" xlink:href="#imgstar1"/>
1003
        </g>
1004
        <text class="st6">
1005
            <tspan textLength="13" class="st7" y="26.5" style="white-space:pre" x="41">8.</tspan>
1006
            <tspan textLength="76" style="white-space:pre" x="54">系统管理</tspan>
1007
        </text>
1008
    </g>
1009
    <g ed:width="70" ed:parentid="324" ed:layout="leftmap" ed:height="21.5" id="326" transform="matrix(1,0,0,1,293,19)">
1010
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
1011
        <text class="st8">
1012
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">系统管理</tspan>
1013
        </text>
1014
    </g>
1015
    <g ed:width="70" ed:parentid="326" ed:layout="leftmap" ed:height="21.5" id="328" transform="matrix(1,0,0,1,196,19)">
1016
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
1017
        <text class="st8">
1018
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">账户解锁</tspan>
1019
        </text>
1020
    </g>
1021
    <g ed:width="70" ed:parentid="324" ed:layout="leftmap" ed:height="21.5" id="330" transform="matrix(1,0,0,1,293,178)">
1022
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L70,21.5"/>
1023
        <text class="st8">
1024
            <tspan textLength="52" y="14.65" style="white-space:pre" x="8">基础管理</tspan>
1025
        </text>
1026
    </g>
1027
    <g ed:width="89" ed:parentid="330" ed:layout="leftmap" ed:height="22.5" id="332" transform="matrix(1,0,0,1,177,47)">
1028
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
1029
        <g transform="translate(7,2.25)">
1030
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
1031
        </g>
1032
        <text class="st8">
1033
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">站点管理</tspan>
1034
        </text>
1035
    </g>
1036
    <g ed:width="89" ed:parentid="330" ed:layout="leftmap" ed:height="22.5" id="334" transform="matrix(1,0,0,1,177,76)">
1037
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
1038
        <g transform="translate(7,2.25)">
1039
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
1040
        </g>
1041
        <text class="st8">
1042
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">监测指标</tspan>
1043
        </text>
1044
    </g>
1045
    <g ed:width="89" ed:parentid="330" ed:layout="leftmap" ed:height="22.5" id="336" transform="matrix(1,0,0,1,177,105)">
1046
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
1047
        <g transform="translate(7,2.25)">
1048
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
1049
        </g>
1050
        <text class="st8">
1051
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">传输标准</tspan>
1052
        </text>
1053
    </g>
1054
    <g ed:width="89" ed:parentid="330" ed:layout="leftmap" ed:height="22.5" id="338" transform="matrix(1,0,0,1,177,134)">
1055
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
1056
        <g transform="translate(7,2.25)">
1057
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
1058
        </g>
1059
        <text class="st8">
1060
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">设备管理</tspan>
1061
        </text>
1062
    </g>
1063
    <g ed:width="89" ed:parentid="330" ed:layout="leftmap" ed:height="22.5" id="340" transform="matrix(1,0,0,1,177,163)">
1064
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
1065
        <g transform="translate(7,2.25)">
1066
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
1067
        </g>
1068
        <text class="st8">
1069
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">水质标准</tspan>
1070
        </text>
1071
    </g>
1072
    <g ed:width="89" ed:parentid="330" ed:layout="leftmap" ed:height="22.5" id="342" transform="matrix(1,0,0,1,177,192)">
1073
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
1074
        <g transform="translate(7,2.25)">
1075
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
1076
        </g>
1077
        <text class="st8">
1078
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">日志管理</tspan>
1079
        </text>
1080
    </g>
1081
    <g ed:width="89" ed:parentid="330" ed:layout="leftmap" ed:height="22.5" id="344" transform="matrix(1,0,0,1,177,221)">
1082
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
1083
        <g transform="translate(7,2.25)">
1084
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
1085
        </g>
1086
        <text class="st8">
1087
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">流域管理</tspan>
1088
        </text>
1089
    </g>
1090
    <g ed:width="89" ed:parentid="330" ed:layout="leftmap" ed:height="22.5" id="346" transform="matrix(1,0,0,1,177,250)">
1091
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L89,22.5"/>
1092
        <g transform="translate(7,2.25)">
1093
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
1094
        </g>
1095
        <text class="st8">
1096
            <tspan textLength="52" y="15.15" style="white-space:pre" x="27">区域管理</tspan>
1097
        </text>
1098
    </g>
1099
    <g ed:width="83" ed:parentid="330" ed:layout="leftmap" ed:height="21.5" id="348" transform="matrix(1,0,0,1,183,279)">
1100
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L83,21.5"/>
1101
        <text class="st8">
1102
            <tspan textLength="65" y="14.65" style="white-space:pre" x="8">站点分布图</tspan>
1103
        </text>
1104
    </g>
1105
    <g ed:width="115" ed:parentid="330" ed:layout="leftmap" ed:height="22.5" id="350" transform="matrix(1,0,0,1,151,307)">
1106
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,22.5L115,22.5"/>
1107
        <g transform="translate(7,2.25)">
1108
            <use transform="translate(0,0)" xlink:href="#imgpriority1"/>
1109
        </g>
1110
        <text class="st8">
1111
            <tspan textLength="78" y="15.15" style="white-space:pre" x="27">现场信息维护</tspan>
1112
        </text>
1113
    </g>
1114
    <g ed:width="57" ed:parentid="196" ed:layout="rightmap" ed:height="21.5" id="492" transform="matrix(1,0,0,1,1093,1207.5)">
1115
        <path fill="none" stroke="#454545" stroke-linejoin="round" d="M0,21.5L57,21.5"/>
1116
        <text class="st8">
1117
            <tspan textLength="39" y="14.65" style="white-space:pre" x="8">子主题</tspan>
1118
        </text>
1119
    </g>
1120
</svg>
1121
</div>
1122
        <div id="copyright">Created With  <a href="https://www.edrawsoft.com/" target="_blank" title="edrawsoft">MindMaster</a></div>
1123
      </div>
1124
    </div>
1125
    <script>eval(atob('dmFyIG11YSA9IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Ow0KdmFyIHVhID0gKG11YS5pbmRleE9mKCdydjoxMScpICsgbXVhLmluZGV4T2YoJ01TSUUnKSkgPj0gMDsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdmctY29udGFpbmVyJykub25jb250ZXh0bWVudSA9IGZ1bmN0aW9uIChldmVudCkgew0KICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQp9DQpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3ZnLWNvbnRhaW5lcicpLm9ubW91c2Vkb3duID0gZnVuY3Rpb24gKGV2ZW50KSB7DQogICAgaWYgKGV2ZW50LndoaWNoID09IDMpIHsNCiAgICAgICAgdGhpcy5zdHlsZS5jdXJzb3IgPSAncG9pbnRlcic7DQogICAgICAgIHRoaXMub25tb3VzZW1vdmUgPSBmdW5jdGlvbiAoZXYpIHsNCiAgICAgICAgICAgIHRoaXMuc2Nyb2xsQnkoLShldi5tb3ZlbWVudFgpLCAwKTsNCiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxCeSgwLCAtKGV2Lm1vdmVtZW50WSkpDQogICAgICAgIH0NCiAgICAgICAgdGhpcy5vbm1vdXNldXAgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0aGlzLnN0eWxlLmN1cnNvciA9IG51bGw7DQogICAgICAgICAgICB0aGlzLm9ubW91c2V1cCA9IG51bGw7DQogICAgICAgICAgICB0aGlzLm9ubW91c2Vtb3ZlID0gbnVsbDsNCiAgICAgICAgfQ0KICAgIH0NCn0NCk51bWJlci5wcm90b3R5cGUudG9zdWl0c3ZnID0gZnVuY3Rpb24gKCkgew0KICAgIHZhciBudW0gPSB0aGlzLnZhbHVlT2YoKTsNCiAgICBpZiAobnVtICUgMSA9PT0gMCkgew0KICAgICAgICByZXR1cm4gbnVtICsgMC41DQogICAgfSBlbHNlIHJldHVybiBudW07DQp9Ow0KTnVtYmVyLnByb3RvdHlwZS5wbHVzeiA9IGZ1bmN0aW9uICgpIHsNCiAgICB2YXIgbnVtID0gdGhpcy52YWx1ZU9mKCk7DQogICAgcmV0dXJuIG51bSA8IDEwID8gJzAnICsgbnVtIDogbnVtOw0KfTsNCmZ1bmN0aW9uIHBhcnNlRGF0ZShudW0pIHsNCiAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKG51bSk7DQogICAgdmFyIFkgPSBkYXRlLmdldEZ1bGxZZWFyKCkgKyAnLSc7DQogICAgdmFyIE0gPSAoZGF0ZS5nZXRNb250aCgpICsgMSkucGx1c3ooKSArICctJzsNCiAgICB2YXIgRCA9IGRhdGUuZ2V0RGF0ZSgpLnBsdXN6KCkgKyAnICc7DQogICAgdmFyIGggPSBkYXRlLmdldEhvdXJzKCkucGx1c3ooKSArICc6JzsNCiAgICB2YXIgbW0gPSBkYXRlLmdldE1pbnV0ZXMoKS5wbHVzeigpICsgJzonOw0KICAgIHZhciBzID0gZGF0ZS5nZXRTZWNvbmRzKCkucGx1c3ooKTsNCiAgICByZXR1cm4gWSArIE0gKyBEICsgaCArIG1tICsgczsNCn0NCi8vLS1wcmVkZWZpbmVkDQovL2NvbW1lbnQtLQ0KDQpmdW5jdGlvbiBnZXRjd2gocG9wdXApIHsNCiAgICBkb2N1bWVudC5ib2R5LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzdmcnKVswXS5hcHBlbmRDaGlsZChwb3B1cCk7DQogICAgdmFyIHcgPSBwb3B1cC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDsNCiAgICB2YXIgaCA9IHBvcHVwLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDsNCiAgICByZXR1cm4gW3csIGhdDQp9DQpzdmdFbGVtcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInN2ZyIpOw0KZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8PSBzdmdFbGVtcy5sZW5ndGg7IGluZGV4KyspIHsNCiAgICAvLyB2YXIgY29tbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzdmc6bnRoLWNoaWxkKCcgKyBpbmRleCArICcpIGc+Z1tlZFxcOmNvbW1lbnRdJyk7DQogICAgdmFyIGNvbW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgc3ZnOm50aC1jaGlsZCgke2luZGV4fSkgZz5nW2VkXFw6Y29tbWVudF1gKTsNCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbW1lbnRzLmxlbmd0aDsgaSsrKSB7DQogICAgICAgIHZhciBwb3B1cCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnZycpOw0KICAgICAgICB2YXIgcG9wdXBSID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdyZWN0Jyk7DQogICAgICAgIHZhciBob3ZlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAncmVjdCcpOw0KICAgICAgICB2YXIgb2xpbmUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3JlY3QnKTsNCiAgICAgICAgaG92ZXIuc2V0QXR0cmlidXRlKCdmaWxsJywgJyNjZGNkZmYnKTsNCiAgICAgICAgaG92ZXIuc2V0QXR0cmlidXRlKCd4JywgJzAnKTsNCiAgICAgICAgaG92ZXIuc2V0QXR0cmlidXRlKCd5JywgJzAnKTsNCiAgICAgICAgaG92ZXIuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCAnMTYnKTsNCiAgICAgICAgaG92ZXIuc2V0QXR0cmlidXRlKCd3aWR0aCcsICcxNicpOw0KICAgICAgICBob3Zlci5zZXRBdHRyaWJ1dGUoJ2ZpbGwtb3BhY2l0eScsICcwLjYnKTsNCiAgICAgICAgaG92ZXIuc2V0QXR0cmlidXRlKCd0cmFuc2Zvcm0nLCBjb21tZW50c1tpXS5xdWVyeVNlbGVjdG9yKCd1c2UnKS5nZXRBdHRyaWJ1dGUoJ3RyYW5zZm9ybScpKTsNCiAgICAgICAgaG92ZXIuc3R5bGUuZGlzcGxheSA9ICdub25lJzsNCiAgICAgICAgY29tbWVudHNbaV0uYXBwZW5kQ2hpbGQoaG92ZXIpOw0KICAgICAgICB2YXIgYSA9IEpTT04ucGFyc2UoY29tbWVudHNbaV0uZ2V0QXR0cmlidXRlKCdlZDpjb21tZW50JykpOw0KICAgICAgICB2YXIgaGVpZ2h0ID0gMDsNCiAgICAgICAgdmFyIGNhcnIgPSBbXTsNCiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBhLmxlbmd0aDsgaisrKSB7DQogICAgICAgICAgICB2YXIgc3RhbXAgPSBOdW1iZXIoYVtqXS5EYXRlKSAqIDEwMDA7DQogICAgICAgICAgICB2YXIgdGltZSA9IHBhcnNlRGF0ZShzdGFtcCk7DQogICAgICAgICAgICB2YXIgbmFtZSA9IGFbal0uTmFtZTsNCiAgICAgICAgICAgIHZhciBtZXNzYWdlID0gYVtqXS5NZXNzYWdlOw0KICAgICAgICAgICAgdmFyIG1lc3NhZ2VBcnIgPSBtZXNzYWdlLnNwbGl0KC9cbi8pOw0KICAgICAgICAgICAgdmFyIG8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2cnKTsNCiAgICAgICAgICAgIHZhciBuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICd0ZXh0Jyk7DQogICAgICAgICAgICB2YXIgdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAndGV4dCcpOw0KICAgICAgICAgICAgdmFyIG0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3RleHQnKTsNCiAgICAgICAgICAgIG4uc2V0QXR0cmlidXRlKCd4JywgNSk7DQogICAgICAgICAgICBuLnNldEF0dHJpYnV0ZSgneScsIDEyKTsNCiAgICAgICAgICAgIG4uc2V0QXR0cmlidXRlKCdmaWxsJywgJyMwMDZlZmYnKTsNCiAgICAgICAgICAgIG4udGV4dENvbnRlbnQgPSBuYW1lICsgJzogJzsNCiAgICAgICAgICAgIG4uc2V0QXR0cmlidXRlKCdmb250LXNpemUnLCAnMTInKTsNCiAgICAgICAgICAgIHQuc2V0QXR0cmlidXRlKCd4JywgMjAwKTsNCiAgICAgICAgICAgIHQuc2V0QXR0cmlidXRlKCd5JywgMTIpOw0KICAgICAgICAgICAgdC5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCAnIzk2OTY5NicpOw0KICAgICAgICAgICAgdC50ZXh0Q29udGVudCA9IHRpbWU7DQogICAgICAgICAgICB0LnNldEF0dHJpYnV0ZSgnZm9udC1zaXplJywgJzEwJyk7DQogICAgICAgICAgICBtLnNldEF0dHJpYnV0ZSgndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgyMCwyNyknKTsNCiAgICAgICAgICAgIG0uc2V0QXR0cmlidXRlKCdmb250LXNpemUnLCAnMTInKTsNCiAgICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgbWVzc2FnZUFyci5sZW5ndGg7IGsrKykgew0KICAgICAgICAgICAgICAgIHZhciB0cyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAndHNwYW4nKTsNCiAgICAgICAgICAgICAgICB0cy5zZXRBdHRyaWJ1dGUoJ3gnLCAnMCcpOw0KICAgICAgICAgICAgICAgIHRzLnNldEF0dHJpYnV0ZSgneScsIGsgKiAxNik7DQogICAgICAgICAgICAgICAgdHMudGV4dENvbnRlbnQgPSBtZXNzYWdlQXJyW2tdOw0KICAgICAgICAgICAgICAgIG0uYXBwZW5kQ2hpbGQodHMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgby5zZXRBdHRyaWJ1dGUoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoMCwnICsgaGVpZ2h0ICsgJyknKTsNCiAgICAgICAgICAgIG8uYXBwZW5kQ2hpbGQobik7DQogICAgICAgICAgICBvLmFwcGVuZENoaWxkKHQpOw0KICAgICAgICAgICAgby5hcHBlbmRDaGlsZChtKTsNCiAgICAgICAgICAgIGNhcnIucHVzaChvKTsNCiAgICAgICAgICAgIHBvcHVwLmFwcGVuZENoaWxkKG8pOw0KICAgICAgICAgICAgaGVpZ2h0ID0gKG1lc3NhZ2VBcnIubGVuZ3RoICsgMSkgKiAxNiArIGhlaWdodDsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgd2FyciA9IGdldGN3aChwb3B1cCk7DQogICAgICAgIG9saW5lLnNldEF0dHJpYnV0ZSgneCcsICcwJyk7DQogICAgICAgIG9saW5lLnNldEF0dHJpYnV0ZSgneScsICcwJyk7DQogICAgICAgIHZhciBvdyA9IHdhcnJbMF0gKyAxMC41Ow0KICAgICAgICB2YXIgb2ggPSB3YXJyWzFdICsgMzsNCiAgICAgICAgb2xpbmUuc2V0QXR0cmlidXRlKCd3aWR0aCcsIG93KTsNCiAgICAgICAgb2xpbmUuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCBvaCk7DQogICAgICAgIG9saW5lLnNldEF0dHJpYnV0ZSgnZmlsbCcsICd3aGl0ZScpOw0KICAgICAgICBvbGluZS5zZXRBdHRyaWJ1dGUoJ3N0cm9rZScsICcjNjU2NTY1Jyk7DQogICAgICAgIHBvcHVwLmFwcGVuZENoaWxkKG9saW5lKTsNCiAgICAgICAgdmFyIGwgPSBjYXJyLmxlbmd0aDsNCiAgICAgICAgd2hpbGUgKGwtLSkgew0KICAgICAgICAgICAgcG9wdXAuYXBwZW5kQ2hpbGQoY2FycltsXSk7DQogICAgICAgIH0NCiAgICAgICAgcG9wdXAub25tb3VzZW92ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0aGlzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOw0KICAgICAgICB9Ow0KICAgICAgICBwb3B1cC5vbm1vdXNlb3V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdGhpcy5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgY3MgPSBjb21tZW50c1tpXS5xdWVyeVNlbGVjdG9yKCd1c2UnKS5nZXRBdHRyaWJ1dGUoJ3RyYW5zZm9ybScpLm1hdGNoKC9cKChcUyp8XFMqXHNcUyopXCkvKVsxXS5zcGxpdCgvIHwsLyk7DQogICAgICAgIHZhciBwcyA9IGNvbW1lbnRzW2ldLnBhcmVudE5vZGUuZ2V0QXR0cmlidXRlKCd0cmFuc2Zvcm0nKTsNCiAgICAgICAgaWYgKHBzLnN1YnN0cigwLCAyKSA9PSAndHInKSB7DQogICAgICAgICAgICB2YXIgcHBzID0gcHMubWF0Y2goL1woKFxTKnxcUypcc1xTKilcKS8pWzFdLnNwbGl0KC8gfCwvKTsNCiAgICAgICAgICAgIHZhciB4ID0gcGFyc2VGbG9hdChjc1swXSkgKyBwYXJzZUZsb2F0KHBwc1swXSk7DQogICAgICAgICAgICB2YXIgeSA9IHBhcnNlRmxvYXQocHBzWzFdKTsNCiAgICAgICAgICAgIHggPSB4LnRvc3VpdHN2ZygpOw0KICAgICAgICAgICAgeSA9IHkudG9zdWl0c3ZnKCk7DQogICAgICAgICAgICB2YXIgdHJzdHIgPSAndHJhbnNsYXRlKCcgKyB4ICsgJywnICsgeSArICcpJzsNCiAgICAgICAgfQ0KICAgICAgICBlbHNlIGlmIChwcy5zdWJzdHIoMCwgMikgPT0gJ21hJykgew0KICAgICAgICAgICAgdmFyIHBwcyA9IHBzLm1hdGNoKC8oXC0/XGQrKFwuXGQrKT8pW1wsIF0oXC0/XGQrKFwuXGQrKT8pW1wsIF0oXC0/XGQrKFwuXGQrKT8pW1wsIF0oXC0/XGQrKFwuXGQrKT8pW1wsIF0oXC0/XGQrKFwuXGQrKT8pW1wsIF0oXC0/XGQrKFwuXGQrKT8pXCkkLyk7DQogICAgICAgICAgICB2YXIgbWFBcnIgPSBbcGFyc2VGbG9hdChwcHNbMV0pLCBwYXJzZUZsb2F0KHBwc1szXSksIHBhcnNlRmxvYXQocHBzWzVdKSwgcGFyc2VGbG9hdChwcHNbN10pLCBwYXJzZUZsb2F0KHBwc1s5XSksIHBhcnNlRmxvYXQocHBzWzExXSldOw0KICAgICAgICAgICAgaWYgKG1hQXJyWzFdID09IDApIHsNCiAgICAgICAgICAgICAgICB2YXIgeCA9IHBhcnNlRmxvYXQoY3NbMF0pOw0KICAgICAgICAgICAgICAgIHZhciB5ID0gcGFyc2VGbG9hdChjc1sxXSkgKyAxNjsNCiAgICAgICAgICAgICAgICB2YXIgeDEgPSB4ICogbWFBcnJbMF0gKyB5ICogbWFBcnJbMl0gKyBtYUFycls0XTsNCiAgICAgICAgICAgICAgICB2YXIgeTEgPSB4ICogbWFBcnJbMV0gKyB5ICogbWFBcnJbM10gKyBtYUFycls1XTsNCiAgICAgICAgICAgICAgICB4MSA9IHgxLnRvc3VpdHN2ZygpOw0KICAgICAgICAgICAgICAgIHkxID0geTEudG9zdWl0c3ZnKCk7DQogICAgICAgICAgICAgICAgdmFyIHRyc3RyID0gJ3RyYW5zbGF0ZSgnICsgeDEgKyAnLCcgKyB5MSArICcpJzsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgdmFyIHggPSBwYXJzZUZsb2F0KGNzWzBdKSArIDE2Ow0KICAgICAgICAgICAgICAgIHZhciB5ID0gcGFyc2VGbG9hdChjc1sxXSkgKyAxNjsNCiAgICAgICAgICAgICAgICB2YXIgeDEgPSB4ICogbWFBcnJbMF0gKyB5ICogbWFBcnJbMl0gKyBtYUFycls0XTsNCiAgICAgICAgICAgICAgICB2YXIgeTEgPSB4ICogbWFBcnJbMV0gKyB5ICogbWFBcnJbM10gKyBtYUFycls1XTsNCiAgICAgICAgICAgICAgICB4ID0gcGFyc2VGbG9hdChjc1swXSkgKyAxNjsNCiAgICAgICAgICAgICAgICB5ID0gcGFyc2VGbG9hdChjc1sxXSk7DQogICAgICAgICAgICAgICAgdmFyIHgyID0geCAqIG1hQXJyWzBdICsgeSAqIG1hQXJyWzJdICsgbWFBcnJbNF07DQogICAgICAgICAgICAgICAgdmFyIHkyID0geCAqIG1hQXJyWzFdICsgeSAqIG1hQXJyWzNdICsgbWFBcnJbNV07DQogICAgICAgICAgICAgICAgdmFyIGZ4ID0geDEgPCB4MiA/IHgxLnRvc3VpdHN2ZygpIDogeDIudG9zdWl0c3ZnKCk7DQogICAgICAgICAgICAgICAgdmFyIGZ5ID0geTEgPiB5MiA/IHkxLnRvc3VpdHN2ZygpIDogeTIudG9zdWl0c3ZnKCk7DQogICAgICAgICAgICAgICAgdmFyIG9mZnkgPSBNYXRoLmFicyh5MSAtIHkyKTsNCiAgICAgICAgICAgICAgICB2YXIgdHJzdHIgPSAndHJhbnNsYXRlKCcgKyBmeCArICcsJyArIGZ5ICsgJyknOw0KICAgICAgICAgICAgICAgIHBvcHVwUi5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIG9mZnkudG9TdHJpbmcoKSk7DQogICAgICAgICAgICAgICAgcG9wdXBSLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCAnMTYnKTsNCiAgICAgICAgICAgICAgICBwb3B1cFIuc2V0QXR0cmlidXRlKCd5JywgKC1vZmZ5KS50b1N0cmluZygpKTsNCiAgICAgICAgICAgICAgICBwb3B1cFIuc2V0QXR0cmlidXRlKCdmaWxsJywgJ3RyYW5zcGFyZW50Jyk7DQogICAgICAgICAgICAgICAgcG9wdXAuYXBwZW5kQ2hpbGQocG9wdXBSKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBwb3B1cC5zZXRBdHRyaWJ1dGUoJ3RyYW5zZm9ybScsIHRyc3RyKTsNCiAgICAgICAgcG9wdXAuc2V0QXR0cmlidXRlKCdjb21tZW50JywgJycpOw0KICAgICAgICBwb3B1cC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICBsZXQgY29tbWVudGlkID0gY29tbWVudHNbaV0ucGFyZW50Tm9kZS5wYXJlbnROb2RlLmlkICsgIiwiICsgY29tbWVudHNbaV0ucGFyZW50Tm9kZS5pZDsNCiAgICAgICAgcG9wdXAuc2V0QXR0cmlidXRlKCdlZDpjb21tZW50aWQnLCBjb21tZW50aWQpOw0KICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc3ZnLWNvbnRhaW5lciA+IHN2ZzpudGgtY2hpbGQoJyArIGluZGV4ICsgJyknKS5hcHBlbmRDaGlsZChwb3B1cCk7DQogICAgICAgIGNvbW1lbnRzW2ldLm9ubW91c2VvdmVyID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgLy8gdmFyIGNvbW1lbnRpZCA9IHRoaXMucGFyZW50Tm9kZS5pZDsNCiAgICAgICAgICAgIHRoaXMucXVlcnlTZWxlY3RvcigncmVjdCcpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOw0KICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZ1tlZFxcOmNvbW1lbnRpZD0nIiArIGNvbW1lbnRpZCArICInXVtjb21tZW50XSIpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOw0KICAgICAgICB9Ow0KICAgICAgICBjb21tZW50c1tpXS5vbm1vdXNlb3V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgLy8gdmFyIGNvbW1lbnRpZCA9IHRoaXMucGFyZW50Tm9kZS5pZDsNCiAgICAgICAgICAgIC8vICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7DQogICAgICAgICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3JlY3QnKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZ1tlZFxcOmNvbW1lbnRpZD0nIiArIGNvbW1lbnRpZCArICInXVtjb21tZW50XSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICAgIH0NCiAgICB9DQp9DQovLy0tY29tbWVudA0KLy9ub3RlLS0NCmlmICghdWEpIHsNCiAgICBmdW5jdGlvbiBnZXR3aChzLCBwKSB7DQogICAgICAgIHZhciBtYWlucCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOw0KICAgICAgICBtYWlucC5zdHlsZS5jc3NUZXh0ID0gczsNCiAgICAgICAgbWFpbnAuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtYmxvY2snOw0KICAgICAgICBtYWlucC5zdHlsZS5tYXhXaWR0aCA9ICc0MDBweCc7DQogICAgICAgIG1haW5wLnN0eWxlLndvcmRCcmVhayA9ICdicmVhay1hbGwnOw0KICAgICAgICBtYWlucC5pbm5lckhUTUwgPSBwOw0KICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG1haW5wKTsNCiAgICAgICAgdmFyIHcgPSBtYWlucC5jbGllbnRXaWR0aDsNCiAgICAgICAgdmFyIGggPSBtYWlucC5jbGllbnRIZWlnaHQ7DQogICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobWFpbnApOw0KICAgICAgICByZXR1cm4gW3csIGhdDQogICAgfQ0KICAgIHN2Z0VsZW1zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgic3ZnIik7DQogICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8PSBzdmdFbGVtcy5sZW5ndGg7IGluZGV4KyspIHsNCiAgICAgICAgdmFyIG5vdGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc3ZnOm50aC1jaGlsZCgnICsgaW5kZXggKyAnKSBnPmdbZWRcXDpub3RlXScpOw0KICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vdGVzLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICB2YXIgYSA9IG5vdGVzW2ldLmdldEF0dHJpYnV0ZSgnZWQ6bm90ZScpOw0KICAgICAgICAgICAgdmFyIG5vdGVMb2NrID0gbm90ZXNbaV0uZ2V0QXR0cmlidXRlKCdlZDpub3RlbG9jaycpOw0KICAgICAgICAgICAgaWYgKG5vdGVMb2NrID09ICd0cnVlJykgew0KICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdmFyIG1haW5wID0gYS5tYXRjaCgvPGJvZHlbXj5dKj4oLiopPFwvYm9keT4vKVsxXTsNCiAgICAgICAgICAgIHZhciBtYWlucyA9IGEubWF0Y2goL3N0eWxlPSIoLio/KSIvKVsxXTsNCiAgICAgICAgICAgIHZhciBvdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2cnKTsNCiAgICAgICAgICAgIHZhciBvbGluZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAncmVjdCcpOw0KICAgICAgICAgICAgdmFyIHBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdmb3JlaWduT2JqZWN0Jyk7DQogICAgICAgICAgICB2YXIgcG9wdXBSID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdyZWN0Jyk7DQogICAgICAgICAgICB2YXIgaG92ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3JlY3QnKTsNCiAgICAgICAgICAgIGhvdmVyLnNldEF0dHJpYnV0ZSgnZmlsbCcsICcjY2RjZGZmJyk7DQogICAgICAgICAgICBob3Zlci5zZXRBdHRyaWJ1dGUoJ3gnLCAnMCcpOw0KICAgICAgICAgICAgaG92ZXIuc2V0QXR0cmlidXRlKCd5JywgJzAnKTsNCiAgICAgICAgICAgIGhvdmVyLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgJzE2Jyk7DQogICAgICAgICAgICBob3Zlci5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgJzE2Jyk7DQogICAgICAgICAgICBob3Zlci5zZXRBdHRyaWJ1dGUoJ2ZpbGwtb3BhY2l0eScsICcwLjYnKTsNCiAgICAgICAgICAgIGhvdmVyLnNldEF0dHJpYnV0ZSgndHJhbnNmb3JtJywgbm90ZXNbaV0ucXVlcnlTZWxlY3RvcigndXNlJykuZ2V0QXR0cmlidXRlKCd0cmFuc2Zvcm0nKSk7DQogICAgICAgICAgICBob3Zlci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICAgICAgbm90ZXNbaV0uYXBwZW5kQ2hpbGQoaG92ZXIpOw0KICAgICAgICAgICAgcG9wdXAuc3R5bGUuY3NzVGV4dCA9IG1haW5zOw0KICAgICAgICAgICAgcG9wdXAuaW5uZXJIVE1MID0gbWFpbnA7DQogICAgICAgICAgICB2YXIgd2ggPSBnZXR3aChtYWlucywgbWFpbnApOw0KICAgICAgICAgICAgcG9wdXAuc2V0QXR0cmlidXRlKCd3aWR0aCcsIHdoWzBdKTsNCiAgICAgICAgICAgIHBvcHVwLnNldEF0dHJpYnV0ZSgnaGVpZ2h0Jywgd2hbMV0pOw0KICAgICAgICAgICAgcG9wdXAuc2V0QXR0cmlidXRlKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKDgsNCknKTsNCiAgICAgICAgICAgIHBvcHVwLnN0eWxlLndvcmRCcmVhayA9ICdicmVhay1hbGwnOw0KICAgICAgICAgICAgcG9wdXAuc3R5bGUudGV4dEFsaWduID0gJ2xlZnQnOw0KICAgICAgICAgICAgb2xpbmUuc2V0QXR0cmlidXRlKCd4JywgJzAnKTsNCiAgICAgICAgICAgIG9saW5lLnNldEF0dHJpYnV0ZSgneScsICcwJyk7DQogICAgICAgICAgICBvbGluZS5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgd2hbMF0gKyAxNik7DQogICAgICAgICAgICBvbGluZS5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIHdoWzFdICsgOCk7DQogICAgICAgICAgICBvbGluZS5zZXRBdHRyaWJ1dGUoJ3N0cm9rZScsICcjYTI3YTAwJyk7DQogICAgICAgICAgICBvbGluZS5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCAnI2ZmZTc5ZCcpOw0KICAgICAgICAgICAgb3V0LmFwcGVuZENoaWxkKG9saW5lKTsNCiAgICAgICAgICAgIG91dC5hcHBlbmRDaGlsZChwb3B1cCk7DQogICAgICAgICAgICBvdXQuc2V0QXR0cmlidXRlKCdub3RlJywgJycpOw0KICAgICAgICAgICAgb3V0LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICAgICAgICBsZXQgbm90ZWlkID0gbm90ZXNbaV0ucGFyZW50Tm9kZS5wYXJlbnROb2RlLmlkICsgIiwiICsgbm90ZXNbaV0ucGFyZW50Tm9kZS5pZDsNCiAgICAgICAgICAgIG91dC5zZXRBdHRyaWJ1dGUoJ2VkOm5vdGVpZCcsIG5vdGVpZCk7DQogICAgICAgICAgICBvdXQub25tb3VzZW92ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICBvdXQub25tb3VzZW91dCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAvLyAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbiA/IHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVSYW5nZSh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmUpOmRvY3VtZW50LnNlbGVjdGlvbi5lbXB0eSgpOw0KDQogICAgICAgICAgICAgICAgdGhpcy5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBjcyA9IG5vdGVzW2ldLnF1ZXJ5U2VsZWN0b3IoJ3VzZScpLmdldEF0dHJpYnV0ZSgndHJhbnNmb3JtJykubWF0Y2goL1woKFxTKnxcUypcc1xTKilcKS8pWzFdLnNwbGl0KC8gfCwvKTsNCiAgICAgICAgICAgIHZhciBwcyA9IG5vdGVzW2ldLnBhcmVudE5vZGUuZ2V0QXR0cmlidXRlKCd0cmFuc2Zvcm0nKTsNCiAgICAgICAgICAgIGlmIChwcy5zdWJzdHIoMCwgMikgPT0gJ3RyJykgew0KICAgICAgICAgICAgICAgIHZhciBwcHMgPSBwcy5tYXRjaCgvXCgoXFMqfFxTKlxzXFMqKVwpLylbMV0uc3BsaXQoLyB8LC8pOw0KICAgICAgICAgICAgICAgIHZhciB4ID0gcGFyc2VGbG9hdChjc1swXSkgKyBwYXJzZUZsb2F0KHBwc1swXSk7DQogICAgICAgICAgICAgICAgdmFyIHkgPSBwYXJzZUZsb2F0KHBwc1sxXSk7DQogICAgICAgICAgICAgICAgeCA9IHgudG9zdWl0c3ZnKCk7DQogICAgICAgICAgICAgICAgeSA9IHkudG9zdWl0c3ZnKCk7DQogICAgICAgICAgICAgICAgdmFyIHRyc3RyID0gJ3RyYW5zbGF0ZSgnICsgeCArICcsJyArIHkgKyAnKSc7DQogICAgICAgICAgICB9IGVsc2UgaWYgKHBzLnN1YnN0cigwLCAyKSA9PSAnbWEnKSB7DQogICAgICAgICAgICAgICAgdmFyIHBwcyA9IHBzLm1hdGNoKC8oXC0/XGQrKFwuXGQrKT8pW1wsIF0oXC0/XGQrKFwuXGQrKT8pW1wsIF0oXC0/XGQrKFwuXGQrKT8pW1wsIF0oXC0/XGQrKFwuXGQrKT8pW1wsIF0oXC0/XGQrKFwuXGQrKT8pW1wsIF0oXC0/XGQrKFwuXGQrKT8pXCkkLyk7DQogICAgICAgICAgICAgICAgdmFyIG1hQXJyID0gW3BhcnNlRmxvYXQocHBzWzFdKSwgcGFyc2VGbG9hdChwcHNbM10pLCBwYXJzZUZsb2F0KHBwc1s1XSksIHBhcnNlRmxvYXQocHBzWzddKSwgcGFyc2VGbG9hdChwcHNbOV0pLCBwYXJzZUZsb2F0KHBwc1sxMV0pXTsNCiAgICAgICAgICAgICAgICBpZiAobWFBcnJbMV0gPT0gMCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgeCA9IHBhcnNlRmxvYXQoY3NbMF0pOw0KICAgICAgICAgICAgICAgICAgICB2YXIgeSA9IHBhcnNlRmxvYXQoY3NbMV0pICsgMTY7DQogICAgICAgICAgICAgICAgICAgIHZhciB4MSA9IHggKiBtYUFyclswXSArIHkgKiBtYUFyclsyXSArIG1hQXJyWzRdOw0KICAgICAgICAgICAgICAgICAgICB2YXIgeTEgPSB4ICogbWFBcnJbMV0gKyB5ICogbWFBcnJbM10gKyBtYUFycls1XTsNCiAgICAgICAgICAgICAgICAgICAgeDEgPSB4MS50b3N1aXRzdmcoKTsNCiAgICAgICAgICAgICAgICAgICAgeTEgPSB5MS50b3N1aXRzdmcoKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHRyc3RyID0gJ3RyYW5zbGF0ZSgnICsgeDEgKyAnLCcgKyB5MSArICcpJzsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICB2YXIgeCA9IHBhcnNlRmxvYXQoY3NbMF0pICsgMTY7DQogICAgICAgICAgICAgICAgICAgIHZhciB5ID0gcGFyc2VGbG9hdChjc1sxXSkgKyAxNjsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHgxID0geCAqIG1hQXJyWzBdICsgeSAqIG1hQXJyWzJdICsgbWFBcnJbNF07DQogICAgICAgICAgICAgICAgICAgIHZhciB5MSA9IHggKiBtYUFyclsxXSArIHkgKiBtYUFyclszXSArIG1hQXJyWzVdOw0KICAgICAgICAgICAgICAgICAgICB4ID0gcGFyc2VGbG9hdChjc1swXSkgKyAxNjsNCiAgICAgICAgICAgICAgICAgICAgeSA9IHBhcnNlRmxvYXQoY3NbMV0pOw0KICAgICAgICAgICAgICAgICAgICB2YXIgeDIgPSB4ICogbWFBcnJbMF0gKyB5ICogbWFBcnJbMl0gKyBtYUFycls0XTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHkyID0geCAqIG1hQXJyWzFdICsgeSAqIG1hQXJyWzNdICsgbWFBcnJbNV07DQogICAgICAgICAgICAgICAgICAgIHZhciBmeCA9IHgxIDwgeDIgPyB4MS50b3N1aXRzdmcoKSA6IHgyLnRvc3VpdHN2ZygpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZnkgPSB5MSA+IHkyID8geTEudG9zdWl0c3ZnKCkgOiB5Mi50b3N1aXRzdmcoKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG9mZnkgPSBNYXRoLmFicyh5MSAtIHkyKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHRyc3RyID0gJ3RyYW5zbGF0ZSgnICsgZnggKyAnLCcgKyBmeSArICcpJzsNCiAgICAgICAgICAgICAgICAgICAgcG9wdXBSLnNldEF0dHJpYnV0ZSgnaGVpZ2h0Jywgb2ZmeS50b1N0cmluZygpKTsNCiAgICAgICAgICAgICAgICAgICAgcG9wdXBSLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCAnMTYnKTsNCiAgICAgICAgICAgICAgICAgICAgcG9wdXBSLnNldEF0dHJpYnV0ZSgneScsICgtb2ZmeSkudG9TdHJpbmcoKSk7DQogICAgICAgICAgICAgICAgICAgIHBvcHVwUi5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCAndHJhbnNwYXJlbnQnKTsNCiAgICAgICAgICAgICAgICAgICAgcG9wdXAuYXBwZW5kQ2hpbGQocG9wdXBSKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBvdXQuc2V0QXR0cmlidXRlKCd0cmFuc2Zvcm0nLCB0cnN0cik7DQogICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc3ZnLWNvbnRhaW5lciA+IHN2ZzpudGgtY2hpbGQoJyArIGluZGV4ICsgJyknKS5hcHBlbmRDaGlsZChvdXQpOw0KICAgICAgICAgICAgbm90ZXNbaV0ub25tb3VzZW92ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgLy8gdmFyIG5vdGVpZCA9IG5vdGVpZDsNCiAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3JlY3QnKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJnW2VkXFw6bm90ZWlkPSciICsgbm90ZWlkICsgIiddW25vdGVdIikuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgbm90ZXNbaV0ub25tb3VzZW91dCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAvLyB2YXIgbm90ZWlkID0gbm90ZWlkOw0KICAgICAgICAgICAgICAgIC8vICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7DQogICAgICAgICAgICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yKCdyZWN0Jykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJnW2VkXFw6bm90ZWlkPSciICsgbm90ZWlkICsgIiddW25vdGVdIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCn0gZWxzZSB7DQogICAgY29uc29sZS5sb2coJ+aKseatie+8jElF5rWP6KeI5Zmo5LiN5pSv5oyBbm90Zeino+aekO+8jOivt+S9v+eUqOWFtuS7luWGheaguOa1j+iniOWZqOOAguiwouiwou+8gScpDQp9DQovLy0tbm90ZQ0KLy9oeXBlcmxpbmstLQ0KZnVuY3Rpb24gZ2V0bWF4bGVuKGFyciwgYnJyKSB7DQogICAgdmFyIGwgPSAwOw0KICAgIHZhciBsbCA9IDA7DQogICAgZm9yICh2YXIgaiA9IDA7IGogPCBhcnIubGVuZ3RoOyBqKyspIHsNCiAgICAgICAgdmFyIGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3RleHQnKTsNCiAgICAgICAgaWYgKCFpc05hTihsaW5rYXJyW2pdKSkgew0KICAgICAgICAgICAgZS50ZXh0Q29udGVudCA9ICdQYWdlLScgKyBhcnJbal07DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBlLnRleHRDb250ZW50ID0gYXJyW2pdOw0KICAgICAgICB9DQogICAgICAgIGUuc3R5bGUuZm9udFNpemUgPSAnMTJweCc7DQogICAgICAgIGRvY3VtZW50LmJvZHkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3N2ZycpWzBdLmFwcGVuZENoaWxkKGUpOw0KICAgICAgICB2YXIgZXcgPSBlLmdldEJCb3goKS53aWR0aDsNCiAgICAgICAgZG9jdW1lbnQuYm9keS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc3ZnJylbMF0ucmVtb3ZlQ2hpbGQoZSk7DQogICAgICAgIHZhciBoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICd0ZXh0Jyk7DQogICAgICAgIGgudGV4dENvbnRlbnQgPSBicnJbal07DQogICAgICAgIGguc3R5bGUuZm9udFNpemUgPSAnMTJweCc7DQogICAgICAgIGguc3R5bGUuZm9udFdlaWdodCA9ICdib2xkJzsNCiAgICAgICAgZG9jdW1lbnQuYm9keS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc3ZnJylbMF0uYXBwZW5kQ2hpbGQoaCk7DQogICAgICAgIHZhciBodyA9IGguZ2V0QkJveCgpLndpZHRoOw0KICAgICAgICBkb2N1bWVudC5ib2R5LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzdmcnKVswXS5yZW1vdmVDaGlsZChoKTsNCiAgICAgICAgbCA9IGV3ID4gaHcgPyBldyA6IGh3Ow0KICAgICAgICBsbCA9IGwgPiBsbCA/IGwgOiBsbDsNCiAgICB9DQogICAgcmV0dXJuIGxsOw0KfQ0Kc3ZnRWxlbXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJzdmciKTsNCmZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPD0gc3ZnRWxlbXMubGVuZ3RoOyBpbmRleCsrKSB7DQogICAgbGV0IHN2Z0VsZW0gPSBzdmdFbGVtc1tpbmRleF07DQogICAgbGV0IGxpbmtzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgic3ZnOm50aC1jaGlsZCgiICsgaW5kZXggKyAiKSBnPmdbZWRcXDpoeXBlcmxpbmtdIikNCiAgICBjb25zb2xlLmxvZyhsaW5rcyk7DQogICAgLy8gdmFyIGxpbmtzPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2c+Z1tlZFxcOmh5cGVybGlua10nKTsNCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmtzLmxlbmd0aDsgaSsrKSB7DQogICAgICAgIHZhciBwb3B1cCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnZycpOw0KICAgICAgICB2YXIgcG9wdXBSID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdyZWN0Jyk7DQogICAgICAgIHZhciBob3ZlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAncmVjdCcpOw0KICAgICAgICB2YXIgZGVzY2FyciA9IFtdOw0KICAgICAgICB2YXIgbGlua2FyciA9IFtdOw0KICAgICAgICBob3Zlci5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCAnI2NkY2RmZicpOw0KICAgICAgICBob3Zlci5zZXRBdHRyaWJ1dGUoJ3gnLCAnMCcpOw0KICAgICAgICBob3Zlci5zZXRBdHRyaWJ1dGUoJ3knLCAnMCcpOw0KICAgICAgICBob3Zlci5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsICcxNicpOw0KICAgICAgICBob3Zlci5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgJzE2Jyk7DQogICAgICAgIGhvdmVyLnNldEF0dHJpYnV0ZSgnZmlsbC1vcGFjaXR5JywgJzAuNicpOw0KICAgICAgICBob3Zlci5zZXRBdHRyaWJ1dGUoJ3RyYW5zZm9ybScsIGxpbmtzW2ldLnF1ZXJ5U2VsZWN0b3IoJ3VzZScpLmdldEF0dHJpYnV0ZSgndHJhbnNmb3JtJykpOw0KICAgICAgICBob3Zlci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICBsaW5rc1tpXS5hcHBlbmRDaGlsZChob3Zlcik7DQogICAgICAgIC8vIGNvbnNvbGUubG9nKGxpbmtzW2ldLmdldEF0dHJpYnV0ZSgnZWQ6aHlwZXJsaW5rJykpOw0KICAgICAgICB2YXIgYSA9IEpTT04ucGFyc2UobGlua3NbaV0uZ2V0QXR0cmlidXRlKCdlZDpoeXBlcmxpbmsnKSk7DQogICAgICAgIHZhciBjcyA9IGxpbmtzW2ldLnF1ZXJ5U2VsZWN0b3IoJ3VzZScpLmdldEF0dHJpYnV0ZSgndHJhbnNmb3JtJykubWF0Y2goL1woKFxTKnxcUypcc1xTKilcKS8pWzFdLnNwbGl0KC8gfCwvKTsNCiAgICAgICAgdmFyIHBzID0gbGlua3NbaV0ucGFyZW50Tm9kZS5nZXRBdHRyaWJ1dGUoJ3RyYW5zZm9ybScpOw0KICAgICAgICBpZiAocHMuc3Vic3RyKDAsIDIpID09ICd0cicpIHsNCiAgICAgICAgICAgIHZhciBwcHMgPSBwcy5tYXRjaCgvXCgoXFMqfFxTKlxzXFMqKVwpLylbMV0uc3BsaXQoLyB8LC8pOw0KICAgICAgICAgICAgdmFyIHggPSBwYXJzZUZsb2F0KGNzWzBdKSArIHBhcnNlRmxvYXQocHBzWzBdKTsNCiAgICAgICAgICAgIHZhciB5ID0gcGFyc2VGbG9hdChwcHNbMV0pOw0KICAgICAgICAgICAgeCA9IHgudG9zdWl0c3ZnKCk7DQogICAgICAgICAgICB5ID0geS50b3N1aXRzdmcoKTsNCiAgICAgICAgICAgIHZhciB0cnN0ciA9ICd0cmFuc2xhdGUoJyArIHggKyAnLCcgKyB5ICsgJyknOw0KICAgICAgICB9IGVsc2UgaWYgKHBzLnN1YnN0cigwLCAyKSA9PSAnbWEnKSB7DQogICAgICAgICAgICB2YXIgcHBzID0gcHMubWF0Y2goLyhcLT9cZCsoXC5cZCspPylbXCwgXShcLT9cZCsoXC5cZCspPylbXCwgXShcLT9cZCsoXC5cZCspPylbXCwgXShcLT9cZCsoXC5cZCspPylbXCwgXShcLT9cZCsoXC5cZCspPylbXCwgXShcLT9cZCsoXC5cZCspPylcKSQvKTsNCiAgICAgICAgICAgIHZhciBtYUFyciA9IFtwYXJzZUZsb2F0KHBwc1sxXSksIHBhcnNlRmxvYXQocHBzWzNdKSwgcGFyc2VGbG9hdChwcHNbNV0pLCBwYXJzZUZsb2F0KHBwc1s3XSksIHBhcnNlRmxvYXQocHBzWzldKSwgcGFyc2VGbG9hdChwcHNbMTFdKV07DQogICAgICAgICAgICBpZiAobWFBcnJbMV0gPT0gMCkgew0KICAgICAgICAgICAgICAgIHZhciB4ID0gcGFyc2VGbG9hdChjc1swXSk7DQogICAgICAgICAgICAgICAgdmFyIHkgPSBwYXJzZUZsb2F0KGNzWzFdKSArIDE2Ow0KICAgICAgICAgICAgICAgIHZhciB4MSA9IHggKiBtYUFyclswXSArIHkgKiBtYUFyclsyXSArIG1hQXJyWzRdOw0KICAgICAgICAgICAgICAgIHZhciB5MSA9IHggKiBtYUFyclsxXSArIHkgKiBtYUFyclszXSArIG1hQXJyWzVdOw0KICAgICAgICAgICAgICAgIHgxID0geDEudG9zdWl0c3ZnKCk7DQogICAgICAgICAgICAgICAgeTEgPSB5MS50b3N1aXRzdmcoKTsNCiAgICAgICAgICAgICAgICB2YXIgdHJzdHIgPSAndHJhbnNsYXRlKCcgKyB4MSArICcsJyArIHkxICsgJyknOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB2YXIgeCA9IHBhcnNlRmxvYXQoY3NbMF0pICsgMTY7DQogICAgICAgICAgICAgICAgdmFyIHkgPSBwYXJzZUZsb2F0KGNzWzFdKSArIDE2Ow0KICAgICAgICAgICAgICAgIHZhciB4MSA9IHggKiBtYUFyclswXSArIHkgKiBtYUFyclsyXSArIG1hQXJyWzRdOw0KICAgICAgICAgICAgICAgIHZhciB5MSA9IHggKiBtYUFyclsxXSArIHkgKiBtYUFyclszXSArIG1hQXJyWzVdOw0KICAgICAgICAgICAgICAgIHggPSBwYXJzZUZsb2F0KGNzWzBdKSArIDE2Ow0KICAgICAgICAgICAgICAgIHkgPSBwYXJzZUZsb2F0KGNzWzFdKTsNCiAgICAgICAgICAgICAgICB2YXIgeDIgPSB4ICogbWFBcnJbMF0gKyB5ICogbWFBcnJbMl0gKyBtYUFycls0XTsNCiAgICAgICAgICAgICAgICB2YXIgeTIgPSB4ICogbWFBcnJbMV0gKyB5ICogbWFBcnJbM10gKyBtYUFycls1XTsNCiAgICAgICAgICAgICAgICB2YXIgZnggPSB4MSA8IHgyID8geDEudG9zdWl0c3ZnKCkgOiB4Mi50b3N1aXRzdmcoKTsNCiAgICAgICAgICAgICAgICB2YXIgZnkgPSB5MSA+IHkyID8geTEudG9zdWl0c3ZnKCkgOiB5Mi50b3N1aXRzdmcoKTsNCiAgICAgICAgICAgICAgICB2YXIgb2ZmeSA9IE1hdGguYWJzKHkxIC0geTIpOw0KICAgICAgICAgICAgICAgIHZhciB0cnN0ciA9ICd0cmFuc2xhdGUoJyArIGZ4ICsgJywnICsgZnkgKyAnKSc7DQogICAgICAgICAgICAgICAgcG9wdXBSLnNldEF0dHJpYnV0ZSgnaGVpZ2h0Jywgb2ZmeS50b1N0cmluZygpKTsNCiAgICAgICAgICAgICAgICBwb3B1cFIuc2V0QXR0cmlidXRlKCd3aWR0aCcsICcxNicpOw0KICAgICAgICAgICAgICAgIHBvcHVwUi5zZXRBdHRyaWJ1dGUoJ3knLCAoLW9mZnkpLnRvU3RyaW5nKCkpOw0KICAgICAgICAgICAgICAgIHBvcHVwUi5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCAndHJhbnNwYXJlbnQnKTsNCiAgICAgICAgICAgICAgICBwb3B1cC5hcHBlbmRDaGlsZChwb3B1cFIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhbCA9IGEubGVuZ3RoOw0KICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGFsOyBqKyspIHsNCiAgICAgICAgICAgIGxpbmthcnIucHVzaChhW2pdLmxpbmspOw0KICAgICAgICAgICAgZGVzY2Fyci5wdXNoKGFbal0uZGVzYyk7DQogICAgICAgIH0NCiAgICAgICAgcG9wdXAuc2V0QXR0cmlidXRlKCd0cmFuc2Zvcm0nLCB0cnN0cik7DQogICAgICAgIHZhciBtYXggPSBnZXRtYXhsZW4obGlua2FyciwgZGVzY2Fycik7DQogICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgYWw7IGsrKykgew0KICAgICAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2EnKTsNCiAgICAgICAgICAgIHZhciBkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdyZWN0Jyk7DQogICAgICAgICAgICB2YXIgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAndGV4dCcpOw0KICAgICAgICAgICAgdmFyIGYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3RleHQnKTsNCiAgICAgICAgICAgIGlmIChpc05hTihsaW5rYXJyW2tdKSkgew0KICAgICAgICAgICAgICAgIGMuc2V0QXR0cmlidXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInhsaW5rIiwgImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiKTsNCiAgICAgICAgICAgICAgICBjLnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwgImhyZWYiLCBsaW5rYXJyW2tdKTsNCiAgICAgICAgICAgICAgICBjLnNldEF0dHJpYnV0ZSgndGFyZ2V0JywgJ19ibGFuaycpOw0KICAgICAgICAgICAgICAgIGUudGV4dENvbnRlbnQgPSBsaW5rYXJyW2tdOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBlLnRleHRDb250ZW50ID0gJ1BhZ2UtJyArIGxpbmthcnJba107DQogICAgICAgICAgICAgICAgYy5zZXRBdHRyaWJ1dGVOUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAieGxpbmsiLCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIpOw0KICAgICAgICAgICAgICAgIGMuc2V0QXR0cmlidXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCAiaHJlZiIsICIjIiArIGxpbmthcnJba10pOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgbWF4ICsgMTApOw0KICAgICAgICAgICAgZC5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsICczMycpOw0KICAgICAgICAgICAgZC5zZXRBdHRyaWJ1dGUoJ3N0cm9rZScsICcjOTk5OTk5Jyk7DQogICAgICAgICAgICBkLnNldEF0dHJpYnV0ZSgnZmlsbCcsICd3aGl0ZScpOw0KICAgICAgICAgICAgZC5zZXRBdHRyaWJ1dGUoJ3knLCAzMyAqIGspOw0KICAgICAgICAgICAgZi50ZXh0Q29udGVudCA9IGRlc2NhcnJba107DQogICAgICAgICAgICBmLnN0eWxlLmZvbnRTaXplID0gJzEycHgnOw0KICAgICAgICAgICAgZi5zdHlsZS5mb250V2VpZ2h0ID0gJ2JvbGQnOw0KICAgICAgICAgICAgZi5zZXRBdHRyaWJ1dGUoJ3gnLCA1KTsNCiAgICAgICAgICAgIGYuc2V0QXR0cmlidXRlKCd5JywgMzMgKiBrICsgMTIpOw0KICAgICAgICAgICAgZS5zdHlsZS5mb250U2l6ZSA9ICcxMnB4JzsNCiAgICAgICAgICAgIGUuc2V0QXR0cmlidXRlKCd5JywgMzMgKiBrICsgMjgpOw0KICAgICAgICAgICAgZS5zZXRBdHRyaWJ1dGUoJ3gnLCA1KTsNCiAgICAgICAgICAgIGMuYXBwZW5kQ2hpbGQoZCk7DQogICAgICAgICAgICBjLmFwcGVuZENoaWxkKGYpOw0KICAgICAgICAgICAgYy5hcHBlbmRDaGlsZChlKTsNCiAgICAgICAgICAgIGMub25tb3VzZW92ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yKCdyZWN0Jykuc3R5bGUuZmlsbCA9ICcjZTFlMWZmJw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIGMub25tb3VzZW91dCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3JlY3QnKS5zdHlsZS5maWxsID0gJ3doaXRlJw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHBvcHVwLmFwcGVuZENoaWxkKGMpOw0KICAgICAgICB9DQogICAgICAgIHBvcHVwLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICAgIHBvcHVwLnNldEF0dHJpYnV0ZSgnaHlwZXJsaW5rJywgJycpOw0KICAgICAgICBwb3B1cC5zZXRBdHRyaWJ1dGUoJ2VkOmxpbmtpZCcsIGxpbmtzW2ldLnBhcmVudE5vZGUucGFyZW50Tm9kZS5pZCArICIsIiArIGxpbmtzW2ldLnBhcmVudE5vZGUuaWQpOw0KICAgICAgICBwb3B1cC5vbm1vdXNlb3ZlciA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRoaXMuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7DQogICAgICAgIH07DQogICAgICAgIHBvcHVwLm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0aGlzLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICAgIH07DQogICAgICAgIHBvcHVwLm9ubW91c2VvdXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0aGlzLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICAgIH07DQogICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzdmctY29udGFpbmVyID4gc3ZnOm50aC1jaGlsZCgnICsgaW5kZXggKyAnKScpLmFwcGVuZENoaWxkKHBvcHVwKTsNCiAgICAgICAgbGlua3NbaV0ub25tb3VzZW92ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YXIgbGlua2lkID0gdGhpcy5wYXJlbnROb2RlLnBhcmVudE5vZGUuaWQgKyAiLCIgKyB0aGlzLnBhcmVudE5vZGUuaWQ7DQogICAgICAgICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3JlY3QnKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsNCiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImdbZWRcXDpsaW5raWQ9JyIgKyBsaW5raWQgKyAiJ11baHlwZXJsaW5rXSIpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOw0KICAgICAgICAgICAgLy8gcG9wdXAuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7DQogICAgICAgIH0NCiAgICAgICAgbGlua3NbaV0ub25tb3VzZW91dCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIC8vIHZhciBsaW5raWQgPSB0aGlzLnBhcmVudE5vZGUuaWQ7DQogICAgICAgICAgICB2YXIgbGlua2lkID0gdGhpcy5wYXJlbnROb2RlLnBhcmVudE5vZGUuaWQgKyAiLCIgKyB0aGlzLnBhcmVudE5vZGUuaWQ7DQogICAgICAgICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3JlY3QnKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZ1tlZFxcOmxpbmtpZD0nIiArIGxpbmtpZCArICInXVtoeXBlcmxpbmtdIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsNCiAgICAgICAgICAgIC8vIHBvcHVwLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICAgIH0NCiAgICB9DQp9DQoNCi8vLS1oeXBlcmxpbmsNCi8vaW5pdGlhbGl6ZS0tDQp2YXIgc2hhcGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdnW2VkXFw6dG9ndG9waWNpZF0nKTsNCnZhciBtSWQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdnW2VkXFw6dG9waWN0eXBlXScpOw0KdmFyIGRhdGFUcmVlID0ge307DQp2YXIgZXh0cmFSZWxhID0ge307DQp2YXIgY2hlY2tJRCA9ICcnOw0KZm9yICh2YXIgaSA9IDA7IGkgPCBtSWQubGVuZ3RoOyBpKyspIHsNCiAgICB2YXIgdHlwZSA9IG1JZFtpXS5nZXRBdHRyaWJ1dGUoJ2VkOnRvcGljdHlwZScpOw0KICAgIHZhciBzaWQgPSBtSWRbaV0uaWQ7DQogICAgaWYgKHR5cGUgIT09ICdjYWxsb3V0Jykgew0KICAgICAgICBpbml0KHNpZCwgZGF0YVRyZWUpDQogICAgfQ0KfQ0KZnVuY3Rpb24gaW5pdChpZCwgb2JqKSB7DQogICAgdmFyIGNoaWxkcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImdbZWRcXDpwYXJlbnRpZD0nIiArIGlkICsgIiddOm5vdChbZWRcXDp0b3BpY3R5cGVdKSIpOw0KICAgIHZhciBjYWxscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImdbZWRcXDpwYXJlbnRpZD0nIiArIGlkICsgIiddW2VkXFw6dG9waWN0eXBlXSIpOw0KICAgIHZhciBzdW1tYXJ5ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgicGF0aFtlZFxcOnBhcmVudGlkKj0nIiArIGlkICsgIiddW2VkXFw6dHlwZT0nc3VtbWFyeSddIik7DQogICAgdmFyIGJvdW5kYXJ5ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgicGF0aFtlZFxcOnBhcmVudGlkKj0nIiArIGlkICsgIiddW2VkXFw6dHlwZT0nYm91bmRhcnknXSIpOw0KICAgIHZhciByZWxhZnJvbSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImdbZWRcXDpmcm9taWQqPSciICsgaWQgKyAiJ11bZWRcXDp0eXBlPSdyZWxhdGlvbiddIik7DQogICAgdmFyIHJlbGF0byA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImdbZWRcXDp0b2lkKj0nIiArIGlkICsgIiddW2VkXFw6dHlwZT0ncmVsYXRpb24nXSIpOw0KICAgIG9ialsibSIgKyBpZF0gPSB7fTsNCiAgICB2YXIgdHlwZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5nZXRBdHRyaWJ1dGUoJ2VkOnRvcGljdHlwZScpOw0KICAgIHZhciBpdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5nZXRBdHRyaWJ1dGUoJ2VkOndpZHRoJyk7DQogICAgdmFyIGloID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLmdldEF0dHJpYnV0ZSgnZWQ6aGVpZ2h0Jyk7DQogICAgaWYgKHR5cGUpIHsNCiAgICAgICAgb2JqWyJtIiArIGlkXS50eXBlID0gdHlwZTsNCiAgICB9DQogICAgaWYgKGl3ICYmIGloKSB7DQogICAgICAgIG9ialsibSIgKyBpZF0ud2lkdGggPSBpdzsNCiAgICAgICAgb2JqWyJtIiArIGlkXS5oZWlnaHQgPSBpaDsNCiAgICB9DQogICAgaWYgKHJlbGFmcm9tLmxlbmd0aCAhPT0gMCkgew0KICAgICAgICBvYmpbIm0iICsgaWRdLnJlbGFmcm9tID0ge307DQogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVsYWZyb20ubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIHZhciBpbmRleGlkID0gcmVsYWZyb21baV0uaWQ7DQogICAgICAgICAgICB2YXIgdG9pZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGluZGV4aWQpLmdldEF0dHJpYnV0ZSgnZWQ6dG9pZCcpOw0KICAgICAgICAgICAgaWYgKGV4dHJhUmVsYVtpbmRleGlkXSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgICAgICAgZXh0cmFSZWxhW2luZGV4aWRdID0gew0KICAgICAgICAgICAgICAgICAgICBpZDogaW5kZXhpZCwNCiAgICAgICAgICAgICAgICAgICAgZnJvbWlkOiBpZCwNCiAgICAgICAgICAgICAgICAgICAgdG9pZDogdG9pZCwNCiAgICAgICAgICAgICAgICAgICAgaXNDOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgICAgICBvYmpbIm0iICsgaWRdLnJlbGFmcm9tW2luZGV4aWRdID0ge307DQogICAgICAgICAgICBvYmpbIm0iICsgaWRdLnJlbGFmcm9tLmRpc3BsYXkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkuc3R5bGUuZGlzcGxheSAhPT0gJ25vbmUnID8gJ2Jsb2NrJyA6ICdub25lJzsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBpZiAocmVsYXRvLmxlbmd0aCAhPT0gMCkgew0KICAgICAgICBvYmpbIm0iICsgaWRdLnJlbGF0byA9IHt9Ow0KICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlbGF0by5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgdmFyIGluZGV4aWQgPSByZWxhdG9baV0uaWQ7DQogICAgICAgICAgICB2YXIgZnJvbWlkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5kZXhpZCkuZ2V0QXR0cmlidXRlKCdlZDpmcm9taWQnKTsNCiAgICAgICAgICAgIGlmIChleHRyYVJlbGFbaW5kZXhpZF0gPT09IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgIGV4dHJhUmVsYVtpbmRleGlkXSA9IHsNCiAgICAgICAgICAgICAgICAgICAgaWQ6IGluZGV4aWQsDQogICAgICAgICAgICAgICAgICAgIGZyb21pZDogZnJvbWlkLA0KICAgICAgICAgICAgICAgICAgICB0b2lkOiBpZCwNCiAgICAgICAgICAgICAgICAgICAgaXNDOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgICAgICBvYmpbIm0iICsgaWRdLnJlbGF0b1tpbmRleGlkXSA9IHt9Ow0KICAgICAgICAgICAgb2JqWyJtIiArIGlkXS5yZWxhdG8uZGlzcGxheSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5zdHlsZS5kaXNwbGF5ICE9PSAnbm9uZScgPyAnYmxvY2snIDogJ25vbmUnOw0KICAgICAgICB9DQogICAgfQ0KICAgIGlmIChjaGlsZHMubGVuZ3RoICE9PSAwKSB7DQogICAgICAgIG9ialsibSIgKyBpZF0uY2hpbGQgPSB7fTsNCiAgICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImdbZWRcXDp0b2d0b3BpY2lkPSciICsgaWQgKyAiJ10iKSkgew0KICAgICAgICAgICAgLy8gY29uc29sZS5sb2coZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZ1tlZFxcOnRvZ3RvcGljaWQ9JyIgKyBpZCArICInXSIpLmNoaWxkTm9kZXNbMF0uZ2V0QXR0cmlidXRlKCd4bGluazpocmVmJykpOw0KICAgICAgICAgICAgdmFyIHRvZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImdbZWRcXDp0b2d0b3BpY2lkPSciICsgaWQgKyAiJ10iKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgndXNlJylbMF0uZ2V0QXR0cmlidXRlKCd4bGluazpocmVmJykuc2xpY2UoMSk7DQogICAgICAgICAgICBvYmpbIm0iICsgaWRdLnRvZ3R5cGUgPSB0b2c7DQogICAgICAgIH0NCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHMubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIHZhciBjaWQgPSBjaGlsZHNbaV0uaWQ7DQogICAgICAgICAgICBpbml0KGNpZCwgb2JqWyJtIiArIGlkXS5jaGlsZCk7DQogICAgICAgIH0NCiAgICB9DQogICAgaWYgKGNhbGxzLmxlbmd0aCAhPT0gMCkgew0KICAgICAgICBvYmpbIm0iICsgaWRdLmNhbGwgPSB7fTsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYWxscy5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgdmFyIGNpZCA9IGNhbGxzW2ldLmlkOw0KICAgICAgICAgICAgaW5pdChjaWQsIG9ialsibSIgKyBpZF0uY2FsbCk7DQogICAgICAgIH0NCiAgICB9DQogICAgaWYgKGJvdW5kYXJ5Lmxlbmd0aCAhPT0gMCkgew0KICAgICAgICBvYmpbIm0iICsgaWRdLmJvdW5kYXJ5ID0ge307DQogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYm91bmRhcnkubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIHZhciBjaWQgPSBib3VuZGFyeVtpXS5pZDsNCiAgICAgICAgICAgIGluaXQoY2lkLCBvYmpbIm0iICsgaWRdLmJvdW5kYXJ5KTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBpZiAoc3VtbWFyeS5sZW5ndGggIT09IDApIHsNCiAgICAgICAgb2JqWyJtIiArIGlkXS5zdW1tYXJ5ID0ge307DQogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3VtbWFyeS5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgdmFyIGNpZCA9IHN1bW1hcnlbaV0uaWQ7DQogICAgICAgICAgICBpbml0KGNpZCwgb2JqWyJtIiArIGlkXS5zdW1tYXJ5KTsNCiAgICAgICAgfQ0KICAgIH0NCn0NCi8vLS1pbml0aWFsaXplDQovL3RvZ2dsZWRpc3BsYXktLQ0KdmFyIGNoYWluQXJyID0gW107DQpmdW5jdGlvbiBnZXRjaGFpbihpZCkgew0KICAgIGNoYWluQXJyLnVuc2hpZnQoJ20nICsgaWQpOw0KICAgIHZhciBwYXJlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkuZ2V0QXR0cmlidXRlKCdlZDpwYXJlbnRpZCcpOw0KICAgIGlmICghcGFyZW50KSB7DQogICAgICAgIHJldHVybjsNCiAgICB9DQogICAgaWYgKHBhcmVudC5tYXRjaCgvXCwvKSkgew0KICAgICAgICBwYXJlbnQgPSBwYXJlbnQubWF0Y2goL1xkKyg/PVwsKS8pWzBdDQogICAgfQ0KICAgIGdldGNoYWluKHBhcmVudCk7DQp9DQpmdW5jdGlvbiBnZXRvYmooaWQpIHsNCiAgICBjaGFpbkFyciA9IFtdOw0KICAgIGdldGNoYWluKGlkKTsNCiAgICB2YXIgbWFpbiA9IGNoYWluQXJyWzBdOw0KICAgIGlmIChjaGFpbkFyci5sZW5ndGggPiAxKSB7DQogICAgICAgIHZhciBvYmogPSBkYXRhVHJlZVttYWluXTsNCiAgICAgICAgLy8gY29uc29sZS5sb2coY2hhaW5BcnIpOw0KICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGNoYWluQXJyLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICB2YXIgYSA9IGNoYWluQXJyW2ldOw0KICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBPYmplY3Qua2V5cyhvYmopLmxlbmd0aDsgaisrKSB7DQogICAgICAgICAgICAgICAgdmFyIGNvYmogPSBvYmpbT2JqZWN0LmtleXMob2JqKVtqXV1bYV07DQogICAgICAgICAgICAgICAgaWYgKGNvYmopIHsNCiAgICAgICAgICAgICAgICAgICAgb2JqID0gY29iajsNCiAgICAgICAgICAgICAgICAgICAgY29udGludWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIG9iag0KICAgIH0gZWxzZSB7DQogICAgICAgIHZhciBvYmogPSBkYXRhVHJlZVttYWluXTsNCiAgICAgICAgcmV0dXJuIG9iag0KICAgIH0NCg0KfQ0KZm9yICh2YXIgaSA9IDA7IGkgPCBzaGFwZS5sZW5ndGg7IGkrKykgew0KICAgIHNoYXBlW2ldLm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIHZhciBpZCA9IE51bWJlcih0aGlzLmdldEF0dHJpYnV0ZSgnZWQ6dG9ndG9waWNpZCcpKTsNCiAgICAgICAgdmFyIG9iaiA9IGdldG9iaihpZCk7DQoNCiAgICAgICAgdmFyIHR5cGUgPSBvYmoudG9ndHlwZSA9PT0gJ21pbnVzJyA/ICdwbHVzJyA6ICdtaW51cyc7DQogICAgICAgIHZhciBkaXNwbGF5ID0gb2JqLnRvZ3R5cGUgPT09ICdtaW51cycgPyAnbm9uZScgOiAnYmxvY2snOw0KICAgICAgICB0aGlzLmdldEVsZW1lbnRzQnlUYWdOYW1lKCd1c2UnKVswXS5zZXRBdHRyaWJ1dGUoJ3hsaW5rOmhyZWYnLCAnIycgKyB0eXBlKTsNCiAgICAgICAgb2JqLnRvZ3R5cGUgPSB0eXBlOw0KICAgICAgICBjaGVja0lEID0gb2JqOw0KDQogICAgICAgIHV0ZChvYmosIGlkLCBkaXNwbGF5KTsNCiAgICAgICAgZXh0cmFSZWxhRmluKCk7DQogICAgfQ0KfQ0KZnVuY3Rpb24gdXRkKG9iaiwgaWQsIHNob3csIG9jKSB7DQoNCiAgICB2YXIgcHNob3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkuc3R5bGUuZGlzcGxheSAhPT0gJ25vbmUnID8gJ2Jsb2NrJyA6ICdub25lJzsNCiAgICBpZiAob2JqLnJlbGFmcm9tKSB7DQogICAgICAgIGlmIChvYmoucmVsYWZyb20uZGlzcGxheSAhPT0gcHNob3cpIHsNCiAgICAgICAgICAgIHZhciByZWxhZnJvbXMgPSBPYmplY3Qua2V5cyhvYmoucmVsYWZyb20pOw0KICAgICAgICAgICAgcmVsYWZyb21zLnNwbGljZShyZWxhZnJvbXMuaW5kZXhPZignZGlzcGxheScpLCAxKTsNCiAgICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgcmVsYWZyb21zLmxlbmd0aDsgaysrKSB7DQogICAgICAgICAgICAgICAgdmFyIGQgPSByZWxhZnJvbXNba107DQogICAgICAgICAgICAgICAgZXh0cmFSZWxhW2RdLmlzQyA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBvYmoucmVsYWZyb20uZGlzcGxheSA9IHBzaG93Ow0KICAgICAgICB9DQogICAgfQ0KICAgIGlmIChvYmoucmVsYXRvKSB7DQogICAgICAgIGlmIChvYmoucmVsYXRvLmRpc3BsYXkgIT09IHBzaG93KSB7DQogICAgICAgICAgICB2YXIgcmVsYXRvcyA9IE9iamVjdC5rZXlzKG9iai5yZWxhdG8pOw0KICAgICAgICAgICAgcmVsYXRvcy5zcGxpY2UocmVsYXRvcy5pbmRleE9mKCdkaXNwbGF5JyksIDEpOw0KICAgICAgICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCByZWxhdG9zLmxlbmd0aDsgaysrKSB7DQogICAgICAgICAgICAgICAgdmFyIGQgPSByZWxhdG9zW2tdOw0KICAgICAgICAgICAgICAgIGV4dHJhUmVsYVtkXS5pc0MgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgb2JqLnJlbGF0by5kaXNwbGF5ID0gcHNob3c7DQogICAgICAgIH0NCiAgICB9DQogICAgaWYgKG9iai5jYWxsKSB7DQogICAgICAgIHZhciBjYWxscyA9IE9iamVjdC5rZXlzKG9iai5jYWxsKTsNCiAgICAgICAgaWYgKGNoZWNrSUQgIT09IG9iaikgew0KICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYWxscy5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgICAgIHZhciBhID0gY2FsbHNbaV0uc2xpY2UoMSk7DQogICAgICAgICAgICAgICAgdmFyIGIgPSBvYmouY2FsbFtjYWxsc1tpXV07DQogICAgICAgICAgICAgICAgdmFyIGMgPSBiLnRvZ3R5cGU7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYSkuc3R5bGUuZGlzcGxheSA9IHNob3c7DQogICAgICAgICAgICAgICAgaWYgKGIucmVsYWZyb20gJiYgIWMpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGIucmVsYWZyb20uZGlzcGxheSAhPT0gc2hvdykgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlbGFmcm9tcyA9IE9iamVjdC5rZXlzKGIucmVsYWZyb20pOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmVsYWZyb21zLnNwbGljZShyZWxhZnJvbXMuaW5kZXhPZignZGlzcGxheScpLCAxKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgcmVsYWZyb21zLmxlbmd0aDsgaysrKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGQgPSByZWxhZnJvbXNba107DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFSZWxhW2RdLmlzQyA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBiLnJlbGFmcm9tLmRpc3BsYXkgPSBzaG93Ow0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmIChiLnJlbGF0byAmJiAhYykgew0KICAgICAgICAgICAgICAgICAgICBpZiAoYi5yZWxhdG8uZGlzcGxheSAhPT0gc2hvdykgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlbGF0b3MgPSBPYmplY3Qua2V5cyhiLnJlbGF0byk7DQogICAgICAgICAgICAgICAgICAgICAgICByZWxhdG9zLnNwbGljZShyZWxhdG9zLmluZGV4T2YoJ2Rpc3BsYXknKSwgMSk7DQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBrID0gMDsgayA8IHJlbGF0b3MubGVuZ3RoOyBrKyspIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZCA9IHJlbGF0b3Nba107DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFSZWxhW2RdLmlzQyA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBiLnJlbGF0by5kaXNwbGF5ID0gc2hvdzsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoYykgew0KICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJnW2VkXFw6dG9ndG9waWNpZD0nIiArIGEgKyAiJ10iKS5zdHlsZS5kaXNwbGF5ID0gc2hvdzsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGMgPT09ICdtaW51cycpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHV0ZChiLCBhLCBzaG93KQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGlmICgoYi5jYWxsIHx8IGIuYm91bmRhcnkgfHwgYi5zdW1tYXJ5KSAmJiBjID09PSAncGx1cycpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHV0ZChiLCBhLCBzaG93LCB0cnVlKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmIChiLmNhbGwgJiYgIWMpIHsNCiAgICAgICAgICAgICAgICAgICAgdXRkKGIsIGEsIHNob3csIHRydWUpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmIChiLnN1bW1hcnkgJiYgIWMpIHsNCiAgICAgICAgICAgICAgICAgICAgdXRkKGIsIGEsIHNob3cpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmIChiLmJvdW5kYXJ5ICYmICFjKSB7DQogICAgICAgICAgICAgICAgICAgIHV0ZChiLCBhLCBzaG93KQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KICAgIGlmIChvYmouc3VtbWFyeSkgew0KICAgICAgICB2YXIgc3VtbWFyeXMgPSBPYmplY3Qua2V5cyhvYmouc3VtbWFyeSk7DQogICAgICAgIGlmICgoY2hlY2tJRCAhPT0gb2JqICYmIChvYmoudG9ndHlwZSA9PT0gJ21pbnVzJyB8fCAhb2JqLnRvZ3R5cGUpKSB8fCBjaGVja0lEID09PSBvYmopIHsNCiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3VtbWFyeXMubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgICAgICB2YXIgYSA9IHN1bW1hcnlzW2ldLnNsaWNlKDEpOw0KICAgICAgICAgICAgICAgIHZhciBvc3AgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChhKS5nZXRBdHRyaWJ1dGUoJ2VkOnBhcmVudGlkJyk7DQogICAgICAgICAgICAgICAgaWYgKG9zcC5tYXRjaCgvXCwvKSkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgb3NwYSA9IG9zcC5zcGxpdCgnLCcpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgb3NwTCA9IDA7DQoNCiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBvc3BhLmxlbmd0aDsgaisrKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2hvdyA9PSAnbm9uZScpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3NwYVtqXSkuc3R5bGUuZGlzcGxheSAhPSAnbm9uZScpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3NwTCsrOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpLnN0eWxlLmRpc3BsYXkgIT0gJ25vbmUnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zcEwrKzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBpZiAob3NwTCAhPT0gb3NwYS5sZW5ndGgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHZhciBiID0gb2JqLnN1bW1hcnlbc3VtbWFyeXNbaV1dOw0KICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGEpOw0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpLnN0eWxlLmRpc3BsYXkgPSBzaG93Ow0KICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgIGlmKGMpew0KICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJnW2VkXFw6dG9ndG9waWNpZD0nIithKyInXSIpLnN0eWxlLmRpc3BsYXk9c2hvdzsNCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgaWYoYz09PSdtaW51cycpew0KICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgdXRkKGIsc2hvdykNCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICBpZiAoYi5jYWxsJiZjPT09J3BsdXMnKSB7DQogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICB1dGQoYixzaG93LHRydWUpDQogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgaWYoYi5jYWxsJiYhYykgew0KICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICB1dGQoYixzaG93LHRydWUpDQogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhiKS5sZW5ndGggIT09IDApIHsNCiAgICAgICAgICAgICAgICAgICAgdXRkKGIsIGEsIHNob3cpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KICAgIGlmIChvYmouYm91bmRhcnkpIHsNCiAgICAgICAgdmFyIGJvdW5kYXJ5cyA9IE9iamVjdC5rZXlzKG9iai5ib3VuZGFyeSk7DQogICAgICAgIGlmIChjaGVja0lEICE9PSBvYmopIHsNCiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYm91bmRhcnlzLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICAgICAgdmFyIGEgPSBib3VuZGFyeXNbaV0uc2xpY2UoMSk7DQogICAgICAgICAgICAgICAgdmFyIGIgPSBvYmouYm91bmRhcnlbYm91bmRhcnlzW2ldXTsNCiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhhKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChhKS5zdHlsZS5kaXNwbGF5ID0gc2hvdzsNCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICBpZihjKXsNCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZ1tlZFxcOnRvZ3RvcGljaWQ9JyIrYSsiJ10iKS5zdHlsZS5kaXNwbGF5PXNob3c7DQogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgIGlmKGM9PT0nbWludXMnKXsNCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgIHV0ZChiLHNob3cpDQogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgaWYgKGIuY2FsbCYmYz09PSdwbHVzJykgew0KICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgdXRkKGIsc2hvdyx0cnVlKQ0KICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgIGlmKGIuY2FsbCYmIWMpIHsNCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgdXRkKGIsc2hvdyx0cnVlKQ0KICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoYikubGVuZ3RoICE9PSAwKSB7DQogICAgICAgICAgICAgICAgICAgIHV0ZChiLCBhLCBzaG93KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBpZiAoIW9jICYmIG9iai5jaGlsZCkgew0KICAgICAgICB2YXIgY2hpbGRzID0gT2JqZWN0LmtleXMob2JqLmNoaWxkKTsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHMubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIHZhciBhID0gY2hpbGRzW2ldLnNsaWNlKDEpOw0KICAgICAgICAgICAgdmFyIGIgPSBvYmouY2hpbGRbY2hpbGRzW2ldXTsNCiAgICAgICAgICAgIHZhciBjID0gYi50b2d0eXBlOw0KICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYSkuc3R5bGUuZGlzcGxheSA9IHNob3c7DQogICAgICAgICAgICB2YXIgdFNQYXRoID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigicGF0aFtlZFxcOnRvc3VwZXJpZD0nIiArIGEgKyAiJ10iKTsNCiAgICAgICAgICAgIGlmICh0U1BhdGgpIHsNCiAgICAgICAgICAgICAgICB0U1BhdGguc3R5bGUuZGlzcGxheSA9IHNob3c7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB2YXIgbm90ZVRpcCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImdbZWRcXDpub3RldG89JyIgKyBhICsgIiddIik7DQogICAgICAgICAgICBpZiAobm90ZVRpcCkgew0KICAgICAgICAgICAgICAgIG5vdGVUaXAuc3R5bGUuZGlzcGxheSA9IHNob3c7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoYi5yZWxhZnJvbSAmJiAhYykgew0KICAgICAgICAgICAgICAgIGlmIChiLnJlbGFmcm9tLmRpc3BsYXkgIT09IHNob3cpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHJlbGFmcm9tcyA9IE9iamVjdC5rZXlzKGIucmVsYWZyb20pOw0KICAgICAgICAgICAgICAgICAgICByZWxhZnJvbXMuc3BsaWNlKHJlbGFmcm9tcy5pbmRleE9mKCdkaXNwbGF5JyksIDEpOw0KICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBrID0gMDsgayA8IHJlbGFmcm9tcy5sZW5ndGg7IGsrKykgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGQgPSByZWxhZnJvbXNba107DQogICAgICAgICAgICAgICAgICAgICAgICBleHRyYVJlbGFbZF0uaXNDID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBiLnJlbGFmcm9tLmRpc3BsYXkgPSBzaG93Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChiLnJlbGF0byAmJiAhYykgew0KICAgICAgICAgICAgICAgIGlmIChiLnJlbGF0by5kaXNwbGF5ICE9PSBzaG93KSB7DQogICAgICAgICAgICAgICAgICAgIHZhciByZWxhdG9zID0gT2JqZWN0LmtleXMoYi5yZWxhdG8pOw0KICAgICAgICAgICAgICAgICAgICByZWxhdG9zLnNwbGljZShyZWxhdG9zLmluZGV4T2YoJ2Rpc3BsYXknKSwgMSk7DQogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgcmVsYXRvcy5sZW5ndGg7IGsrKykgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGQgPSByZWxhdG9zW2tdOw0KICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFSZWxhW2RdLmlzQyA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgYi5yZWxhdG8uZGlzcGxheSA9IHNob3c7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGMpIHsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJnW2VkXFw6dG9ndG9waWNpZD0nIiArIGEgKyAiJ10iKS5zdHlsZS5kaXNwbGF5ID0gc2hvdzsNCiAgICAgICAgICAgICAgICBpZiAoYyA9PT0gJ21pbnVzJykgew0KICAgICAgICAgICAgICAgICAgICB1dGQoYiwgYSwgc2hvdykNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKChiLmNhbGwgfHwgYi5ib3VuZGFyeSB8fCBiLnN1bW1hcnkpICYmIGMgPT09ICdwbHVzJykgew0KICAgICAgICAgICAgICAgICAgICB1dGQoYiwgYSwgc2hvdywgdHJ1ZSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoYi5jYWxsICYmICFjKSB7DQogICAgICAgICAgICAgICAgdXRkKGIsIGEsIHNob3csIHRydWUpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoYi5zdW1tYXJ5ICYmICFjKSB7DQogICAgICAgICAgICAgICAgdXRkKGIsIGEsIHNob3cpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoYi5ib3VuZGFyeSAmJiAhYykgew0KICAgICAgICAgICAgICAgIHV0ZChiLCBhLCBzaG93KQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KfQ0KDQpmdW5jdGlvbiBleHRyYVJlbGFGaW4oKSB7DQogICAgdmFyIGV4dHJha2V5cyA9IE9iamVjdC5rZXlzKGV4dHJhUmVsYSk7DQogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHRyYWtleXMubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgdmFyIGV4dHJhT2JqID0gZXh0cmFSZWxhW2V4dHJha2V5c1tpXV07DQogICAgICAgIGlmIChleHRyYU9iai5pc0MgPT09IHRydWUpIHsNCiAgICAgICAgICAgIHZhciBmc2hvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGV4dHJhT2JqLmZyb21pZCkuc3R5bGUuZGlzcGxheSAhPT0gJ25vbmUnID8gdHJ1ZSA6IGZhbHNlOw0KICAgICAgICAgICAgdmFyIHRzaG93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZXh0cmFPYmoudG9pZCkuc3R5bGUuZGlzcGxheSAhPT0gJ25vbmUnID8gdHJ1ZSA6IGZhbHNlOw0KICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZXh0cmFPYmouaWQpLnN0eWxlLmRpc3BsYXkgPSBmc2hvdyAmJiB0c2hvdyA/ICdibG9jaycgOiAnbm9uZSc7DQogICAgICAgICAgICBleHRyYVJlbGFbZXh0cmFrZXlzW2ldXS5pc0MgPSBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCn0='))</script>
1126
  </body>
1127
</html>
(2-2/5)