Optimize the flow of api callback function

Issue-ID: DCAEGEN2-1715
Signed-off-by: Ekko Chang <ekko.chang@qct.io>
Change-Id: Ic0ecb009db69b095d253687861da6560c200e31a
diff --git a/components/datalake-handler/admin/src/src/app/app.module.ts b/components/datalake-handler/admin/src/src/app/app.module.ts
index 927f229..2f968bf 100644
--- a/components/datalake-handler/admin/src/src/app/app.module.ts
+++ b/components/datalake-handler/admin/src/src/app/app.module.ts
@@ -100,6 +100,7 @@
 import { KafkaComponent } from './views/kafka/kafka.component';
 // Angular SVG Icon
 import { AngularSvgIconModule } from "angular-svg-icon";
+import { IconComponent } from './shared/components/icon/icon.component';
 
 @NgModule({
   declarations: [
@@ -144,7 +145,8 @@
     EditKafkaModalComponent,
     ToolsComponent,
     ModalToolsComponent,
-    ToolAddModalComponent
+    ToolAddModalComponent,
+    IconComponent
   ],
   imports: [
     BrowserModule,
diff --git a/components/datalake-handler/admin/src/src/app/core/models/topic.model.ts b/components/datalake-handler/admin/src/src/app/core/models/topic.model.ts
index d8f7fe7..18faa58 100644
--- a/components/datalake-handler/admin/src/src/app/core/models/topic.model.ts
+++ b/components/datalake-handler/admin/src/src/app/core/models/topic.model.ts
@@ -23,20 +23,68 @@
  * @author Ekko Chang
  *
  */
+
 export class Topic {
-  enabled: boolean;
-  name: string;
-  login: string;
-  password: string;
-  enabledSinkdbs: any;
-  sinkdbs: any;
-  saveRaw: boolean;
-  dataFormat: string;
-  ttl: number;
-  correlateClearedMessage: boolean;
-  messageIdPath: string;
-  // for UI display
-  type: boolean; // 1: Configure 0: Unconfiure
-  //id: number; //todo
-  //kafkas: any; //todo
-}
\ No newline at end of file
+  public id: number;
+  public name: string;
+  public login: string;
+  public password: string;
+  public enabledSinkdbs: Array<string>; // related db which is enabled
+  public sinkdbs: Array<string>; // related db whatever enabled or disable
+  public enabled: boolean;
+  public saveRaw: boolean;
+  public dataFormat: string;
+  public ttl: number;
+  public correlateClearedMessage: boolean;
+  public messageIdPath: string;
+  public aggregateArrayPath: string;
+  public flattenArrayPath: string;
+  public enbabledKafkas: Array<string>;
+  public kafkas: Array<string>;
+  // properties only for UI
+  public config: boolean; //true: Configure, otherwise false: Unconfiure
+  public kafkaName: string;
+  public countCouchbase: number;
+  public countDruid: number;
+  public countEs: number;
+  public countMongo: number;
+  public countHadoop: number;
+
+  constructor(
+    id: number,
+    name: string,
+    login: string,
+    password: string,
+    enabledSinkdbs: Array<string>,
+    sinkdbs: Array<string>,
+    enabled: boolean,
+    saveRaw: boolean,
+    dataFormat: string,
+    ttl: number,
+    correlateClearedMessage: boolean,
+    messageIdPath: string,
+    aggregateArrayPath: string,
+    flattenArrayPath: string,
+    enbabledKafkas: Array<string>,
+    kafkas: Array<string>,
+    config: boolean
+  ) {
+    this.id = id;
+    this.name = name;
+    this.login = login;
+    this.password = password;
+    this.enabledSinkdbs = enabledSinkdbs;
+    this.sinkdbs = sinkdbs;
+    this.enabled = enabled;
+    this.saveRaw = saveRaw;
+    this.dataFormat = dataFormat;
+    this.ttl = ttl;
+    this.correlateClearedMessage = correlateClearedMessage;
+    this.messageIdPath = messageIdPath;
+    this.aggregateArrayPath = aggregateArrayPath;
+    this.flattenArrayPath = flattenArrayPath;
+    this.enbabledKafkas = enbabledKafkas;
+    this.kafkas = kafkas;
+    this.config = config;
+  }
+}
diff --git a/components/datalake-handler/admin/src/src/app/core/services/rest-api.service.ts b/components/datalake-handler/admin/src/src/app/core/services/rest-api.service.ts
index 8ccbcc9..0c52089 100644
--- a/components/datalake-handler/admin/src/src/app/core/services/rest-api.service.ts
+++ b/components/datalake-handler/admin/src/src/app/core/services/rest-api.service.ts
@@ -35,7 +35,7 @@
 import { Db } from "src/app/core/models/db.model";
 import { Template } from "src/app/core/models/template.model";
 import { Dashboard } from "src/app/core/models/dashboard.model";
-import {Kafka} from "../models/kafka.model";
+import { Kafka } from "../models/kafka.model";
 
 const prefix = "/datalake/v1/";
 const httpOptions = {
@@ -48,7 +48,7 @@
   providedIn: "root"
 })
 export class RestApiService {
-  constructor(private http: HttpClient) { }
+  constructor(private http: HttpClient) {}
 
   private extractData(res: Response) {
     if (res.status < 200 || res.status >= 300) {
@@ -79,118 +79,106 @@
   /*
     Topic default config
   */
-  getTopicDefaultConfig(): Observable<any> {
-    return this.http.get(prefix + "topics/_DL_DEFAULT_").pipe(
-      retry(1),
-      map(this.extractData),
-      catchError(this.handleError)
-    );
+  public getTopicDefault(): Observable<Topic> {
+    return this.http
+      .get<Topic>(prefix + "topics/default")
+      .pipe(retry(1), catchError(this.handleError));
   }
 
-  updateTopicDefaultConfig(t: Topic): Observable<any> {
-    return this.http
-      .put(prefix + "topics/_DL_DEFAULT_", JSON.stringify(t), httpOptions)
-      .pipe(
-        retry(1),
-        tap(_ => this.extractData),
-        catchError(this.handleError)
-      );
-  }
+  // updateTopicDefaultConfig(t: Topic): Observable<any> {
+  //   return this.http
+  //     .put(prefix + "topics/_DL_DEFAULT_", JSON.stringify(t), httpOptions)
+  //     .pipe(
+  //       retry(1),
+  //       tap(_ => this.extractData),
+  //       catchError(this.handleError)
+  //     );
+  // }
 
   /*
     Topics
   */
-  getTopicsFromDmaap(): Observable<any> {
-    return this.http.get(prefix + "topics/dmaap").pipe(
-      retry(1),
-      map(this.extractData),
-      catchError(this.handleError)
-    );
+  public getTopicList(): Observable<string[]> {
+    return this.http
+      .get<string[]>(prefix + "topics")
+      .pipe(retry(1), catchError(this.handleError));
   }
 
+  public getTopicListFromKafka(id: string | number): Observable<string[]> {
+    return this.http
+      .get<string[]>(prefix + "topics/dmaap/" + id)
+      .pipe(retry(1), catchError(this.handleError));
+  }
+
+  public getTopic(id: string): Observable<Topic> {
+    return this.http
+      .get<Topic>(prefix + "topics/" + id)
+      .pipe(retry(1), catchError(this.handleError));
+  }
+
+  // TODO
   getTopicsFromFeeder(): Observable<any> {
-    return this.http.get(prefix + "topics").pipe(
-      retry(1),
-      map(this.extractData),
-      catchError(this.handleError)
-    );
-  }
-
-  getTopicDetail(id): Observable<any> {
-    return this.http.get(prefix + "topics/" + id).pipe(
-      retry(1),
-      map(this.extractData),
-      catchError(this.handleError)
-    );
-  }
-
-  addNewTopic(t: Topic): Observable<any> {
     return this.http
-      .post<any>(prefix + "topics", t)
-      .pipe(
-        retry(1),
-        tap(_ => console.log(`add topic name=${t.name}`)),
-        catchError(this.handleError)
-      );
+      .get(prefix + "topics")
+      .pipe(retry(1), map(this.extractData), catchError(this.handleError));
   }
 
-  addTopic(t: Topic): Observable<any> {
-    return this.http
-      .post<any>(prefix + "topics", t)
-      .pipe(
-        retry(1),
-        tap(_ => console.log(`add topic name=${t.name}`)),
-        catchError(this.handleError)
-      );
-  }
+  // addNewTopic(t: Topic): Observable<any> {
+  //   return this.http.post<any>(prefix + "topics", t).pipe(
+  //     retry(1),
+  //     tap(_ => console.log(`add topic name=${t.name}`)),
+  //     catchError(this.handleError)
+  //   );
+  // }
 
-  upadteTopic(t: Topic): Observable<any> {
-    return this.http
-      .put(prefix + "topics/" + t.name, t)
-      .pipe(
-        retry(1),
-        tap(_ => this.extractData),
-        catchError(this.handleError)
-      );
-  }
+  // addTopic(t: Topic): Observable<any> {
+  //   return this.http.post<any>(prefix + "topics", t).pipe(
+  //     retry(1),
+  //     tap(_ => console.log(`add topic name=${t.name}`)),
+  //     catchError(this.handleError)
+  //   );
+  // }
 
-  deleteTopic(name: string): Observable<any> {
-    return this.http.delete(prefix + "topics/" + name).pipe(
-      retry(1),
-      tap(_ => console.log(`deleted topic name=${name}`)),
-      catchError(this.handleError)
-    );
-  }
+  // upadteTopic(t: Topic): Observable<any> {
+  //   return this.http.put(prefix + "topics/" + t.name, t).pipe(
+  //     retry(1),
+  //     tap(_ => this.extractData),
+  //     catchError(this.handleError)
+  //   );
+  // }
+
+  // deleteTopic(name: string): Observable<any> {
+  //   return this.http.delete(prefix + "topics/" + name).pipe(
+  //     retry(1),
+  //     tap(_ => console.log(`deleted topic name=${name}`)),
+  //     catchError(this.handleError)
+  //   );
+  // }
 
   /*
     Database
   */
   getDbEncryptList(flag): Observable<any> {
-    return this.http.get(prefix + "dbs/list?isDb="+flag).pipe(
-      retry(1),
-      map(this.extractData),
-      catchError(this.handleError)
-    );
+    return this.http
+      .get(prefix + "dbs/list?tool=" + flag)
+      .pipe(retry(1), map(this.extractData), catchError(this.handleError));
   }
 
   getDbList(): Observable<any> {
-    return this.http.get(prefix + "dbs").pipe(
-      retry(1),
-      map(this.extractData),
-      catchError(this.handleError)
-    );
+    return this.http
+      .get(prefix + "dbs")
+      .pipe(retry(1), map(this.extractData), catchError(this.handleError));
   }
 
   getDbDetail(id): Observable<any> {
-    return this.http.get(prefix + "dbs/" + id).pipe(
-      retry(1),
-      map(this.extractData),
-      catchError(this.handleError)
-    );
+    return this.http
+      .get(prefix + "dbs/" + id)
+      .pipe(retry(1), map(this.extractData), catchError(this.handleError));
   }
 
   deleteDb(id): Observable<any> {
-    return this.http.delete(prefix + "dbs/" + id).pipe( //online
+    return this.http.delete(prefix + "dbs/" + id).pipe(
+      //online
       retry(1),
       map(this.extractData2),
       catchError(this.handleError)
@@ -198,31 +186,25 @@
   }
 
   updateDb(d: Db): Observable<any> {
-    return this.http
-      .put(prefix + "dbs", d)
-      .pipe(
-        retry(1),
-        tap(_ => this.extractData),
-        catchError(this.handleError)
-      );
+    return this.http.put(prefix + "dbs", d).pipe(
+      retry(1),
+      tap(_ => this.extractData),
+      catchError(this.handleError)
+    );
   }
 
   createDb(d: Db): Observable<any> {
-    return this.http
-      .post(prefix + "dbs", d)
-      .pipe(
-        retry(1),
-        tap(_ => this.extractData),
-        catchError(this.handleError)
-      );
+    return this.http.post(prefix + "dbs", d).pipe(
+      retry(1),
+      tap(_ => this.extractData),
+      catchError(this.handleError)
+    );
   }
 
   getDbTypeList(): Observable<any> {
-    return this.http.get(prefix + "db_type").pipe(
-      retry(1),
-      map(this.extractData),
-      catchError(this.handleError)
-    );
+    return this.http
+      .get(prefix + "db_type")
+      .pipe(retry(1), map(this.extractData), catchError(this.handleError));
   }
 
   /*
@@ -245,55 +227,46 @@
   }
 
   getFeederstatus() {
-    return this.http.get(prefix + "feeder/status").pipe(
-      retry(1),
-      map(this.extractData),
-      catchError(this.handleError)
-    );
+    return this.http
+      .get(prefix + "feeder/status")
+      .pipe(retry(1), map(this.extractData), catchError(this.handleError));
   }
 
-
   /*
 Dashboard
 */
   getDashboardList(): Observable<any> {
     let url = prefix + "portals"; //onilne
-    return this.http.get(url).pipe(
-      retry(1),
-      map(this.extractData),
-      catchError(this.handleError)
-    );
+    return this.http
+      .get(url)
+      .pipe(retry(1), map(this.extractData), catchError(this.handleError));
   }
 
   createUpadteDashboard(d: Dashboard): Observable<any> {
     // let url = prefix +"/dashboard-list/successCreteOrEditDemo.json"; //local
-    let url = prefix + "portals";//onilne
-    return this.http
-      .put(url, d)
-      .pipe(
-        retry(1),
-        tap(_ => this.extractData),
-        catchError(this.handleError)
-      );
+    let url = prefix + "portals"; //onilne
+    return this.http.put(url, d).pipe(
+      retry(1),
+      tap(_ => this.extractData),
+      catchError(this.handleError)
+    );
   }
 
   deleteDashboard(d: Dashboard): Observable<any> {
     let url = prefix + "portals"; //onilne
-    return this.http
-      .put(url, d)
-      .pipe(
-        retry(1),
-        tap(_ => console.log(`deleted db name=${d.name}`)),
-        catchError(this.handleError)
-      );
+    return this.http.put(url, d).pipe(
+      retry(1),
+      tap(_ => console.log(`deleted db name=${d.name}`)),
+      catchError(this.handleError)
+    );
   }
 
-
   /*
   Template
 */
   getTemplateAll(): Observable<any> {
-    return this.http.get(prefix + "designs/").pipe( //onlin
+    return this.http.get(prefix + "designs/").pipe(
+      //onlin
       retry(1),
       map(this.extractData),
       catchError(this.handleError)
@@ -301,32 +274,26 @@
   }
 
   getTempDbList(id): Observable<any> {
-    return this.http.get(prefix + "dbs/idAndName/" + id).pipe(
+    return this.http
+      .get(prefix + "dbs/idAndName/" + id)
+      .pipe(retry(1), map(this.extractData), catchError(this.handleError));
+  }
+
+  createNewTemplate(t: Template): Observable<any> {
+    return this.http.post(prefix + "designs", t).pipe(
       retry(1),
-      map(this.extractData),
+      tap(_ => this.extractData),
       catchError(this.handleError)
     );
   }
 
-  createNewTemplate(t: Template): Observable<any> {
-    return this.http
-      .post(prefix + "designs", t)
-      .pipe(
-        retry(1),
-        tap(_ => this.extractData),
-        catchError(this.handleError)
-      );
-  }
-
   updateNewTemplate(t: Template): Observable<any> {
     let id = t.id;
-    return this.http
-      .put(prefix + "designs/" + id, t)
-      .pipe(
-        retry(1),
-        tap(_ => this.extractData),
-        catchError(this.handleError)
-      );
+    return this.http.put(prefix + "designs/" + id, t).pipe(
+      retry(1),
+      tap(_ => this.extractData),
+      catchError(this.handleError)
+    );
   }
 
   // getTopicName(): Observable<any> {
@@ -338,7 +305,8 @@
   // }
 
   getTemplateTypeName(): Observable<any> {
-    return this.http.get(prefix + "designTypes").pipe( //onlin
+    return this.http.get(prefix + "designTypes").pipe(
+      //onlin
       retry(1),
       map(this.extractData),
       catchError(this.handleError)
@@ -346,7 +314,8 @@
   }
 
   DeleteTemplate(id): Observable<any> {
-    return this.http.delete(prefix + "designs/" + id).pipe( //online
+    return this.http.delete(prefix + "designs/" + id).pipe(
+      //online
       retry(1),
       map(this.extractData2),
       catchError(this.handleError)
@@ -354,7 +323,8 @@
   }
   deployTemplateKibana(id, body): Observable<any> {
     body.submitted = true;
-    return this.http.post(prefix + "designs/deploy/" + id, body).pipe(   //online
+    return this.http.post(prefix + "designs/deploy/" + id, body).pipe(
+      //online
       retry(1),
       map(this.extractData2),
       catchError(this.handleError)
@@ -364,15 +334,21 @@
   /*
   Kafka
 */
-  getAllKafkaList() {
-    return this.http.get(prefix + "kafkas").pipe( //online
-      retry(1),
-      map(this.extractData),
-      catchError(this.handleError)
-    );
+  public getAllKafkaList(): Observable<string[]> {
+    return this.http
+      .get<string[]>(prefix + "kafkas")
+      .pipe(retry(1), catchError(this.handleError));
   }
+
+  public getKafka(id: string | number): Observable<Kafka> {
+    return this.http
+      .get<Kafka>(prefix + "kafkas/" + id)
+      .pipe(retry(1), catchError(this.handleError));
+  }
+
   deleteKafka(id): Observable<any> {
-    return this.http.delete(prefix + "kafkas/" + id).pipe( //online
+    return this.http.delete(prefix + "kafkas/" + id).pipe(
+      //online
       retry(1),
       map(this.extractData2),
       catchError(this.handleError)
@@ -380,25 +356,19 @@
   }
 
   createNewKafka(k: Kafka): Observable<any> {
-    return this.http
-      .post(prefix + "kafkas", k)
-      .pipe(
-        retry(1),
-        tap(_ => this.extractData),
-        catchError(this.handleError)
-      );
+    return this.http.post(prefix + "kafkas", k).pipe(
+      retry(1),
+      tap(_ => this.extractData),
+      catchError(this.handleError)
+    );
   }
 
   updateKafka(k: Kafka): Observable<any> {
     let id = k.id;
-    return this.http
-      .put(prefix + "kafkas/" + id, k)
-      .pipe(
-        retry(1),
-        tap(_ => this.extractData),
-        catchError(this.handleError)
-      );
+    return this.http.put(prefix + "kafkas/" + id, k).pipe(
+      retry(1),
+      tap(_ => this.extractData),
+      catchError(this.handleError)
+    );
   }
 }
-
-
diff --git a/components/datalake-handler/admin/src/src/app/shared/components/icon/icon.component.css b/components/datalake-handler/admin/src/src/app/shared/components/icon/icon.component.css
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/components/datalake-handler/admin/src/src/app/shared/components/icon/icon.component.css
diff --git a/components/datalake-handler/admin/src/src/app/shared/components/icon/icon.component.html b/components/datalake-handler/admin/src/src/app/shared/components/icon/icon.component.html
new file mode 100644
index 0000000..86d8ae2
--- /dev/null
+++ b/components/datalake-handler/admin/src/src/app/shared/components/icon/icon.component.html
@@ -0,0 +1,25 @@
+<!--
+============LICENSE_START=======================================================
+ONAP : DataLake
+================================================================================
+Copyright 2019 QCT
+=================================================================================
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+============LICENSE_END=========================================================
+-->
+
+<i *ngIf="this.type==='status'"
+  [class]="this.enabled ? 'fas fa-circle dl-icon-enable' : 'fas fa-circle dl-icon-disable'" aria-hidden="true"></i>
+
+<i *ngIf="this.type==='check'" [class]="this.enabled ? 'fas fa-check dl-icon-enable' : 'fas fa-check dl-icon-disable'"
+  aria-hidden="true"></i>
diff --git a/components/datalake-handler/admin/src/src/app/shared/components/icon/icon.component.spec.ts b/components/datalake-handler/admin/src/src/app/shared/components/icon/icon.component.spec.ts
new file mode 100644
index 0000000..481dc4b
--- /dev/null
+++ b/components/datalake-handler/admin/src/src/app/shared/components/icon/icon.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { IconComponent } from './icon.component';
+
+describe('IconComponent', () => {
+  let component: IconComponent;
+  let fixture: ComponentFixture<IconComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ IconComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(IconComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/components/datalake-handler/admin/src/src/app/shared/components/icon/icon.component.ts b/components/datalake-handler/admin/src/src/app/shared/components/icon/icon.component.ts
new file mode 100644
index 0000000..12a7e9a
--- /dev/null
+++ b/components/datalake-handler/admin/src/src/app/shared/components/icon/icon.component.ts
@@ -0,0 +1,40 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 QCT
+ *=================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+/**
+ *
+ * @author Ekko Chang
+ *
+ */
+import { Component, OnInit, Input, Output, EventEmitter } from "@angular/core";
+
+@Component({
+  selector: "app-icon",
+  templateUrl: "./icon.component.html",
+  styleUrls: ["./icon.component.css"]
+})
+export class IconComponent implements OnInit {
+  @Input() type: string;
+  @Input() enabled: boolean;
+
+  constructor() {}
+
+  ngOnInit() {}
+}
diff --git a/components/datalake-handler/admin/src/src/app/shared/modules/table/table.component.html b/components/datalake-handler/admin/src/src/app/shared/modules/table/table.component.html
index cf9be50..c0e0971 100644
--- a/components/datalake-handler/admin/src/src/app/shared/modules/table/table.component.html
+++ b/components/datalake-handler/admin/src/src/app/shared/modules/table/table.component.html
@@ -23,52 +23,46 @@
 
     <ngx-datatable #mytemlate class="bootstrap" [rows]="data" [columnMode]="'force'" [headerHeight]="40"
       [footerHeight]="40" [rowHeight]="50" [scrollbarV]="true" [scrollbarH]="true" [loadingIndicator]="loadingIndicator"
-      [messages]="mesgNoData" [limit]="10">
+      [messages]="mesgNoData" [limit]="10" (activate)="rowOnActivate($event)">
 
       <ngx-datatable-column sortable="column.sortable" *ngFor="let column of columns" [width]="column.width"
-        name="{{ column.name | translate }}" prop="column.name" headerClass="d-flex justify-content-center"
-        cellClass="d-flex justify-content-center">
-
+        headerClass="d-flex justify-content-center justify-content-start" cellClass="d-flex justify-content-center">
+        <!-- template of header -->
         <ng-template ngx-datatable-header-template>
-          <span *ngIf="column.name&&column.name.length!==0">{{ column.name | translate}}</span>
-          <span *ngIf="column.src&&column.src.length!==0">
-            <img [src]=column.src alt='Icon' style='height: 18px;' />
+
+          <!-- display string -->
+          <span *ngIf="column.headerName&&column.headerName.length!==0">{{ column.headerName | translate}}</span>
+
+          <!-- display icon -->
+          <span *ngIf="column.headerIcon&&column.headerIcon.length!==0">
+            <svg-icon [src]="column.headerIcon" [svgStyle]="{ 'height.px':20 }"></svg-icon>
           </span>
         </ng-template>
 
+        <!-- template of cell -->
         <ng-template let-row="row" ngx-datatable-cell-template>
-          <span *ngIf="column.dataIndex&&column.dataIndex.length!==0&&!column.svgicon">{{row[column.dataIndex]}}</span>
-          <span *ngIf="column.renderText&&column.renderText.length!==0"></span>
-          <span *ngIf="column.icontext&&column.icontext.length!==0">
-            <app-button [text]="column.icontext" [style]="'inline'" [color]="'dark'">
-            </app-button>
+          <!-- display data -->
+          <span *ngIf="column.dataIndex&&column.dataIndex.length!==0&&!column.icon">{{row[column.dataIndex]}}</span>
+
+          <!-- display button with text -->
+          <span *ngIf="column.textButton&&column.textButton.length!==0">
+            <app-button [text]="column.textButton" [style]="'inline'" [color]="'dark'"></app-button>
           </span>
 
+          <!-- display button with icon -->
+          <span *ngIf="column.iconButton&&column.iconButton.length!==0">
+            <app-button [text]="column.iconButton" [style]="'icon'" [color]="'dark'"
+              (btnAction)="tableAction($event, row.id)"></app-button>
+          </span>
+
+          <!-- display pure icon -->
           <span *ngIf="column.icon&&column.icon.length!==0">
-            <app-button [text]="column.icon" [style]="'icon'" [color]="'dark'" (btnAction)="tableAction($event, row.id)">
-            </app-button>
-          </span>
-
-          <span *ngIf="column.svgicon&&column.svgicon.length!==0">
-            <span *ngIf="row[column.dataIndex]">
-                <svg-icon [src]="column.svgicon" [svgStyle]="{ 'width.px':20 }">
-                </svg-icon>
-            </span>
+            <app-icon [type]="column.icon" [enabled]="row[column.dataIndex]"></app-icon>
           </span>
 
         </ng-template>
+
       </ngx-datatable-column>
-
-      <!-- <ngx-datatable-column [width]="10" name="" sortable="true" cellClass="d-flex justify-content-center">
-        <ng-template let-row="row" ngx-datatable-cell-template>
-          <span>
-            <button class="btn action-icon-setting" (click)="this.deleteTemplateModel(row.id);">
-              <i class="fas fa-trash-alt fa-xs"></i>
-            </button>
-          </span>
-        </ng-template>
-      </ngx-datatable-column> -->
-
     </ngx-datatable>
   </div>
-</div>
\ No newline at end of file
+</div>
diff --git a/components/datalake-handler/admin/src/src/app/shared/modules/table/table.component.ts b/components/datalake-handler/admin/src/src/app/shared/modules/table/table.component.ts
index 9c69e12..8adb837 100644
--- a/components/datalake-handler/admin/src/src/app/shared/modules/table/table.component.ts
+++ b/components/datalake-handler/admin/src/src/app/shared/modules/table/table.component.ts
@@ -1,19 +1,19 @@
-import {Component, OnInit, Input, Output, EventEmitter} from '@angular/core';
+import { Component, OnInit, Input, Output, EventEmitter } from "@angular/core";
 
 /**
  * @contributor Chunmeng Guo
  */
 
 @Component({
-  selector: 'app-table',
-  templateUrl: './table.component.html',
-  styleUrls: ['./table.component.css']
+  selector: "app-table",
+  templateUrl: "./table.component.html",
+  styleUrls: ["./table.component.css"]
 })
 export class TableComponent implements OnInit {
   @Input() columns: Array<any> = [];
   @Input() data: Array<any> = [];
-  @Output() btnTableAction = new EventEmitter<object>()
-  loadingIndicator: boolean = false;
+  @Output() btnTableAction = new EventEmitter<object>();
+  loadingIndicator: boolean = true;
   template_list: Array<any> = [];
 
   mesgNoData = {
@@ -26,16 +26,30 @@
     `
   };
 
-  constructor() { }
+  constructor() {}
 
   ngOnInit() {
-
+    setTimeout(() => {
+      this.loadingIndicator = false;
+    }, 500);
   }
 
-  tableAction($event, actionId: number) {
+  tableAction(event: any, actionId: number) {
+    console.log("action id: " + actionId);
+    console.log("edit: " + event.row.id);
     let passValueArr: Array<any> = [];
-    passValueArr.push($event);
+    passValueArr.push(event);
     passValueArr.push(actionId);
     this.btnTableAction.emit(passValueArr);
   }
+
+  rowOnActivate(event: any) {
+    const emitType = event.type;
+    if (emitType == "dblclick") {
+      console.log("Activate Event", event);
+      let name = event.row.id;
+      // this.openTopicModal(name);
+      console.log("row name: " + name);
+    }
+  }
 }
diff --git a/components/datalake-handler/admin/src/src/app/views/test/test.component.ts b/components/datalake-handler/admin/src/src/app/views/test/test.component.ts
index b8a67fb..ca49805 100644
--- a/components/datalake-handler/admin/src/src/app/views/test/test.component.ts
+++ b/components/datalake-handler/admin/src/src/app/views/test/test.component.ts
@@ -60,47 +60,52 @@
   ngOnInit() {
     this.mockcolumns = [
       {
-        name: "TEMPLATE_NAME",
-        width: "100",
-        dataIndex: "name",
-        sortable: true
-      },
-      {
-        name: "TEMPLATE_TYPE",
-        width: "180",
-        dataIndex: "type"
-      },
-      {
-        name: "TOPICS_NAME",
-        width: "220",
-        dataIndex: "topic",
-        renderText: "3"
-      },
-      {
-        name: "",
-        src: "assets/icons/couchbase_able.svg",
-        width: "220",
-        dataIndex: "cc",
-      },
-      {
-        name: "DEPLOY_TO_DASHBOARD",
-        width: "100",
-        dataIndex: "",
-        icontext: "DEPLOY",
-      },
-      {
-        name: "",
+        headerName: "STATUS",
         width: "20",
-        icon: "trash"
+        dataIndex: "enabled",
+        sortable: true,
+        icon: "status"
       },
       {
-        name: "Configured",
+        headerName: "2",
+        width: "100",
+        dataIndex: "type",
+        icon: "status"
+      },
+      {
+        headerName: "3",
+        width: "200",
+        dataIndex: "topic",
+        renderText: "zzzz"
+      },
+      {
+        headerIcon: "assets/icons/couchbase_able.svg",
+        width: "200",
+        dataIndex: "cc",
+        renderText: "zzzzz"
+      },
+      {
+        headerName: "5",
+        width: "50",
+        dataIndex: "",
+        textButton: "DEPLOY1"
+      },
+      {
+        width: "20",
+        iconButton: "cog"
+      },
+      {
+        headerName: "Configured",
         width: "100",
         dataIndex: "configured",
-        svgicon: "assets/icons/add.svg"
-        // icontext: "DEPLOY",
-        //svg: "assets/icons/add.svg", // TODO: icon
+        icon: "check"
       },
+      {
+        headerName: "TTL",
+        width: "100",
+        dataIndex: "saveRaw",
+        icon: "check"
+      }
     ];
     this.mocktabledata = [
       {
@@ -108,39 +113,45 @@
         type: "333",
         topic: "尽快尽快",
         cc: "123",
-        configured: true
+        configured: true,
+        saveRaw: true,
+        enabled: true
       },
       {
         name: "ccccc",
         type: "666",
         topic: "2222",
         cc: "222",
-        configured: true
+        configured: true,
+        saveRaw: true,
+        enabled: false
       },
       {
         name: "bbbbb",
         type: "77777",
         topic: "555",
         cc: "5",
-        configured: false
+        configured: false,
+        saveRaw: false,
+        enabled: false
       }
     ];
 
     // Modal example
     // Data for different components of modal body
     // Example for topic, not only topic but also db, design or tools
-    this.topic = new Topic();
-    this.topic.name = "topic.name (test)";
-    this.topic.login = "123";
-    this.topic.password = "123";
-    this.topic.sinkdbs = "";
-    this.topic.enabled = true;
-    this.topic.saveRaw = true;
-    this.topic.dataFormat = "";
-    this.topic.ttl = 123;
-    this.topic.correlateClearedMessage = true;
-    this.topic.messageIdPath = "";
-    this.topic.type = false;
+    // this.topic = new Topic();
+    // this.topic.name = "topic.name (test)";
+    // this.topic.login = "123";
+    // this.topic.password = "123";
+    // this.topic.sinkdbs = "";
+    // this.topic.enabled = true;
+    // this.topic.saveRaw = true;
+    // this.topic.dataFormat = "";
+    // this.topic.ttl = 123;
+    // this.topic.correlateClearedMessage = true;
+    // this.topic.messageIdPath = "";
+    // this.topic.type = false;
     // Modal example end
 
     // Card example
@@ -191,14 +202,13 @@
   }
 
   cardMoreAction($event) {
-    if($event == "edit"){
-      this.openModalDemo()
-    }else {
-      console.log($event,"$event")
+    if ($event == "edit") {
+      this.openModalDemo();
+    } else {
+      console.log($event, "$event");
     }
   }
-  cardClick(){
+  cardClick() {
     this.openModalDemo();
   }
-
 }
diff --git a/components/datalake-handler/admin/src/src/app/views/topics/topic-list/new-topic-model/new-topic-model.component.ts b/components/datalake-handler/admin/src/src/app/views/topics/topic-list/new-topic-model/new-topic-model.component.ts
index 04bd331..b1d782d 100644
--- a/components/datalake-handler/admin/src/src/app/views/topics/topic-list/new-topic-model/new-topic-model.component.ts
+++ b/components/datalake-handler/admin/src/src/app/views/topics/topic-list/new-topic-model/new-topic-model.component.ts
@@ -28,9 +28,9 @@
 import { Topic } from "src/app/core/models/topic.model";
 
 @Component({
-  selector: 'app-new-topic-model',
-  templateUrl: './new-topic-model.component.html',
-  styleUrls: ['./new-topic-model.component.css']
+  selector: "app-new-topic-model",
+  templateUrl: "./new-topic-model.component.html",
+  styleUrls: ["./new-topic-model.component.css"]
 })
 export class NewTopicModelComponent implements OnInit {
   @Input() newTopic: Topic;
@@ -57,46 +57,46 @@
   }
 
   ngOnInit() {
-    this.newTopic = {
-      name: "",
-      login: "",
-      password: "",
-      sinkdbs: [],
-      enabledSinkdbs: [],
-      enabled: false,
-      saveRaw: false,
-      dataFormat: this.dataFormats[0],
-      ttl: null,
-      correlateClearedMessage: false,
-      messageIdPath: null,
-      type: null
-    };
-    this.TopicInput = new Topic();
-    const feeds = {
-      name: this.newTopic.name,
-      login: this.newTopic.login,
-      password: this.newTopic.password,
-      sinkdbs: this.newTopic.sinkdbs,
-      enabledSinkdbs: this.newTopic.sinkdbs,
-      enabled: this.newTopic.enabled,
-      saveRaw: this.newTopic.saveRaw,
-      dataFormat: this.newTopic.dataFormat,
-      ttl: this.newTopic.ttl,
-      correlateClearedMessage: this.newTopic.correlateClearedMessage,
-      messageIdPath: this.newTopic.messageIdPath,
-      type: null
-    };
-    this.TopicInput = feeds;
-    this.idExFields = [];
-    if (this.TopicInput.messageIdPath != null) {
-      var feed = this.TopicInput.messageIdPath.split(",");
-      for (var i = 0; i < feed.length; i++) {
-        var data = { item: feed[i] };
-        this.idExFields.push(data);
-      }
-    } else {
-      this.idExFields.push([]);
-    }
+    // this.newTopic = {
+    //   name: "",
+    //   login: "",
+    //   password: "",
+    //   sinkdbs: [],
+    //   enabledSinkdbs: [],
+    //   enabled: false,
+    //   saveRaw: false,
+    //   dataFormat: this.dataFormats[0],
+    //   ttl: null,
+    //   correlateClearedMessage: false,
+    //   messageIdPath: null,
+    //   type: null
+    // };
+    // this.TopicInput = new Topic();
+    // const feeds = {
+    //   name: this.newTopic.name,
+    //   login: this.newTopic.login,
+    //   password: this.newTopic.password,
+    //   sinkdbs: this.newTopic.sinkdbs,
+    //   enabledSinkdbs: this.newTopic.sinkdbs,
+    //   enabled: this.newTopic.enabled,
+    //   saveRaw: this.newTopic.saveRaw,
+    //   dataFormat: this.newTopic.dataFormat,
+    //   ttl: this.newTopic.ttl,
+    //   correlateClearedMessage: this.newTopic.correlateClearedMessage,
+    //   messageIdPath: this.newTopic.messageIdPath,
+    //   type: null
+    // };
+    // this.TopicInput = feeds;
+    // this.idExFields = [];
+    // if (this.TopicInput.messageIdPath != null) {
+    //   var feed = this.TopicInput.messageIdPath.split(",");
+    //   for (var i = 0; i < feed.length; i++) {
+    //     var data = { item: feed[i] };
+    //     this.idExFields.push(data);
+    //   }
+    // } else {
+    //   this.idExFields.push([]);
+    // }
   }
 
   getDbs() {
@@ -144,8 +144,7 @@
       if (i == 0) {
         this.newTopic.messageIdPath = item;
       } else {
-        this.newTopic.messageIdPath =
-          this.newTopic.messageIdPath + "," + item;
+        this.newTopic.messageIdPath = this.newTopic.messageIdPath + "," + item;
       }
     }
     // Reset to default
@@ -155,5 +154,4 @@
     console.log(this.newTopic);
     this.passEntry.emit(this.newTopic);
   }
-
-}
\ No newline at end of file
+}
diff --git a/components/datalake-handler/admin/src/src/app/views/topics/topic-list/topic-detail-modal/topic-detail-modal.component.ts b/components/datalake-handler/admin/src/src/app/views/topics/topic-list/topic-detail-modal/topic-detail-modal.component.ts
index e2dd182..17d0d03 100644
--- a/components/datalake-handler/admin/src/src/app/views/topics/topic-list/topic-detail-modal/topic-detail-modal.component.ts
+++ b/components/datalake-handler/admin/src/src/app/views/topics/topic-list/topic-detail-modal/topic-detail-modal.component.ts
@@ -143,9 +143,9 @@
 
     // Reset to default
     if (this.topic.sinkdbs.length == 0) {
-      this.topic.type = false;
+      this.topic.config = false;
     } else {
-      this.topic.type = true;
+      this.topic.config = true;
     }
     this.passEntry.emit(this.topic);
   }
diff --git a/components/datalake-handler/admin/src/src/app/views/topics/topic-list/topic-list.component.html b/components/datalake-handler/admin/src/src/app/views/topics/topic-list/topic-list.component.html
index e4596f6..3fbbc42 100644
--- a/components/datalake-handler/admin/src/src/app/views/topics/topic-list/topic-list.component.html
+++ b/components/datalake-handler/admin/src/src/app/views/topics/topic-list/topic-list.component.html
@@ -27,150 +27,24 @@
           <div class="input-group">
             <input #searchText type="text" class="form-control dl-input-text-search" placeholder="Search..."
               (keyup)="this.updateFilter($event.target.value)" />
-            <div class="input-group-append">
-              <button type="button" class="btn dl-btn-dark">
-                <i class="fa fa-search"></i>
-              </button>
-            </div>
           </div>
         </div>
+
         <!-- button -->
         <div class="p-1">
-          <button style="margin-right: 0.5rem;" class="btn dl-btn-dark" (click)="openTopicModal('config')">
-            {{ "DEFAULT_CONFIGURATIONS" | translate }}
-          </button>
-          <button class="btn dl-btn-dark" (click)="openNewTopicModal()">
-            {{ "NEW_TOPIC" | translate }}
-          </button>
+          <app-button [text]="'DEFAULT_CONFIGURATIONS'" [style]="'inline'" [color]="'dark'" (click)="buttonAction('default')"></app-button>
+        </div>
+        <div class="p-1">
+          <app-button [text]="'plus'" [style]="'inlineicon'" [color]="'dark'" (click)="buttonAction('new')"></app-button>
         </div>
       </div>
     </div>
   </div>
+
   <!-- datatable -->
   <div class="row">
     <div class="col-md-12">
-      <ngx-datatable #mydatatable class="bootstrap" [rows]="topics" [columnMode]="'force'" [headerHeight]="40"
-                     [footerHeight]="40" [rowHeight]="50" [scrollbarV]="true" [scrollbarH]="true"
-                     [loadingIndicator]="loadingIndicator" [messages]="mesgNoData" [limit]="10"
-                     (activate)="onActivate($event)">
-
-        <ngx-datatable-column [width]="20" name="{{ 'STATUS' | translate }}" prop="enabled"
-          headerClass="d-flex justify-content-center" cellClass="d-flex justify-content-center">
-          <div>
-            <ng-template let-row="row" ngx-datatable-cell-template>
-              <span *ngIf="row.enabled">
-                <i class="fas fa-circle dl-icon-enable" aria-hidden="true"></i>
-              </span>
-              <span *ngIf="!row.enabled">
-                <i class="fas fa-circle dl-icon-disable" aria-hidden="true"></i>
-              </span>
-            </ng-template>
-          </div>
-        </ngx-datatable-column>
-
-        <ngx-datatable-column [width]="450" name="{{ 'NAME' | translate }}" prop="name">
-          <ng-template let-row="row" ngx-datatable-cell-template>
-            <span>{{ row.name }}</span>
-          </ng-template>
-        </ngx-datatable-column>
-
-        <ngx-datatable-column [width]="25" name="{{ 'SETTING' | translate }}" prop="type"
-          headerClass="d-flex justify-content-center" cellClass="d-flex justify-content-center">
-          <div>
-            <ng-template let-row="row" ngx-datatable-cell-template>
-              <span *ngIf="row.type">
-                <i class="fas fa-check dl-icon-enable" aria-hidden="true"></i>
-              </span>
-              <!-- <span *ngIf="!row.type">
-                <i class="fas fa-check dl-icon-disable" aria-hidden="true"></i>
-              </span> -->
-            </ng-template>
-          </div>
-        </ngx-datatable-column>
-
-        <ngx-datatable-column [width]="10" name="Ka" prop="kafkas" headerClass="d-flex justify-content-center" cellClass="d-flex justify-content-center">
-          <ng-template let-column="column" ngx-datatable-header-template>
-            <img src="assets/icons/kafka_able.svg" alt="Icon" style=" height: 20px; "/>
-          </ng-template>
-        </ngx-datatable-column>
-
-        <ngx-datatable-column [width]="10" name="CB" prop="CB" headerClass="d-flex justify-content-center" cellClass="d-flex justify-content-center">
-            <ng-template let-column="column" ngx-datatable-header-template>
-                <img src="assets/icons/couchbase_able.svg" alt="Icon" style=" height: 20px; "/>
-            </ng-template>
-        </ngx-datatable-column>
-
-        <ngx-datatable-column [width]="10" name="DR" prop="DRUID" headerClass="d-flex justify-content-center" cellClass="d-flex justify-content-center">
-            <ng-template let-column="column" ngx-datatable-header-template>
-                <img src="assets/icons/druid_able.svg" alt="Icon" style=" height: 16px; "/>
-            </ng-template>
-        </ngx-datatable-column>
-
-        <ngx-datatable-column [width]="10" name="ES" prop="ES" headerClass="d-flex justify-content-center" cellClass="d-flex justify-content-center">
-            <ng-template let-column="column" ngx-datatable-header-template>
-                <img src="assets/icons/elasticsearch_able.svg" alt="Icon" style=" height: 20px; "/>
-            </ng-template>
-        </ngx-datatable-column>
-
-        <ngx-datatable-column [width]="10" name="MG" prop="MONGO" headerClass="d-flex justify-content-center" cellClass="d-flex justify-content-center">
-            <ng-template let-column="column" ngx-datatable-header-template>
-                <img src="assets/icons/mongoDB_able.svg" alt="Icon" style=" height: 23px; "/>
-            </ng-template>
-        </ngx-datatable-column>
-
-        <ngx-datatable-column [width]="10" name="HD" prop="HDFS" headerClass="d-flex justify-content-center" cellClass="d-flex justify-content-center">
-            <ng-template let-column="column" ngx-datatable-header-template>
-                <img src="assets/icons/hadoop_able.svg" alt="Icon" style=" height: 20px; "/>
-            </ng-template>
-        </ngx-datatable-column>
-
-        <ngx-datatable-column [width]="20" name="{{ 'TTL' | translate }}" prop="ttl"
-          headerClass="d-flex justify-content-center" cellClass="d-flex justify-content-center">
-          <ng-template let-row="row" ngx-datatable-cell-template>
-            <span>{{ row.ttl }}</span>
-          </ng-template>
-        </ngx-datatable-column>
-
-        <ngx-datatable-column [width]="20" name="{{ 'SAVE_RAW_DATA' | translate }}" prop="saveRaw"
-          headerClass="d-flex justify-content-center" cellClass="d-flex justify-content-center">
-          <div>
-            <ng-template let-row="row" ngx-datatable-cell-template>
-              <span *ngIf="row.saveRaw">
-                <i class="fas fa-check dl-icon-enable" aria-hidden="true"></i>
-              </span>
-              <!-- <span *ngIf="!row.saveRaw"> -->
-                <!-- <i class="fas fa-check dl-icon-disable" aria-hidden="true"></i> -->
-              <!-- </span> -->
-            </ng-template>
-          </div>
-        </ngx-datatable-column>
-
-        <ngx-datatable-column [width]="10" name="" sortable="false" cellClass="d-flex justify-content-center">
-          <ng-template let-row="row" ngx-datatable-cell-template>
-            <span>
-             <button class="btn action-icon-setting" (click)="this.deleteTopicModal(row.name);">
-                <i class="fas fa-trash-alt fa-xs"></i>
-              </button>
-            </span>
-          </ng-template>
-        </ngx-datatable-column>
-
-        <ngx-datatable-footer>
-          <ng-template ngx-datatable-footer-template let-rowCount="rowCount" let-pageSize="pageSize"
-                       let-selectedCount="selectedCount" let-curPage="curPage" let-offset="offset"
-                       let-isVisible="isVisible">
-            <div class="page-count">
-              total: {{ rowCount.toLocaleString() }}
-            </div>
-            <datatable-pager [pagerLeftArrowIcon]="'datatable-icon-left'" [pagerRightArrowIcon]="'datatable-icon-right'"
-                             [pagerPreviousIcon]="'datatable-icon-prev'" [pagerNextIcon]="'datatable-icon-skip'"
-                             [page]="curPage"
-                             [size]="pageSize" [count]="rowCount" [hidden]="!(rowCount / pageSize > 1)"
-                             (change)="topicTable.onFooterPage($event)">
-            </datatable-pager>
-          </ng-template>
-        </ngx-datatable-footer>
-      </ngx-datatable>
+      <app-table [data]="topics" [columns]="columns"></app-table>
     </div>
   </div>
-</div>
\ No newline at end of file
+</div>
diff --git a/components/datalake-handler/admin/src/src/app/views/topics/topic-list/topic-list.component.ts b/components/datalake-handler/admin/src/src/app/views/topics/topic-list/topic-list.component.ts
index dbb2706..d2d983f 100644
--- a/components/datalake-handler/admin/src/src/app/views/topics/topic-list/topic-list.component.ts
+++ b/components/datalake-handler/admin/src/src/app/views/topics/topic-list/topic-list.component.ts
@@ -39,7 +39,11 @@
 
 // Loading spinner
 import { NgxSpinnerService } from "ngx-spinner";
-import { AlertComponent } from "../../../shared/components/alert/alert.component";
+
+import { AlertComponent } from "src/app/shared/components/alert/alert.component";
+import { map, mergeMap } from "rxjs/operators";
+import { forkJoin, from } from "rxjs";
+import { HttpClient } from "@angular/common/http";
 
 @Component({
   selector: "app-topic-list",
@@ -47,336 +51,461 @@
   styleUrls: ["./topic-list.component.css"]
 })
 export class TopicListComponent {
-  topicListDmaap: any = [];
-  topicListFeeder: any = [];
-  topicDefaultConfig: Topic;
+  topics: Array<Topic> = []; // data of table
+  columns: Array<any> = []; // column of table
+  t_temp: Array<Topic> = []; // cache for topics
 
-  topics: Topic[] = [];
-  temp: Topic[] = []; // cache for topics
-  tempTopicDetail: Topic; // temp for a topic
-  tempNewTopic: Topic; // temp for a newtopic
-
-  loadingIndicator: boolean = true;
-  mesgNoData = {
-    emptyMessage: `
-      <div class="d-flex justify-content-center">
-        <div class="p-2">
-          <label class="dl-nodata">No Data</label>
-        </div>
-      </div>
-    `
-  };
-
-  @ViewChild("searchText") searchText: ElementRef;
-  @ViewChild("mydatatable") topicTable;
+  //TODO
+  //tempTopicDetail: Topic; // temp for a topic
+  //tempNewTopic: Topic; // temp for a newtopic
 
   constructor(
     private restApiService: RestApiService,
     private modalService: NgbModal,
     private notificationService: ToastrNotificationService,
-    private spinner: NgxSpinnerService
-  ) {
-    setTimeout(() => {
-      this.loadingIndicator = false;
-    }, 5000);
-    this.init()
-
-  }
+    private spinner: NgxSpinnerService,
+    public http: HttpClient
+  ) {}
 
   ngOnInit() {
-    this.spinner.show();
-  }
+    //this.spinner.show();
+    let t_feeder: Array<Topic> = [];
+    let t_kafka: Object = {};
 
-  init() {
-    this.initData().then(data => {
-      this.initTopicList(this.topicListDmaap, this.topicListFeeder).then(
-        data => {
-          // for cache of datatable
-          this.temp = [...data];
-          this.topics = data;
-          setTimeout(() => {
-            this.spinner.hide();
-          }, 500);
-        }
-      );
-    });
-  }
+    const get_t_feeder = this.restApiService.getTopicList().pipe(
+      mergeMap(ids => from(ids)),
+      mergeMap(id => this.restApiService.getTopic(id)),
+      map(t => {
+        t.config = true;
+        t_feeder.push(t);
+      })
+    );
 
-  async initData() {
-    this.topicListFeeder = [];
-    this.topicListFeeder = await this.getTopicList("feeder");
-
-    this.topicDefaultConfig = new Topic();
-    this.topicDefaultConfig = await this.getTopicDefaultConfig();
-
-    return true;
-  }
-
-  getTopicList(type: string) {
-    var data: any;
-
-    switch (type) {
-      case "feeder": {
-        data = this.restApiService.getTopicsFromFeeder().toPromise();
-        break;
-      }
-    }
-    return data;
-  }
-
-  getTopicDefaultConfig() {
-    return this.restApiService.getTopicDefaultConfig().toPromise();
-  }
-
-  async initTopicList(dmaapList: [], feederList: []) {
-    var t: Topic[] = [];
-
-      // dmaap has no topics, only show topic in db
-      for (var i = 0; i < feederList.length; i++) {
-        let data = await this.getTopicDetail(feederList[i]);
-        let dbinfo = [];
-        var totalCB = 0;
-        var totalDRUID = 0;
-        var totalES = 0;
-        var totalHDFS = 0;
-        var totalMONGO = 0;
-        for (var x = 0; x < data.enabledSinkdbs.length; x++) {
-          let dbdata = await this.getDbDetail(data.enabledSinkdbs[x]);
-          dbinfo.push(dbdata);
-          if (dbinfo!=undefined && dbinfo[x].type=="CB"){
-            totalCB = totalCB + 1;
-          }if (dbinfo!=undefined && dbinfo[x].type=="DRUID"){
-            totalDRUID = totalDRUID + 1;
-          }if (dbinfo!=undefined && dbinfo[x].type=="ES"){
-            totalES = totalES + 1;
-          }if (dbinfo!=undefined && dbinfo[x].type=="HDFS"){
-            totalHDFS = totalHDFS + 1;
-          }if (dbinfo!=undefined && dbinfo[x].type=="MONGO"){
-            totalMONGO = totalMONGO + 1;
-          }
-        }
-
-        let feed = {
-          name: data.name,
-          login: data.login,
-          password: data.password,
-          enabledSinkdbs: data.enabledSinkdbs,
-          sinkdbs: data.sinkdbs,
-          enabled: data.enabled,
-          saveRaw: data.saveRaw,
-          dataFormat: data.dataFormat,
-          ttl: data.ttl,
-          correlateClearedMessage: data.correlateClearedMessage,
-          messageIdPath: data.messageIdPath,
-          kafkas: data.kafkas.length,
-          type: data.type,
-          CB: totalCB,
-          DRUID: totalDRUID,
-          ES: totalES,
-          HDFS: totalHDFS,
-          MONGO: totalMONGO
-        };
-        t.push(feed);
-      }
-    return t;
-  }
-
-  onActivate(event) {
-    const emitType = event.type;
-    if (emitType == "dblclick") {
-      console.log('Activate Event', event);
-      let name = event.row.name;
-      this.openTopicModal(name);
-    }
-
-  }
-
-  openNewTopicModal() {
-    const modalRef = this.modalService.open(NewTopicModelComponent, {
-      size: "lg",
-      centered: true
-    });
-    modalRef.componentInstance.newTopic = this.tempNewTopic;
-    modalRef.componentInstance.passEntry.subscribe(receivedEntry => {
-      console.log(receivedEntry, "newtopic receivedEntry");
-      this.tempNewTopic = receivedEntry;
-      this.restApiService.addNewTopic(this.tempNewTopic).subscribe(
-        res => {
-          this.init();
-          this.notificationService.success("SUCCESSFULLY_CREARED");
-          modalRef.close();
-          this.updateFilter(this.searchText.nativeElement.value);
-        },
-        err => {
-          this.notificationService.error(err);
-          modalRef.close();
-          this.updateFilter(this.searchText.nativeElement.value);
-        }
-      );
-    })
-
-
-  }
-
-  openTopicModal(name: string) {
-    if (name == "config") {
-      const modalRef = this.modalService.open(TopicConfigModalComponent, {
-        windowClass: "dl-md-modal",
-        centered: true
-      });
-      modalRef.componentInstance.title = "Topics Default Configurations";
-      modalRef.componentInstance.topic = this.topicDefaultConfig;
-      modalRef.componentInstance.passEntry.subscribe(receivedEntry => {
+    const get_t_kafka = this.restApiService.getAllKafkaList().pipe(
+      mergeMap(ids => from(ids)),
+      mergeMap(id =>
         this.restApiService
-          .updateTopicDefaultConfig(this.topicDefaultConfig)
-          .subscribe(
-            res => {
-              this.topicDefaultConfig = receivedEntry;
-              this.topics.forEach(t => {
-                if (!t.type) {
-                  // Unconfigure topics
-                  t.login = this.topicDefaultConfig.login;
-                  t.password = this.topicDefaultConfig.password;
-                  t.enabledSinkdbs = this.topicDefaultConfig.enabledSinkdbs;
-                  // t.sinkdbs = this.topicDefaultConfig.sinkdbs; //todo
-                  t.enabled = this.topicDefaultConfig.enabled;
-                  t.saveRaw = this.topicDefaultConfig.saveRaw;
-                  t.dataFormat = this.topicDefaultConfig.dataFormat;
-                  t.ttl = this.topicDefaultConfig.ttl;
-                  t.correlateClearedMessage = this.topicDefaultConfig.correlateClearedMessage;
-                  t.messageIdPath = this.topicDefaultConfig.messageIdPath;
-                }
-              });
-              this.notificationService.success("Success updated.");
-              modalRef.close();
-            },
-            err => {
-              this.notificationService.error(err);
-              modalRef.close();
-            }
-          );
-      });
-    } else {
-      const index = this.temp.findIndex(t => t.name === name);
-      const modalRef = this.modalService.open(TopicDetailModalComponent, {
-        size: "lg",
-        centered: true
-      });
-      modalRef.componentInstance.topic = this.temp[index];
-      modalRef.componentInstance.passEntry.subscribe(receivedEntry => {
-        this.tempTopicDetail = receivedEntry;
-        // Configured topic
-        if (this.tempTopicDetail.type) {
-          this.restApiService.getTopicsFromFeeder().subscribe(
-            res => {
-              if (res.find(name => name === this.tempTopicDetail.name)) {
-                // Update topic from db
-                this.restApiService.upadteTopic(this.tempTopicDetail).subscribe(
-                  res => {
-                    this.temp[index] = this.tempTopicDetail;
-                    this.topics = this.temp;
-                    this.notificationService.success("SUCCESSFULLY_UPDATED");
-                    modalRef.close();
-                    this.updateFilter(this.searchText.nativeElement.value);
-                  },
-                  err => {
-                    this.notificationService.error(err);
-                    modalRef.close();
-                    this.updateFilter(this.searchText.nativeElement.value);
-                  }
-                );
-              } else {
-                // Insert topic from db
-                this.restApiService.addTopic(this.tempTopicDetail).subscribe(
-                  res => {
-                    this.init();
-                    this.notificationService.success("SUCCESSFULLY_CREARED");
-                    modalRef.close();
-                    this.updateFilter(this.searchText.nativeElement.value);
-                  },
-                  err => {
-                    this.notificationService.error(err);
-                    modalRef.close();
-                    this.updateFilter(this.searchText.nativeElement.value);
-                  }
-                );
-              }
-            },
-            err => {
-              this.notificationService.error(err);
-              modalRef.close();
-            }
-          );
-        } else {
-          // Reset to default and delete topic from db
-          this.restApiService.deleteTopic(this.tempTopicDetail.name).subscribe(
-            res => {
-              this.init();
-              this.notificationService.success("SUCCESSFULLY_DELETED");
-              modalRef.close();
-              this.updateFilter(this.searchText.nativeElement.value);
-            },
-            err => {
-              this.notificationService.error(err);
-              modalRef.close();
-              this.updateFilter(this.searchText.nativeElement.value);
-            }
-          );
+          .getTopicListFromKafka(id)
+          .pipe(map(t => (t_kafka[id] = t)))
+      )
+    );
+
+    const get_t_default = this.restApiService.getTopicDefault();
+
+    forkJoin(get_t_feeder, get_t_kafka, get_t_default).subscribe(data => {
+      this.columns = this.initColumn();
+      this.topics = this.initRow(t_feeder, t_kafka, data[2]);
+      this.t_temp = [...this.topics];
+      // setTimeout(() => {
+      //   //this.spinner.hide();
+      //   this.loadingIndicator = false;
+      // }, 500);
+    });
+  }
+
+  initColumn() {
+    let t_columns: Array<any> = [];
+
+    t_columns = [
+      {
+        headerName: "STATUS",
+        width: "15",
+        sortable: true,
+        dataIndex: "enabled",
+        icon: "status"
+      },
+      {
+        headerName: "NAME",
+        width: "420",
+        sortable: true,
+        dataIndex: "name"
+      },
+      {
+        headerName: "SETTING",
+        width: "30",
+        sortable: true,
+        dataIndex: "config",
+        icon: "check"
+      },
+      {
+        headerIcon: "assets/icons/kibana_able.svg",
+        width: "10",
+        sortable: true,
+        dataIndex: "kafkas"
+      },
+      {
+        headerIcon: "assets/icons/couchbase_able.svg",
+        width: "10",
+        sortable: true,
+        dataIndex: "sinkdbs"
+      },
+      {
+        headerIcon: "assets/icons/druid_able.svg",
+        width: "10",
+        sortable: true,
+        dataIndex: "sinkdbs"
+      },
+      {
+        headerIcon: "assets/icons/elasticsearch_able.svg",
+        width: "10",
+        sortable: true,
+        dataIndex: "sinkdbs"
+      },
+      {
+        headerIcon: "assets/icons/mongoDB_able.svg",
+        width: "10",
+        sortable: true,
+        dataIndex: "sinkdbs"
+      },
+      {
+        headerIcon: "assets/icons/hadoop_able.svg",
+        width: "10",
+        sortable: true,
+        dataIndex: "sinkdbs"
+      },
+      {
+        headerName: "TTL",
+        width: "20",
+        sortable: true,
+        dataIndex: "ttl"
+      },
+      {
+        headerName: "SAVE_RAW_DATA",
+        width: "20",
+        sortable: true,
+        dataIndex: "saveRaw",
+        icon: "check"
+      },
+      {
+        width: "20",
+        iconButton: "cog"
+      }
+    ];
+
+    return t_columns;
+  }
+
+  initRow(t_feeder: Array<Topic>, t_kafka: Object, t_default: Topic) {
+    let t_topics: Array<Topic> = [];
+
+    // Save topics which are already configured.
+    t_topics = t_feeder;
+
+    // Save the topic which is unconfigured yet.
+    Object.keys(t_kafka).forEach(k_id => {
+      Object.values(t_kafka[k_id]).forEach((k_t_name: string) => {
+        let found: Topic = t_feeder.find(
+          t =>
+            t.name == k_t_name &&
+            t.kafkas.map(ids => ids.toString()).includes(k_id)
+        );
+        if (!found) {
+          let seed: Topic;
+          seed = JSON.parse(JSON.stringify(t_default));
+          seed.id = null;
+          seed.name = k_t_name;
+          seed.kafkas = [];
+          seed.kafkas.push(k_id);
+          seed.config = false;
+          t_topics.push(seed);
         }
       });
+    });
+
+    return t_topics;
+  }
+
+  buttonAction(string: string = "") {
+    switch (string) {
+      case "new":
+        // Open new topic modal
+        console.log("new modal");
+        break;
+      case "edit":
+        // Open edit of topic modal
+        console.log("edit modal");
+        break;
+      case "default":
+        // Open default config of topic modal
+        console.log("default modal");
+        break;
+      default:
+        this.notificationService.success(string + " action successful!");
+        break;
     }
   }
 
-  deleteTopicModal(name: string) {
-    const index = this.temp.findIndex(t => t.name === name);
-    const modalRef = this.modalService.open(AlertComponent, {
-      size: "sm",
-      centered: true
-    });
-    modalRef.componentInstance.message = "ARE_YOU_SURE_DELETE";
-    console.log(this.temp[index]);
-    modalRef.componentInstance.passEntry.subscribe(receivedEntry => {
-      this.restApiService.deleteTopic(this.temp[index].name).subscribe(
-        res => {
-          this.init();
-          this.notificationService.success("SUCCESSFULLY_DELETED");
-          modalRef.close();
-          this.updateFilter(this.searchText.nativeElement.value);
-        },
-        err => {
-          this.notificationService.error(err);
-          modalRef.close();
-          this.updateFilter(this.searchText.nativeElement.value);
-        }
-      );
-
-    })
-  }
-
-  getTopicDetail(id) {
-    return this.restApiService.getTopicDetail(id).toPromise();
-  }
-
-  getDbDetail(id) {
-    return this.restApiService.getDbDetail(id).toPromise();
-  }
-
-  GroupByDbType = (array, key) => {
-    return array.reduce((result, currentValue) => {
-      (result[currentValue.type] = result[currentValue.type] || []).push(currentValue);
-      return result;
-    }, {});
-  };
-
   updateFilter(searchValue) {
     const val = searchValue.toLowerCase();
 
     // filter our data
-    const temp = this.temp.filter(function (d) {
-      return d.name.toLowerCase().indexOf(val) !== -1 || !val;
+    const temp = this.t_temp.filter(t => {
+      return t.name.toLowerCase().indexOf(val) !== -1 || !val;
     });
 
     // update the rows
     this.topics = temp;
   }
-}
\ No newline at end of file
+
+  // async initData() {
+  //   this.topicListFeeder = [];
+  //   this.topicListFeeder = await this.getTopicList("feeder");
+
+  //   //this.topicDefaultConfig = new Topic();
+  //   this.topicDefaultConfig = await this.getTopicDefaultConfig();
+
+  //   return true;
+  // }
+
+  // getTopicList(type: string) {
+  //   var data: any;
+
+  //   switch (type) {
+  //     case "feeder": {
+  //       data = this.restApiService.getTopicsFromFeeder().toPromise();
+  //       break;
+  //     }
+  //   }
+  //   return data;
+  // }
+
+  // getTopicDefaultConfig() {
+  //   return this.restApiService.getTopicDefaultConfig().toPromise();
+  // }
+
+  // async initTopicList(dmaapList: [], feederList: []) {
+  //   // var t: Topic[] = [];
+  //   // // dmaap has no topics, only show topic in db
+  //   // for (var i = 0; i < feederList.length; i++) {
+  //   //   let data = await this.getTopicDetail(feederList[i]);
+  //   //   let dbinfo = [];
+  //   //   var totalCB = 0;
+  //   //   var totalDRUID = 0;
+  //   //   var totalES = 0;
+  //   //   var totalHDFS = 0;
+  //   //   var totalMONGO = 0;
+  //   //   for (var x = 0; x < data.enabledSinkdbs.length; x++) {
+  //   //     let dbdata = await this.getDbDetail(data.enabledSinkdbs[x]);
+  //   //     dbinfo.push(dbdata);
+  //   //     if (dbinfo != undefined && dbinfo[x].type == "CB") {
+  //   //       totalCB = totalCB + 1;
+  //   //     } if (dbinfo != undefined && dbinfo[x].type == "DRUID") {
+  //   //       totalDRUID = totalDRUID + 1;
+  //   //     } if (dbinfo != undefined && dbinfo[x].type == "ES") {
+  //   //       totalES = totalES + 1;
+  //   //     } if (dbinfo != undefined && dbinfo[x].type == "HDFS") {
+  //   //       totalHDFS = totalHDFS + 1;
+  //   //     } if (dbinfo != undefined && dbinfo[x].type == "MONGO") {
+  //   //       totalMONGO = totalMONGO + 1;
+  //   //     }
+  //   //   }
+  //   //   let feed = {
+  //   //     name: data.name,
+  //   //     login: data.login,
+  //   //     password: data.password,
+  //   //     enabledSinkdbs: data.enabledSinkdbs,
+  //   //     sinkdbs: data.sinkdbs,
+  //   //     enabled: data.enabled,
+  //   //     saveRaw: data.saveRaw,
+  //   //     dataFormat: data.dataFormat,
+  //   //     ttl: data.ttl,
+  //   //     correlateClearedMessage: data.correlateClearedMessage,
+  //   //     messageIdPath: data.messageIdPath,
+  //   //     kafkas: data.kafkas.length,
+  //   //     type: data.type,
+  //   //     CB: totalCB,
+  //   //     DRUID: totalDRUID,
+  //   //     ES: totalES,
+  //   //     HDFS: totalHDFS,
+  //   //     MONGO: totalMONGO
+  //   //   };
+  //   //   t.push(feed);
+  //   // }
+  //   // return t;
+  // }
+
+  // onActivate(event) {
+  //   const emitType = event.type;
+  //   if (emitType == "dblclick") {
+  //     console.log("Activate Event", event);
+  //     let name = event.row.name;
+  //     this.openTopicModal(name);
+  //   }
+  // }
+
+  // openNewTopicModal() {
+  //   const modalRef = this.modalService.open(NewTopicModelComponent, {
+  //     size: "lg",
+  //     centered: true
+  //   });
+  //   modalRef.componentInstance.newTopic = this.tempNewTopic;
+  //   modalRef.componentInstance.passEntry.subscribe(receivedEntry => {
+  //     console.log(receivedEntry, "newtopic receivedEntry");
+  //     this.tempNewTopic = receivedEntry;
+  //     this.restApiService.addNewTopic(this.tempNewTopic).subscribe(
+  //       res => {
+  //         this.init();
+  //         this.notificationService.success("SUCCESSFULLY_CREARED");
+  //         modalRef.close();
+  //         this.updateFilter(this.searchText.nativeElement.value);
+  //       },
+  //       err => {
+  //         this.notificationService.error(err);
+  //         modalRef.close();
+  //         this.updateFilter(this.searchText.nativeElement.value);
+  //       }
+  //     );
+  //   });
+  // }
+
+  // openTopicModal(name: string) {
+  //   if (name == "config") {
+  //     const modalRef = this.modalService.open(TopicConfigModalComponent, {
+  //       windowClass: "dl-md-modal",
+  //       centered: true
+  //     });
+  //     modalRef.componentInstance.title = "Topics Default Configurations";
+  //     modalRef.componentInstance.topic = this.topicDefaultConfig;
+  //     modalRef.componentInstance.passEntry.subscribe(receivedEntry => {
+  //       this.restApiService
+  //         .updateTopicDefaultConfig(this.topicDefaultConfig)
+  //         .subscribe(
+  //           res => {
+  //             this.topicDefaultConfig = receivedEntry;
+  //             this.topics.forEach(t => {
+  //               if (!t.type) {
+  //                 // Unconfigure topics
+  //                 t.login = this.topicDefaultConfig.login;
+  //                 t.password = this.topicDefaultConfig.password;
+  //                 t.enabledSinkdbs = this.topicDefaultConfig.enabledSinkdbs;
+  //                 // t.sinkdbs = this.topicDefaultConfig.sinkdbs; //todo
+  //                 t.enabled = this.topicDefaultConfig.enabled;
+  //                 t.saveRaw = this.topicDefaultConfig.saveRaw;
+  //                 t.dataFormat = this.topicDefaultConfig.dataFormat;
+  //                 t.ttl = this.topicDefaultConfig.ttl;
+  //                 t.correlateClearedMessage = this.topicDefaultConfig.correlateClearedMessage;
+  //                 t.messageIdPath = this.topicDefaultConfig.messageIdPath;
+  //               }
+  //             });
+  //             this.notificationService.success("Success updated.");
+  //             modalRef.close();
+  //           },
+  //           err => {
+  //             this.notificationService.error(err);
+  //             modalRef.close();
+  //           }
+  //         );
+  //     });
+  //   } else {
+  //     const index = this.temp.findIndex(t => t.name === name);
+  //     const modalRef = this.modalService.open(TopicDetailModalComponent, {
+  //       size: "lg",
+  //       centered: true
+  //     });
+  //     modalRef.componentInstance.topic = this.temp[index];
+  //     modalRef.componentInstance.passEntry.subscribe(receivedEntry => {
+  //       this.tempTopicDetail = receivedEntry;
+  //       // Configured topic
+  //       if (this.tempTopicDetail.type) {
+  //         this.restApiService.getTopicsFromFeeder().subscribe(
+  //           res => {
+  //             if (res.find(name => name === this.tempTopicDetail.name)) {
+  //               // Update topic from db
+  //               this.restApiService.upadteTopic(this.tempTopicDetail).subscribe(
+  //                 res => {
+  //                   this.temp[index] = this.tempTopicDetail;
+  //                   this.topics = this.temp;
+  //                   this.notificationService.success("SUCCESSFULLY_UPDATED");
+  //                   modalRef.close();
+  //                   this.updateFilter(this.searchText.nativeElement.value);
+  //                 },
+  //                 err => {
+  //                   this.notificationService.error(err);
+  //                   modalRef.close();
+  //                   this.updateFilter(this.searchText.nativeElement.value);
+  //                 }
+  //               );
+  //             } else {
+  //               // Insert topic from db
+  //               this.restApiService.addTopic(this.tempTopicDetail).subscribe(
+  //                 res => {
+  //                   this.init();
+  //                   this.notificationService.success("SUCCESSFULLY_CREARED");
+  //                   modalRef.close();
+  //                   this.updateFilter(this.searchText.nativeElement.value);
+  //                 },
+  //                 err => {
+  //                   this.notificationService.error(err);
+  //                   modalRef.close();
+  //                   this.updateFilter(this.searchText.nativeElement.value);
+  //                 }
+  //               );
+  //             }
+  //           },
+  //           err => {
+  //             this.notificationService.error(err);
+  //             modalRef.close();
+  //           }
+  //         );
+  //       } else {
+  //         // Reset to default and delete topic from db
+  //         this.restApiService.deleteTopic(this.tempTopicDetail.name).subscribe(
+  //           res => {
+  //             this.init();
+  //             this.notificationService.success("SUCCESSFULLY_DELETED");
+  //             modalRef.close();
+  //             this.updateFilter(this.searchText.nativeElement.value);
+  //           },
+  //           err => {
+  //             this.notificationService.error(err);
+  //             modalRef.close();
+  //             this.updateFilter(this.searchText.nativeElement.value);
+  //           }
+  //         );
+  //       }
+  //     });
+  //   }
+  // }
+
+  // deleteTopicModal(name: string) {
+  //   const index = this.temp.findIndex(t => t.name === name);
+  //   const modalRef = this.modalService.open(AlertComponent, {
+  //     size: "sm",
+  //     centered: true
+  //   });
+  //   modalRef.componentInstance.message = "ARE_YOU_SURE_DELETE";
+  //   console.log(this.temp[index]);
+  //   modalRef.componentInstance.passEntry.subscribe(receivedEntry => {
+  //     this.restApiService.deleteTopic(this.temp[index].name).subscribe(
+  //       res => {
+  //         this.init();
+  //         this.notificationService.success("SUCCESSFULLY_DELETED");
+  //         modalRef.close();
+  //         this.updateFilter(this.searchText.nativeElement.value);
+  //       },
+  //       err => {
+  //         this.notificationService.error(err);
+  //         modalRef.close();
+  //         this.updateFilter(this.searchText.nativeElement.value);
+  //       }
+  //     );
+  //   });
+  // }
+
+  // getTopicDetail(id) {
+  //   return this.restApiService.getTopicDetail(id).toPromise();
+  // }
+
+  // getDbDetail(id) {
+  //   return this.restApiService.getDbDetail(id).toPromise();
+  // }
+
+  // GroupByDbType = (array, key) => {
+  //   return array.reduce((result, currentValue) => {
+  //     (result[currentValue.type] = result[currentValue.type] || []).push(
+  //       currentValue
+  //     );
+  //     return result;
+  //   }, {});
+  // };
+}
diff --git a/components/datalake-handler/admin/src/src/assets/icons/add.svg b/components/datalake-handler/admin/src/src/assets/icons/add.svg
index d38e3dc..408748c 100644
--- a/components/datalake-handler/admin/src/src/assets/icons/add.svg
+++ b/components/datalake-handler/admin/src/src/assets/icons/add.svg
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>

 <!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->

 <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"

-	 viewBox="-174 52.4 491.9 491.9" style="enable-background:new -174 52.4 491.9 491.9;" xml:space="preserve">

+	 viewBox="-55.1 170.9 500 500" style="enable-background:new -55.1 170.9 500 500;" xml:space="preserve">

 <style type="text/css">

 	.st0{fill:#5DBEBB;}

 </style>

 <g>

 	<g>

-		<path class="st0" d="M291.2,264H106.2V79.1c0-8.4-11.4-26.7-34.3-26.7S37.6,70.7,37.6,79.1V264h-184.9c-8.4,0-26.7,11.4-26.7,34.3

-			c0,22.9,18.3,34.3,26.7,34.3H37.6v184.9c0,8.4,11.4,26.7,34.3,26.7s34.3-18.3,34.3-26.7V332.7h184.9c8.4,0,26.7-11.4,26.7-34.3

-			S299.6,264,291.2,264z"/>

+		<path class="st0" d="M414.2,386.6h-185V201.7c0-8.4-11.4-26.7-34.3-26.7s-34.3,18.3-34.3,26.7v184.9H-24.2

+			c-8.4,0-26.7,11.4-26.7,34.3s18.3,34.3,26.7,34.3h184.9v184.9c0,8.4,11.4,26.7,34.3,26.7s34.3-18.3,34.3-26.7V455.3h184.9

+			c8.4,0,26.7-11.4,26.7-34.3S422.6,386.6,414.2,386.6z"/>

 	</g>

 </g>

 </svg>

diff --git a/components/datalake-handler/admin/src/src/assets/icons/druid_able.svg b/components/datalake-handler/admin/src/src/assets/icons/druid_able.svg
index bac3794..3338767 100755
--- a/components/datalake-handler/admin/src/src/assets/icons/druid_able.svg
+++ b/components/datalake-handler/admin/src/src/assets/icons/druid_able.svg
@@ -1,22 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>

 <!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->

 <svg version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"

-	 viewBox="-403 285.3 34 25" style="enable-background:new -403 285.3 34 25;" xml:space="preserve">

+	 viewBox="-275.5 408.9 24.9 25" style="enable-background:new -275.5 408.9 24.9 25;" xml:space="preserve">

 <style type="text/css">

 	.st0{fill:#5DBEBB;}

 </style>

 <g>

-	<path class="st0" d="M-385.5,285.3c2.2,0,4.3,0,6.5,0c4.2,0,8,2.7,9.4,6.6c0.6,1.7,0.8,3.4,0.6,5.2c-0.3,2.6-1,5-2.5,7.2

-		c-2.3,3.4-5.5,5.2-9.5,5.8c-1.4,0.2-2.7,0.2-4.1,0.2c-0.6,0-0.9-0.3-0.9-0.7c0-0.5,0.3-0.9,0.8-0.9c0.6,0,1.2,0,1.9,0

-		c3.7-0.1,7-1.4,9.6-4.2c1.8-1.9,2.7-4.3,3-6.9c0.2-1.8,0.2-3.6-0.5-5.3c-1.1-2.6-3.1-4.2-5.8-5c-1.1-0.3-2.1-0.3-3.2-0.4

-		c-4,0-8.1,0-12.1,0c-0.2,0-0.3,0-0.5,0c-0.4,0-0.7-0.4-0.7-0.8s0.3-0.7,0.6-0.8c0.2,0,0.4,0,0.6,0L-385.5,285.3L-385.5,285.3z"/>

-	<path class="st0" d="M-389.7,304.6h-7.2c-0.2,0-0.3,0-0.5,0c-0.4-0.1-0.7-0.3-0.7-0.7c0-0.4,0.2-0.7,0.6-0.9

-		c0.2-0.1,0.5-0.1,0.8-0.1c4.7,0,9.5,0,14.2,0c1.7,0,3.1-0.6,4.2-1.8c1-1,1.5-2.3,1.6-3.7c0.1-1.1,0-2.1-0.7-3.1

-		c-0.8-1-1.8-1.5-3.1-1.5c-4.5,0-9,0-13.5,0c-0.5,0-1,0-1.4-0.1c-0.4,0-0.6-0.3-0.7-0.7c0-0.5,0.2-0.8,0.6-0.9c0.1,0,0.3,0,0.4,0

-		h14.4c2.4,0,4.5,1.5,5.3,3.8c0.5,1.6,0.4,3.3-0.3,4.8c-1.2,3-3.9,4.9-7.2,4.9C-385,304.6-387.3,304.6-389.7,304.6L-389.7,304.6z

-		 M-400.4,292.6c-0.6,0-1.1,0-1.7,0c-0.5,0-0.8-0.3-0.9-0.7s0.2-0.8,0.7-0.9c0.3,0,0.5-0.1,0.8-0.1c0.8,0,1.5,0,2.3,0

-		c0.2,0,0.5,0,0.7,0.1c0.4,0.1,0.6,0.5,0.6,0.9s-0.3,0.7-0.7,0.7C-399.2,292.7-399.8,292.6-400.4,292.6L-400.4,292.6z M-390.3,310.3

-		c-0.5,0-1,0-1.6,0c-0.5,0-0.8-0.3-0.9-0.7c0-0.5,0.3-0.9,0.7-0.9c1.1-0.1,2.2-0.1,3.4,0c0.4,0,0.8,0.4,0.7,0.8l0,0

-		c0,0.5-0.4,0.7-0.9,0.8L-390.3,310.3L-390.3,310.3z"/>

+	<path class="st0" d="M-262.7,412.2c1.6,0,3.1,0,4.8,0c3.1,0,5.9,2,6.9,4.8c0.4,1.2,0.6,2.5,0.4,3.8c-0.2,1.9-0.7,3.7-1.8,5.3

+		c-1.7,2.5-4,3.8-7,4.2c-1,0.1-2,0.1-3,0.1c-0.4,0-0.7-0.2-0.7-0.5c0-0.4,0.2-0.7,0.6-0.7c0.4,0,0.9,0,1.4,0c2.7-0.1,5.1-1,7-3.1

+		c1.3-1.4,2-3.1,2.2-5c0.1-1.3,0.1-2.6-0.4-3.9c-0.8-1.9-2.3-3.1-4.2-3.7c-0.8-0.2-1.5-0.2-2.3-0.3c-2.9,0-5.9,0-8.9,0

+		c-0.1,0-0.2,0-0.4,0c-0.3,0-0.5-0.3-0.5-0.6s0.2-0.5,0.4-0.6c0.1,0,0.3,0,0.4,0L-262.7,412.2L-262.7,412.2z"/>

+	<path class="st0" d="M-265.7,426.4h-5.3c-0.1,0-0.2,0-0.4,0c-0.3-0.1-0.5-0.2-0.5-0.5s0.1-0.5,0.4-0.7c0.1-0.1,0.4-0.1,0.6-0.1

+		c3.4,0,7,0,10.4,0c1.2,0,2.3-0.4,3.1-1.3c0.7-0.7,1.1-1.7,1.2-2.7c0.1-0.8,0-1.5-0.5-2.3c-0.6-0.7-1.3-1.1-2.3-1.1

+		c-3.3,0-6.6,0-9.9,0c-0.4,0-0.7,0-1-0.1c-0.3,0-0.4-0.2-0.5-0.5c0-0.4,0.1-0.6,0.4-0.7c0.1,0,0.2,0,0.3,0h10.5

+		c1.8,0,3.3,1.1,3.9,2.8c0.4,1.2,0.3,2.4-0.2,3.5c-0.9,2.2-2.9,3.6-5.3,3.6C-262.3,426.4-264,426.4-265.7,426.4L-265.7,426.4z

+		 M-273.6,417.6c-0.4,0-0.8,0-1.2,0c-0.4,0-0.6-0.2-0.7-0.5c-0.1-0.3,0.1-0.6,0.5-0.7c0.2,0,0.4-0.1,0.6-0.1c0.6,0,1.1,0,1.7,0

+		c0.1,0,0.4,0,0.5,0.1c0.3,0.1,0.4,0.4,0.4,0.7c0,0.3-0.2,0.5-0.5,0.5C-272.7,417.7-273.1,417.6-273.6,417.6L-273.6,417.6z

+		 M-266.2,430.5c-0.4,0-0.7,0-1.2,0c-0.4,0-0.6-0.2-0.7-0.5c0-0.4,0.2-0.7,0.5-0.7c0.8-0.1,1.6-0.1,2.5,0c0.3,0,0.6,0.3,0.5,0.6l0,0

+		c0,0.4-0.3,0.5-0.7,0.6L-266.2,430.5L-266.2,430.5z"/>

 </g>

 </svg>

diff --git a/components/datalake-handler/admin/src/src/assets/icons/druid_disable.svg b/components/datalake-handler/admin/src/src/assets/icons/druid_disable.svg
index 667d52c..4387037 100755
--- a/components/datalake-handler/admin/src/src/assets/icons/druid_disable.svg
+++ b/components/datalake-handler/admin/src/src/assets/icons/druid_disable.svg
@@ -1,22 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>

 <!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->

 <svg version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"

-	 viewBox="-403 285.3 34 25" style="enable-background:new -403 285.3 34 25;" xml:space="preserve">

+	 viewBox="-275.5 408.9 24.9 25" style="enable-background:new -275.5 408.9 24.9 25;" xml:space="preserve">

 <style type="text/css">

 	.st0{fill:#D2D3D5;}

 </style>

 <g>

-	<path class="st0" d="M-385.5,285.3c2.2,0,4.3,0,6.5,0c4.2,0,8,2.7,9.4,6.6c0.6,1.7,0.8,3.4,0.6,5.2c-0.3,2.6-1,5-2.5,7.2

-		c-2.3,3.4-5.5,5.2-9.5,5.8c-1.4,0.2-2.7,0.2-4.1,0.2c-0.6,0-0.9-0.3-0.9-0.7c0-0.5,0.3-0.9,0.8-0.9c0.6,0,1.2,0,1.9,0

-		c3.7-0.1,7-1.4,9.6-4.2c1.8-1.9,2.7-4.3,3-6.9c0.2-1.8,0.2-3.6-0.5-5.3c-1.1-2.6-3.1-4.2-5.8-5c-1.1-0.3-2.1-0.3-3.2-0.4

-		c-4,0-8.1,0-12.1,0c-0.2,0-0.3,0-0.5,0c-0.4,0-0.7-0.4-0.7-0.8s0.3-0.7,0.6-0.8c0.2,0,0.4,0,0.6,0L-385.5,285.3L-385.5,285.3z"/>

-	<path class="st0" d="M-389.7,304.6h-7.2c-0.2,0-0.3,0-0.5,0c-0.4-0.1-0.7-0.3-0.7-0.7c0-0.4,0.2-0.7,0.6-0.9

-		c0.2-0.1,0.5-0.1,0.8-0.1c4.7,0,9.5,0,14.2,0c1.7,0,3.1-0.6,4.2-1.8c1-1,1.5-2.3,1.6-3.7c0.1-1.1,0-2.1-0.7-3.1

-		c-0.8-1-1.8-1.5-3.1-1.5c-4.5,0-9,0-13.5,0c-0.5,0-1,0-1.4-0.1c-0.4,0-0.6-0.3-0.7-0.7c0-0.5,0.2-0.8,0.6-0.9c0.1,0,0.3,0,0.4,0

-		h14.4c2.4,0,4.5,1.5,5.3,3.8c0.5,1.6,0.4,3.3-0.3,4.8c-1.2,3-3.9,4.9-7.2,4.9C-385,304.6-387.3,304.6-389.7,304.6L-389.7,304.6z

-		 M-400.4,292.6c-0.6,0-1.1,0-1.7,0c-0.5,0-0.8-0.3-0.9-0.7s0.2-0.8,0.7-0.9c0.3,0,0.5-0.1,0.8-0.1c0.8,0,1.5,0,2.3,0

-		c0.2,0,0.5,0,0.7,0.1c0.4,0.1,0.6,0.5,0.6,0.9s-0.3,0.7-0.7,0.7C-399.2,292.7-399.8,292.6-400.4,292.6L-400.4,292.6z M-390.3,310.3

-		c-0.5,0-1,0-1.6,0c-0.5,0-0.8-0.3-0.9-0.7c0-0.5,0.3-0.9,0.7-0.9c1.1-0.1,2.2-0.1,3.4,0c0.4,0,0.8,0.4,0.7,0.8l0,0

-		c0,0.5-0.4,0.7-0.9,0.8L-390.3,310.3L-390.3,310.3z"/>

+	<path class="st0" d="M-262.7,412.2c1.6,0,3.1,0,4.8,0c3.1,0,5.9,2,6.9,4.8c0.4,1.2,0.6,2.5,0.4,3.8c-0.2,1.9-0.7,3.7-1.8,5.3

+		c-1.7,2.5-4,3.8-7,4.2c-1,0.1-2,0.1-3,0.1c-0.4,0-0.7-0.2-0.7-0.5c0-0.4,0.2-0.7,0.6-0.7c0.4,0,0.9,0,1.4,0c2.7-0.1,5.1-1,7-3.1

+		c1.3-1.4,2-3.1,2.2-5c0.1-1.3,0.1-2.6-0.4-3.9c-0.8-1.9-2.3-3.1-4.2-3.7c-0.8-0.2-1.5-0.2-2.3-0.3c-2.9,0-5.9,0-8.9,0

+		c-0.1,0-0.2,0-0.4,0c-0.3,0-0.5-0.3-0.5-0.6s0.2-0.5,0.4-0.6c0.1,0,0.3,0,0.4,0L-262.7,412.2L-262.7,412.2z"/>

+	<path class="st0" d="M-265.7,426.4h-5.3c-0.1,0-0.2,0-0.4,0c-0.3-0.1-0.5-0.2-0.5-0.5s0.1-0.5,0.4-0.7c0.1-0.1,0.4-0.1,0.6-0.1

+		c3.4,0,7,0,10.4,0c1.2,0,2.3-0.4,3.1-1.3c0.7-0.7,1.1-1.7,1.2-2.7c0.1-0.8,0-1.5-0.5-2.3c-0.6-0.7-1.3-1.1-2.3-1.1

+		c-3.3,0-6.6,0-9.9,0c-0.4,0-0.7,0-1-0.1c-0.3,0-0.4-0.2-0.5-0.5c0-0.4,0.1-0.6,0.4-0.7c0.1,0,0.2,0,0.3,0h10.5

+		c1.8,0,3.3,1.1,3.9,2.8c0.4,1.2,0.3,2.4-0.2,3.5c-0.9,2.2-2.9,3.6-5.3,3.6C-262.3,426.4-264,426.4-265.7,426.4L-265.7,426.4z

+		 M-273.6,417.6c-0.4,0-0.8,0-1.2,0c-0.4,0-0.6-0.2-0.7-0.5c-0.1-0.3,0.1-0.6,0.5-0.7c0.2,0,0.4-0.1,0.6-0.1c0.6,0,1.1,0,1.7,0

+		c0.1,0,0.4,0,0.5,0.1c0.3,0.1,0.4,0.4,0.4,0.7c0,0.3-0.2,0.5-0.5,0.5C-272.7,417.7-273.1,417.6-273.6,417.6L-273.6,417.6z

+		 M-266.2,430.5c-0.4,0-0.7,0-1.2,0c-0.4,0-0.6-0.2-0.7-0.5c0-0.4,0.2-0.7,0.5-0.7c0.8-0.1,1.6-0.1,2.5,0c0.3,0,0.6,0.3,0.5,0.6l0,0

+		c0,0.4-0.3,0.5-0.7,0.6L-266.2,430.5L-266.2,430.5z"/>

 </g>

 </svg>

diff --git a/components/datalake-handler/admin/src/src/assets/icons/hadoop_able.svg b/components/datalake-handler/admin/src/src/assets/icons/hadoop_able.svg
index e48a60f..1754666 100755
--- a/components/datalake-handler/admin/src/src/assets/icons/hadoop_able.svg
+++ b/components/datalake-handler/admin/src/src/assets/icons/hadoop_able.svg
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>

 <!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->

 <svg version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"

-	 viewBox="290 -397 2500 1875" style="enable-background:new 290 -397 2500 1875;" xml:space="preserve">

+	 viewBox="2189.5 407.9 24.9 24.9" style="enable-background:new 2189.5 407.9 24.9 24.9;" xml:space="preserve">

 <style type="text/css">

 	.st0{fill:#5DBEBB;}

 	.st1{fill:#AEDEDD;}

@@ -9,140 +9,115 @@
 	.st3{fill:#4A9895;}

 </style>

 <g>

-	<path class="st0" d="M1212.6,19L1047,45.9l-151.1,66.2l-128.3,80.7l-122.1,149l-69,73.1l-66.7,24.6l-17.6-43.1l30.8-44.5l6.9-62.8

-		l20.7,0.8l22.6,20.6l-6.1-64l-25-16.8l0.8-24.4l-59.3,33.5l-53.7,63.3l-11.3,56.7l23,45.3l21.4,77l43.5,20.6l45.8-2.2l43.4-25.2

-		l-29,146.9l29,163.5l-31.9,75.5L459.4,972.8L478,1040l49.5,77.9l93.3,65.7l49.5,6.8l55,1.9L691,1333.2l126.2,51.7l157.3,20.7

-		l53.8-35.2l4.1-95.2l60-99.3l4.1-78.6l144.9,10.4l134.5-12.4l-134.5,80.7l22.8,97.3l84.8,132.5l82.8,35.2l66.2-26.9l26.9-53.8

-		l138.7-105.5l26.9,22.8l217.3,8.3l43.5-35.2l4.1-62.1l-14.5-26.9l-10.4-167.6l-72.4-144.9l12.4-64.2l43.5,22.8l122.1,113.8l60,4.2

-		l66.2-26.9l66.2-49.7l33.1-107.6l194.6,12.4l118-45.5l95.2-89l68.3-128.3l16.5-151.1l-14.5-175.9l-37-157.6l-37.3-49.7l-51.7-16.6

-		l-91.1,99.4l-82.8,29l-72.4-120l-72.4-66.2l-39.3-24.8l-157.3-130.4L1972.2-341L1846-351.3l-146.9,24.8l-128.5,47.4l-89,72.4

-		l-70.4,84.9l-72.4,20.7L1212.6,19"/>

-	<path class="st1" d="M732.3,392.5c-141.8,165.4-110.3,366-71,562.6c-21-53-42-106-62.9-159l-23.2-145.8

-		c2.2-49.7,4.4-99.4,6.6-149.1l59.6-142.4l89.4-132.5l139.1-115.9l152.4-62.9l178.9-23.2l-165.6,188.8

-		C902.6,256.2,824.2,285.3,732.3,392.5"/>

-	<path class="st1" d="M1400-111.5c-98.6,96.2-152.4,168.8-215.2,281.4c-44.9,80.6-95.2,158.2-142.4,237.6

-		c-23.9,40.2-26.1,73.9-33.3,120.3L939.6,445c11.1-33.1,22.1-66.2,33.1-99.4l112.6-202.1l238.5-235.2

-		C1349.2-98.3,1374.6-104.9,1400-111.5 M1886.9-350c-79,29.6-210.1,39.4-219.2,130c-6.5,64.4,4.9,96.7,43.7,164.8

-		c-95.8-99.2-119.5-83.8-304.7-53l79.5-112.6l139.1-86.1l178.9-39.7L1886.9-350"/>

-	<path class="st2" d="M2104.8,876c26.3,16.2,25.7,28,21.3,39.1c20.7-8.3,41.5-16.6,62.2-24.9l40.3-54.1l30-77.1l-38.2-28.7

-		l-167.1,21.3c-4.1,11.2-8.3,22.5-12.4,33.8c1.2,16,2.4,32,3.6,48c5.3,9.5,10.7,19,16,28.4c8.3,4.1,16.6,8.3,24.9,12.4

-		C2091.8,874.8,2098.3,875.4,2104.8,876 M2089.3,590.3c-83.8,24.2-83.1,30.8-107.8,113.9C2014.1,651.8,2038.3,625.4,2089.3,590.3

-		 M2646.1-31.5c-14.9,6.9-29.4,10.2-38.7,23.8c-20,29.3-37.2,54-70.3,74.6c-16.7,10.4-33.9,17.1-51.6,22.6

-		c-14.7,4.6-23.5,0.5-36,9.5c7.4,1.3,14.8,2.6,22.2,3.9h49l60.4-37.3l35.5-37.3L2646.1-31.5 M1312,154.3

-		c-32.9,90.2-61.7,167.5-111.6,249.1c63.9-68.9,102.7-127.5,139.4-205.4c14.2-30.3,16.9-65.8,56.6-52.6c1.8,30.2,8.2,60.4,9.9,90.6

-		c21.4-153.5,81.8-217.7,222.2-277.3L1509.4-27l-112,24.9l-55.1,80L1312,154.3 M1584,150.8c30.3,142.5,73.9,279.2,92.8,424

-		c12.3,94.1,13.6,139.2-33.7,220.4c-51.7-3.3-83.8,2.5-133.9,18.9c-199.2,65.3-313.4,161.3-447.6-32.1l128.5,60.6

-		c30.5-6,61.1-12,91.6-18c53.9-31.4,107.8-62.8,161.8-94.2l126.2-24.9l40.9-170.6L1580.5,309c-1.2-35.5-2.4-71.1-3.6-106.6

-		C1579.3,185.2,1581.7,168,1584,150.8 M1927.1,1032.4c-16.7,115.8,38.5,178,15.6,210c-6.5,9-15.3,24.8-25,29.2

-		c-35,15.5-83.1-2.9-86.6,6.2h-115.5l-46.2-19.6l71.1-83.5c23.1-50.4,46.2-100.7,69.3-151.1l44.4-152.9h23.1L1927.1,1032.4"/>

-	<path class="st2" d="M1732.9,695.9c9.4,52.6,25.7,65,50.4,115.9c-16.5,83-42.9,181.7-74.7,255c-13.4,30.9-24.2,47.9-47.9,71.8

-		c-39.9,40.3-80.3,75.4-125.6,110.4c-32.6,25.1-55.4,12.5-95.6,6.8c-17.1,31-21.8,48.2-53.3,64c-48.4,24.2-91.7-28-129.8-58.7

-		c27.4,42.9,54.9,85.7,82.3,128.6c19,17.8,37.9,35.5,56.9,53.3l48,7.1l64-39.1c11.3-21.3,22.5-42.7,33.8-64

-		c23.7-17.8,47.4-35.5,71.1-53.3c29-24.9,58.1-49.8,87.1-74.6l55.1-78.2l49.8-92.4c21.3-64,42.7-128,64-192

-		c1.8-24.3,3.5-48.6,5.3-72.9c-26.7-11.8-53.3-23.7-80-35.5C1774.2,729.7,1752.4,714.3,1732.9,695.9 M1095.2,1066.2

-		c89.7,0,184.5-5,266.6-42.7c23.2-34.9,46.2-63.4,74.6-94.2c-25.9,48.9-34,76.5-40.9,131.5l-26.7,39.1

-		c-67.5,1.8-135.1,3.5-202.6,5.3c-21.9-2.4-43.8-4.7-65.8-7.1c-2.4-2.4-4.7-4.8-7.1-7.1C1094,1082.8,1094.6,1074.5,1095.2,1066.2

-		 M1082.8,1004l-7-63.1c-15.3,92.3-11.6,154.1-54.1,236.7c-31.7,36.7-70.8,70.2-115.5,88.1c3.8,22.7,4.9,36.8,2.7,53.4

-		c-7.9,59.8-127.4,33.4-176.6,31L969,1411l53.3-21.3c5.9-34.4,11.9-68.7,17.8-103.1l49.8-92.4l8.9-56.9L1082.8,1004 M949.4,483.2

-		c-2.5,44.9-5.4,63.6,14.4,103.2c25.1,50.4,56,97.7,83.3,147.4l8.9-99.5C1020.6,583.9,985,533.5,949.4,483.2 M584.6,822

-		c-7.7,16.4-15.4,32.8-23.1,49.1c21.2,71.3,40,116.5,80.3,178.8c-7,25.2-12.3,36.3-28.4,56.9c-35.5-5.4-67-7-103-6.9

-		c39.7,30.8,79.4,61.6,119.1,92.4c19.6-3.6,39.1-7.1,58.7-10.7l58.7-58.7l-83.5-129.8C637,936.2,610.8,879.1,584.6,822 M2646.4-55.1

-		c24.2,108.8,55.4,209.1,52.5,320.5c-3.6,136.7-30.2,309.3-156.8,391.7c-141.8,92.3-308.3,48.6-463.9,9.1l190.2,78.2

-		c59.2,3,118.5,5.9,177.8,8.9c40.3-11.8,80.6-23.7,120.9-35.5c31.4-26.1,62.8-52.1,94.2-78.2l71.1-149.3l26.7-172.4

-		c-7.1-56.3-14.2-112.6-21.3-168.9l-39.1-167.1C2681.1-30.4,2663.8-42.8,2646.4-55.1 M530,269.1c-64.4,41.9-89.7,60.3-82.6,138

-		l19.2,69.8l27.3,18.5l33.7,11.2l61-14.4c10.4-32.4,20.9-64.7,31.3-97.1l-86.6,42.5h-20c-7.5-11.5-15-23-22.5-34.5l27.3-40.1

-		l14.4-76.2c6.2,1.9,12.3,3.8,18.4,5.6c7.5,5.9,15,11.8,22.5,17.6l-3.2-40.1L555,244.2c-5.1-4.3-10.2-8.6-15.2-12.8L530,269.1

-		 M1974.4-342.9c57.1,53.1,127.3,99.2,173,164c17.7,25.1,37.3,37.9-0.3,73.4c39.8-11.4,54.5-10.1,86.4-6.3

-		c57.9,7,112.2,89.3,115.6,148.3c-0.7,5.5-16.1,18-60.9,30.4c-0.9,1.7-25.3-3.3-24.7-1.7c4.7,12.7,10.9,14.7,20.4,20.6

-		c2.1,14.2,3.4,36,13,51.5c28.2-0.5,55.7,2.6,83.3,8c9.3,15.4,7.9,30.8,7.1,46.2l32-5.3c-2.9-24.3-5.9-48.6-8.9-72.9

-		c9.5-16,18.9-32,28.4-48L2398.1-27c-26.1-24.9-52.1-49.8-78.2-74.7l-7.5-0.4c-29.3-18-58.6-36-88-54l-143.5-117.4L1974.4-342.9

-		 M2070.7,95.1c-3,5.3-7.6,13.7-13.4,19.5c23.8,22.5,35.5,37.6,44,69.4c-26.9,13.3-53.8,26.7-80.7,40.1l-68.3,65.5

-		c-30-16.1-37.4-28.5-51.9-59.3c-16.9,4.5-32.9,8.8-46.8,3.7c8.8,0.1,14.3-2.1,23.1-7.6l43.5-45.1c25.6-19.4,51.2-38.8,76.8-58.1

-		l50.2-16.4C2053.5,104.1,2064.3,97.7,2070.7,95.1"/>

-	<path class="st2" d="M2145,175.3c-85.6,46.1-167.6,92.4-211.3,180C1933.6,244.2,2045.2,195.3,2145,175.3 M1916.6-43.2

-		c-63.6,43.3-108.5,130.8-102.9,216C1793,99,1800.3,29.3,1863.9-21.7c10.7-5.2,21.5-10.4,32.2-15.6

-		C1903-39.3,1909.8-41.2,1916.6-43.2"/>

-	<path class="st3" d="M2772,158c-11.5-72.7-30.6-143.2-57.2-194c-3.2-6.2-8.1-12.5-14.2-18.5c-13.2-13-32.7-25.3-52.8-32.2

-		c-21.3-7.3-43.9-8.8-61.7,0.5c-4.6,2.4-9,5.6-12.8,9.5c-11.6,11.7-21.3,26-31.1,40.2c-10.9,15.9-21.8,31.9-34.9,43

-		c-15.2,13-34.1,20.8-52,28c-7.5-18.3-16.6-35.9-27.1-52.6c-12.2-19.5-26.2-37.8-41.5-56.1c-11.2-13.5-23.9-25.6-37.9-36.2

-		c-13.2-10.1-26.8-18.6-42.5-28.4c-42.3-26.5-78.2-58-114.9-90.2c-16.7-14.6-33.5-29.4-50-43c-87.4-72.1-168.9-107-256.1-112.5

-		c-86.6-5.4-178,18.3-286,63.8c-52.1,21.9-90.8,47.8-124.5,79c-32.2,29.8-59.5,64.1-89.6,104.1c-17.5,1.2-33,3.8-48.8,10.2

-		c-17.4,7-35,18.3-56,36.8c-14.6,12.9-29,26.1-43,39.7c-12.8,12.5-25.5,25.1-37.8,38.1c-98.3,15.8-178.4,33.2-250.1,61

-		c-73.3,28.4-138,67.5-204.4,126.4c-26.1,23.1-50,48.7-71.2,76.4c-20.2,26.5-37.5,54.3-52.6,83.6c-13.3,14.7-26.6,29.5-41,42.5

-		c-14,12.6-29,23.3-45.8,29.8l0,0c-9.8,3.8-13.8,6-14.2,5.8c-0.5-0.3-0.8-1.7-1.4-4.4c24.1-23,27.9-56.8,30.1-90.3

-		c2.9,3.5,5.7,7.7,8.5,12.2c3.2,4.9,6.4,10,10.4,14.9l16.4,20.6L590,340c4.8-21.6,8.4-50.3,2.8-75.2c-3.6-16.2-11.1-30.6-24.2-40.8

-		c1.2-3.3,2.4-6.3,3.6-9.2c4.1-10.5,8.3-21.3,11.9-31.4l7.1-20.2l-21.1,3.7c-28.1,4.9-88.4,38-130.9,82.1

-		c-15.8,16.4-29.3,34.5-38.2,53.5c-9.3,19.8-13.4,40.4-9.8,61.1c3.1,18.1,12.2,35.8,28.6,52.6c3,12.1,5.8,22.6,8.7,32

-		c3.4,10.8,7,20.4,11.6,29.8c12.4,25.7,32.1,41.4,54.9,48.7c18.3,5.9,38.6,6.2,58.5,1.8c-4,23.7-6.5,47.6-7.3,71.6

-		c-1.3,33.5,0,70.6,3.7,113.6c0.8,9.4,2,19.8,3.6,31.1c1.4,9.6,3,19.1,4.7,28.5c-3.7,10.1-7.5,20.3-11.2,30.4l-17.4,47.2l-38.2,37.8

-		c-11.9,11.7-23.8,23.5-35.6,35.3c-1,1-5,4.8-8.6,8.3c-24.1,23.2-28.8,27.8-22,68.5c4.4,26.1,12.9,51.3,25.2,74.7

-		c11.8,22.5,27.7,44.4,48,64.8c25.4,25.4,67,57.1,110.6,73.6c24.9,9.5,50.6,14.1,74.7,10.2c-1.2,3.7-2.4,7.4-3.8,11.1

-		c-3.8,10.6-8,21-12.7,31.2c-29.6,64.8,0.8,98.6,48,120.2c23.6,10.7,51.6,18,77.7,24.8c5.3,1.4,10.7,2.8,17.4,4.6

-		c30.9,8.3,84.2,23.7,132.9,26.7c53.2,3.4,101.1-7.6,114-55.3c5.1-18.9,8-33.4,9.2-47.6c1.1-13.2,0.7-26.5-0.9-42.9

-		c15.2-33.6,21.6-43,32.7-59.2c2.2-3.2,4.8-7,5.6-8.2c11.9-17.6,17.5-30.1,19.5-44.2c2-13.6,0.3-27.1-2.2-47.8

-		c-0.2-2-0.6-4.8-1.1-8.6c30.6,4,61.4,6.1,92.3,6.3c15.5,0.1,31-0.4,46.4-1.2c-4,2-7.8,4-12.1,6.2l-5.8,3

-		c-41.1,21.1-42.8,61.1-29.9,102.2c11.6,37.1,35.4,75,50.4,98c31.4,48.5,61.5,89.5,97.8,111.8c38.1,23.4,81.7,26.1,137.9-4.3

-		c28.6-15.5,37.6-31.3,49.8-52.6c3.7-6.5,7.8-13.6,12.4-20.6c11.8-7.8,41.2-32.1,70.1-56c9.8-8.1,19.7-16.2,30.7-25.2

-		c7.6,5.6,16.9,9.5,28,12.2c14.5,3.5,31.7,5,52.4,6.5c15.5,1.1,65.9,1.1,98.4,1.1c10.1,0,18.4,0,23.4,0c33.6,0.2,60.8-1.6,81.3-13.2

-		c21.9-12.4,34.8-34.3,37.6-73.7c1.2-17.5,1.5-28.3-1-39.3c-2.3-10.3-6.7-19.7-14.3-33.3c-0.5-17-0.9-34-1.4-51

-		c-0.5-18-1-36.1-1.4-54.1c-0.6-21.3-2.9-38.6-7.2-55.6c-4.3-16.9-10.4-33.1-18.6-52.6c-5.1-12.3-9.9-24.7-14.4-37.2l-11.8,4.3

-		l1.8-0.7l10-3.7l0,0c-7-19-14-37.4-23.7-57.2c0.6-3.8,1.3-7.9,1.9-12.3l18.7,18.1l27.6,26.6c21.1,20.3,40.3,38.8,63,52.1

-		c23.4,13.8,49.7,21.8,83.8,20.2c35.7-1.7,73.9-16.7,105.3-39.9c30.4-22.5,54.8-52.7,65-86.2l8.8-29.1l7.1-23.2

-		c50,8.5,103.7,11.2,155.6,5.8c50.1-5.3,98.4-18,140.1-40.3c61.3-32.7,107.3-80.9,140.3-138.1l0,0c36.9-63.9,57.6-139.3,65.4-216.8

-		C2788.4,324.1,2784.9,239.5,2772,158L2772,158z M2123.7,680.7c-28.8-9.7-48.9-23.9-74.2-39.8c6.9,31.1,10,64,0.8,95

-		c-14.6,49.2-38.1,129.8,28.7,144.6c25.4,5.6,37,4.8,72.9-13.7c-29.1,6.6-43.7,5-63.7,1.3c-18.1-3.3-27.7-14.8-32.8-28.4

-		c6.3,4.6,16.6,7,34.3,11.3c49.6,12,96.8-11.9,106-46.3c5.4-20.1,4.5-30.6,15.9-58c10.3,3.2,20.8,6.1,31.7,8.7l-18.4,60

-		c-15.9,52-78,93.8-132.8,92.9c-50.6-0.9-82.8-32.6-117.7-63.7c-24.1-21.4-47.3-41.9-70.2-62.3c-63-19.9-113.6-43.1-172.1-86.4

-		c41.6,48.9,69.9,76,127.9,100.4c-8.4,86.1-38.4,148.9-63.9,231.4c-11.6,37.3-102.7,186.6-128,201.2c-18,10.4-130.9,105.4-152.1,118

-		c-15.8,21-29.7,50-53.5,62.6c-72.4,38.3-119-35-158-97c-17.7-28.2-67-109.5-24.1-132.3c40.6-21.5,63.4-36.9,104.8-64.1

-		c6.1,11.1,16.5,21.8,23.3,32.9l-4.5-36.4c-2.7-22-2.6-39.8-0.9-61.9c1.7-21.4,3.4-42.8,5.1-64.2c-6.2,21.8-18.7,43.5-24.9,65.3

-		c-2.5,8.7-4.6,15.7-5.7,22.3c-93,19-185.3,20.2-278.4,3.6c-5.9-34.4-13.2-70.3-19.2-96.1c-1.8,28.8-0.7,108.5-0.8,153.1

-		c-0.1,34.6-1.6,46.4-19.4,75.8c-16.7,27.5-23.7,33.8-47.1,80.3c2,29.3,2,48.7-5.8,76.6c-13,46.3-143.8,10.4-178.2,1

-		c-42.5-11.6-130.3-28.9-108.2-85.5c19.4-49.8,31.8-102.4,41.3-172.1C684,998.7,611.6,845,597.7,708.8

-		c-10.8-105.7-4.3-170.8,18.6-235.4c36.2-102.5,87-191.2,168.3-262.6c109.8-96.3,212.4-135,373-159.5c-38.6,43.3-76.9,89-118.5,138

-		c-42.2,49.6-67.2,99.8-94,154.1c-37,75-36.2,103.5,12.8,169.4c42.3,56.7,65.1,82.3,83.5,137.8c-15.2,31.4-20.8,58-25.9,100.8

-		c51.7,56.6,90.2,95.3,140.4,107.3c49.3,11.7,90.4,9.5,134.5-13.1c97.9-50.1,188.5-114.7,299-117.4

-		c51.1-125.6,45.9-230.6,21.4-352.2c-16.8-83-23.5-161.6-28.7-246.2c-20.7,87.2-24.6,163.8-9.2,250.6

-		c18.5,104.6,32.9,220.2-18.6,312.2c-99.9,7.6-185.5,68.4-275.5,115c-36.2,18.8-73.9,20.6-113.9,9.6c-37.2-10.2-62.3-34.8-102.3-81

-		c-0.6-46.4,9.8-67.8,31.1-109.8c34.2-67.5,72-130.2,113.4-196.6c-50.7,61.3-98.8,112.4-138.8,174c-15.3-43.5-37.1-65.6-73.3-114.6

-		c-35.3-47.8-39-68.8-12.6-124.2c26.6-55.6,49.1-104.5,94.3-153.3c78.1-84.3,149.6-178.2,235.1-261.3

-		c46.4-45.1,65.2-43.5,126.7-52.9c55.6-8.4,109.9-19.1,166.6-32.2c-54.8,5.1-107.8,7-161.2,8.3h-1.7c52.5-67.1,83-104.5,168.3-141.5

-		c210-91.2,343.5-101.1,508.5,37.6c42.8,36,80.1,70.8,123.5,101.9c-15.7,1.3-29.3,4.2-47.2,11.2c21.8-4.2,47,0,69.6,4.1

-		c6.3,4.1,12.9,8.1,19.6,12.1c30.6,18,48,28,68.7,56.8c21.9,30.5,40.1,60.9,56.2,94.5c-10.5-3.8-19.4-6.9-27.2-9.3

-		c-17.8-8.2-38.6-6.9-55.2,3.4l-1.3,0.6c-16.9,8.3-43.2,17.6-60.7,20.5c9,3.1,28.8,4.2,38.1,0.5c1.2-0.5,2.5-0.9,3.8-1.2

-		c-4.3,7.4-7,15.6-7.8,24.1c-1.1,11.2,1.1,22.5,6.3,32.6v0.1c1.6,3.7,3.8,7.2,6.2,9.6c-8,3-16.2,6.3-24.7,10c39.2-6,74.4-7,112.6-2

-		c2.5,12,5.1,24.8,7.4,37.8l-14.2,1.1c-0.4,0-0.8,0.1-1.1,0.1c-18.1-14.4-38.2-12-65.7-5.7c-83.7,19.1-64,66-102.5,136.8

-		c40-48.8,37-100,102.1-115.4c15.2-3.6,25.5-8.1,35.8-6.5c-18.5,9.3-34.5,24.7-40.8,42.6c-17.9,50.5-6.8,93-26.4,140.2

-		c24.3-42.1,25.8-83.3,47.5-127.6c7.8-15.9,36.8-41.4,54.6-41.8l14.6-0.3c4.3,28,6.9,55.9,5.2,79c-3,42.2-14,104.8-20.5,128.7

-		c22-28.3,32.1-88.3,41.7-130.6c10.1-44,7.5-96.7-1.3-144c-12.1-64.8,54.6-54.3,93.4-84.8c28.5-22.5,48.1-58.3,74.2-83.7

-		c25.9-25.2,66.7,11.8,76.9,36.4c44.2,106.9,64.3,275.1,52.6,382.8c-13.1,120.9-71.5,252.9-178.2,312.5

-		C2419.1,772.5,2258.8,726.2,2123.7,680.7L2123.7,680.7z M1930.5,1217.7c-4.4,49.9-21.1,53.2-64.9,52.4

-		c-19.9-0.4-99.2-0.7-119.3-2.4c-28.4-2.5-44.4-5-53.1-11.5c44.6-32.8,120.5-168.1,135.3-214.7c15.6-49.2,32.8-92.2,45.5-137.7

-		c5.9,19,10.5,37.9,19,58c14.2,33.7,21.2,54.6,22.2,90.8l3.2,114.6C1930.7,1188.7,1932.7,1193.3,1930.5,1217.7L1930.5,1217.7z

-		 M586.8,839.8c28.3,98.1,76.7,194.5,130.2,275.5v1.4c-3.4,13.9-7.2,27.5-15.4,38.4c-38.3,51.2-135.6-24-163.8-52.7

-		c-30.8-31.5-51.4-68.7-56.3-103.6c-3.6-25.5-0.1-26.1,17.7-44.1l71.9-72.8L586.8,839.8L586.8,839.8z M532.7,223

-		c-7.3,15.6-12.4,27.4-15.9,39.6c-15.3,52.7,6.9,99.8-41,138c22.5,45.4,21.5,63.5,73.8,42.5c20.2-8.1,36.8-19.4,51.7-32.9

-		c-7.2,18.7-13.8,37.6-19.8,56.7c-1,3.2-2,6.5-3,9.7c-37.4,15.9-86.6,26-105.4-13.3c-9.1-19.1-14.3-37.8-21-61.9

-		C390.4,337.5,482.5,253.2,532.7,223L532.7,223z M562.9,290.6c-7.6-7.6-13.7-12.8-23.5-11.7c0.8-6.4,1.9-12.7,3.5-18.5

-		c0.8-3,1.6-6,2.5-8.9C558.2,258.9,561.5,272.4,562.9,290.6L562.9,290.6z M2410.4,52.2c2.3,4.9,4.6,9.9,6.9,14.9

-		c-1.9,1.4-3.6,2.8-5.3,4.3c-3-7.1-7.4-13.5-12.9-18.9C2402.7,52.4,2406.5,52.2,2410.4,52.2L2410.4,52.2z M631.6,341.9L631.6,341.9

-		L631.6,341.9L631.6,341.9z M1105.2,1114.4L1105.2,1114.4L1105.2,1114.4z M1660.6,1280.2L1660.6,1280.2L1660.6,1280.2z

-		 M1886.2,851.2L1886.2,851.2L1886.2,851.2L1886.2,851.2z M539,418.6L539,418.6l-0.4-1.1L539,418.6L539,418.6z M2705.6,596.7

-		l0.3,0.2L2705.6,596.7z M321.6,403.3c9.8-111,31.4-158.9,110.3-242.5C332.9,230.5,308.3,262.2,321.6,403.3"/>

-	<path class="st3" d="M296.1,312.6c10.9-50,21-68.8,51.9-109.8C298,237.7,291.5,252,296.1,312.6 M1456.7-383.9

-		c-59.3,14.3-70.6,25.2-88.3,83.3C1396.8-343.1,1413.1-356.9,1456.7-383.9"/>

-	<path class="st3" d="M1550.2-392.3c-117.5,28.8-152.1,49.3-191.1,185.5C1408.7-306.6,1446.3-343.3,1550.2-392.3 M1803.4,104.3

-		c12.5-55.5,34.8-109,121-150.4C1810.1-17.5,1788.7,30.5,1803.4,104.3 M2530.4,108.1c67.7-24.1,100.3-78.5,116.5-142.5

-		c-26.5,53.6-67.4,98.5-122.9,126c-29.8,14.7-48.8,9.6-82.1,6.4C2475.7,107.8,2497.2,120,2530.4,108.1 M2069.4,162.5

-		c-8.7-18.2-24.2-32.3-43.1-39.2c16.6-8.9,32.9-18.2,45.6-29.7c-37.3,17.2-80.6,13-112.6,34.6c-28.2,19-67,79.3-95.6,104.9

-		c20.7-8,40.7-22,59.1-36.6c0.2,28.4,16.1,54.3,41.2,67.4c-10.6,13.9-19,29.2-25,45.6c54.5-64.6,133.5-113.3,207.8-134.2

-		c-20.8-0.3-45.3,3.6-70.4,11.8C2075.5,178.6,2073.1,170.3,2069.4,162.5 M1991,650.4c-2.6,16.7-6.3,37.5-8.9,54.2

-		c7.1-18.9,15.6-40.9,23.8-59c8.7-19.1,13.6-20.9,32.2-31c13.1-7.1,37-17,50.1-24.1c-13.5,2.3-37.7,7.2-51.2,9.5

-		C2000.9,606.2,1996.6,614.9,1991,650.4 M1374.5,4.9c-41.9,41.4-82.6,183.5-95.6,240.4c20.5-47.2,71.7-179.3,111-212.9

-		c10.9-9.3,18.4-15,26.6-19.1c-28.1,47.2-26.1,58.9-16.2,122.2c8.4-64.3,30.6-89.1,67.1-137.1c40-10,77.4-22.1,118.4-38

-		c-46.2,5.2-92.4,10-138.7,14.4C1408.3-21.7,1402-22.3,1374.5,4.9"/>

-	<path class="st1" d="M1945.2,246.8c-7.6-16-0.8-35.2,15.2-42.8c16.1-7.6,35.4-0.8,43,15.3c0.7,1.4,1.3,2.9,1.7,4.5

-		c-15.3,11.4-29.3,24.7-41.1,40.2C1956.1,260.8,1949.1,255,1945.2,246.8 M2302.9,108.4c1.3-13.2,12.6-23,25.8-21.7

-		c13.3,1.3,23,13.1,21.7,26.3c-0.3,2.7-1,5.4-2.2,7.9c-12.1,2.1-24.2,5.6-36.7,10.2C2306.3,125.8,2302.2,116,2302.9,108.4"/>

+	<path class="st0" d="M2198.7,415.2l-1.7,0.3l-1.5,0.7l-1.3,0.8l-1.2,1.5l-0.7,0.7l-0.7,0.2l-0.2-0.4l0.3-0.4l0.1-0.6l0.2,0l0.2,0.2

+		l-0.1-0.6l-0.3-0.2l0-0.2l-0.6,0.3l-0.5,0.6l-0.1,0.6l0.2,0.5l0.2,0.8l0.4,0.2l0.5,0l0.4-0.3l-0.3,1.5l0.3,1.6l-0.3,0.8l-1,1.1

+		l0.2,0.7l0.5,0.8l0.9,0.7l0.5,0.1l0.6,0l-0.3,1.4l1.3,0.5l1.6,0.2l0.5-0.4l0-1l0.6-1l0-0.8l1.5,0.1l1.3-0.1l-1.3,0.8l0.2,1l0.8,1.3

+		l0.8,0.4l0.7-0.3l0.3-0.5l1.4-1.1l0.3,0.2l2.2,0.1l0.4-0.4l0-0.6l-0.1-0.3l-0.1-1.7l-0.7-1.5l0.1-0.6l0.4,0.2l1.2,1.1l0.6,0

+		l0.7-0.3l0.7-0.5l0.3-1.1l1.9,0.1l1.2-0.5l1-0.9l0.7-1.3l0.2-1.5l-0.1-1.8l-0.4-1.6l-0.4-0.5l-0.5-0.2l-0.9,1l-0.8,0.3l-0.7-1.2

+		l-0.7-0.7l-0.4-0.2l-1.6-1.3l-1.3-0.7l-1.3-0.1l-1.5,0.2l-1.3,0.5l-0.9,0.7l-0.7,0.9l-0.7,0.2L2198.7,415.2"/>

+	<path class="st1" d="M2193.9,418.9c-1.4,1.7-1.1,3.7-0.7,5.6c-0.2-0.5-0.4-1.1-0.6-1.6l-0.2-1.5c0-0.5,0-1,0.1-1.5l0.6-1.4l0.9-1.3

+		l1.4-1.2l1.5-0.6l1.8-0.2l-1.7,1.9C2195.6,417.5,2194.8,417.8,2193.9,418.9"/>

+	<path class="st1" d="M2200.6,413.9c-1,1-1.5,1.7-2.2,2.8c-0.4,0.8-1,1.6-1.4,2.4c-0.2,0.4-0.3,0.7-0.3,1.2l-0.7-0.8

+		c0.1-0.3,0.2-0.7,0.3-1l1.1-2l2.4-2.4C2200.1,414,2200.3,413.9,2200.6,413.9 M2205.5,411.5c-0.8,0.3-2.1,0.4-2.2,1.3

+		c-0.1,0.6,0,1,0.4,1.7c-1-1-1.2-0.8-3.1-0.5l0.8-1.1l1.4-0.9l1.8-0.4L2205.5,411.5"/>

+	<path class="st2" d="M2207.7,423.8c0.3,0.2,0.3,0.3,0.2,0.4c0.2-0.1,0.4-0.2,0.6-0.2l0.4-0.5l0.3-0.8l-0.4-0.3l-1.7,0.2

+		c0,0.1-0.1,0.2-0.1,0.3c0,0.2,0,0.3,0,0.5c0.1,0.1,0.1,0.2,0.2,0.3c0.1,0,0.2,0.1,0.2,0.1C2207.5,423.7,2207.6,423.7,2207.7,423.8

+		 M2207.5,420.9c-0.8,0.2-0.8,0.3-1.1,1.1C2206.7,421.5,2207,421.2,2207.5,420.9 M2213.1,414.7c-0.1,0.1-0.3,0.1-0.4,0.2

+		c-0.2,0.3-0.4,0.5-0.7,0.7c-0.2,0.1-0.3,0.2-0.5,0.2c-0.1,0-0.2,0-0.4,0.1c0.1,0,0.1,0,0.2,0h0.5l0.6-0.4l0.4-0.4L2213.1,414.7

+		 M2199.7,416.5c-0.3,0.9-0.6,1.7-1.1,2.5c0.6-0.7,1-1.3,1.4-2.1c0.1-0.3,0.2-0.7,0.6-0.5c0,0.3,0.1,0.6,0.1,0.9

+		c0.2-1.5,0.8-2.2,2.2-2.8l-1.2,0.1l-1.1,0.2l-0.6,0.8L2199.7,416.5 M2202.4,416.5c0.3,1.4,0.7,2.8,0.9,4.2c0.1,0.9,0.1,1.4-0.3,2.2

+		c-0.5,0-0.8,0-1.3,0.2c-2,0.7-3.1,1.6-4.5-0.3l1.3,0.6c0.3-0.1,0.6-0.1,0.9-0.2c0.5-0.3,1.1-0.6,1.6-0.9l1.3-0.2l0.4-1.7l-0.3-2.3

+		c0-0.4,0-0.7,0-1.1C2202.4,416.8,2202.4,416.7,2202.4,416.5 M2205.9,425.3c-0.2,1.2,0.4,1.8,0.2,2.1c-0.1,0.1-0.2,0.2-0.3,0.3

+		c-0.4,0.2-0.8,0-0.9,0.1h-1.2l-0.5-0.2l0.7-0.8c0.2-0.5,0.5-1,0.7-1.5l0.4-1.5h0.2L2205.9,425.3"/>

+	<path class="st2" d="M2203.9,421.9c0.1,0.5,0.3,0.7,0.5,1.2c-0.2,0.8-0.4,1.8-0.7,2.6c-0.1,0.3-0.2,0.5-0.5,0.7

+		c-0.4,0.4-0.8,0.8-1.3,1.1c-0.3,0.3-0.6,0.1-1,0.1c-0.2,0.3-0.2,0.5-0.5,0.6c-0.5,0.2-0.9-0.3-1.3-0.6c0.3,0.4,0.5,0.9,0.8,1.3

+		c0.2,0.2,0.4,0.4,0.6,0.5l0.5,0.1l0.6-0.4c0.1-0.2,0.2-0.4,0.3-0.6c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.6-0.5,0.9-0.7l0.6-0.8

+		l0.5-0.9c0.2-0.6,0.4-1.3,0.6-1.9c0-0.2,0-0.5,0.1-0.7c-0.3-0.1-0.5-0.2-0.8-0.4C2204.3,422.3,2204.1,422.1,2203.9,421.9

+		 M2197.5,425.7c0.9,0,1.8-0.1,2.7-0.4c0.2-0.3,0.5-0.6,0.7-0.9c-0.3,0.5-0.3,0.8-0.4,1.3l-0.3,0.4c-0.7,0-1.4,0-2,0.1

+		c-0.2,0-0.4,0-0.7-0.1c0,0,0,0-0.1-0.1C2197.5,425.8,2197.5,425.7,2197.5,425.7 M2197.4,425l-0.1-0.6c-0.2,0.9-0.1,1.5-0.5,2.4

+		c-0.3,0.4-0.7,0.7-1.2,0.9c0,0.2,0,0.4,0,0.5c-0.1,0.6-1.3,0.3-1.8,0.3l2.4,0.6l0.5-0.2c0.1-0.3,0.1-0.7,0.2-1l0.5-0.9l0.1-0.6

+		L2197.4,425 M2196.1,419.8c0,0.4-0.1,0.6,0.1,1c0.3,0.5,0.6,1,0.8,1.5l0.1-1C2196.8,420.8,2196.4,420.3,2196.1,419.8 M2192.4,423.2

+		c-0.1,0.2-0.2,0.3-0.2,0.5c0.2,0.7,0.4,1.2,0.8,1.8c-0.1,0.3-0.1,0.4-0.3,0.6c-0.4-0.1-0.7-0.1-1-0.1c0.4,0.3,0.8,0.6,1.2,0.9

+		c0.2,0,0.4-0.1,0.6-0.1l0.6-0.6l-0.8-1.3C2193,424.4,2192.7,423.8,2192.4,423.2 M2213.1,414.4c0.2,1.1,0.6,2.1,0.5,3.2

+		c0,1.4-0.3,3.1-1.6,3.9c-1.4,0.9-3.1,0.5-4.6,0.1l1.9,0.8c0.6,0,1.2,0.1,1.8,0.1c0.4-0.1,0.8-0.2,1.2-0.4c0.3-0.3,0.6-0.5,0.9-0.8

+		l0.7-1.5l0.3-1.7c-0.1-0.6-0.1-1.1-0.2-1.7l-0.4-1.7C2213.4,414.7,2213.3,414.5,2213.1,414.4 M2191.9,417.7

+		c-0.6,0.4-0.9,0.6-0.8,1.4l0.2,0.7l0.3,0.2l0.3,0.1l0.6-0.1c0.1-0.3,0.2-0.6,0.3-1l-0.9,0.4h-0.2c-0.1-0.1-0.2-0.2-0.2-0.3l0.3-0.4

+		l0.1-0.8c0.1,0,0.1,0,0.2,0.1c0.1,0.1,0.2,0.1,0.2,0.2l0-0.4l-0.2-0.3c-0.1,0-0.1-0.1-0.2-0.1L2191.9,417.7 M2206.4,411.5

+		c0.6,0.5,1.3,1,1.7,1.6c0.2,0.3,0.4,0.4,0,0.7c0.4-0.1,0.5-0.1,0.9-0.1c0.6,0.1,1.1,0.9,1.2,1.5c0,0.1-0.2,0.2-0.6,0.3

+		c0,0-0.3,0-0.2,0c0,0.1,0.1,0.1,0.2,0.2c0,0.1,0,0.4,0.1,0.5c0.3,0,0.6,0,0.8,0.1c0.1,0.2,0.1,0.3,0.1,0.5l0.3-0.1

+		c0-0.2-0.1-0.5-0.1-0.7c0.1-0.2,0.2-0.3,0.3-0.5l-0.4-0.9c-0.3-0.2-0.5-0.5-0.8-0.7l-0.1,0c-0.3-0.2-0.6-0.4-0.9-0.5l-1.4-1.2

+		L2206.4,411.5 M2207.3,415.9c0,0.1-0.1,0.1-0.1,0.2c0.2,0.2,0.4,0.4,0.4,0.7c-0.3,0.1-0.5,0.3-0.8,0.4l-0.7,0.7

+		c-0.3-0.2-0.4-0.3-0.5-0.6c-0.2,0-0.3,0.1-0.5,0c0.1,0,0.1,0,0.2-0.1l0.4-0.5c0.3-0.2,0.5-0.4,0.8-0.6l0.5-0.2

+		C2207.1,416,2207.3,416,2207.3,415.9"/>

+	<path class="st2" d="M2208.1,416.7c-0.9,0.5-1.7,0.9-2.1,1.8C2205.9,417.4,2207.1,416.9,2208.1,416.7 M2205.8,414.5

+		c-0.6,0.4-1.1,1.3-1,2.2c-0.2-0.7-0.1-1.4,0.5-1.9c0.1-0.1,0.2-0.1,0.3-0.2C2205.6,414.6,2205.7,414.6,2205.8,414.5"/>

+	<path class="st3" d="M2214.3,416.6c-0.1-0.7-0.3-1.4-0.6-1.9c0-0.1-0.1-0.1-0.1-0.2c-0.1-0.1-0.3-0.3-0.5-0.3

+		c-0.2-0.1-0.4-0.1-0.6,0c0,0-0.1,0.1-0.1,0.1c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.2,0.3-0.3,0.4c-0.2,0.1-0.3,0.2-0.5,0.3

+		c-0.1-0.2-0.2-0.4-0.3-0.5c-0.1-0.2-0.3-0.4-0.4-0.6c-0.1-0.1-0.2-0.3-0.4-0.4c-0.1-0.1-0.3-0.2-0.4-0.3c-0.4-0.3-0.8-0.6-1.2-0.9

+		c-0.2-0.1-0.3-0.3-0.5-0.4c-0.9-0.7-1.7-1.1-2.6-1.1c-0.9-0.1-1.8,0.2-2.9,0.6c-0.5,0.2-0.9,0.5-1.2,0.8c-0.3,0.3-0.6,0.6-0.9,1

+		c-0.2,0-0.3,0-0.5,0.1c-0.2,0.1-0.4,0.2-0.6,0.4c-0.1,0.1-0.3,0.3-0.4,0.4c-0.1,0.1-0.3,0.3-0.4,0.4c-1,0.2-1.8,0.3-2.5,0.6

+		c-0.7,0.3-1.4,0.7-2,1.3c-0.3,0.2-0.5,0.5-0.7,0.8c-0.2,0.3-0.4,0.5-0.5,0.8c-0.1,0.1-0.3,0.3-0.4,0.4c-0.1,0.1-0.3,0.2-0.5,0.3

+		l0,0c-0.1,0-0.1,0.1-0.1,0.1c0,0,0,0,0,0c0.2-0.2,0.3-0.6,0.3-0.9c0,0,0.1,0.1,0.1,0.1c0,0,0.1,0.1,0.1,0.1l0.2,0.2l0.1-0.3

+		c0-0.2,0.1-0.5,0-0.8c0-0.2-0.1-0.3-0.2-0.4c0,0,0-0.1,0-0.1c0-0.1,0.1-0.2,0.1-0.3l0.1-0.2l-0.2,0c-0.3,0-0.9,0.4-1.3,0.8

+		c-0.2,0.2-0.3,0.3-0.4,0.5c-0.1,0.2-0.1,0.4-0.1,0.6c0,0.2,0.1,0.4,0.3,0.5c0,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3

+		c0.1,0.3,0.3,0.4,0.5,0.5c0.2,0.1,0.4,0.1,0.6,0c0,0.2-0.1,0.5-0.1,0.7c0,0.3,0,0.7,0,1.1c0,0.1,0,0.2,0,0.3c0,0.1,0,0.2,0,0.3

+		c0,0.1-0.1,0.2-0.1,0.3l-0.2,0.5l-0.4,0.4c-0.1,0.1-0.2,0.2-0.4,0.4c0,0-0.1,0-0.1,0.1c-0.2,0.2-0.3,0.3-0.2,0.7

+		c0,0.3,0.1,0.5,0.3,0.7c0.1,0.2,0.3,0.4,0.5,0.6c0.3,0.3,0.7,0.6,1.1,0.7c0.2,0.1,0.5,0.1,0.7,0.1c0,0,0,0.1,0,0.1

+		c0,0.1-0.1,0.2-0.1,0.3c-0.3,0.6,0,1,0.5,1.2c0.2,0.1,0.5,0.2,0.8,0.2c0.1,0,0.1,0,0.2,0c0.3,0.1,0.8,0.2,1.3,0.3

+		c0.5,0,1-0.1,1.1-0.6c0.1-0.2,0.1-0.3,0.1-0.5c0-0.1,0-0.3,0-0.4c0.2-0.3,0.2-0.4,0.3-0.6c0,0,0-0.1,0.1-0.1

+		c0.1-0.2,0.2-0.3,0.2-0.4c0-0.1,0-0.3,0-0.5c0,0,0,0,0-0.1c0.3,0,0.6,0.1,0.9,0.1c0.2,0,0.3,0,0.5,0c0,0-0.1,0-0.1,0.1l-0.1,0

+		c-0.4,0.2-0.4,0.6-0.3,1c0.1,0.4,0.4,0.8,0.5,1c0.3,0.5,0.6,0.9,1,1.1c0.4,0.2,0.8,0.3,1.4,0c0.3-0.2,0.4-0.3,0.5-0.5

+		c0-0.1,0.1-0.1,0.1-0.2c0.1-0.1,0.4-0.3,0.7-0.6c0.1-0.1,0.2-0.2,0.3-0.3c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.3,0.1,0.5,0.1

+		c0.2,0,0.7,0,1,0c0.1,0,0.2,0,0.2,0c0.3,0,0.6,0,0.8-0.1c0.2-0.1,0.3-0.3,0.4-0.7c0-0.2,0-0.3,0-0.4c0-0.1-0.1-0.2-0.1-0.3

+		c0-0.2,0-0.3,0-0.5c0-0.2,0-0.4,0-0.5c0-0.2,0-0.4-0.1-0.6c0-0.2-0.1-0.3-0.2-0.5c-0.1-0.1-0.1-0.2-0.1-0.4l-0.1,0l0,0l0.1,0l0,0

+		c-0.1-0.2-0.1-0.4-0.2-0.6c0,0,0-0.1,0-0.1l0.2,0.2l0.3,0.3c0.2,0.2,0.4,0.4,0.6,0.5c0.2,0.1,0.5,0.2,0.8,0.2

+		c0.4,0,0.7-0.2,1.1-0.4c0.3-0.2,0.5-0.5,0.7-0.9l0.1-0.3l0.1-0.2c0.5,0.1,1,0.1,1.6,0.1c0.5-0.1,1-0.2,1.4-0.4

+		c0.6-0.3,1.1-0.8,1.4-1.4l0,0c0.4-0.6,0.6-1.4,0.7-2.2C2214.5,418.2,2214.5,417.4,2214.3,416.6L2214.3,416.6z M2207.8,421.8

+		c-0.3-0.1-0.5-0.2-0.7-0.4c0.1,0.3,0.1,0.6,0,1c-0.1,0.5-0.4,1.3,0.3,1.4c0.3,0.1,0.4,0,0.7-0.1c-0.3,0.1-0.4,0.1-0.6,0

+		c-0.2,0-0.3-0.1-0.3-0.3c0.1,0,0.2,0.1,0.3,0.1c0.5,0.1,1-0.1,1.1-0.5c0.1-0.2,0-0.3,0.2-0.6c0.1,0,0.2,0.1,0.3,0.1l-0.2,0.6

+		c-0.2,0.5-0.8,0.9-1.3,0.9c-0.5,0-0.8-0.3-1.2-0.6c-0.2-0.2-0.5-0.4-0.7-0.6c-0.6-0.2-1.1-0.4-1.7-0.9c0.4,0.5,0.7,0.8,1.3,1

+		c-0.1,0.9-0.4,1.5-0.6,2.3c-0.1,0.4-1,1.9-1.3,2c-0.2,0.1-1.3,1.1-1.5,1.2c-0.2,0.2-0.3,0.5-0.5,0.6c-0.7,0.4-1.2-0.4-1.6-1

+		c-0.2-0.3-0.7-1.1-0.2-1.3c0.4-0.2,0.6-0.4,1-0.6c0.1,0.1,0.2,0.2,0.2,0.3l0-0.4c0-0.2,0-0.4,0-0.6c0-0.2,0-0.4,0.1-0.6

+		c-0.1,0.2-0.2,0.4-0.2,0.7c0,0.1,0,0.2-0.1,0.2c-0.9,0.2-1.9,0.2-2.8,0c-0.1-0.3-0.1-0.7-0.2-1c0,0.3,0,1.1,0,1.5

+		c0,0.3,0,0.5-0.2,0.8c-0.2,0.3-0.2,0.3-0.5,0.8c0,0.3,0,0.5-0.1,0.8c-0.1,0.5-1.4,0.1-1.8,0c-0.4-0.1-1.3-0.3-1.1-0.9

+		c0.2-0.5,0.3-1,0.4-1.7c-0.8-1.1-1.5-2.7-1.6-4c-0.1-1.1,0-1.7,0.2-2.4c0.4-1,0.9-1.9,1.7-2.6c1.1-1,2.1-1.4,3.7-1.6

+		c-0.4,0.4-0.8,0.9-1.2,1.4c-0.4,0.5-0.7,1-0.9,1.5c-0.4,0.8-0.4,1,0.1,1.7c0.4,0.6,0.7,0.8,0.8,1.4c-0.2,0.3-0.2,0.6-0.3,1

+		c0.5,0.6,0.9,1,1.4,1.1c0.5,0.1,0.9,0.1,1.3-0.1c1-0.5,1.9-1.1,3-1.2c0.5-1.3,0.5-2.3,0.2-3.5c-0.2-0.8-0.2-1.6-0.3-2.5

+		c-0.2,0.9-0.2,1.6-0.1,2.5c0.2,1,0.3,2.2-0.2,3.1c-1,0.1-1.9,0.7-2.8,1.2c-0.4,0.2-0.7,0.2-1.1,0.1c-0.4-0.1-0.6-0.3-1-0.8

+		c0-0.5,0.1-0.7,0.3-1.1c0.3-0.7,0.7-1.3,1.1-2c-0.5,0.6-1,1.1-1.4,1.7c-0.2-0.4-0.4-0.7-0.7-1.1c-0.4-0.5-0.4-0.7-0.1-1.2

+		c0.3-0.6,0.5-1,0.9-1.5c0.8-0.8,1.5-1.8,2.4-2.6c0.5-0.5,0.7-0.4,1.3-0.5c0.6-0.1,1.1-0.2,1.7-0.3c-0.5,0.1-1.1,0.1-1.6,0.1h0

+		c0.5-0.7,0.8-1,1.7-1.4c2.1-0.9,3.4-1,5.1,0.4c0.4,0.4,0.8,0.7,1.2,1c-0.2,0-0.3,0-0.5,0.1c0.2,0,0.5,0,0.7,0

+		c0.1,0,0.1,0.1,0.2,0.1c0.3,0.2,0.5,0.3,0.7,0.6c0.2,0.3,0.4,0.6,0.6,0.9c-0.1,0-0.2-0.1-0.3-0.1c-0.2-0.1-0.4-0.1-0.6,0l0,0

+		c-0.2,0.1-0.4,0.2-0.6,0.2c0.1,0,0.3,0,0.4,0c0,0,0,0,0,0c0,0.1-0.1,0.2-0.1,0.2c0,0.1,0,0.2,0.1,0.3v0c0,0,0,0.1,0.1,0.1

+		c-0.1,0-0.2,0.1-0.2,0.1c0.4-0.1,0.7-0.1,1.1,0c0,0.1,0.1,0.2,0.1,0.4l-0.1,0c0,0,0,0,0,0c-0.2-0.1-0.4-0.1-0.7-0.1

+		c-0.8,0.2-0.6,0.7-1,1.4c0.4-0.5,0.4-1,1-1.2c0.2,0,0.3-0.1,0.4-0.1c-0.2,0.1-0.3,0.2-0.4,0.4c-0.2,0.5-0.1,0.9-0.3,1.4

+		c0.2-0.4,0.3-0.8,0.5-1.3c0.1-0.2,0.4-0.4,0.5-0.4l0.1,0c0,0.3,0.1,0.6,0.1,0.8c0,0.4-0.1,1-0.2,1.3c0.2-0.3,0.3-0.9,0.4-1.3

+		c0.1-0.4,0.1-1,0-1.4c-0.1-0.6,0.5-0.5,0.9-0.8c0.3-0.2,0.5-0.6,0.7-0.8c0.3-0.3,0.7,0.1,0.8,0.4c0.4,1.1,0.6,2.8,0.5,3.8

+		c-0.1,1.2-0.7,2.5-1.8,3.1C2210.8,422.7,2209.2,422.3,2207.8,421.8L2207.8,421.8z M2205.9,427.2c0,0.5-0.2,0.5-0.7,0.5

+		c-0.2,0-1,0-1.2,0c-0.3,0-0.4-0.1-0.5-0.1c0.4-0.3,1.2-1.7,1.4-2.2c0.2-0.5,0.3-0.9,0.5-1.4c0.1,0.2,0.1,0.4,0.2,0.6

+		c0.1,0.3,0.2,0.5,0.2,0.9l0,1.1C2205.9,426.9,2205.9,426.9,2205.9,427.2L2205.9,427.2z M2192.5,423.4c0.3,1,0.8,1.9,1.3,2.8v0

+		c0,0.1-0.1,0.3-0.2,0.4c-0.4,0.5-1.4-0.2-1.6-0.5c-0.3-0.3-0.5-0.7-0.6-1c0-0.3,0-0.3,0.2-0.4l0.7-0.7L2192.5,423.4L2192.5,423.4z

+		 M2191.9,417.2c-0.1,0.2-0.1,0.3-0.2,0.4c-0.2,0.5,0.1,1-0.4,1.4c0.2,0.5,0.2,0.6,0.7,0.4c0.2-0.1,0.4-0.2,0.5-0.3

+		c-0.1,0.2-0.1,0.4-0.2,0.6c0,0,0,0.1,0,0.1c-0.4,0.2-0.9,0.3-1.1-0.1c-0.1-0.2-0.1-0.4-0.2-0.6

+		C2190.5,418.4,2191.4,417.5,2191.9,417.2L2191.9,417.2z M2192.2,417.9c-0.1-0.1-0.1-0.1-0.2-0.1c0-0.1,0-0.1,0-0.2c0,0,0-0.1,0-0.1

+		C2192.2,417.6,2192.2,417.7,2192.2,417.9L2192.2,417.9z M2210.7,415.5c0,0,0,0.1,0.1,0.1c0,0,0,0-0.1,0c0-0.1-0.1-0.1-0.1-0.2

+		C2210.6,415.5,2210.7,415.5,2210.7,415.5L2210.7,415.5z M2192.9,418.4L2192.9,418.4L2192.9,418.4L2192.9,418.4z M2197.6,426.1

+		L2197.6,426.1L2197.6,426.1z M2203.2,427.8L2203.2,427.8L2203.2,427.8z M2205.5,423.5L2205.5,423.5L2205.5,423.5L2205.5,423.5z

+		 M2192,419.2L2192,419.2L2192,419.2L2192,419.2L2192,419.2z M2213.7,421L2213.7,421L2213.7,421z M2189.8,419

+		c0.1-1.1,0.3-1.6,1.1-2.4C2189.9,417.3,2189.7,417.6,2189.8,419"/>

+	<path class="st3" d="M2189.5,418.1c0.1-0.5,0.2-0.7,0.5-1.1C2189.6,417.4,2189.5,417.5,2189.5,418.1 M2201.2,411.1

+		c-0.6,0.1-0.7,0.3-0.9,0.8C2200.6,411.5,2200.7,411.4,2201.2,411.1"/>

+	<path class="st3" d="M2202.1,411c-1.2,0.3-1.5,0.5-1.9,1.9C2200.7,411.9,2201.1,411.5,2202.1,411 M2204.6,416

+		c0.1-0.6,0.3-1.1,1.2-1.5C2204.7,414.8,2204.5,415.3,2204.6,416 M2211.9,416.1c0.7-0.2,1-0.8,1.2-1.4c-0.3,0.5-0.7,1-1.2,1.3

+		c-0.3,0.1-0.5,0.1-0.8,0.1C2211.4,416.1,2211.6,416.2,2211.9,416.1 M2207.3,416.6c-0.1-0.2-0.2-0.3-0.4-0.4

+		c0.2-0.1,0.3-0.2,0.5-0.3c-0.4,0.2-0.8,0.1-1.1,0.3c-0.3,0.2-0.7,0.8-1,1.1c0.2-0.1,0.4-0.2,0.6-0.4c0,0.3,0.2,0.5,0.4,0.7

+		c-0.1,0.1-0.2,0.3-0.3,0.5c0.5-0.6,1.3-1.1,2.1-1.3c-0.2,0-0.5,0-0.7,0.1C2207.4,416.8,2207.3,416.7,2207.3,416.6 M2206.5,421.5

+		c0,0.2-0.1,0.4-0.1,0.5c0.1-0.2,0.2-0.4,0.2-0.6c0.1-0.2,0.1-0.2,0.3-0.3c0.1-0.1,0.4-0.2,0.5-0.2c-0.1,0-0.4,0.1-0.5,0.1

+		C2206.6,421,2206.6,421.1,2206.5,421.5 M2200.3,415c-0.4,0.4-0.8,1.8-1,2.4c0.2-0.5,0.7-1.8,1.1-2.1c0.1-0.1,0.2-0.2,0.3-0.2

+		c-0.3,0.5-0.3,0.6-0.2,1.2c0.1-0.6,0.3-0.9,0.7-1.4c0.4-0.1,0.8-0.2,1.2-0.4c-0.5,0.1-0.9,0.1-1.4,0.1

+		C2200.7,414.8,2200.6,414.8,2200.3,415"/>

+	<path class="st1" d="M2206.1,417.4c-0.1-0.2,0-0.4,0.2-0.4c0.2-0.1,0.4,0,0.4,0.2c0,0,0,0,0,0c-0.2,0.1-0.3,0.2-0.4,0.4

+		C2206.2,417.6,2206.1,417.5,2206.1,417.4 M2209.6,416.1c0-0.1,0.1-0.2,0.3-0.2c0.1,0,0.2,0.1,0.2,0.3c0,0,0,0.1,0,0.1

+		c-0.1,0-0.2,0.1-0.4,0.1C2209.7,416.2,2209.6,416.1,2209.6,416.1"/>

 </g>

 </svg>

diff --git a/components/datalake-handler/admin/src/src/assets/icons/hadoop_disable.svg b/components/datalake-handler/admin/src/src/assets/icons/hadoop_disable.svg
index 8bfd266..6ca5ac0 100755
--- a/components/datalake-handler/admin/src/src/assets/icons/hadoop_disable.svg
+++ b/components/datalake-handler/admin/src/src/assets/icons/hadoop_disable.svg
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>

 <!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->

 <svg version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"

-	 viewBox="285 -392.5 2490.2 1865.5" style="enable-background:new 285 -392.5 2490.2 1865.5;" xml:space="preserve">

+	 viewBox="2179.6 407.7 24.9 24.9" style="enable-background:new 2179.6 407.7 24.9 24.9;" xml:space="preserve">

 <style type="text/css">

 	.st0{fill:#D2D3D5;}

 	.st1{fill:#E1E2E3;}

@@ -9,140 +9,115 @@
 	.st3{fill:#A8A8AA;}

 </style>

 <g>

-	<path class="st0" d="M1202.7,18.8l-165.6,26.9L886,111.9l-128.3,80.7l-122.1,149l-69,73.1l-66.7,24.6l-17.6-43.1l30.8-44.5

-		l6.9-62.8l20.7,0.8l22.6,20.6l-6.1-64l-25-16.8l0.8-24.4l-59.3,33.5L420,301.9l-11.3,56.7l23,45.3l21.4,77l43.5,20.6l45.8-2.2

-		l43.4-25.2l-29,146.9l29,163.5L553.9,860L449.5,972.6l18.6,67.2l49.5,77.9l93.3,65.7l49.5,6.8l55,1.9L681.1,1333l126.2,51.7

-		l157.3,20.7l53.8-35.2l4.1-95.2l60-99.3l4.1-78.6l144.9,10.4l134.5-12.4l-134.5,80.7l22.8,97.3l84.8,132.5l82.8,35.2l66.2-26.9

-		l26.9-53.8l138.7-105.5l26.9,22.8l217.3,8.3l43.5-35.2l4.1-62.1l-14.5-26.9l-10.4-167.6L1848.2,849l12.4-64.2l43.5,22.8

-		l122.1,113.8l60,4.2l66.2-26.9l66.2-49.7l33.1-107.6l194.6,12.4l118-45.5l95.2-89l68.3-128.3l16.5-151.1L2729.8,164l-37-157.6

-		l-37.3-49.7l-51.7-16.6l-91.1,99.4l-82.8,29l-72.4-120l-72.4-66.2l-39.3-24.8l-157.3-130.4l-126.2-68.3l-126.2-10.3l-146.9,24.8

-		l-128.5,47.4l-89,72.4l-70.4,84.9l-72.4,20.7L1202.7,18.8"/>

-	<path class="st1" d="M722.4,392.3c-141.8,165.4-110.3,366-71,562.6c-21-53-42-106-62.9-159l-23.2-145.8

-		c2.2-49.7,4.4-99.4,6.6-149.1l59.6-142.4l89.4-132.5L860,110.2l152.4-62.9l178.9-23.2l-165.6,188.8

-		C892.7,256,814.3,285.1,722.4,392.3"/>

-	<path class="st1" d="M1390.1-111.7c-98.6,96.2-152.4,168.8-215.2,281.4c-44.9,80.6-95.2,158.2-142.4,237.6

-		c-23.9,40.2-26.1,73.9-33.3,120.3l-69.5-82.8c11.1-33.1,22.1-66.2,33.1-99.4l112.6-202.1l238.5-235.2

-		C1339.3-98.5,1364.7-105.1,1390.1-111.7 M1877-350.2c-79,29.6-210.1,39.4-219.2,130c-6.5,64.4,4.9,96.7,43.7,164.8

-		c-95.8-99.2-119.5-83.8-304.7-53l79.5-112.6l139.1-86.1l178.9-39.7L1877-350.2"/>

-	<path class="st2" d="M2094.9,875.8c26.3,16.2,25.7,28,21.3,39.1c20.7-8.3,41.5-16.6,62.2-24.9l40.3-54.1l30-77.1l-38.2-28.7

-		l-167.1,21.3c-4.1,11.2-8.3,22.5-12.4,33.8c1.2,16,2.4,32,3.6,48c5.3,9.5,10.7,19,16,28.4c8.3,4.1,16.6,8.3,24.9,12.4

-		C2081.9,874.6,2088.4,875.2,2094.9,875.8 M2079.4,590.1c-83.8,24.2-83.1,30.8-107.8,113.9C2004.2,651.6,2028.4,625.2,2079.4,590.1

-		 M2636.2-31.7c-14.9,6.9-29.4,10.2-38.7,23.8c-20,29.3-37.2,54-70.3,74.6c-16.7,10.4-33.9,17.1-51.6,22.6

-		c-14.7,4.6-23.5,0.5-36,9.5c7.4,1.3,14.8,2.6,22.2,3.9h49l60.4-37.3l35.5-37.3L2636.2-31.7 M1302.1,154.1

-		c-32.9,90.2-61.7,167.5-111.6,249.1c63.9-68.9,102.7-127.5,139.4-205.4c14.2-30.3,16.9-65.8,56.6-52.6c1.8,30.2,8.2,60.4,9.9,90.6

-		c21.4-153.5,81.8-217.7,222.2-277.3l-119.1,14.3l-112,24.9l-55.1,80L1302.1,154.1 M1574.1,150.6c30.3,142.5,73.9,279.2,92.8,424

-		c12.3,94.1,13.6,139.2-33.7,220.4c-51.7-3.3-83.8,2.5-133.9,18.9c-199.2,65.3-313.4,161.3-447.6-32.1l128.5,60.6

-		c30.5-6,61.1-12,91.6-18c53.9-31.4,107.8-62.8,161.8-94.2l126.2-24.9l40.9-170.6l-30.1-225.9c-1.2-35.5-2.4-71.1-3.6-106.6

-		C1569.4,185,1571.8,167.8,1574.1,150.6 M1917.2,1032.2c-16.7,115.8,38.5,178,15.6,210c-6.5,9-15.3,24.8-25,29.2

-		c-35,15.5-83.1-2.9-86.6,6.2h-115.5l-46.2-19.6l71.1-83.5c23.1-50.4,46.2-100.7,69.3-151.1l44.4-152.9h23.1L1917.2,1032.2"/>

-	<path class="st2" d="M1723,695.7c9.4,52.6,25.7,65,50.4,115.9c-16.5,83-42.9,181.7-74.7,255c-13.4,30.9-24.2,47.9-47.9,71.8

-		c-39.9,40.3-80.3,75.4-125.6,110.4c-32.6,25.1-55.4,12.5-95.6,6.8c-17.1,31-21.8,48.2-53.3,64c-48.4,24.2-91.7-28-129.8-58.7

-		c27.4,42.9,54.9,85.7,82.3,128.6c19,17.8,37.9,35.5,56.9,53.3l48,7.1l64-39.1c11.3-21.3,22.5-42.7,33.8-64

-		c23.7-17.8,47.4-35.5,71.1-53.3c29-24.9,58.1-49.8,87.1-74.6l55.1-78.2l49.8-92.4c21.3-64,42.7-128,64-192

-		c1.8-24.3,3.5-48.6,5.3-72.9c-26.7-11.8-53.3-23.7-80-35.5C1764.3,729.5,1742.5,714.1,1723,695.7 M1085.3,1066

-		c89.7,0,184.5-5,266.6-42.7c23.2-34.9,46.2-63.4,74.6-94.2c-25.9,48.9-34,76.5-40.9,131.5l-26.7,39.1

-		c-67.5,1.8-135.1,3.5-202.6,5.3c-21.9-2.4-43.8-4.7-65.8-7.1c-2.4-2.4-4.7-4.8-7.1-7.1C1084.1,1082.6,1084.7,1074.3,1085.3,1066

-		 M1072.9,1003.8l-7-63.1c-15.3,92.3-11.6,154.1-54.1,236.7c-31.7,36.7-70.8,70.2-115.5,88.1c3.8,22.7,4.9,36.8,2.7,53.4

-		c-7.9,59.8-127.4,33.4-176.6,31l236.7,60.9l53.3-21.3c5.9-34.4,11.9-68.7,17.8-103.1l49.8-92.4l8.9-56.9L1072.9,1003.8 M939.5,483

-		c-2.5,44.9-5.4,63.6,14.4,103.2c25.1,50.4,56,97.7,83.3,147.4l8.9-99.5C1010.7,583.7,975.1,533.3,939.5,483 M574.7,821.8

-		c-7.7,16.4-15.4,32.8-23.1,49.1c21.2,71.3,40,116.5,80.3,178.8c-7,25.2-12.3,36.3-28.4,56.9c-35.5-5.4-67-7-103-6.9

-		c39.7,30.8,79.4,61.6,119.1,92.4c19.6-3.6,39.1-7.1,58.7-10.7l58.7-58.7l-83.5-129.8C627.1,936,600.9,878.9,574.7,821.8

-		 M2636.5-55.3c24.2,108.8,55.4,209.1,52.5,320.5c-3.6,136.7-30.2,309.3-156.8,391.7c-141.8,92.3-308.3,48.6-463.9,9.1l190.2,78.2

-		c59.2,3,118.5,5.9,177.8,8.9c40.3-11.8,80.6-23.7,120.9-35.5c31.4-26.1,62.8-52.1,94.2-78.2l71.1-149.3l26.7-172.4

-		c-7.1-56.3-14.2-112.6-21.3-168.9l-39.1-167.1C2671.2-30.6,2653.9-43,2636.5-55.3 M520.1,268.9c-64.4,41.9-89.7,60.3-82.6,138

-		l19.2,69.8l27.3,18.5l33.7,11.2l61-14.4c10.4-32.4,20.9-64.7,31.3-97.1l-86.6,42.5h-20c-7.5-11.5-15-23-22.5-34.5l27.3-40.1

-		l14.4-76.2c6.2,1.9,12.3,3.8,18.4,5.6c7.5,5.9,15,11.8,22.5,17.6l-3.2-40.1L545.1,244c-5.1-4.3-10.2-8.6-15.2-12.8L520.1,268.9

-		 M1964.5-343.1c57.1,53.1,127.3,99.2,173,164c17.7,25.1,37.3,37.9-0.3,73.4c39.8-11.4,54.5-10.1,86.4-6.3

-		c57.9,7,112.2,89.3,115.6,148.3c-0.7,5.5-16.1,18-60.9,30.4c-0.9,1.7-25.3-3.3-24.7-1.7c4.7,12.7,10.9,14.7,20.4,20.6

-		c2.1,14.2,3.4,36,13,51.5c28.2-0.5,55.7,2.6,83.3,8c9.3,15.4,7.9,30.8,7.1,46.2l32-5.3c-2.9-24.3-5.9-48.6-8.9-72.9

-		c9.5-16,18.9-32,28.4-48l-40.7-92.3c-26.1-24.9-52.1-49.8-78.2-74.7l-7.5-0.4c-29.3-18-58.6-36-88-54L2071-273.7L1964.5-343.1

-		 M2060.8,94.9c-3,5.3-7.6,13.7-13.4,19.5c23.8,22.5,35.5,37.6,44,69.4c-26.9,13.3-53.8,26.7-80.7,40.1l-68.3,65.5

-		c-30-16.1-37.4-28.5-51.9-59.3c-16.9,4.5-32.9,8.8-46.8,3.7c8.8,0.1,14.3-2.1,23.1-7.6l43.5-45.1c25.6-19.4,51.2-38.8,76.8-58.1

-		l50.2-16.4C2043.6,103.9,2054.4,97.5,2060.8,94.9"/>

-	<path class="st2" d="M2135.1,175.1c-85.6,46.1-167.6,92.4-211.3,180C1923.7,244,2035.3,195.1,2135.1,175.1 M1906.7-43.4

-		c-63.6,43.3-108.5,130.8-102.9,216c-20.7-73.8-13.4-143.5,50.2-194.5c10.7-5.2,21.5-10.4,32.2-15.6

-		C1893.1-39.5,1899.9-41.4,1906.7-43.4"/>

-	<path class="st3" d="M2762.1,157.8c-11.5-72.7-30.6-143.2-57.2-194c-3.2-6.2-8.1-12.5-14.2-18.5c-13.2-13-32.7-25.3-52.8-32.2

-		c-21.3-7.3-43.9-8.8-61.7,0.5c-4.6,2.4-9,5.6-12.8,9.5c-11.6,11.7-21.3,26-31.1,40.2c-10.9,15.9-21.8,31.9-34.9,43

-		c-15.2,13-34.1,20.8-52,28c-7.5-18.3-16.6-35.9-27.1-52.6c-12.2-19.5-26.2-37.8-41.5-56.1c-11.2-13.5-23.9-25.6-37.9-36.2

-		c-13.2-10.1-26.8-18.6-42.5-28.4c-42.3-26.5-78.2-58-114.9-90.2c-16.7-14.6-33.5-29.4-50-43c-87.4-72.1-168.9-107-256.1-112.5

-		c-86.6-5.4-178,18.3-286,63.8c-52.1,21.9-90.8,47.8-124.5,79c-32.2,29.8-59.5,64.1-89.6,104.1c-17.5,1.2-33,3.8-48.8,10.2

-		c-17.4,7-35,18.3-56,36.8c-14.6,12.9-29,26.1-43,39.7C1214.7-38.6,1202-26,1189.7-13c-98.3,15.8-178.4,33.2-250.1,61

-		c-73.3,28.4-138,67.5-204.4,126.4c-26.1,23.1-50,48.7-71.2,76.4c-20.2,26.5-37.5,54.3-52.6,83.6c-13.3,14.7-26.6,29.5-41,42.5

-		c-14,12.6-29,23.3-45.8,29.8l0,0c-9.8,3.8-13.8,6-14.2,5.8c-0.5-0.3-0.8-1.7-1.4-4.4c24.1-23,27.9-56.8,30.1-90.3

-		c2.9,3.5,5.7,7.7,8.5,12.2c3.2,4.9,6.4,10,10.4,14.9l16.4,20.6l5.7-25.7c4.8-21.6,8.4-50.3,2.8-75.2c-3.6-16.2-11.1-30.6-24.2-40.8

-		c1.2-3.3,2.4-6.3,3.6-9.2c4.1-10.5,8.3-21.3,11.9-31.4l7.1-20.2l-21.1,3.7c-28.1,4.9-88.4,38-130.9,82.1

-		c-15.8,16.4-29.3,34.5-38.2,53.5c-9.3,19.8-13.4,40.4-9.8,61.1c3.1,18.1,12.2,35.8,28.6,52.6c3,12.1,5.8,22.6,8.7,32

-		c3.4,10.8,7,20.4,11.6,29.8c12.4,25.7,32.1,41.4,54.9,48.7c18.3,5.9,38.6,6.2,58.5,1.8c-4,23.7-6.5,47.6-7.3,71.6

-		c-1.3,33.5,0,70.6,3.7,113.6c0.8,9.4,2,19.8,3.6,31.1c1.4,9.6,3,19.1,4.7,28.5c-3.7,10.1-7.5,20.3-11.2,30.4l-17.4,47.2l-38.2,37.8

-		c-11.9,11.7-23.8,23.5-35.6,35.3c-1,1-5,4.8-8.6,8.3c-24.1,23.2-28.8,27.8-22,68.5c4.4,26.1,12.9,51.3,25.2,74.7

-		c11.8,22.5,27.7,44.4,48,64.8c25.4,25.4,67,57.1,110.6,73.6c24.9,9.5,50.6,14.1,74.7,10.2c-1.2,3.7-2.4,7.4-3.8,11.1

-		c-3.8,10.6-8,21-12.7,31.2c-29.6,64.8,0.8,98.6,48,120.2c23.6,10.7,51.6,18,77.7,24.8c5.3,1.4,10.7,2.8,17.4,4.6

-		c30.9,8.3,84.2,23.7,132.9,26.7c53.2,3.4,101.1-7.6,114-55.3c5.1-18.9,8-33.4,9.2-47.6c1.1-13.2,0.7-26.5-0.9-42.9

-		c15.2-33.6,21.6-43,32.7-59.2c2.2-3.2,4.8-7,5.6-8.2c11.9-17.6,17.5-30.1,19.5-44.2c2-13.6,0.3-27.1-2.2-47.8

-		c-0.2-2-0.6-4.8-1.1-8.6c30.6,4,61.4,6.1,92.3,6.3c15.5,0.1,31-0.4,46.4-1.2c-4,2-7.8,4-12.1,6.2l-5.8,3

-		c-41.1,21.1-42.8,61.1-29.9,102.2c11.6,37.1,35.4,75,50.4,98c31.4,48.5,61.5,89.5,97.8,111.8c38.1,23.4,81.7,26.1,137.9-4.3

-		c28.6-15.5,37.6-31.3,49.8-52.6c3.7-6.5,7.8-13.6,12.4-20.6c11.8-7.8,41.2-32.1,70.1-56c9.8-8.1,19.7-16.2,30.7-25.2

-		c7.6,5.6,16.9,9.5,28,12.2c14.5,3.5,31.7,5,52.4,6.5c15.5,1.1,65.9,1.1,98.4,1.1c10.1,0,18.4,0,23.4,0c33.6,0.2,60.8-1.6,81.3-13.2

-		c21.9-12.4,34.8-34.3,37.6-73.7c1.2-17.5,1.5-28.3-1-39.3c-2.3-10.3-6.7-19.7-14.3-33.3c-0.5-17-0.9-34-1.4-51

-		c-0.5-18-1-36.1-1.4-54.1c-0.6-21.3-2.9-38.6-7.2-55.6c-4.3-16.9-10.4-33.1-18.6-52.6c-5.1-12.3-9.9-24.7-14.4-37.2l-11.8,4.3

-		l1.8-0.7l10-3.7l0,0c-7-19-14-37.4-23.7-57.2c0.6-3.8,1.3-7.9,1.9-12.3l18.7,18.1l27.6,26.6c21.1,20.3,40.3,38.8,63,52.1

-		c23.4,13.8,49.7,21.8,83.8,20.2c35.7-1.7,73.9-16.7,105.3-39.9c30.4-22.5,54.8-52.7,65-86.2l8.8-29.1l7.1-23.2

-		c50,8.5,103.7,11.2,155.6,5.8c50.1-5.3,98.4-18,140.1-40.3c61.3-32.7,107.3-80.9,140.3-138.1l0,0c36.9-63.9,57.6-139.3,65.4-216.8

-		C2778.5,323.9,2775,239.3,2762.1,157.8L2762.1,157.8z M2113.8,680.5c-28.8-9.7-48.9-23.9-74.2-39.8c6.9,31.1,10,64,0.8,95

-		c-14.6,49.2-38.1,129.8,28.7,144.6c25.4,5.6,37,4.8,72.9-13.7c-29.1,6.6-43.7,5-63.7,1.3c-18.1-3.3-27.7-14.8-32.8-28.4

-		c6.3,4.6,16.6,7,34.3,11.3c49.6,12,96.8-11.9,106-46.3c5.4-20.1,4.5-30.6,15.9-58c10.3,3.2,20.8,6.1,31.7,8.7l-18.4,60

-		c-15.9,52-78,93.8-132.8,92.9c-50.6-0.9-82.8-32.6-117.7-63.7c-24.1-21.4-47.3-41.9-70.2-62.3c-63-19.9-113.6-43.1-172.1-86.4

-		c41.6,48.9,69.9,76,127.9,100.4c-8.4,86.1-38.4,148.9-63.9,231.4c-11.6,37.3-102.7,186.6-128,201.2c-18,10.4-130.9,105.4-152.1,118

-		c-15.8,21-29.7,50-53.5,62.6c-72.4,38.3-119-35-158-97c-17.7-28.2-67-109.5-24.1-132.3c40.6-21.5,63.4-36.9,104.8-64.1

-		c6.1,11.1,16.5,21.8,23.3,32.9l-4.5-36.4c-2.7-22-2.6-39.8-0.9-61.9c1.7-21.4,3.4-42.8,5.1-64.2c-6.2,21.8-18.7,43.5-24.9,65.3

-		c-2.5,8.7-4.6,15.7-5.7,22.3c-93,19-185.3,20.2-278.4,3.6c-5.9-34.4-13.2-70.3-19.2-96.1c-1.8,28.8-0.7,108.5-0.8,153.1

-		c-0.1,34.6-1.6,46.4-19.4,75.8c-16.7,27.5-23.7,33.8-47.1,80.3c2,29.3,2,48.7-5.8,76.6c-13,46.3-143.8,10.4-178.2,1

-		c-42.5-11.6-130.3-28.9-108.2-85.5c19.4-49.8,31.8-102.4,41.3-172.1c-77.8-112.1-150.2-265.8-164.1-402

-		c-10.8-105.7-4.3-170.8,18.6-235.4c36.2-102.5,87-191.2,168.3-262.6c109.8-96.3,212.4-135,373-159.5c-38.6,43.3-76.9,89-118.5,138

-		c-42.2,49.6-67.2,99.8-94,154.1c-37,75-36.2,103.5,12.8,169.4c42.3,56.7,65.1,82.3,83.5,137.8c-15.2,31.4-20.8,58-25.9,100.8

-		c51.7,56.6,90.2,95.3,140.4,107.3c49.3,11.7,90.4,9.5,134.5-13.1c97.9-50.1,188.5-114.7,299-117.4

-		c51.1-125.6,45.9-230.6,21.4-352.2c-16.8-83-23.5-161.6-28.7-246.2c-20.7,87.2-24.6,163.8-9.2,250.6

-		c18.5,104.6,32.9,220.2-18.6,312.2c-99.9,7.6-185.5,68.4-275.5,115c-36.2,18.8-73.9,20.6-113.9,9.6c-37.2-10.2-62.3-34.8-102.3-81

-		c-0.6-46.4,9.8-67.8,31.1-109.8c34.2-67.5,72-130.2,113.4-196.6c-50.7,61.3-98.8,112.4-138.8,174c-15.3-43.5-37.1-65.6-73.3-114.6

-		c-35.3-47.8-39-68.8-12.6-124.2c26.6-55.6,49.1-104.5,94.3-153.3c78.1-84.3,149.6-178.2,235.1-261.3

-		c46.4-45.1,65.2-43.5,126.7-52.9c55.6-8.4,109.9-19.1,166.6-32.2c-54.8,5.1-107.8,7-161.2,8.3h-1.7c52.5-67.1,83-104.5,168.3-141.5

-		c210-91.2,343.5-101.1,508.5,37.6c42.8,36,80.1,70.8,123.5,101.9c-15.7,1.3-29.3,4.2-47.2,11.2c21.8-4.2,47,0,69.6,4.1

-		c6.3,4.1,12.9,8.1,19.6,12.1c30.6,18,48,28,68.7,56.8c21.9,30.5,40.1,60.9,56.2,94.5c-10.5-3.8-19.4-6.9-27.2-9.3

-		c-17.8-8.2-38.6-6.9-55.2,3.4l-1.3,0.6c-16.9,8.3-43.2,17.6-60.7,20.5c9,3.1,28.8,4.2,38.1,0.5c1.2-0.5,2.5-0.9,3.8-1.2

-		c-4.3,7.4-7,15.6-7.8,24.1c-1.1,11.2,1.1,22.5,6.3,32.6v0.1c1.6,3.7,3.8,7.2,6.2,9.6c-8,3-16.2,6.3-24.7,10c39.2-6,74.4-7,112.6-2

-		c2.5,12,5.1,24.8,7.4,37.8l-14.2,1.1c-0.4,0-0.8,0.1-1.1,0.1c-18.1-14.4-38.2-12-65.7-5.7c-83.7,19.1-64,66-102.5,136.8

-		c40-48.8,37-100,102.1-115.4c15.2-3.6,25.5-8.1,35.8-6.5c-18.5,9.3-34.5,24.7-40.8,42.6c-17.9,50.5-6.8,93-26.4,140.2

-		c24.3-42.1,25.8-83.3,47.5-127.6c7.8-15.9,36.8-41.4,54.6-41.8l14.6-0.3c4.3,28,6.9,55.9,5.2,79c-3,42.2-14,104.8-20.5,128.7

-		c22-28.3,32.1-88.3,41.7-130.6c10.1-44,7.5-96.7-1.3-144c-12.1-64.8,54.6-54.3,93.4-84.8c28.5-22.5,48.1-58.3,74.2-83.7

-		c25.9-25.2,66.7,11.8,76.9,36.4c44.2,106.9,64.3,275.1,52.6,382.8C2710,505,2651.6,637,2544.9,696.6

-		C2409.2,772.3,2248.9,726,2113.8,680.5L2113.8,680.5z M1920.6,1217.5c-4.4,49.9-21.1,53.2-64.9,52.4c-19.9-0.4-99.2-0.7-119.3-2.4

-		c-28.4-2.5-44.4-5-53.1-11.5c44.6-32.8,120.5-168.1,135.3-214.7c15.6-49.2,32.8-92.2,45.5-137.7c5.9,19,10.5,37.9,19,58

-		c14.2,33.7,21.2,54.6,22.2,90.8l3.2,114.6C1920.8,1188.5,1922.8,1193.1,1920.6,1217.5L1920.6,1217.5z M576.9,839.6

-		c28.3,98.1,76.7,194.5,130.2,275.5v1.4c-3.4,13.9-7.2,27.5-15.4,38.4c-38.3,51.2-135.6-24-163.8-52.7

-		c-30.8-31.5-51.4-68.7-56.3-103.6c-3.6-25.5-0.1-26.1,17.7-44.1l71.9-72.8L576.9,839.6L576.9,839.6z M522.8,222.8

-		c-7.3,15.6-12.4,27.4-15.9,39.6c-15.3,52.7,6.9,99.8-41,138c22.5,45.4,21.5,63.5,73.8,42.5c20.2-8.1,36.8-19.4,51.7-32.9

-		c-7.2,18.7-13.8,37.6-19.8,56.7c-1,3.2-2,6.5-3,9.7c-37.4,15.9-86.6,26-105.4-13.3c-9.1-19.1-14.3-37.8-21-61.9

-		C380.5,337.3,472.6,253,522.8,222.8L522.8,222.8z M553,290.4c-7.6-7.6-13.7-12.8-23.5-11.7c0.8-6.4,1.9-12.7,3.5-18.5

-		c0.8-3,1.6-6,2.5-8.9C548.3,258.7,551.6,272.2,553,290.4L553,290.4z M2400.5,52c2.3,4.9,4.6,9.9,6.9,14.9c-1.9,1.4-3.6,2.8-5.3,4.3

-		c-3-7.1-7.4-13.5-12.9-18.9C2392.8,52.2,2396.6,52,2400.5,52L2400.5,52z M621.7,341.7L621.7,341.7L621.7,341.7L621.7,341.7z

-		 M1095.3,1114.2L1095.3,1114.2L1095.3,1114.2z M1650.7,1280L1650.7,1280L1650.7,1280z M1876.3,851L1876.3,851L1876.3,851

-		L1876.3,851z M529.1,418.4L529.1,418.4l-0.4-1.1L529.1,418.4L529.1,418.4z M2695.7,596.5l0.3,0.2L2695.7,596.5z M311.7,403.1

-		c9.8-111,31.4-158.9,110.3-242.5C323,230.3,298.4,262,311.7,403.1"/>

-	<path class="st3" d="M286.2,312.4c10.9-50,21-68.8,51.9-109.8C288.1,237.5,281.6,251.8,286.2,312.4 M1446.8-384.1

-		c-59.3,14.3-70.6,25.2-88.3,83.3C1386.9-343.3,1403.2-357.1,1446.8-384.1"/>

-	<path class="st3" d="M1540.3-392.5c-117.5,28.8-152.1,49.3-191.1,185.5C1398.8-306.8,1436.4-343.5,1540.3-392.5 M1793.5,104.1

-		c12.5-55.5,34.8-109,121-150.4C1800.2-17.7,1778.8,30.3,1793.5,104.1 M2520.5,107.9c67.7-24.1,100.3-78.5,116.5-142.5

-		c-26.5,53.6-67.4,98.5-122.9,126c-29.8,14.7-48.8,9.6-82.1,6.4C2465.8,107.6,2487.3,119.8,2520.5,107.9 M2059.5,162.3

-		c-8.7-18.2-24.2-32.3-43.1-39.2c16.6-8.9,32.9-18.2,45.6-29.7c-37.3,17.2-80.6,13-112.6,34.6c-28.2,19-67,79.3-95.6,104.9

-		c20.7-8,40.7-22,59.1-36.6c0.2,28.4,16.1,54.3,41.2,67.4c-10.6,13.9-19,29.2-25,45.6c54.5-64.6,133.5-113.3,207.8-134.2

-		c-20.8-0.3-45.3,3.6-70.4,11.8C2065.6,178.4,2063.2,170.1,2059.5,162.3 M1981.1,650.2c-2.6,16.7-6.3,37.5-8.9,54.2

-		c7.1-18.9,15.6-40.9,23.8-59c8.7-19.1,13.6-20.9,32.2-31c13.1-7.1,37-17,50.1-24.1c-13.5,2.3-37.7,7.2-51.2,9.5

-		C1991,606,1986.7,614.7,1981.1,650.2 M1364.6,4.7c-41.9,41.4-82.6,183.5-95.6,240.4c20.5-47.2,71.7-179.3,111-212.9

-		c10.9-9.3,18.4-15,26.6-19.1c-28.1,47.2-26.1,58.9-16.2,122.2c8.4-64.3,30.6-89.1,67.1-137.1c40-10,77.4-22.1,118.4-38

-		c-46.2,5.2-92.4,10-138.7,14.4C1398.4-21.9,1392.1-22.5,1364.6,4.7"/>

-	<path class="st1" d="M1935.3,246.6c-7.6-16-0.8-35.2,15.2-42.8c16.1-7.6,35.4-0.8,43,15.3c0.7,1.4,1.3,2.9,1.7,4.5

-		c-15.3,11.4-29.3,24.7-41.1,40.2C1946.2,260.6,1939.2,254.8,1935.3,246.6 M2293,108.2c1.3-13.2,12.6-23,25.8-21.7

-		c13.3,1.3,23,13.1,21.7,26.3c-0.3,2.7-1,5.4-2.2,7.9c-12.1,2.1-24.2,5.6-36.7,10.2C2296.4,125.6,2292.3,115.8,2293,108.2"/>

+	<path class="st0" d="M2188.8,414.9l-1.7,0.3l-1.5,0.7l-1.3,0.8l-1.2,1.5l-0.7,0.7l-0.7,0.2l-0.2-0.4l0.3-0.4l0.1-0.6l0.2,0l0.2,0.2

+		l-0.1-0.6l-0.3-0.2l0-0.2l-0.6,0.3l-0.5,0.6l-0.1,0.6l0.2,0.5l0.2,0.8l0.4,0.2l0.5,0l0.4-0.3l-0.3,1.5l0.3,1.6l-0.3,0.8l-1,1.1

+		l0.2,0.7l0.5,0.8l0.9,0.7l0.5,0.1l0.6,0l-0.3,1.4l1.3,0.5l1.6,0.2l0.5-0.4l0-1l0.6-1l0-0.8l1.5,0.1l1.3-0.1l-1.3,0.8l0.2,1l0.8,1.3

+		l0.8,0.4l0.7-0.3l0.3-0.5l1.4-1.1l0.3,0.2l2.2,0.1l0.4-0.4l0-0.6l-0.1-0.3l-0.1-1.7l-0.7-1.5l0.1-0.6l0.4,0.2l1.2,1.1l0.6,0

+		l0.7-0.3l0.7-0.5l0.3-1.1l1.9,0.1l1.2-0.5l1-0.9l0.7-1.3l0.2-1.5l-0.1-1.8l-0.4-1.6l-0.4-0.5l-0.5-0.2l-0.9,1l-0.8,0.3l-0.7-1.2

+		l-0.7-0.7l-0.4-0.2l-1.6-1.3l-1.3-0.7l-1.3-0.1l-1.5,0.2l-1.3,0.5l-0.9,0.7l-0.7,0.9l-0.7,0.2L2188.8,414.9"/>

+	<path class="st1" d="M2184,418.7c-1.4,1.7-1.1,3.7-0.7,5.6c-0.2-0.5-0.4-1.1-0.6-1.6l-0.2-1.5c0-0.5,0-1,0.1-1.5l0.6-1.4l0.9-1.3

+		l1.4-1.2l1.5-0.6l1.8-0.2l-1.7,1.9C2185.7,417.3,2184.9,417.6,2184,418.7"/>

+	<path class="st1" d="M2190.7,413.6c-1,1-1.5,1.7-2.2,2.8c-0.4,0.8-1,1.6-1.4,2.4c-0.2,0.4-0.3,0.7-0.3,1.2l-0.7-0.8

+		c0.1-0.3,0.2-0.7,0.3-1l1.1-2l2.4-2.4C2190.2,413.7,2190.4,413.7,2190.7,413.6 M2195.6,411.2c-0.8,0.3-2.1,0.4-2.2,1.3

+		c-0.1,0.6,0,1,0.4,1.7c-1-1-1.2-0.8-3.1-0.5l0.8-1.1l1.4-0.9l1.8-0.4L2195.6,411.2"/>

+	<path class="st2" d="M2197.8,423.5c0.3,0.2,0.3,0.3,0.2,0.4c0.2-0.1,0.4-0.2,0.6-0.2l0.4-0.5l0.3-0.8l-0.4-0.3l-1.7,0.2

+		c0,0.1-0.1,0.2-0.1,0.3c0,0.2,0,0.3,0,0.5c0.1,0.1,0.1,0.2,0.2,0.3c0.1,0,0.2,0.1,0.2,0.1C2197.6,423.5,2197.7,423.5,2197.8,423.5

+		 M2197.6,420.6c-0.8,0.2-0.8,0.3-1.1,1.1C2196.8,421.3,2197.1,421,2197.6,420.6 M2203.2,414.4c-0.1,0.1-0.3,0.1-0.4,0.2

+		c-0.2,0.3-0.4,0.5-0.7,0.7c-0.2,0.1-0.3,0.2-0.5,0.2c-0.1,0-0.2,0-0.4,0.1c0.1,0,0.1,0,0.2,0h0.5l0.6-0.4l0.4-0.4L2203.2,414.4

+		 M2189.8,416.3c-0.3,0.9-0.6,1.7-1.1,2.5c0.6-0.7,1-1.3,1.4-2.1c0.1-0.3,0.2-0.7,0.6-0.5c0,0.3,0.1,0.6,0.1,0.9

+		c0.2-1.5,0.8-2.2,2.2-2.8l-1.2,0.1l-1.1,0.2l-0.6,0.8L2189.8,416.3 M2192.5,416.2c0.3,1.4,0.7,2.8,0.9,4.2c0.1,0.9,0.1,1.4-0.3,2.2

+		c-0.5,0-0.8,0-1.3,0.2c-2,0.7-3.1,1.6-4.5-0.3l1.3,0.6c0.3-0.1,0.6-0.1,0.9-0.2c0.5-0.3,1.1-0.6,1.6-0.9l1.3-0.2l0.4-1.7l-0.3-2.3

+		c0-0.4,0-0.7,0-1.1C2192.5,416.6,2192.5,416.4,2192.5,416.2 M2196,425.1c-0.2,1.2,0.4,1.8,0.2,2.1c-0.1,0.1-0.2,0.2-0.3,0.3

+		c-0.4,0.2-0.8,0-0.9,0.1h-1.2l-0.5-0.2l0.7-0.8c0.2-0.5,0.5-1,0.7-1.5l0.4-1.5h0.2L2196,425.1"/>

+	<path class="st2" d="M2194,421.7c0.1,0.5,0.3,0.7,0.5,1.2c-0.2,0.8-0.4,1.8-0.7,2.6c-0.1,0.3-0.2,0.5-0.5,0.7

+		c-0.4,0.4-0.8,0.8-1.3,1.1c-0.3,0.3-0.6,0.1-1,0.1c-0.2,0.3-0.2,0.5-0.5,0.6c-0.5,0.2-0.9-0.3-1.3-0.6c0.3,0.4,0.5,0.9,0.8,1.3

+		c0.2,0.2,0.4,0.4,0.6,0.5l0.5,0.1l0.6-0.4c0.1-0.2,0.2-0.4,0.3-0.6c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.6-0.5,0.9-0.7l0.6-0.8

+		l0.5-0.9c0.2-0.6,0.4-1.3,0.6-1.9c0-0.2,0-0.5,0.1-0.7c-0.3-0.1-0.5-0.2-0.8-0.4C2194.4,422,2194.2,421.9,2194,421.7 M2187.6,425.4

+		c0.9,0,1.8-0.1,2.7-0.4c0.2-0.3,0.5-0.6,0.7-0.9c-0.3,0.5-0.3,0.8-0.4,1.3l-0.3,0.4c-0.7,0-1.4,0-2,0.1c-0.2,0-0.4,0-0.7-0.1

+		c0,0,0,0-0.1-0.1C2187.6,425.6,2187.6,425.5,2187.6,425.4 M2187.5,424.8l-0.1-0.6c-0.2,0.9-0.1,1.5-0.5,2.4

+		c-0.3,0.4-0.7,0.7-1.2,0.9c0,0.2,0,0.4,0,0.5c-0.1,0.6-1.3,0.3-1.8,0.3l2.4,0.6l0.5-0.2c0.1-0.3,0.1-0.7,0.2-1l0.5-0.9l0.1-0.6

+		L2187.5,424.8 M2186.2,419.6c0,0.4-0.1,0.6,0.1,1c0.3,0.5,0.6,1,0.8,1.5l0.1-1C2186.9,420.6,2186.5,420.1,2186.2,419.6 M2182.5,423

+		c-0.1,0.2-0.2,0.3-0.2,0.5c0.2,0.7,0.4,1.2,0.8,1.8c-0.1,0.3-0.1,0.4-0.3,0.6c-0.4-0.1-0.7-0.1-1-0.1c0.4,0.3,0.8,0.6,1.2,0.9

+		c0.2,0,0.4-0.1,0.6-0.1l0.6-0.6l-0.8-1.3C2183.1,424.1,2182.8,423.5,2182.5,423 M2203.2,414.2c0.2,1.1,0.6,2.1,0.5,3.2

+		c0,1.4-0.3,3.1-1.6,3.9c-1.4,0.9-3.1,0.5-4.6,0.1l1.9,0.8c0.6,0,1.2,0.1,1.8,0.1c0.4-0.1,0.8-0.2,1.2-0.4c0.3-0.3,0.6-0.5,0.9-0.8

+		l0.7-1.5l0.3-1.7c-0.1-0.6-0.1-1.1-0.2-1.7l-0.4-1.7C2203.5,414.4,2203.4,414.3,2203.2,414.2 M2182,417.4c-0.6,0.4-0.9,0.6-0.8,1.4

+		l0.2,0.7l0.3,0.2l0.3,0.1l0.6-0.1c0.1-0.3,0.2-0.6,0.3-1l-0.9,0.4h-0.2c-0.1-0.1-0.2-0.2-0.2-0.3l0.3-0.4l0.1-0.8

+		c0.1,0,0.1,0,0.2,0.1c0.1,0.1,0.2,0.1,0.2,0.2l0-0.4l-0.2-0.3c-0.1,0-0.1-0.1-0.2-0.1L2182,417.4 M2196.5,411.3

+		c0.6,0.5,1.3,1,1.7,1.6c0.2,0.3,0.4,0.4,0,0.7c0.4-0.1,0.5-0.1,0.9-0.1c0.6,0.1,1.1,0.9,1.2,1.5c0,0.1-0.2,0.2-0.6,0.3

+		c0,0-0.3,0-0.2,0c0,0.1,0.1,0.1,0.2,0.2c0,0.1,0,0.4,0.1,0.5c0.3,0,0.6,0,0.8,0.1c0.1,0.2,0.1,0.3,0.1,0.5l0.3-0.1

+		c0-0.2-0.1-0.5-0.1-0.7c0.1-0.2,0.2-0.3,0.3-0.5l-0.4-0.9c-0.3-0.2-0.5-0.5-0.8-0.7l-0.1,0c-0.3-0.2-0.6-0.4-0.9-0.5l-1.4-1.2

+		L2196.5,411.3 M2197.4,415.7c0,0.1-0.1,0.1-0.1,0.2c0.2,0.2,0.4,0.4,0.4,0.7c-0.3,0.1-0.5,0.3-0.8,0.4l-0.7,0.7

+		c-0.3-0.2-0.4-0.3-0.5-0.6c-0.2,0-0.3,0.1-0.5,0c0.1,0,0.1,0,0.2-0.1l0.4-0.5c0.3-0.2,0.5-0.4,0.8-0.6l0.5-0.2

+		C2197.2,415.8,2197.4,415.7,2197.4,415.7"/>

+	<path class="st2" d="M2198.2,416.5c-0.9,0.5-1.7,0.9-2.1,1.8C2196,417.2,2197.2,416.7,2198.2,416.5 M2195.9,414.3

+		c-0.6,0.4-1.1,1.3-1,2.2c-0.2-0.7-0.1-1.4,0.5-1.9c0.1-0.1,0.2-0.1,0.3-0.2C2195.7,414.3,2195.8,414.3,2195.9,414.3"/>

+	<path class="st3" d="M2204.4,416.3c-0.1-0.7-0.3-1.4-0.6-1.9c0-0.1-0.1-0.1-0.1-0.2c-0.1-0.1-0.3-0.3-0.5-0.3

+		c-0.2-0.1-0.4-0.1-0.6,0c0,0-0.1,0.1-0.1,0.1c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.2,0.3-0.3,0.4c-0.2,0.1-0.3,0.2-0.5,0.3

+		c-0.1-0.2-0.2-0.4-0.3-0.5c-0.1-0.2-0.3-0.4-0.4-0.6c-0.1-0.1-0.2-0.3-0.4-0.4c-0.1-0.1-0.3-0.2-0.4-0.3c-0.4-0.3-0.8-0.6-1.2-0.9

+		c-0.2-0.1-0.3-0.3-0.5-0.4c-0.9-0.7-1.7-1.1-2.6-1.1c-0.9-0.1-1.8,0.2-2.9,0.6c-0.5,0.2-0.9,0.5-1.2,0.8c-0.3,0.3-0.6,0.6-0.9,1

+		c-0.2,0-0.3,0-0.5,0.1c-0.2,0.1-0.4,0.2-0.6,0.4c-0.1,0.1-0.3,0.3-0.4,0.4c-0.1,0.1-0.3,0.3-0.4,0.4c-1,0.2-1.8,0.3-2.5,0.6

+		c-0.7,0.3-1.4,0.7-2,1.3c-0.3,0.2-0.5,0.5-0.7,0.8c-0.2,0.3-0.4,0.5-0.5,0.8c-0.1,0.1-0.3,0.3-0.4,0.4c-0.1,0.1-0.3,0.2-0.5,0.3

+		l0,0c-0.1,0-0.1,0.1-0.1,0.1c0,0,0,0,0,0c0.2-0.2,0.3-0.6,0.3-0.9c0,0,0.1,0.1,0.1,0.1c0,0,0.1,0.1,0.1,0.1l0.2,0.2l0.1-0.3

+		c0-0.2,0.1-0.5,0-0.8c0-0.2-0.1-0.3-0.2-0.4c0,0,0-0.1,0-0.1c0-0.1,0.1-0.2,0.1-0.3l0.1-0.2l-0.2,0c-0.3,0-0.9,0.4-1.3,0.8

+		c-0.2,0.2-0.3,0.3-0.4,0.5c-0.1,0.2-0.1,0.4-0.1,0.6c0,0.2,0.1,0.4,0.3,0.5c0,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3

+		c0.1,0.3,0.3,0.4,0.5,0.5c0.2,0.1,0.4,0.1,0.6,0c0,0.2-0.1,0.5-0.1,0.7c0,0.3,0,0.7,0,1.1c0,0.1,0,0.2,0,0.3c0,0.1,0,0.2,0,0.3

+		c0,0.1-0.1,0.2-0.1,0.3l-0.2,0.5l-0.4,0.4c-0.1,0.1-0.2,0.2-0.4,0.4c0,0-0.1,0-0.1,0.1c-0.2,0.2-0.3,0.3-0.2,0.7

+		c0,0.3,0.1,0.5,0.3,0.7c0.1,0.2,0.3,0.4,0.5,0.6c0.3,0.3,0.7,0.6,1.1,0.7c0.2,0.1,0.5,0.1,0.7,0.1c0,0,0,0.1,0,0.1

+		c0,0.1-0.1,0.2-0.1,0.3c-0.3,0.6,0,1,0.5,1.2c0.2,0.1,0.5,0.2,0.8,0.2c0.1,0,0.1,0,0.2,0c0.3,0.1,0.8,0.2,1.3,0.3

+		c0.5,0,1-0.1,1.1-0.6c0.1-0.2,0.1-0.3,0.1-0.5c0-0.1,0-0.3,0-0.4c0.2-0.3,0.2-0.4,0.3-0.6c0,0,0-0.1,0.1-0.1

+		c0.1-0.2,0.2-0.3,0.2-0.4c0-0.1,0-0.3,0-0.5c0,0,0,0,0-0.1c0.3,0,0.6,0.1,0.9,0.1c0.2,0,0.3,0,0.5,0c0,0-0.1,0-0.1,0.1l-0.1,0

+		c-0.4,0.2-0.4,0.6-0.3,1c0.1,0.4,0.4,0.8,0.5,1c0.3,0.5,0.6,0.9,1,1.1c0.4,0.2,0.8,0.3,1.4,0c0.3-0.2,0.4-0.3,0.5-0.5

+		c0-0.1,0.1-0.1,0.1-0.2c0.1-0.1,0.4-0.3,0.7-0.6c0.1-0.1,0.2-0.2,0.3-0.3c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.3,0.1,0.5,0.1

+		c0.2,0,0.7,0,1,0c0.1,0,0.2,0,0.2,0c0.3,0,0.6,0,0.8-0.1c0.2-0.1,0.3-0.3,0.4-0.7c0-0.2,0-0.3,0-0.4c0-0.1-0.1-0.2-0.1-0.3

+		c0-0.2,0-0.3,0-0.5c0-0.2,0-0.4,0-0.5c0-0.2,0-0.4-0.1-0.6c0-0.2-0.1-0.3-0.2-0.5c-0.1-0.1-0.1-0.2-0.1-0.4l-0.1,0l0,0l0.1,0l0,0

+		c-0.1-0.2-0.1-0.4-0.2-0.6c0,0,0-0.1,0-0.1l0.2,0.2l0.3,0.3c0.2,0.2,0.4,0.4,0.6,0.5c0.2,0.1,0.5,0.2,0.8,0.2

+		c0.4,0,0.7-0.2,1.1-0.4c0.3-0.2,0.5-0.5,0.7-0.9l0.1-0.3l0.1-0.2c0.5,0.1,1,0.1,1.6,0.1c0.5-0.1,1-0.2,1.4-0.4

+		c0.6-0.3,1.1-0.8,1.4-1.4l0,0c0.4-0.6,0.6-1.4,0.7-2.2C2204.6,418,2204.6,417.1,2204.4,416.3L2204.4,416.3z M2197.9,421.5

+		c-0.3-0.1-0.5-0.2-0.7-0.4c0.1,0.3,0.1,0.6,0,1c-0.1,0.5-0.4,1.3,0.3,1.4c0.3,0.1,0.4,0,0.7-0.1c-0.3,0.1-0.4,0.1-0.6,0

+		c-0.2,0-0.3-0.1-0.3-0.3c0.1,0,0.2,0.1,0.3,0.1c0.5,0.1,1-0.1,1.1-0.5c0.1-0.2,0-0.3,0.2-0.6c0.1,0,0.2,0.1,0.3,0.1l-0.2,0.6

+		c-0.2,0.5-0.8,0.9-1.3,0.9c-0.5,0-0.8-0.3-1.2-0.6c-0.2-0.2-0.5-0.4-0.7-0.6c-0.6-0.2-1.1-0.4-1.7-0.9c0.4,0.5,0.7,0.8,1.3,1

+		c-0.1,0.9-0.4,1.5-0.6,2.3c-0.1,0.4-1,1.9-1.3,2c-0.2,0.1-1.3,1.1-1.5,1.2c-0.2,0.2-0.3,0.5-0.5,0.6c-0.7,0.4-1.2-0.4-1.6-1

+		c-0.2-0.3-0.7-1.1-0.2-1.3c0.4-0.2,0.6-0.4,1-0.6c0.1,0.1,0.2,0.2,0.2,0.3l0-0.4c0-0.2,0-0.4,0-0.6c0-0.2,0-0.4,0.1-0.6

+		c-0.1,0.2-0.2,0.4-0.2,0.7c0,0.1,0,0.2-0.1,0.2c-0.9,0.2-1.9,0.2-2.8,0c-0.1-0.3-0.1-0.7-0.2-1c0,0.3,0,1.1,0,1.5

+		c0,0.3,0,0.5-0.2,0.8c-0.2,0.3-0.2,0.3-0.5,0.8c0,0.3,0,0.5-0.1,0.8c-0.1,0.5-1.4,0.1-1.8,0c-0.4-0.1-1.3-0.3-1.1-0.9

+		c0.2-0.5,0.3-1,0.4-1.7c-0.8-1.1-1.5-2.7-1.6-4c-0.1-1.1,0-1.7,0.2-2.4c0.4-1,0.9-1.9,1.7-2.6c1.1-1,2.1-1.4,3.7-1.6

+		c-0.4,0.4-0.8,0.9-1.2,1.4c-0.4,0.5-0.7,1-0.9,1.5c-0.4,0.8-0.4,1,0.1,1.7c0.4,0.6,0.7,0.8,0.8,1.4c-0.2,0.3-0.2,0.6-0.3,1

+		c0.5,0.6,0.9,1,1.4,1.1c0.5,0.1,0.9,0.1,1.3-0.1c1-0.5,1.9-1.1,3-1.2c0.5-1.3,0.5-2.3,0.2-3.5c-0.2-0.8-0.2-1.6-0.3-2.5

+		c-0.2,0.9-0.2,1.6-0.1,2.5c0.2,1,0.3,2.2-0.2,3.1c-1,0.1-1.9,0.7-2.8,1.2c-0.4,0.2-0.7,0.2-1.1,0.1c-0.4-0.1-0.6-0.3-1-0.8

+		c0-0.5,0.1-0.7,0.3-1.1c0.3-0.7,0.7-1.3,1.1-2c-0.5,0.6-1,1.1-1.4,1.7c-0.2-0.4-0.4-0.7-0.7-1.1c-0.4-0.5-0.4-0.7-0.1-1.2

+		c0.3-0.6,0.5-1,0.9-1.5c0.8-0.8,1.5-1.8,2.4-2.6c0.5-0.5,0.7-0.4,1.3-0.5c0.6-0.1,1.1-0.2,1.7-0.3c-0.5,0.1-1.1,0.1-1.6,0.1h0

+		c0.5-0.7,0.8-1,1.7-1.4c2.1-0.9,3.4-1,5.1,0.4c0.4,0.4,0.8,0.7,1.2,1c-0.2,0-0.3,0-0.5,0.1c0.2,0,0.5,0,0.7,0

+		c0.1,0,0.1,0.1,0.2,0.1c0.3,0.2,0.5,0.3,0.7,0.6c0.2,0.3,0.4,0.6,0.6,0.9c-0.1,0-0.2-0.1-0.3-0.1c-0.2-0.1-0.4-0.1-0.6,0l0,0

+		c-0.2,0.1-0.4,0.2-0.6,0.2c0.1,0,0.3,0,0.4,0c0,0,0,0,0,0c0,0.1-0.1,0.2-0.1,0.2c0,0.1,0,0.2,0.1,0.3v0c0,0,0,0.1,0.1,0.1

+		c-0.1,0-0.2,0.1-0.2,0.1c0.4-0.1,0.7-0.1,1.1,0c0,0.1,0.1,0.2,0.1,0.4l-0.1,0c0,0,0,0,0,0c-0.2-0.1-0.4-0.1-0.7-0.1

+		c-0.8,0.2-0.6,0.7-1,1.4c0.4-0.5,0.4-1,1-1.2c0.2,0,0.3-0.1,0.4-0.1c-0.2,0.1-0.3,0.2-0.4,0.4c-0.2,0.5-0.1,0.9-0.3,1.4

+		c0.2-0.4,0.3-0.8,0.5-1.3c0.1-0.2,0.4-0.4,0.5-0.4l0.1,0c0,0.3,0.1,0.6,0.1,0.8c0,0.4-0.1,1-0.2,1.3c0.2-0.3,0.3-0.9,0.4-1.3

+		c0.1-0.4,0.1-1,0-1.4c-0.1-0.6,0.5-0.5,0.9-0.8c0.3-0.2,0.5-0.6,0.7-0.8c0.3-0.3,0.7,0.1,0.8,0.4c0.4,1.1,0.6,2.8,0.5,3.8

+		c-0.1,1.2-0.7,2.5-1.8,3.1C2200.9,422.5,2199.3,422,2197.9,421.5L2197.9,421.5z M2196,426.9c0,0.5-0.2,0.5-0.7,0.5

+		c-0.2,0-1,0-1.2,0c-0.3,0-0.4-0.1-0.5-0.1c0.4-0.3,1.2-1.7,1.4-2.2c0.2-0.5,0.3-0.9,0.5-1.4c0.1,0.2,0.1,0.4,0.2,0.6

+		c0.1,0.3,0.2,0.5,0.2,0.9l0,1.1C2196,426.6,2196,426.7,2196,426.9L2196,426.9z M2182.6,423.1c0.3,1,0.8,1.9,1.3,2.8v0

+		c0,0.1-0.1,0.3-0.2,0.4c-0.4,0.5-1.4-0.2-1.6-0.5c-0.3-0.3-0.5-0.7-0.6-1c0-0.3,0-0.3,0.2-0.4l0.7-0.7L2182.6,423.1L2182.6,423.1z

+		 M2182,417c-0.1,0.2-0.1,0.3-0.2,0.4c-0.2,0.5,0.1,1-0.4,1.4c0.2,0.5,0.2,0.6,0.7,0.4c0.2-0.1,0.4-0.2,0.5-0.3

+		c-0.1,0.2-0.1,0.4-0.2,0.6c0,0,0,0.1,0,0.1c-0.4,0.2-0.9,0.3-1.1-0.1c-0.1-0.2-0.1-0.4-0.2-0.6C2180.6,418.1,2181.5,417.3,2182,417

+		L2182,417z M2182.3,417.6c-0.1-0.1-0.1-0.1-0.2-0.1c0-0.1,0-0.1,0-0.2c0,0,0-0.1,0-0.1C2182.3,417.3,2182.3,417.5,2182.3,417.6

+		L2182.3,417.6z M2200.8,415.2c0,0,0,0.1,0.1,0.1c0,0,0,0-0.1,0c0-0.1-0.1-0.1-0.1-0.2C2200.7,415.3,2200.8,415.2,2200.8,415.2

+		L2200.8,415.2z M2183,418.2L2183,418.2L2183,418.2L2183,418.2z M2187.7,425.9L2187.7,425.9L2187.7,425.9z M2193.3,427.6

+		L2193.3,427.6L2193.3,427.6z M2195.6,423.3L2195.6,423.3L2195.6,423.3L2195.6,423.3z M2182.1,418.9L2182.1,418.9L2182.1,418.9

+		L2182.1,418.9L2182.1,418.9z M2203.8,420.7L2203.8,420.7L2203.8,420.7z M2179.9,418.8c0.1-1.1,0.3-1.6,1.1-2.4

+		C2180,417,2179.8,417.4,2179.9,418.8"/>

+	<path class="st3" d="M2179.6,417.9c0.1-0.5,0.2-0.7,0.5-1.1C2179.7,417.1,2179.6,417.3,2179.6,417.9 M2191.3,410.9

+		c-0.6,0.1-0.7,0.3-0.9,0.8C2190.7,411.3,2190.8,411.2,2191.3,410.9"/>

+	<path class="st3" d="M2192.2,410.8c-1.2,0.3-1.5,0.5-1.9,1.9C2190.8,411.7,2191.2,411.3,2192.2,410.8 M2194.7,415.8

+		c0.1-0.6,0.3-1.1,1.2-1.5C2194.8,414.6,2194.6,415,2194.7,415.8 M2202,415.8c0.7-0.2,1-0.8,1.2-1.4c-0.3,0.5-0.7,1-1.2,1.3

+		c-0.3,0.1-0.5,0.1-0.8,0.1C2201.5,415.8,2201.7,415.9,2202,415.8 M2197.4,416.4c-0.1-0.2-0.2-0.3-0.4-0.4c0.2-0.1,0.3-0.2,0.5-0.3

+		c-0.4,0.2-0.8,0.1-1.1,0.3c-0.3,0.2-0.7,0.8-1,1.1c0.2-0.1,0.4-0.2,0.6-0.4c0,0.3,0.2,0.5,0.4,0.7c-0.1,0.1-0.2,0.3-0.3,0.5

+		c0.5-0.6,1.3-1.1,2.1-1.3c-0.2,0-0.5,0-0.7,0.1C2197.5,416.5,2197.4,416.4,2197.4,416.4 M2196.6,421.2c0,0.2-0.1,0.4-0.1,0.5

+		c0.1-0.2,0.2-0.4,0.2-0.6c0.1-0.2,0.1-0.2,0.3-0.3c0.1-0.1,0.4-0.2,0.5-0.2c-0.1,0-0.4,0.1-0.5,0.1

+		C2196.7,420.8,2196.7,420.9,2196.6,421.2 M2190.4,414.8c-0.4,0.4-0.8,1.8-1,2.4c0.2-0.5,0.7-1.8,1.1-2.1c0.1-0.1,0.2-0.2,0.3-0.2

+		c-0.3,0.5-0.3,0.6-0.2,1.2c0.1-0.6,0.3-0.9,0.7-1.4c0.4-0.1,0.8-0.2,1.2-0.4c-0.5,0.1-0.9,0.1-1.4,0.1

+		C2190.8,414.5,2190.7,414.5,2190.4,414.8"/>

+	<path class="st1" d="M2196.2,417.2c-0.1-0.2,0-0.4,0.2-0.4c0.2-0.1,0.4,0,0.4,0.2c0,0,0,0,0,0c-0.2,0.1-0.3,0.2-0.4,0.4

+		C2196.3,417.3,2196.2,417.3,2196.2,417.2 M2199.7,415.8c0-0.1,0.1-0.2,0.3-0.2c0.1,0,0.2,0.1,0.2,0.3c0,0,0,0.1,0,0.1

+		c-0.1,0-0.2,0.1-0.4,0.1C2199.8,416,2199.7,415.9,2199.7,415.8"/>

 </g>

 </svg>

diff --git a/components/datalake-handler/admin/src/src/assets/icons/kafka_able.svg b/components/datalake-handler/admin/src/src/assets/icons/kafka_able.svg
index a4b094d..98a333c 100755
--- a/components/datalake-handler/admin/src/src/assets/icons/kafka_able.svg
+++ b/components/datalake-handler/admin/src/src/assets/icons/kafka_able.svg
@@ -1,21 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>

 <!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->

 <svg version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"

-	 viewBox="348 -952.7 1538 2500" style="enable-background:new 348 -952.7 1538 2500;" xml:space="preserve">

+	 viewBox="1227.5 407.4 24.9 24.9" style="enable-background:new 1227.5 407.4 24.9 24.9;" xml:space="preserve">

 <style type="text/css">

-	.st2{fill:#5DBEBB;}

+	.st0{fill:#5DBEBB;}

 </style>

-<path class="st2" d="M1560.5,430.7c-97.2,0-184.4,43.1-244.1,110.9l-153-108.3c16.2-44.7,25.6-92.7,25.6-143

-	c0-49.4-9-96.6-24.7-140.6l152.6-107.1c59.7,67.5,146.6,110.3,243.6,110.3c179.5,0,325.5-146,325.5-325.5s-146-325.5-325.5-325.5

-	s-325.5,146-325.5,325.5c0,32.1,4.9,63.1,13.6,92.5L1095.8,27.1C1032-52.1,940.1-107.3,835.4-124.2v-184.1

-	c147.5-31,258.6-162,258.6-318.5c0-179.5-146-325.5-325.5-325.5s-325.5,146-325.5,325.5c0,154.4,108.2,283.8,252.7,317v186.5

-	C498.5-88.7,348,83.4,348,290.4c0,208,151.9,380.7,350.6,414.2v196.9c-146,32.1-255.6,162.3-255.6,317.8

-	c0,179.5,146,325.5,325.5,325.5s325.5-146,325.5-325.5c0-155.5-109.7-285.7-255.6-317.8V704.6c100.5-16.9,191.5-69.8,255.9-148.8

-	l154,109c-8.5,29.1-13.3,59.8-13.3,91.6c0,179.5,146,325.5,325.5,325.5s325.5-146,325.5-325.5S1740,430.7,1560.5,430.7L1560.5,430.7

-	z M1560.5-330.4c87,0,157.8,70.8,157.8,157.8s-70.8,157.8-157.8,157.8s-157.8-70.8-157.8-157.8S1473.4-330.4,1560.5-330.4

-	L1560.5-330.4z M610.6-626.8c0-87,70.8-157.8,157.8-157.8s157.8,70.8,157.8,157.8S855.5-469,768.5-469S610.6-539.8,610.6-626.8

-	L610.6-626.8z M926.3,1219.3c0,87-70.8,157.8-157.8,157.8s-157.8-70.8-157.8-157.8c0-87,70.8-157.8,157.8-157.8

-	S926.3,1132.2,926.3,1219.3z M768.5,510.5c-121.4,0-220.1-98.7-220.1-220.1c0-121.4,98.8-220.1,220.1-220.1

-	c121.4,0,220.1,98.8,220.1,220.1C988.6,411.8,889.8,510.5,768.5,510.5z M1560.5,914.1c-87,0-157.8-70.8-157.8-157.8

-	s70.8-157.8,157.8-157.8s157.8,70.8,157.8,157.8S1647.5,914.1,1560.5,914.1z"/>

+<path class="st0" d="M1244.4,421.2c-1,0-1.8,0.4-2.4,1.1l-1.5-1.1c0.2-0.4,0.3-0.9,0.3-1.4c0-0.5-0.1-1-0.2-1.4l1.5-1.1

+	c0.6,0.7,1.5,1.1,2.4,1.1c1.8,0,3.3-1.5,3.3-3.3s-1.5-3.3-3.3-3.3c-1.8,0-3.3,1.5-3.3,3.3c0,0.3,0,0.6,0.1,0.9l-1.5,1.1

+	c-0.6-0.8-1.6-1.3-2.6-1.5v-1.8c1.5-0.3,2.6-1.6,2.6-3.2c0-1.8-1.5-3.3-3.3-3.3s-3.3,1.5-3.3,3.3c0,1.5,1.1,2.8,2.5,3.2v1.9

+	c-2,0.3-3.5,2.1-3.5,4.1c0,2.1,1.5,3.8,3.5,4.1v2c-1.5,0.3-2.6,1.6-2.6,3.2c0,1.8,1.5,3.3,3.3,3.3s3.3-1.5,3.3-3.3

+	c0-1.6-1.1-2.9-2.6-3.2v-2c1-0.2,1.9-0.7,2.6-1.5l1.5,1.1c-0.1,0.3-0.1,0.6-0.1,0.9c0,1.8,1.5,3.3,3.3,3.3c1.8,0,3.3-1.5,3.3-3.3

+	S1246.2,421.2,1244.4,421.2L1244.4,421.2z M1244.4,413.6c0.9,0,1.6,0.7,1.6,1.6s-0.7,1.6-1.6,1.6c-0.9,0-1.6-0.7-1.6-1.6

+	S1243.6,413.6,1244.4,413.6L1244.4,413.6z M1234.9,410.7c0-0.9,0.7-1.6,1.6-1.6c0.9,0,1.6,0.7,1.6,1.6c0,0.9-0.7,1.6-1.6,1.6

+	S1234.9,411.5,1234.9,410.7L1234.9,410.7z M1238.1,429.1c0,0.9-0.7,1.6-1.6,1.6s-1.6-0.7-1.6-1.6c0-0.9,0.7-1.6,1.6-1.6

+	S1238.1,428.2,1238.1,429.1z M1236.5,422c-1.2,0-2.2-1-2.2-2.2s1-2.2,2.2-2.2c1.2,0,2.2,1,2.2,2.2C1238.7,421,1237.7,422,1236.5,422

+	z M1244.4,426.1c-0.9,0-1.6-0.7-1.6-1.6c0-0.9,0.7-1.6,1.6-1.6c0.9,0,1.6,0.7,1.6,1.6C1246,425.4,1245.3,426.1,1244.4,426.1z"/>

 </svg>

diff --git a/components/datalake-handler/admin/src/src/assets/icons/kafka_disable.svg b/components/datalake-handler/admin/src/src/assets/icons/kafka_disable.svg
index 61b558f..60173a2 100755
--- a/components/datalake-handler/admin/src/src/assets/icons/kafka_disable.svg
+++ b/components/datalake-handler/admin/src/src/assets/icons/kafka_disable.svg
@@ -1,21 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>

 <!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->

 <svg version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"

-	 viewBox="348 -952.7 1538 2500" style="enable-background:new 348 -952.7 1538 2500;" xml:space="preserve">

+	 viewBox="1227.5 407.4 24.9 24.9" style="enable-background:new 1227.5 407.4 24.9 24.9;" xml:space="preserve">

 <style type="text/css">

-  .st1{fill:#D2D3D5;}

+	.st0{fill:#D2D3D5;}

 </style>

-<path class="st1" d="M1560.5,430.7c-97.2,0-184.4,43.1-244.1,110.9l-153-108.3c16.2-44.7,25.6-92.7,25.6-143

-	c0-49.4-9-96.6-24.7-140.6l152.6-107.1c59.7,67.5,146.6,110.3,243.6,110.3c179.5,0,325.5-146,325.5-325.5s-146-325.5-325.5-325.5

-	s-325.5,146-325.5,325.5c0,32.1,4.9,63.1,13.6,92.5L1095.8,27.1C1032-52.1,940.1-107.3,835.4-124.2v-184.1

-	c147.5-31,258.6-162,258.6-318.5c0-179.5-146-325.5-325.5-325.5s-325.5,146-325.5,325.5c0,154.4,108.2,283.8,252.7,317v186.5

-	C498.5-88.7,348,83.4,348,290.4c0,208,151.9,380.7,350.6,414.2v196.9c-146,32.1-255.6,162.3-255.6,317.8

-	c0,179.5,146,325.5,325.5,325.5s325.5-146,325.5-325.5c0-155.5-109.7-285.7-255.6-317.8V704.6c100.5-16.9,191.5-69.8,255.9-148.8

-	l154,109c-8.5,29.1-13.3,59.8-13.3,91.6c0,179.5,146,325.5,325.5,325.5s325.5-146,325.5-325.5S1740,430.7,1560.5,430.7L1560.5,430.7

-	z M1560.5-330.4c87,0,157.8,70.8,157.8,157.8s-70.8,157.8-157.8,157.8s-157.8-70.8-157.8-157.8S1473.4-330.4,1560.5-330.4

-	L1560.5-330.4z M610.6-626.8c0-87,70.8-157.8,157.8-157.8s157.8,70.8,157.8,157.8S855.5-469,768.5-469S610.6-539.8,610.6-626.8

-	L610.6-626.8z M926.3,1219.3c0,87-70.8,157.8-157.8,157.8s-157.8-70.8-157.8-157.8c0-87,70.8-157.8,157.8-157.8

-	S926.3,1132.2,926.3,1219.3z M768.5,510.5c-121.4,0-220.1-98.7-220.1-220.1c0-121.4,98.8-220.1,220.1-220.1

-	c121.4,0,220.1,98.8,220.1,220.1C988.6,411.8,889.8,510.5,768.5,510.5z M1560.5,914.1c-87,0-157.8-70.8-157.8-157.8

-	s70.8-157.8,157.8-157.8s157.8,70.8,157.8,157.8S1647.5,914.1,1560.5,914.1z"/>

+<path class="st0" d="M1244.4,421.2c-1,0-1.8,0.4-2.4,1.1l-1.5-1.1c0.2-0.4,0.3-0.9,0.3-1.4c0-0.5-0.1-1-0.2-1.4l1.5-1.1

+	c0.6,0.7,1.5,1.1,2.4,1.1c1.8,0,3.3-1.5,3.3-3.3s-1.5-3.3-3.3-3.3c-1.8,0-3.3,1.5-3.3,3.3c0,0.3,0,0.6,0.1,0.9l-1.5,1.1

+	c-0.6-0.8-1.6-1.3-2.6-1.5v-1.8c1.5-0.3,2.6-1.6,2.6-3.2c0-1.8-1.5-3.3-3.3-3.3s-3.3,1.5-3.3,3.3c0,1.5,1.1,2.8,2.5,3.2v1.9

+	c-2,0.3-3.5,2.1-3.5,4.1c0,2.1,1.5,3.8,3.5,4.1v2c-1.5,0.3-2.6,1.6-2.6,3.2c0,1.8,1.5,3.3,3.3,3.3s3.3-1.5,3.3-3.3

+	c0-1.6-1.1-2.9-2.6-3.2v-2c1-0.2,1.9-0.7,2.6-1.5l1.5,1.1c-0.1,0.3-0.1,0.6-0.1,0.9c0,1.8,1.5,3.3,3.3,3.3c1.8,0,3.3-1.5,3.3-3.3

+	S1246.2,421.2,1244.4,421.2L1244.4,421.2z M1244.4,413.6c0.9,0,1.6,0.7,1.6,1.6s-0.7,1.6-1.6,1.6c-0.9,0-1.6-0.7-1.6-1.6

+	S1243.6,413.6,1244.4,413.6L1244.4,413.6z M1234.9,410.7c0-0.9,0.7-1.6,1.6-1.6c0.9,0,1.6,0.7,1.6,1.6c0,0.9-0.7,1.6-1.6,1.6

+	S1234.9,411.5,1234.9,410.7L1234.9,410.7z M1238.1,429.1c0,0.9-0.7,1.6-1.6,1.6s-1.6-0.7-1.6-1.6c0-0.9,0.7-1.6,1.6-1.6

+	S1238.1,428.2,1238.1,429.1z M1236.5,422c-1.2,0-2.2-1-2.2-2.2s1-2.2,2.2-2.2c1.2,0,2.2,1,2.2,2.2C1238.7,421,1237.7,422,1236.5,422

+	z M1244.4,426.1c-0.9,0-1.6-0.7-1.6-1.6c0-0.9,0.7-1.6,1.6-1.6c0.9,0,1.6,0.7,1.6,1.6C1246,425.4,1245.3,426.1,1244.4,426.1z"/>

 </svg>

diff --git a/components/datalake-handler/admin/src/src/assets/icons/kibana_able.svg b/components/datalake-handler/admin/src/src/assets/icons/kibana_able.svg
index 5a48320..0a4d7b7 100755
--- a/components/datalake-handler/admin/src/src/assets/icons/kibana_able.svg
+++ b/components/datalake-handler/admin/src/src/assets/icons/kibana_able.svg
@@ -1,15 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>

 <!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->

 <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"

-	 viewBox="1722.5 -151.5 708.9 904.3" style="enable-background:new 1722.5 -151.5 708.9 904.3;" xml:space="preserve">

+	 viewBox="398 407.3 24.9 24.9" style="enable-background:new 398 407.3 24.9 24.9;" xml:space="preserve">

 <style type="text/css">

 	.st0{fill:#5DBEBB;}

 	.st1{fill:#37A595;}

 	.st2{fill:#19A2A2;}

 </style>

-<path class="st0" d="M1760.3,189.5c114.1,0,221.9,29.7,315.6,79.7l334.4-401.6h-662.5v796.9v-475H1760.3L1760.3,189.5z"/>

-<path class="st0" d="M2075.9,269.2l-328.1,395.3V727h660.9C2371.2,530.1,2246.2,362.9,2075.9,269.2z"/>

-<path class="st1" d="M2075.9,269.2l-328.1,395.3V727h117.2l318.7-384.4c0,0-21.9-17.2-51.6-39.1

-	C2110.2,287.9,2075.9,269.2,2075.9,269.2z"/>

-<path class="st2" d="M1760.3,189.5h-12.5v475l328.1-395.3C1982.1,219.2,1874.3,189.5,1760.3,189.5L1760.3,189.5z"/>

+<g>

+	<path class="st0" d="M401.2,416.6c3.3,0,6.4,0.9,9.2,2.3l9.7-11.7h-19.2v23.1v-13.8H401.2L401.2,416.6z"/>

+	<path class="st0" d="M410.4,418.9l-9.5,11.5v1.8H420C418.9,426.5,415.3,421.6,410.4,418.9z"/>

+	<path class="st1" d="M410.4,418.9l-9.5,11.5v1.8h3.4l9.3-11.2c0,0-0.6-0.5-1.5-1.1C411.4,419.5,410.4,418.9,410.4,418.9z"/>

+	<path class="st2" d="M401.2,416.6h-0.4v13.8l9.5-11.5C407.6,417.5,404.5,416.6,401.2,416.6L401.2,416.6z"/>

+</g>

 </svg>

diff --git a/components/datalake-handler/admin/src/src/assets/icons/kibana_disable.svg b/components/datalake-handler/admin/src/src/assets/icons/kibana_disable.svg
index 1bd8e58..6ece16d 100755
--- a/components/datalake-handler/admin/src/src/assets/icons/kibana_disable.svg
+++ b/components/datalake-handler/admin/src/src/assets/icons/kibana_disable.svg
@@ -1,15 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>

 <!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->

 <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"

-	 viewBox="1722.5 -151.5 708.9 904.3" style="enable-background:new 1722.5 -151.5 708.9 904.3;" xml:space="preserve">

+	 viewBox="398 407.3 24.9 24.9" style="enable-background:new 398 407.3 24.9 24.9;" xml:space="preserve">

 <style type="text/css">

 	.st0{fill:#D2D3D5;}

 	.st1{fill:#C2BFBF;}

 	.st2{fill:#C4C6C8;}

 </style>

-<path class="st0" d="M1760.3,189.5c114.1,0,221.9,29.7,315.6,79.7l334.4-401.6h-662.5v796.9v-475H1760.3L1760.3,189.5z"/>

-<path class="st0" d="M2075.9,269.2l-328.1,395.3V727h660.9C2371.2,530.1,2246.2,362.9,2075.9,269.2z"/>

-<path class="st1" d="M2075.9,269.2l-328.1,395.3V727h117.2l318.7-384.4c0,0-21.9-17.2-51.6-39.1

-	C2110.2,287.9,2075.9,269.2,2075.9,269.2z"/>

-<path class="st2" d="M1760.3,189.5h-12.5v475l328.1-395.3C1982.1,219.2,1874.3,189.5,1760.3,189.5L1760.3,189.5z"/>

+<g>

+	<path class="st0" d="M401.2,416.6c3.3,0,6.4,0.9,9.2,2.3l9.7-11.7h-19.2v23.1v-13.8H401.2L401.2,416.6z"/>

+	<path class="st0" d="M410.4,418.9l-9.5,11.5v1.8H420C418.9,426.5,415.3,421.6,410.4,418.9z"/>

+	<path class="st1" d="M410.4,418.9l-9.5,11.5v1.8h3.4l9.3-11.2c0,0-0.6-0.5-1.5-1.1C411.4,419.5,410.4,418.9,410.4,418.9z"/>

+	<path class="st2" d="M401.2,416.6h-0.4v13.8l9.5-11.5C407.6,417.5,404.5,416.6,401.2,416.6L401.2,416.6z"/>

+</g>

 </svg>

diff --git a/components/datalake-handler/admin/src/src/assets/icons/mongoDB_able.svg b/components/datalake-handler/admin/src/src/assets/icons/mongoDB_able.svg
index 1feb0c6..44165fe 100755
--- a/components/datalake-handler/admin/src/src/assets/icons/mongoDB_able.svg
+++ b/components/datalake-handler/admin/src/src/assets/icons/mongoDB_able.svg
@@ -1,22 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>

 <!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->

 <svg version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"

-	 viewBox="-397.2 285.8 11.2 25" style="enable-background:new -397.2 285.8 11.2 25;" xml:space="preserve">

+	 viewBox="-297.9 408.9 24.9 25" style="enable-background:new -297.9 408.9 24.9 25;" xml:space="preserve">

 <style type="text/css">

 	.st0{fill:#19A2A2;}

 	.st1{fill:#5DBEBB;}

 	.st2{fill:#CEEBEA;}

 </style>

 <g transform="matrix(1.2754196 0 0 1.2754196 -16.030009 -21.83192)">

-	<path class="st0" d="M-294.5,241.2c0.2,0.3,0.4,0.7,0.5,1c0.1,0.2,0.2,0.4,0.4,0.5c0.4,0.4,0.9,0.9,1.2,1.4

+	<path class="st0" d="M-211.2,337.9c0.2,0.3,0.4,0.7,0.5,1c0.1,0.2,0.2,0.4,0.4,0.5c0.4,0.4,0.9,0.9,1.2,1.4

 		c0.9,1.2,1.5,2.5,1.9,3.9c0.3,0.9,0.4,1.7,0.4,2.6c0,2.7-0.9,4.9-2.7,6.8c-0.3,0.3-0.6,0.6-1,0.8c-0.2,0-0.3-0.2-0.4-0.3

-		c-0.2-0.2-0.2-0.5-0.3-0.8c-0.1-0.3-0.1-0.6-0.1-1c0,0,0-0.1,0-0.2C-294.4,256.1-294.6,241.3-294.5,241.2z"/>

-	<path class="st1" d="M-294.5,241.2C-294.5,241.2-294.5,241.2-294.5,241.2c-0.1,0.2-0.2,0.4-0.3,0.6c-0.1,0.2-0.3,0.3-0.5,0.5

-		c-0.9,0.8-1.7,1.8-2.3,2.9c-0.8,1.5-1.2,3.1-1.3,4.8c0,0.6,0.2,2.8,0.4,3.4c0.5,1.6,1.4,3,2.7,4.2c0.3,0.3,0.6,0.5,0.9,0.8

-		c0.1,0,0.1-0.1,0.1-0.2c0-0.2,0.1-0.3,0.1-0.4c0.1-0.5,0.2-1.1,0.2-1.6C-294.4,256.2-294.4,241.3-294.5,241.2L-294.5,241.2z"/>

-	<path class="st2" d="M-294,258.9c0-0.2,0.2-0.4,0.3-0.7c-0.1,0-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.2-0.2-0.4c-0.2-0.4-0.2-0.9-0.2-1.4

-		c0,0,0-0.1,0-0.2s0-0.1,0-0.2c0,0-0.1,0.4-0.1,0.5c0,0.5-0.1,1-0.2,1.4c0,0.2,0,0.4-0.2,0.5c0,0,0,0,0,0.1c0.2,0.5,0.2,1.1,0.3,1.7

-		v0.2c0,0.3,0,0.2,0.2,0.3c0.1,0,0.2,0,0.3,0.1c0.1,0,0.1,0,0.1-0.1c0-0.1,0-0.2,0-0.4c0-0.3,0-0.7,0-1

-		C-294,259.3-294,259.1-294,258.9z"/>

+		c-0.2-0.2-0.2-0.5-0.3-0.8c-0.1-0.3-0.1-0.6-0.1-1c0,0,0-0.1,0-0.2C-211.1,352.8-211.3,338-211.2,337.9z"/>

+	<path class="st1" d="M-211.2,337.9L-211.2,337.9c-0.1,0.2-0.2,0.4-0.3,0.6c-0.1,0.2-0.3,0.3-0.5,0.5c-0.9,0.8-1.7,1.8-2.3,2.9

+		c-0.8,1.5-1.2,3.1-1.3,4.8c0,0.6,0.2,2.8,0.4,3.4c0.5,1.6,1.4,3,2.7,4.2c0.3,0.3,0.6,0.5,0.9,0.8c0.1,0,0.1-0.1,0.1-0.2

+		c0-0.2,0.1-0.3,0.1-0.4c0.1-0.5,0.2-1.1,0.2-1.6C-211.1,352.9-211.1,338-211.2,337.9L-211.2,337.9z"/>

+	<path class="st2" d="M-210.7,355.6c0-0.2,0.2-0.4,0.3-0.7c-0.1,0-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.2-0.2-0.4

+		c-0.2-0.4-0.2-0.9-0.2-1.4c0,0,0-0.1,0-0.2c0-0.1,0-0.1,0-0.2c0,0-0.1,0.4-0.1,0.5c0,0.5-0.1,1-0.2,1.4c0,0.2,0,0.4-0.2,0.5

+		c0,0,0,0,0,0.1c0.2,0.5,0.2,1.1,0.3,1.7v0.2c0,0.3,0,0.2,0.2,0.3c0.1,0,0.2,0,0.3,0.1c0.1,0,0.1,0,0.1-0.1s0-0.2,0-0.4

+		c0-0.3,0-0.7,0-1C-210.7,356-210.7,355.8-210.7,355.6z"/>

 </g>

 </svg>

diff --git a/components/datalake-handler/admin/src/src/assets/icons/mongoDB_disable.svg b/components/datalake-handler/admin/src/src/assets/icons/mongoDB_disable.svg
index 9d1d506..a75f7ae 100755
--- a/components/datalake-handler/admin/src/src/assets/icons/mongoDB_disable.svg
+++ b/components/datalake-handler/admin/src/src/assets/icons/mongoDB_disable.svg
@@ -1,22 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>

 <!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->

 <svg version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"

-	 viewBox="-397.2 285.8 11.2 25" style="enable-background:new -397.2 285.8 11.2 25;" xml:space="preserve">

+	 viewBox="-297.9 408.9 24.9 25" style="enable-background:new -297.9 408.9 24.9 25;" xml:space="preserve">

 <style type="text/css">

 	.st0{fill:#C4C6C8;}

 	.st1{fill:#D2D3D5;}

 	.st2{fill:#C2BFBF;}

 </style>

 <g transform="matrix(1.2754196 0 0 1.2754196 -16.030009 -21.83192)">

-	<path class="st0" d="M-294.5,241.2c0.2,0.3,0.4,0.7,0.5,1c0.1,0.2,0.2,0.4,0.4,0.5c0.4,0.4,0.9,0.9,1.2,1.4

+	<path class="st0" d="M-211.2,337.9c0.2,0.3,0.4,0.7,0.5,1c0.1,0.2,0.2,0.4,0.4,0.5c0.4,0.4,0.9,0.9,1.2,1.4

 		c0.9,1.2,1.5,2.5,1.9,3.9c0.3,0.9,0.4,1.7,0.4,2.6c0,2.7-0.9,4.9-2.7,6.8c-0.3,0.3-0.6,0.6-1,0.8c-0.2,0-0.3-0.2-0.4-0.3

-		c-0.2-0.2-0.2-0.5-0.3-0.8c-0.1-0.3-0.1-0.6-0.1-1c0,0,0-0.1,0-0.2C-294.4,256.1-294.6,241.3-294.5,241.2z"/>

-	<path class="st1" d="M-294.5,241.2C-294.5,241.2-294.5,241.2-294.5,241.2c-0.1,0.2-0.2,0.4-0.3,0.6c-0.1,0.2-0.3,0.3-0.5,0.5

-		c-0.9,0.8-1.7,1.8-2.3,2.9c-0.8,1.5-1.2,3.1-1.3,4.8c0,0.6,0.2,2.8,0.4,3.4c0.5,1.6,1.4,3,2.7,4.2c0.3,0.3,0.6,0.5,0.9,0.8

-		c0.1,0,0.1-0.1,0.1-0.2c0-0.2,0.1-0.3,0.1-0.4c0.1-0.5,0.2-1.1,0.2-1.6C-294.4,256.2-294.4,241.3-294.5,241.2L-294.5,241.2z"/>

-	<path class="st2" d="M-294,258.9c0-0.2,0.2-0.4,0.3-0.7c-0.1,0-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.2-0.2-0.4c-0.2-0.4-0.2-0.9-0.2-1.4

-		c0,0,0-0.1,0-0.2s0-0.1,0-0.2c0,0-0.1,0.4-0.1,0.5c0,0.5-0.1,1-0.2,1.4c0,0.2,0,0.4-0.2,0.5c0,0,0,0,0,0.1c0.2,0.5,0.2,1.1,0.3,1.7

-		v0.2c0,0.3,0,0.2,0.2,0.3c0.1,0,0.2,0,0.3,0.1c0.1,0,0.1,0,0.1-0.1c0-0.1,0-0.2,0-0.4c0-0.3,0-0.7,0-1

-		C-294,259.3-294,259.1-294,258.9z"/>

+		c-0.2-0.2-0.2-0.5-0.3-0.8c-0.1-0.3-0.1-0.6-0.1-1c0,0,0-0.1,0-0.2C-211.1,352.8-211.3,338-211.2,337.9z"/>

+	<path class="st1" d="M-211.2,337.9L-211.2,337.9c-0.1,0.2-0.2,0.4-0.3,0.6c-0.1,0.2-0.3,0.3-0.5,0.5c-0.9,0.8-1.7,1.8-2.3,2.9

+		c-0.8,1.5-1.2,3.1-1.3,4.8c0,0.6,0.2,2.8,0.4,3.4c0.5,1.6,1.4,3,2.7,4.2c0.3,0.3,0.6,0.5,0.9,0.8c0.1,0,0.1-0.1,0.1-0.2

+		c0-0.2,0.1-0.3,0.1-0.4c0.1-0.5,0.2-1.1,0.2-1.6C-211.1,352.9-211.1,338-211.2,337.9L-211.2,337.9z"/>

+	<path class="st2" d="M-210.7,355.6c0-0.2,0.2-0.4,0.3-0.7c-0.1,0-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.2-0.2-0.4

+		c-0.2-0.4-0.2-0.9-0.2-1.4c0,0,0-0.1,0-0.2c0-0.1,0-0.1,0-0.2c0,0-0.1,0.4-0.1,0.5c0,0.5-0.1,1-0.2,1.4c0,0.2,0,0.4-0.2,0.5

+		c0,0,0,0,0,0.1c0.2,0.5,0.2,1.1,0.3,1.7v0.2c0,0.3,0,0.2,0.2,0.3c0.1,0,0.2,0,0.3,0.1c0.1,0,0.1,0,0.1-0.1s0-0.2,0-0.4

+		c0-0.3,0-0.7,0-1C-210.7,356-210.7,355.8-210.7,355.6z"/>

 </g>

 </svg>