{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/components/auth/change/change.password.component.css","webpack:///./src/app/components/auth/change/change.password.component.html","webpack:///./src/app/components/auth/change/change.password.component.ts","webpack:///./src/app/components/auth/login/login.component.css","webpack:///./src/app/components/auth/login/login.component.html","webpack:///./src/app/components/auth/login/login.component.ts","webpack:///./src/app/components/auth/reset/reset.component.css","webpack:///./src/app/components/auth/reset/reset.component.html","webpack:///./src/app/components/auth/reset/reset.component.ts","webpack:///./src/app/components/auth/test/test.component.css","webpack:///./src/app/components/auth/test/test.component.html","webpack:///./src/app/components/auth/test/test.component.ts","webpack:///./src/app/components/components.module.ts","webpack:///./src/app/components/footer/footer.component.css","webpack:///./src/app/components/footer/footer.component.html","webpack:///./src/app/components/footer/footer.component.ts","webpack:///./src/app/components/main/home/public/publicdashboard.component.css","webpack:///./src/app/components/main/home/public/publicdashboard.component.html","webpack:///./src/app/components/main/home/public/publicdashboard.component.ts","webpack:///./src/app/components/navbar/navbar.component.css","webpack:///./src/app/components/navbar/navbar.component.html","webpack:///./src/app/components/navbar/navbar.component.ts","webpack:///./src/app/components/public/detailledstats/pe/detailledglobalstats_pe.component.css","webpack:///./src/app/components/public/detailledstats/pe/detailledstats_pe.component.html","webpack:///./src/app/components/public/detailledstats/pe/detailledstats_pe.component.ts","webpack:///./src/app/components/public/detailledstats/pffg/detailledstats_pffg.component.css","webpack:///./src/app/components/public/detailledstats/pffg/detailledstats_pffg.component.html","webpack:///./src/app/components/public/detailledstats/pffg/detailledstats_pffg.component.ts","webpack:///./src/app/components/public/detailledstats/pssn/detailledstats_pssn.component.css","webpack:///./src/app/components/public/detailledstats/pssn/detailledstats_pssn.component.html","webpack:///./src/app/components/public/detailledstats/pssn/detailledstats_pssn.component.ts","webpack:///./src/app/components/public/globalstats/pe/publicglobalstats_pe.component.css","webpack:///./src/app/components/public/globalstats/pe/publicglobalstats_pe.component.html","webpack:///./src/app/components/public/globalstats/pe/publicglobalstats_pe.component.ts","webpack:///./src/app/components/public/globalstats/pffg/publicglobalstats_pffg.component.css","webpack:///./src/app/components/public/globalstats/pffg/publicglobalstats_pffg.component.html","webpack:///./src/app/components/public/globalstats/pffg/publicglobalstats_pffg.component.ts","webpack:///./src/app/components/public/globalstats/pssn/publicglobalstats_pssn.component.css","webpack:///./src/app/components/public/globalstats/pssn/publicglobalstats_pssn.component.html","webpack:///./src/app/components/public/globalstats/pssn/publicglobalstats_pssn.component.ts","webpack:///./src/app/components/sidebar/sidebar.component.css","webpack:///./src/app/components/sidebar/sidebar.component.html","webpack:///./src/app/components/sidebar/sidebar.component.ts","webpack:///./src/app/components/utils/it-datepicker/it.datepicker.component.css","webpack:///./src/app/components/utils/it-datepicker/it.datepicker.component.html","webpack:///./src/app/components/utils/it-datepicker/it.datepicker.component.ts","webpack:///./src/app/components/utils/legende-synthese/legende-synthese.component.css","webpack:///./src/app/components/utils/legende-synthese/legende-synthese.component.html","webpack:///./src/app/components/utils/legende-synthese/legende-synthese.component.ts","webpack:///./src/app/components/utils/public-header/public-header.component.css","webpack:///./src/app/components/utils/public-header/public-header.component.html","webpack:///./src/app/components/utils/public-header/public-header.component.ts","webpack:///./src/app/layouts/admin-layout/admin-layout.component.html","webpack:///./src/app/layouts/admin-layout/admin-layout.component.scss","webpack:///./src/app/layouts/admin-layout/admin-layout.component.ts","webpack:///./src/app/layouts/public-layout/public-layout.component.html","webpack:///./src/app/layouts/public-layout/public-layout.component.scss","webpack:///./src/app/layouts/public-layout/public-layout.component.ts","webpack:///./src/app/shared/directives/hasright.directive.ts","webpack:///./src/app/shared/directives/number.directive.ts","webpack:///./src/app/shared/model/FS_PE.ts","webpack:///./src/app/shared/model/FS_PE_Detail.ts","webpack:///./src/app/shared/model/FS_PF_FG.ts","webpack:///./src/app/shared/model/FS_PF_FG_Detail.ts","webpack:///./src/app/shared/model/FS_PSSN.ts","webpack:///./src/app/shared/model/FS_PSSN_Detail.ts","webpack:///./src/app/shared/model/commentaire.ts","webpack:///./src/app/shared/model/glossaire.ts","webpack:///./src/app/shared/model/groupe.ts","webpack:///./src/app/shared/model/parametre.ts","webpack:///./src/app/shared/model/structure.ts","webpack:///./src/app/shared/model/type_structure.ts","webpack:///./src/app/shared/model/utilisateur.ts","webpack:///./src/app/shared/modules/shared.module.ts","webpack:///./src/app/shared/pipes/format-money/format-money.pipe.ts","webpack:///./src/app/shared/pipes/format-status/format-status.pipe.ts","webpack:///./src/app/shared/pipes/format-to-month/format-to-month.pipe.ts","webpack:///./src/app/shared/pipes/it-boolean/it-boolean.pipe.ts","webpack:///./src/app/shared/pipes/it-paginator/it-paginator.pipe.ts","webpack:///./src/app/shared/pipes/limit-to/limit-to.pipe.ts","webpack:///./src/app/shared/services/app/app.service.ts","webpack:///./src/app/shared/services/app/library.service.ts","webpack:///./src/app/shared/services/app/localstorage.service.ts","webpack:///./src/app/shared/services/auth/auth.service.ts","webpack:///./src/app/shared/services/general/appstorage.service.ts","webpack:///./src/app/shared/services/general/constants.service.ts","webpack:///./src/app/shared/services/general/utils.service.ts","webpack:///./src/app/shared/services/operation/operation.service.ts","webpack:///./src/app/shared/services/param/param.service.ts","webpack:///./src/app/shared/services/report/report.service.ts","webpack:///./src/app/shared/services/secu/secu.service.ts","webpack:///./src/environments/environment.prod.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["var map = {\n\t\"./layouts/admin-layout/admin-layout.module\": [\n\t\t\"./src/app/layouts/admin-layout/admin-layout.module.ts\",\n\t\t\"layouts-admin-layout-admin-layout-module\"\n\t],\n\t\"./layouts/public-layout/public-layout.module\": [\n\t\t\"./src/app/layouts/public-layout/public-layout.module.ts\",\n\t\t\"layouts-public-layout-public-layout-module\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\tvar id = ids[0];\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\nmodule.exports = webpackAsyncContext;","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AdminLayoutComponent } from './layouts/admin-layout/admin-layout.component';\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {LoginComponent} from \"./components/auth/login/login.component\";\r\nimport {PublicDashboardComponent} from \"./components/main/home/public/publicdashboard.component\";\r\nimport {ResetComponent} from \"./components/auth/reset/reset.component\";\r\nimport {PublicLayoutComponent} from \"./layouts/public-layout/public-layout.component\";\r\nimport {ChangePasswordComponent} from \"./components/auth/change/change.password.component\";\r\nimport {TestComponent} from \"./components/auth/test/test.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n redirectTo: 'sidoffeng',\r\n pathMatch: 'full',\r\n },\r\n\r\n //for admin\r\n {\r\n path: 'sidoffeadmin',\r\n component: AdminLayoutComponent,\r\n children: [\r\n {\r\n path: '',\r\n loadChildren: './layouts/admin-layout/admin-layout.module#AdminLayoutModule'\r\n }]},\r\n\r\n //for public\r\n {\r\n path: 'sidoffepublic',\r\n component: PublicLayoutComponent,\r\n children: [\r\n {\r\n path: '',\r\n loadChildren: './layouts/public-layout/public-layout.module#PublicLayoutModule'\r\n }]},\r\n\r\n\r\n //login\r\n {path: 'login', component: LoginComponent},\r\n {path: 'reset', component: ResetComponent},\r\n { path: 'change', component: ChangePasswordComponent },\r\n { path: 'sidoffeng', component: PublicDashboardComponent },\r\n // {path: 'register', component: RegisterComponent} ,\r\n\r\n\r\n { path: 'test', component: TestComponent },\r\n\r\n {\r\n path: '**',\r\n redirectTo: 'login'\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n BrowserModule,\r\n RouterModule.forRoot(routes)\r\n ],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\r\\n\\r\\n\\r\\n\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'Sidoffe NG';\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\n\r\nimport {NgbModalModule, NgbModule, NgbTabsetModule} from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { ComponentsModule } from './components/components.module';\r\n\r\nimport { AdminLayoutComponent } from './layouts/admin-layout/admin-layout.component';\r\nimport {ToastrModule} from \"ngx-toastr\";\r\nimport {NgxSpinnerModule} from \"ngx-spinner\";\r\nimport {AuthService} from \"./shared/services/auth/auth.service\";\r\nimport {AppStorageService} from \"./shared/services/general/appstorage.service\";\r\nimport {StorageServiceModule, WebStorageService} from 'angular-webstorage-service';\r\nimport {ParamService} from \"./shared/services/param/param.service\";\r\nimport {ConfirmationService} from \"primeng/api\";\r\nimport {ConstantsService} from \"./shared/services/general/constants.service\";\r\n//import { FormatMoneyPipe } from './shared/pipes/format-money/format-money.pipe';\r\nimport {BrowserAnimationsModule} from \"@angular/platform-browser/animations\";\r\nimport {HttpClientModule} from \"@angular/common/http\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {AppService} from \"./shared/services/app/app.service\";\r\nimport {LoginComponent} from \"./components/auth/login/login.component\";\r\nimport {UtilsService} from \"./shared/services/general/utils.service\";\r\nimport {SecuService} from \"./shared/services/secu/secu.service\";\r\nimport {OperationService} from \"./shared/services/operation/operation.service\";\r\nimport {PublicDashboardComponent} from \"./components/main/home/public/publicdashboard.component\";\r\nimport {\r\n AccordionModule,\r\n ButtonModule,\r\n ChartModule, ConfirmDialogModule, FileUploadModule, GrowlModule,\r\n InputTextModule,\r\n MessagesModule,\r\n PaginatorModule\r\n} from \"primeng/primeng\";\r\nimport {LibraryService} from \"./shared/services/app/library.service\";\r\nimport {ResetComponent} from \"./components/auth/reset/reset.component\";\r\nimport {LocalStorageService} from \"./shared/services/app/localstorage.service\";\r\nimport {ReportService} from \"./shared/services/report/report.service\";\r\nimport {CarouselModule} from \"ngx-owl-carousel-o\";\r\nimport {DialogModule} from \"primeng/dialog\";\r\n// import {PublicGlobalStatsPssnComponent} from \"./components/public/globalstats/pssn/publicglobalstats_pssn.component\";\r\n// import {ItDatePickerComponent} from \"./components/utils/it-datepicker/it.datepicker.component\";\r\nimport {CalendarModule} from \"primeng/calendar\";\r\nimport {PublicLayoutModule} from \"./layouts/public-layout/public-layout.module\";\r\nimport {PublicLayoutComponent} from \"./layouts/public-layout/public-layout.component\";\r\n// import {ItBooleanPipe} from \"./shared/pipes/it-boolean/it-boolean.pipe\";\r\n// import {ItPaginatorPipe} from \"./shared/pipes/it-paginator/it-paginator.pipe\";\r\n// import {LimitToPipe} from \"./shared/pipes/limit-to/limit-to.pipe\";\r\n// import {FormatToMonthPipe} from \"./shared/pipes/format-to-month/format-to-month.pipe\";\r\n// import {FormatStatusPipe} from \"./shared/pipes/format-status/format-status.pipe\";\r\nimport {TableModule} from \"primeng/table\";\r\nimport {ChangePasswordComponent} from \"./components/auth/change/change.password.component\";\r\nimport {TestComponent} from \"./components/auth/test/test.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n AdminLayoutComponent, PublicLayoutComponent,\r\n LoginComponent, PublicDashboardComponent, ResetComponent, ChangePasswordComponent, TestComponent,\r\n\r\n\r\n ],\r\n imports: [\r\n BrowserAnimationsModule,\r\n\r\n FormsModule,\r\n HttpClientModule,\r\n ComponentsModule,\r\n RouterModule,\r\n AppRoutingModule,\r\n NgbModule.forRoot(),\r\n ToastrModule.forRoot(),\r\n NgxSpinnerModule, StorageServiceModule,\r\n NgbModalModule.forRoot(), NgbTabsetModule.forRoot(),\r\n\r\n CarouselModule,\r\n InputTextModule, ButtonModule, CalendarModule, PaginatorModule, ChartModule, MessagesModule, DialogModule, ConfirmDialogModule,\r\n GrowlModule, FileUploadModule, TableModule, AccordionModule\r\n ],\r\n providers: [ UtilsService, AuthService, AppStorageService, ParamService, ConfirmationService,\r\n ConstantsService, AppService, SecuService, OperationService, LibraryService, LocalStorageService, ReportService ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n .app-content {\\r\\n /*background: url(\\\"/assets/app-assets/images/other/paysage.jpg\\\") no-repeat center center fixed;*/\\r\\n background-size: cover;\\r\\n }\\r\\n\\r\\n .add_top{margin-top: 200px; }\\r\\n\\r\\n .add_css {margin-bottom: 50px;}\\r\\n\\r\\n .title_text{font-weight: bold; }\\r\\n\\r\\n .green_color, .green_color:hover, .green_color:active, .green_color:visited { background-color: #01b3c1; color: white; border-color: white; }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hdXRoL2NoYW5nZS9jaGFuZ2UucGFzc3dvcmQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7RUFHRTtJQUNFLGdHQUFnRztJQUloRyxzQkFBc0I7RUFDeEI7O0VBRUEsU0FBUyxpQkFBaUIsRUFBRTs7RUFFNUIsVUFBVSxtQkFBbUIsQ0FBQzs7RUFDOUIsWUFBWSxpQkFBaUIsRUFBRTs7RUFFL0IsOEVBQThFLHlCQUF5QixFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYXV0aC9jaGFuZ2UvY2hhbmdlLnBhc3N3b3JkLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcblxyXG4gIC5hcHAtY29udGVudCB7XHJcbiAgICAvKmJhY2tncm91bmQ6IHVybChcIi9hc3NldHMvYXBwLWFzc2V0cy9pbWFnZXMvb3RoZXIvcGF5c2FnZS5qcGdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgZml4ZWQ7Ki9cclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIC1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIH1cclxuXHJcbiAgLmFkZF90b3B7bWFyZ2luLXRvcDogMjAwcHg7IH1cclxuXHJcbiAgLmFkZF9jc3Mge21hcmdpbi1ib3R0b206IDUwcHg7fVxyXG4gIC50aXRsZV90ZXh0e2ZvbnQtd2VpZ2h0OiBib2xkOyB9XHJcblxyXG4gIC5ncmVlbl9jb2xvciwgLmdyZWVuX2NvbG9yOmhvdmVyLCAuZ3JlZW5fY29sb3I6YWN0aXZlLCAuZ3JlZW5fY29sb3I6dmlzaXRlZCB7IGJhY2tncm91bmQtY29sb3I6ICMwMWIzYzE7IGNvbG9yOiB3aGl0ZTsgYm9yZGVyLWNvbG9yOiB3aGl0ZTsgfVxyXG4iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\\"OFFE
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

Modification de mot de passe

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport {Router} from \"@angular/router\";\r\nimport {SecuService} from \"../../../shared/services/secu/secu.service\";\r\nimport {NgxSpinnerService} from \"ngx-spinner\";\r\nimport {LibraryService} from \"../../../shared/services/app/library.service\";\r\nimport {ParamService} from \"../../../shared/services/param/param.service\";\r\nimport {ToastrService} from \"ngx-toastr\";\r\nimport {UtilsService} from \"../../../shared/services/general/utils.service\";\r\nimport {ConfirmationService} from \"primeng/api\";\r\nimport {utilisateur} from \"../../../shared/model/utilisateur\";\r\nimport {AuthService} from \"../../../shared/services/auth/auth.service\";\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change.password.component.html',\r\n styleUrls: ['./change.password.component.css']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n\r\n newUser : utilisateur = new utilisateur();\r\n\r\n constructor(private router: Router, private paramService: ParamService, private libraryService: LibraryService,\r\n private spinner: NgxSpinnerService, private authService: AuthService,\r\n private toastr: ToastrService , private utils: UtilsService,\r\n private confirmationService: ConfirmationService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n\r\n\r\n //save request\r\n saveRequestChangePassword(): void {\r\n if(!this.newUser.canReset()){\r\n this.toastr.error(this.newUser.getErrorMessage(), \"Connexion\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n this.spinner.show();\r\n this.authService.reset(this.newUser).subscribe((result) => {\r\n this.spinner.hide();\r\n\r\n if(result.status === false){\r\n let error: string = result.message;\r\n this.toastr.error(error, \"Réinitialisation\", {positionClass: 'toast-top-center'});\r\n return;\r\n }else{\r\n this.newUser.adresse_mail = \"\";\r\n let error: string = result.message;\r\n this.toastr.success(error, \"Réinitialisation\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n //this.router.navigate([\"/admin/home\"]);\r\n })\r\n }//end saveRequestChangePassword\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n .app-content {\\r\\n /*background: url(\\\"/assets/app-assets/images/other/paysage.jpg\\\") no-repeat center center fixed;*/\\r\\n background-size: cover;\\r\\n }\\r\\n\\r\\n .add_top{margin-top: 200px; }\\r\\n\\r\\n .add_css {margin-bottom: 50px;}\\r\\n\\r\\n .title_text{font-weight: bold; }\\r\\n\\r\\n .green_color, .green_color:hover, .green_color:active, .green_color:visited { background-color: #01b3c1; color: white; border-color: white; }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hdXRoL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0VBR0U7SUFDRSxnR0FBZ0c7SUFJaEcsc0JBQXNCO0VBQ3hCOztFQUVBLFNBQVMsaUJBQWlCLEVBQUU7O0VBRTVCLFVBQVUsbUJBQW1CLENBQUM7O0VBQzlCLFlBQVksaUJBQWlCLEVBQUU7O0VBRS9CLDhFQUE4RSx5QkFBeUIsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2F1dGgvbG9naW4vbG9naW4uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuXHJcbiAgLmFwcC1jb250ZW50IHtcclxuICAgIC8qYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9hcHAtYXNzZXRzL2ltYWdlcy9vdGhlci9wYXlzYWdlLmpwZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciBmaXhlZDsqL1xyXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgfVxyXG5cclxuICAuYWRkX3RvcHttYXJnaW4tdG9wOiAyMDBweDsgfVxyXG5cclxuICAuYWRkX2NzcyB7bWFyZ2luLWJvdHRvbTogNTBweDt9XHJcbiAgLnRpdGxlX3RleHR7Zm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuXHJcbiAgLmdyZWVuX2NvbG9yLCAuZ3JlZW5fY29sb3I6aG92ZXIsIC5ncmVlbl9jb2xvcjphY3RpdmUsIC5ncmVlbl9jb2xvcjp2aXNpdGVkIHsgYmFja2dyb3VuZC1jb2xvcjogIzAxYjNjMTsgY29sb3I6IHdoaXRlOyBib3JkZXItY29sb3I6IHdoaXRlOyB9XHJcbiJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\\"OFFE
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

Connexion à SIDOFFE NG

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport {Router} from \"@angular/router\";\r\nimport {SecuService} from \"../../../shared/services/secu/secu.service\";\r\nimport {NgxSpinnerService} from \"ngx-spinner\";\r\nimport {LibraryService} from \"../../../shared/services/app/library.service\";\r\nimport {ParamService} from \"../../../shared/services/param/param.service\";\r\nimport {ToastrService} from \"ngx-toastr\";\r\nimport {UtilsService} from \"../../../shared/services/general/utils.service\";\r\nimport {ConfirmationService} from \"primeng/api\";\r\nimport {utilisateur} from \"../../../shared/model/utilisateur\";\r\nimport {AuthService} from \"../../../shared/services/auth/auth.service\";\r\nimport {LocalStorageService} from \"../../../shared/services/app/localstorage.service\";\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n newUser : utilisateur = new utilisateur();\r\n\r\n constructor(private router: Router, private paramService: ParamService, private libraryService: LibraryService,\r\n private spinner: NgxSpinnerService, private authService: AuthService,\r\n private toastr: ToastrService , private utils: UtilsService,\r\n private confirmationService: ConfirmationService, private localStorage: LocalStorageService ) { }\r\n\r\n ngOnInit() {\r\n this.newUser.login = \"\";\r\n this.newUser.mot_passe = \"\";\r\n }\r\n\r\n\r\n //change password\r\n changePassword(): void {\r\n this.router.navigate([\"/reset\"]);\r\n }//end changePassword\r\n\r\n\r\n //login user\r\n loginUser(): void {\r\n if(!this.newUser.canLogin()){\r\n this.toastr.error(this.newUser.getErrorMessage(), \"Connexion\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n this.spinner.show();\r\n this.authService.login(this.newUser).subscribe((result) => {\r\n\r\n if(result === undefined){\r\n this.spinner.hide();\r\n let error: string = \"Une erreur est survenue\";\r\n this.toastr.error(error, \"Connexion\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n if(result.status === false){\r\n this.spinner.hide();\r\n let error: string = result.message;\r\n this.toastr.error(error, \"Connexion\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n //save user\r\n this.localStorage.saveUser(result.data);\r\n this.newUser.mot_passe = \"\"; this.newUser.login = \"\";\r\n\r\n setTimeout(() => { this.spinner.hide(); }, 5000);\r\n\r\n\r\n this.router.navigate([\"/sidoffeadmin/home\"]);\r\n })\r\n }//end loginUser\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n .app-content {\\r\\n /*background: url(\\\"/assets/app-assets/images/other/paysage.jpg\\\") no-repeat center center fixed;*/\\r\\n background-size: cover;\\r\\n }\\r\\n\\r\\n .add_top{margin-top: 200px; }\\r\\n\\r\\n .add_css {margin-bottom: 50px;}\\r\\n\\r\\n .title_text{font-weight: bold; }\\r\\n\\r\\n .green_color, .green_color:hover, .green_color:active, .green_color:visited { background-color: #01b3c1; color: white; border-color: white; }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hdXRoL3Jlc2V0L3Jlc2V0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0VBR0U7SUFDRSxnR0FBZ0c7SUFJaEcsc0JBQXNCO0VBQ3hCOztFQUVBLFNBQVMsaUJBQWlCLEVBQUU7O0VBRTVCLFVBQVUsbUJBQW1CLENBQUM7O0VBQzlCLFlBQVksaUJBQWlCLEVBQUU7O0VBRS9CLDhFQUE4RSx5QkFBeUIsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2F1dGgvcmVzZXQvcmVzZXQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuXHJcbiAgLmFwcC1jb250ZW50IHtcclxuICAgIC8qYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9hcHAtYXNzZXRzL2ltYWdlcy9vdGhlci9wYXlzYWdlLmpwZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciBmaXhlZDsqL1xyXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgfVxyXG5cclxuICAuYWRkX3RvcHttYXJnaW4tdG9wOiAyMDBweDsgfVxyXG5cclxuICAuYWRkX2NzcyB7bWFyZ2luLWJvdHRvbTogNTBweDt9XHJcbiAgLnRpdGxlX3RleHR7Zm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuXHJcbiAgLmdyZWVuX2NvbG9yLCAuZ3JlZW5fY29sb3I6aG92ZXIsIC5ncmVlbl9jb2xvcjphY3RpdmUsIC5ncmVlbl9jb2xvcjp2aXNpdGVkIHsgYmFja2dyb3VuZC1jb2xvcjogIzAxYjNjMTsgY29sb3I6IHdoaXRlOyBib3JkZXItY29sb3I6IHdoaXRlOyB9XHJcbiJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\\"OFFE
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

Réinitialisation de mot de passe

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport {Router} from \"@angular/router\";\r\nimport {SecuService} from \"../../../shared/services/secu/secu.service\";\r\nimport {NgxSpinnerService} from \"ngx-spinner\";\r\nimport {LibraryService} from \"../../../shared/services/app/library.service\";\r\nimport {ParamService} from \"../../../shared/services/param/param.service\";\r\nimport {ToastrService} from \"ngx-toastr\";\r\nimport {UtilsService} from \"../../../shared/services/general/utils.service\";\r\nimport {ConfirmationService} from \"primeng/api\";\r\nimport {utilisateur} from \"../../../shared/model/utilisateur\";\r\nimport {AuthService} from \"../../../shared/services/auth/auth.service\";\r\n\r\n@Component({\r\n selector: 'app-reset',\r\n templateUrl: './reset.component.html',\r\n styleUrls: ['./reset.component.css']\r\n})\r\nexport class ResetComponent implements OnInit {\r\n\r\n newUser : utilisateur = new utilisateur();\r\n\r\n constructor(private router: Router, private paramService: ParamService, private libraryService: LibraryService,\r\n private spinner: NgxSpinnerService, private authService: AuthService,\r\n private toastr: ToastrService , private utils: UtilsService,\r\n private confirmationService: ConfirmationService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n\r\n\r\n //save request\r\n saveRequestChangePassword(): void {\r\n if(!this.newUser.canReset()){\r\n this.toastr.error(this.newUser.getErrorMessage(), \"Connexion\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n this.spinner.show();\r\n this.authService.reset(this.newUser).subscribe((result) => {\r\n this.spinner.hide();\r\n\r\n if(result.status === false){\r\n let error: string = result.message;\r\n this.toastr.error(error, \"Réinitialisation\", {positionClass: 'toast-top-center'});\r\n return;\r\n }else{\r\n this.newUser.adresse_mail = \"\";\r\n let error: string = result.message;\r\n this.toastr.success(error, \"Réinitialisation\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n //this.router.navigate([\"/admin/home\"]);\r\n })\r\n }//end saveRequestChangePassword\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n .app-content {\\r\\n /*background: url(\\\"/assets/app-assets/images/other/paysage.jpg\\\") no-repeat center center fixed;*/\\r\\n background-size: cover;\\r\\n }\\r\\n\\r\\n .add_top{margin-top: 200px; }\\r\\n\\r\\n .add_css {margin-bottom: 50px;}\\r\\n\\r\\n .title_text{font-weight: bold; }\\r\\n\\r\\n .green_color, .green_color:hover, .green_color:active, .green_color:visited { background-color: #01b3c1; color: white; border-color: white; }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hdXRoL3Rlc3QvdGVzdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztFQUdFO0lBQ0UsZ0dBQWdHO0lBSWhHLHNCQUFzQjtFQUN4Qjs7RUFFQSxTQUFTLGlCQUFpQixFQUFFOztFQUU1QixVQUFVLG1CQUFtQixDQUFDOztFQUM5QixZQUFZLGlCQUFpQixFQUFFOztFQUUvQiw4RUFBOEUseUJBQXlCLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9hdXRoL3Rlc3QvdGVzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG5cclxuICAuYXBwLWNvbnRlbnQge1xyXG4gICAgLypiYWNrZ3JvdW5kOiB1cmwoXCIvYXNzZXRzL2FwcC1hc3NldHMvaW1hZ2VzL290aGVyL3BheXNhZ2UuanBnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIGZpeGVkOyovXHJcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICB9XHJcblxyXG4gIC5hZGRfdG9we21hcmdpbi10b3A6IDIwMHB4OyB9XHJcblxyXG4gIC5hZGRfY3NzIHttYXJnaW4tYm90dG9tOiA1MHB4O31cclxuICAudGl0bGVfdGV4dHtmb250LXdlaWdodDogYm9sZDsgfVxyXG5cclxuICAuZ3JlZW5fY29sb3IsIC5ncmVlbl9jb2xvcjpob3ZlciwgLmdyZWVuX2NvbG9yOmFjdGl2ZSwgLmdyZWVuX2NvbG9yOnZpc2l0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDFiM2MxOyBjb2xvcjogd2hpdGU7IGJvcmRlci1jb2xvcjogd2hpdGU7IH1cclxuIl19 */\"","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Statistiques de protection sociale et de solidarité nationale\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n

Statistiques sur la protection sociale et la solidarité nationale

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#
Date débutfffffff
Date Fingggggggg
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
DésignationValeur
itemStat.libelleitemStat.valeur %
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport {Router} from \"@angular/router\";\r\nimport {SecuService} from \"../../../shared/services/secu/secu.service\";\r\nimport {NgxSpinnerService} from \"ngx-spinner\";\r\nimport {LibraryService} from \"../../../shared/services/app/library.service\";\r\nimport {ParamService} from \"../../../shared/services/param/param.service\";\r\nimport {ToastrService} from \"ngx-toastr\";\r\nimport {UtilsService} from \"../../../shared/services/general/utils.service\";\r\nimport {ConfirmationService} from \"primeng/api\";\r\nimport {utilisateur} from \"../../../shared/model/utilisateur\";\r\nimport {AuthService} from \"../../../shared/services/auth/auth.service\";\r\nimport {LocalStorageService} from \"../../../shared/services/app/localstorage.service\";\r\n\r\n@Component({\r\n selector: 'app-test',\r\n templateUrl: './test.component.html',\r\n styleUrls: ['./test.component.css']\r\n})\r\nexport class TestComponent implements OnInit {\r\n\r\n newUser : utilisateur = new utilisateur();\r\n\r\n constructor(private router: Router, private paramService: ParamService, private libraryService: LibraryService,\r\n private spinner: NgxSpinnerService, private authService: AuthService,\r\n private toastr: ToastrService , private utils: UtilsService,\r\n private confirmationService: ConfirmationService, private localStorage: LocalStorageService ) { }\r\n\r\n items: any[] = [ \"hjsdghsd\", \"gjshgfjh\", \"sjhdghgh\", \"jhsdghghg\", \"jhfghjghgh\", \"hjdghghgh\", \"sdgfghjfg\" ];\r\n\r\n ngOnInit() {\r\n this.newUser.login = \"\";\r\n this.newUser.mot_passe = \"\";\r\n }\r\n\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { NavbarComponent } from './navbar/navbar.component';\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\nimport {SharedModule} from \"../shared/modules/shared.module\";\r\nimport {FormsModule} from \"@angular/forms\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n NgbModule,\r\n SharedModule,\r\n ],\r\n declarations: [\r\n FooterComponent,\r\n NavbarComponent,\r\n SidebarComponent\r\n ],\r\n exports: [\r\n FooterComponent,\r\n NavbarComponent,\r\n SidebarComponent\r\n ]\r\n})\r\nexport class ComponentsModule { }\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n test : Date = new Date();\r\n \r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"/*------------------------------------------------------------------\\r\\nProject:\\tNantes - multi purpose one-page template\\r\\nVersion:\\t1.0\\r\\nLast change:\\t18/02/2016 [...]\\r\\nDesigned by:\\tMOOZ Themes / www.MOOZthemes.com\\r\\nPrimary use:\\tOne page\\r\\n-------------------------------------------------------------------*/\\r\\n\\r\\n/*!* main font for menu. *!*/\\r\\n\\r\\n/*@import url(http://fonts.googleapis.com/css?family=Raleway:100,300,400,500,700,900);*/\\r\\n\\r\\n/*!* font for headings, text, tags *!*/\\r\\n\\r\\n/*@import url(http://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700,800);*/\\r\\n\\r\\n/*--------------------\\r\\nColor customizations\\r\\nchange these colors to change overlays\\r\\n--------------------*/\\r\\n\\r\\n.mz-module:hover .ot-circle.color1 {\\r\\n color: #C54A4A;\\r\\n}\\r\\n\\r\\n.mz-module:hover .ot-circle.color2 {\\r\\n color: #6091DC;\\r\\n}\\r\\n\\r\\n.mz-module:hover .ot-circle.color3 {\\r\\n color: #6EB377;\\r\\n}\\r\\n\\r\\n.mz-module:hover .ot-circle.color4 {\\r\\n color: #FCBE03;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n1. General\\r\\n--------------------*/\\r\\n\\r\\nbody {\\r\\n margin: 0px;\\r\\n font-family: \\\"Open Sans\\\", Sans-serif;\\r\\n}\\r\\n\\r\\nh1,\\r\\nh2,\\r\\nh3,\\r\\nh4,\\r\\nh5,\\r\\nh6 {\\r\\n font-weight: 300;\\r\\n letter-spacing: 0.4px;\\r\\n font-family: \\\"Raleway\\\", Sans-serif;\\r\\n color: #232323;\\r\\n}\\r\\n\\r\\np {\\r\\n font-family: 'Open Sans', sans-serif;\\r\\n font-size: 15px;\\r\\n font-weight: 300;\\r\\n line-height: 23px;\\r\\n letter-spacing: 0.2px;\\r\\n color: #444444;\\r\\n}\\r\\n\\r\\n.dark-bg p {\\r\\n color: #B1B1B1;\\r\\n}\\r\\n\\r\\na:hover, a:focus, a:active, a.active {\\r\\n color: #fec503;\\r\\n}\\r\\n\\r\\na, a:hover, a:focus, a:active, a.active {\\r\\n outline: 0;\\r\\n}\\r\\n\\r\\n.container-fluid {\\r\\n padding-right: 0;\\r\\n padding-left: 0;\\r\\n}\\r\\n\\r\\n::-moz-selection {\\r\\n text-shadow: none;\\r\\n background: #fed136;\\r\\n}\\r\\n\\r\\n::selection {\\r\\n text-shadow: none;\\r\\n background: #fed136;\\r\\n}\\r\\n\\r\\n@media (min-width: 768px) {\\r\\n section {\\r\\n padding: 150px 0;\\r\\n }\\r\\n}\\r\\n\\r\\nsection {\\r\\n padding: 5px 0;\\r\\n}\\r\\n\\r\\nul {\\r\\n padding-left: 0;\\r\\n padding-top: 10px;\\r\\n}\\r\\n\\r\\nul li {\\r\\n list-style: none;\\r\\n padding-bottom: 10px;\\r\\n font-family: 'Open Sans', sans-serif;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n line-height: 23px;\\r\\n letter-spacing: 0.2px;\\r\\n color: #000000;\\r\\n}\\r\\n\\r\\nsection ul li:before {\\r\\n font-family: FontAwesome;\\r\\n font-weight: normal;\\r\\n font-style: normal;\\r\\n display: inline-block;\\r\\n text-decoration: inherit;\\r\\n content: \\\"\\\\f105\\\";\\r\\n padding-right: 7px;\\r\\n color: #23AD21;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n1.1 Reset bootstrap\\r\\n--------------------*/\\r\\n\\r\\n.row-0-gutter {\\r\\n margin-left: -13px;\\r\\n margin-right: -13px;\\r\\n}\\r\\n\\r\\n.col-0-gutter {\\r\\n padding-left: 0;\\r\\n padding-right: 0;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n2. Navigation\\r\\n--------------------*/\\r\\n\\r\\n.navbar-default {\\r\\n background-color: #fff;\\r\\n border-color: transparent\\r\\n}\\r\\n\\r\\n.navbar-default .navbar-brand {\\r\\n color: #fff;\\r\\n font-family: \\\"Open Sans\\\",sans-serif;\\r\\n padding: 0px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:active,.navbar-default .navbar-brand.active {\\r\\n color: #fec503\\r\\n}\\r\\n\\r\\n.navbar-default .navbar-collapse {\\r\\n border-color: rgba(255,255,255,.02)\\r\\n}\\r\\n\\r\\n.navbar-default .navbar-toggle {\\r\\n background-color: #fed136;\\r\\n border-color: #fed136\\r\\n}\\r\\n\\r\\n.navbar-default .navbar-toggle .icon-bar {\\r\\n background-color: #fff\\r\\n}\\r\\n\\r\\n.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus {\\r\\n background-color: #fed136\\r\\n}\\r\\n\\r\\n.navbar-default .nav li a {\\r\\n font-family: \\\"Open Sans\\\",sans-serif;\\r\\n text-transform: uppercase;\\r\\n font-size: 12px;\\r\\n font-weight: 600;\\r\\n letter-spacing: 1px;\\r\\n color: #444448;\\r\\n}\\r\\n\\r\\n.navbar-default .nav li a:hover,.navbar-default .nav li a:focus {\\r\\n color: #fed136;\\r\\n outline: 0\\r\\n}\\r\\n\\r\\n.navbar-default .navbar-nav>.active>a {\\r\\n border-radius: 0;\\r\\n color: #fff;\\r\\n background-color: #fed136\\r\\n}\\r\\n\\r\\n.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus {\\r\\n color: #fff;\\r\\n background-color: #fec503\\r\\n}\\r\\n\\r\\n@media (min-width:768px) {\\r\\n .navbar-default\\r\\n {\\r\\n background-color: rgba(255, 255, 255, 0.65);\\r\\n padding: 5px 0;\\r\\n transition:padding .3s;\\r\\n border:0\\r\\n }\\r\\n .navbar-default .navbar-brand {\\r\\n font-size: 2em;\\r\\n transition:all .3s;\\r\\n margin-top: 10px;\\r\\n margin-left: 10px;\\r\\n }\\r\\n .navbar-default .navbar-nav>.active>a {\\r\\n border-radius: 3px\\r\\n }\\r\\n .navbar-default.navbar-shrink {\\r\\n background-color: #FFFFFF;\\r\\n border-bottom: 1px solid #828282;\\r\\n padding: 5px 0;\\r\\n }\\r\\n .navbar-default.navbar-shrink .navbar-brand {\\r\\n font-size: 1.5em;\\r\\n margin-top: 10px;\\r\\n }\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n3. Header\\r\\n--------------------*/\\r\\n\\r\\nheader {\\r\\n margin-top: 137px;\\r\\n}\\r\\n\\r\\n.owl-slider-item {\\r\\n position: relative;\\r\\n background-color: #000;\\r\\n}\\r\\n\\r\\n.owl-slider-item img {\\r\\n opacity: 0.7;\\r\\n}\\r\\n\\r\\n.owl-slider .owl-controls {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 38%;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.owl-slider .owl-controls .owl-nav [class*=owl-] {\\r\\n padding: 30px 40px;\\r\\n background: rgba(0, 0, 0, 0.26);\\r\\n border-radius: 0;\\r\\n margin: 0;\\r\\n font-size: 30px;\\r\\n z-index: 1000;\\r\\n}\\r\\n\\r\\n.owl-slider .owl-controls .owl-nav [class*=owl-]:hover {\\r\\n background: #000;\\r\\n color: #fff;\\r\\n text-decoration: none;\\r\\n}\\r\\n\\r\\n.owl-slider .owl-controls .owl-prev {\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.owl-slider .owl-controls .owl-next {\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.intro-text {\\r\\n padding-top: 100px;\\r\\n padding-bottom: 50px;\\r\\n position: absolute;\\r\\n top: 50px;\\r\\n text-align: center;\\r\\n -webkit-transform: translateX(-50%);\\r\\n transform: translateX(-50%);\\r\\n left: 50%;\\r\\n}\\r\\n\\r\\n@media (min-width: 768px) {\\r\\n .intro-text {\\r\\n padding-top: 230px;\\r\\n padding-bottom: 400px;\\r\\n }\\r\\n}\\r\\n\\r\\n.intro-text .intro-lead-in {\\r\\n display: inline-block;\\r\\n margin-bottom: 25px;\\r\\n padding: 4px 20px;\\r\\n font-family: \\\"Open Sans\\\",sans-serif;\\r\\n font-size: 19px;\\r\\n color: #fff;\\r\\n font-weight: 100;\\r\\n line-height: 40px;\\r\\n}\\r\\n\\r\\n@media (min-width: 768px) {\\r\\n .intro-text .intro-lead-in {\\r\\n font-size: 50px;\\r\\n line-height: 40px;\\r\\n margin-bottom: 45px;\\r\\n }\\r\\n}\\r\\n\\r\\n.intro-text .intro-heading {\\r\\n font-weight: 900;\\r\\n font-size: 40px;\\r\\n line-height: 48px;\\r\\n margin-bottom: 25px;\\r\\n letter-spacing: -3px;\\r\\n word-spacing: 10px;\\r\\n color: #FFFFFF;\\r\\n text-shadow: 1px 1px 1px rgb(0, 0, 0);\\r\\n}\\r\\n\\r\\n@media (min-width: 768px) {\\r\\n .intro-text .intro-heading {\\r\\n line-height: 95px;\\r\\n font-size: 77px;\\r\\n margin-bottom: 50px;\\r\\n }\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n4. Sections\\r\\n--------------------*/\\r\\n\\r\\n.section-title h2 {\\r\\n font-size: 50px;\\r\\n color: #333333;\\r\\n font-weight: 900;\\r\\n letter-spacing: -0.6px;\\r\\n position: relative;\\r\\n margin: 0 0 50px 0;\\r\\n padding-bottom: 15px;\\r\\n}\\r\\n\\r\\n.section-title h2:after {\\r\\n left: 50%;\\r\\n z-index: 1;\\r\\n width: 60px;\\r\\n height: 3px;\\r\\n content: \\\" \\\";\\r\\n bottom: -5px;\\r\\n margin-left: -30px;\\r\\n text-align: center;\\r\\n position: absolute;\\r\\n background: #eeea46;\\r\\n}\\r\\n\\r\\n.dark-bg .section-title h2 {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.section-title p {\\r\\n font-size: 18px;\\r\\n font-weight: 400;\\r\\n line-height: 31px;\\r\\n margin: 15px 100px 25px 100px;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n4.1. CTA sectoin\\r\\n--------------------*/\\r\\n\\r\\n.section-cta {\\r\\n padding: 8px 0;\\r\\n color: #fff;\\r\\n background-color:#288941;\\r\\n}\\r\\n\\r\\n.section-cta h2 {\\r\\n color: #fff;\\r\\n font-size: 23px;\\r\\n font-weight: 400;\\r\\n margin: 5px 0 12px;\\r\\n text-shadow: 2px 2px 3px #000;\\r\\n}\\r\\n\\r\\n.button-cta {\\r\\n border: 2px solid #fff;\\r\\n padding: 10px 50px;\\r\\n font-size: 16px;\\r\\n letter-spacing: 1.5px;\\r\\n text-transform: uppercase;\\r\\n font-weight: 800;\\r\\n color: #fff;\\r\\n display: inline-block; /* Safari and Chrome */ /* Firefox */ /* IE 9 */ /* Opera */\\r\\n transition: all .5s ease;\\r\\n\\r\\n}\\r\\n\\r\\n.button-cta:hover {\\r\\n color: #000;\\r\\n background-color: #fff;\\r\\n text-decoration: none;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n4.1. About\\r\\n--------------------*/\\r\\n\\r\\n.mz-module {\\r\\n position: relative;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.mz-module-about {\\r\\n border: 1px solid #E6E6EA;\\r\\n min-height: 280px;\\r\\n padding: 20px;\\r\\n background-color: #EFEFF1;\\r\\n}\\r\\n\\r\\n.mz-module-about h3 {\\r\\n font-weight: 500;\\r\\n font-size: 19px;\\r\\n /* text-transform: uppercase; */\\r\\n color: #424242;\\r\\n /* letter-spacing: 2px; */\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.dark-bg .mz-module-about h3 {\\r\\n color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.mz-module-about p {\\r\\n font-size: 15px;\\r\\n font-weight: 300;\\r\\n line-height: 22px;\\r\\n color: #848484;\\r\\n}\\r\\n\\r\\n.mz-module-button {\\r\\n background-color: #B6B6C3;\\r\\n padding: 15px;\\r\\n text-transform: uppercase;\\r\\n font-weight: 700;\\r\\n font-size: 12px;\\r\\n display: block;\\r\\n position: absolute;\\r\\n bottom: 0px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n opacity: 0;\\r\\n color: #fff;\\r\\n transition:all .3s;\\r\\n}\\r\\n\\r\\n.mz-module:hover .mz-module-button {\\r\\n bottom: -45px;\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n.mz-module-button:hover {\\r\\n background-color: #1a1a1a;\\r\\n color: #fff;\\r\\n text-decoration: none;\\r\\n}\\r\\n\\r\\n.mz-module-button {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.ot-circle {\\r\\n height: 95px;\\r\\n width: 95px;\\r\\n text-align: center;\\r\\n line-height: 98px;\\r\\n color: #FFFFFF;\\r\\n margin: 0 2px 4px;\\r\\n font-size: 75px;\\r\\n transition:all .3s;\\r\\n\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n4.2. Featured\\r\\n--------------------*/\\r\\n\\r\\n.featured-item {\\r\\n margin-bottom: 30px;\\r\\n height: 50px;\\r\\n}\\r\\n\\r\\n.featured-icon {\\r\\n float: left;\\r\\n font-size: 22px;\\r\\n border-radius: 5px;\\r\\n width: 55px;\\r\\n height: 55px;\\r\\n background-color: #F8F8F8;\\r\\n line-height: 50px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.featured-text {\\r\\n text-align: left;\\r\\n margin-left: 85px;\\r\\n}\\r\\n\\r\\n.featured-text h4 {\\r\\n color: #47474C;\\r\\n font-size: 17px;\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n.featured-text p {\\r\\n color: #747377;\\r\\n margin-top: 7px;\\r\\n font-size: 13px;\\r\\n line-height: 21px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n4.2. Skills\\r\\n--------------------*/\\r\\n\\r\\n.section-text h3 {\\r\\n margin: 0 0 30px;\\r\\n font-weight: 800;\\r\\n color: #5D5D5D;\\r\\n}\\r\\n\\r\\n.section-text h4 {\\r\\n margin: 0 0 20px;\\r\\n font-weight: 700;\\r\\n font-size: 17px;\\r\\n}\\r\\n\\r\\n.dark-bg .section-text h3 {\\r\\n color: #dfdfdf;\\r\\n}\\r\\n\\r\\n.dark-bg .section-text h4 {\\r\\n color: #dfdfdf;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n4.3. Portfolio\\r\\n--------------------*/\\r\\n\\r\\nfigure {\\r\\n position: relative;\\r\\n overflow: hidden;\\r\\n margin: 0 1px 1px 0;\\r\\n background: #726FB9;\\r\\n text-align: center;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\nfigcaption {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.ot-portfolio-item figure figcaption > a {\\r\\n z-index: 1000;\\r\\n text-indent: 200%;\\r\\n white-space: nowrap;\\r\\n font-size: 0;\\r\\n opacity: 0;\\r\\n}\\r\\n\\r\\n.ot-portfolio-item figure figcaption, .ot-portfolio-item figure figcaption > a {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\nfigure.effect-bubba {\\r\\n background: #000;\\r\\n margin-bottom: 1px;\\r\\n}\\r\\n\\r\\nfigure.effect-bubba img {\\r\\n opacity: 0.90;\\r\\n transition: opacity 0.35s;\\r\\n}\\r\\n\\r\\nfigure.effect-bubba:hover img {\\r\\n opacity: 0.4;\\r\\n}\\r\\n\\r\\nfigure.effect-bubba figcaption::before,\\r\\nfigure.effect-bubba figcaption::after {\\r\\n position: absolute;\\r\\n top: 30px;\\r\\n right: 30px;\\r\\n bottom: 30px;\\r\\n left: 30px;\\r\\n content: '';\\r\\n opacity: 0;\\r\\n transition: opacity 0.35s, -webkit-transform 0.35s;\\r\\n transition: opacity 0.35s, transform 0.35s;\\r\\n transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;\\r\\n}\\r\\n\\r\\nfigure.effect-bubba figcaption::before {\\r\\n border-top: 1px solid #fff;\\r\\n border-bottom: 1px solid #fff;\\r\\n -webkit-transform: scale(0,1);\\r\\n transform: scale(0,1);\\r\\n}\\r\\n\\r\\nfigure.effect-bubba figcaption::after {\\r\\n border-right: 1px solid #fff;\\r\\n border-left: 1px solid #fff;\\r\\n -webkit-transform: scale(1,0);\\r\\n transform: scale(1,0);\\r\\n}\\r\\n\\r\\nfigure.effect-bubba h2 {\\r\\n opacity: 0;\\r\\n color: #fff;\\r\\n font-size: 15px;\\r\\n font-weight: 700;\\r\\n text-transform: uppercase;\\r\\n padding-top: 30%;\\r\\n transition: -webkit-transform 0.35s;\\r\\n transition: transform 0.35s;\\r\\n transition: transform 0.35s, -webkit-transform 0.35s;\\r\\n -webkit-transform: translate3d(0,-20px,0);\\r\\n transform: translate3d(0,-20px,0);\\r\\n}\\r\\n\\r\\nfigure.effect-bubba p {\\r\\n color: #fff;\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n padding: 20px 2.5em;\\r\\n opacity: 0;\\r\\n transition: opacity 0.35s, -webkit-transform 0.35s;\\r\\n transition: opacity 0.35s, transform 0.35s;\\r\\n transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;\\r\\n -webkit-transform: translate3d(0,20px,0);\\r\\n transform: translate3d(0,20px,0);\\r\\n}\\r\\n\\r\\nfigure.effect-bubba:hover figcaption::before,\\r\\nfigure.effect-bubba:hover figcaption::after {\\r\\n opacity: 1;\\r\\n -webkit-transform: scale(1);\\r\\n transform: scale(1);\\r\\n}\\r\\n\\r\\nfigure.effect-bubba:hover h2,\\r\\nfigure.effect-bubba:hover p {\\r\\n opacity: 1;\\r\\n -webkit-transform: translate3d(0,0,0);\\r\\n transform: translate3d(0,0,0);\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n4.4. Dark Short section (counters, quote, etc)\\r\\n--------------------*/\\r\\n\\r\\n.light-bg {\\r\\n background-color: #f8f8f8;\\r\\n}\\r\\n\\r\\n.dark-bg {\\r\\n background-color: #333231;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.short-section {\\r\\n border-top: 1px solid #5D5D5F;\\r\\n border-bottom: 1px solid #5D5D5F;\\r\\n padding-top: 70px;\\r\\n padding-bottom: 70px;\\r\\n}\\r\\n\\r\\n.counter-item h2 {\\r\\n color: #fff;\\r\\n font-size: 60px;\\r\\n font-weight: 900;\\r\\n}\\r\\n\\r\\n.counter-item h6 {\\r\\n color: #FFF;\\r\\n font-size: 16px;\\r\\n font-weight: 700;\\r\\n margin: 10px 0 0 0;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n4.5. Partners Slider\\r\\n--------------------*/\\r\\n\\r\\n.owl-portfolio .owl-controls {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 38%;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.owl-portfolio .owl-controls .owl-nav [class*=owl-] {\\r\\n padding: 8px 17px;\\r\\n background: rgba(0, 0, 0, 0.18);\\r\\n border-radius: 0;\\r\\n margin: 0;\\r\\n font-size: 20px;\\r\\n z-index:1000;\\r\\n}\\r\\n\\r\\n.owl-portfolio .owl-controls .owl-nav [class*=owl-]:hover {\\r\\n background: #000;\\r\\n color: #fff;\\r\\n text-decoration: none;\\r\\n}\\r\\n\\r\\n.owl-portfolio .owl-controls .owl-prev {\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.owl-portfolio .owl-controls .owl-next {\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.owl-portfolio-item {\\r\\n text-align: center;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.partner-logo {\\r\\n height: 80px;\\r\\n text-align: center;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.partner-logo img {\\r\\n height: 100%;\\r\\n width: auto !important;\\r\\n}\\r\\n\\r\\n.owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {\\r\\n background: #FCBE03;\\r\\n}\\r\\n\\r\\n.owl-theme .owl-dots .owl-dot span {\\r\\n width: 30px;\\r\\n height: 5px;\\r\\n margin: 15px 7px 0 7px;\\r\\n background: #d6d6d6;\\r\\n display: block;\\r\\n /* -webkit-backface-visibility: visible;*/\\r\\n transition: opacity 200ms ease;\\r\\n border-radius: 0;\\r\\n}\\r\\n\\r\\n.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {\\r\\n background: #FCBE03;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n4.6. Team\\r\\n--------------------*/\\r\\n\\r\\n.team-item {\\r\\n text-align: center;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.team-item h3 {\\r\\n font-size: 16px;\\r\\n font-weight: 800;\\r\\n text-transform: uppercase;\\r\\n color: #2D2D2D;\\r\\n}\\r\\n\\r\\n.team-item .team-position {\\r\\n color: #989898;\\r\\n font-size: 12px;\\r\\n margin: 15px 0 10px;\\r\\n text-transform: uppercase;\\r\\n font-weight: 500;\\r\\n letter-spacing: 2px;\\r\\n}\\r\\n\\r\\n.team-item p {\\r\\n font-size: 13px;\\r\\n font-weight: 400;\\r\\n color: #292929;\\r\\n padding: 5px 10px 20px 10px;\\r\\n}\\r\\n\\r\\n.team-socials {\\r\\n padding-bottom: 25px;\\r\\n}\\r\\n\\r\\n.team-socials a {\\r\\n color: #B2B3B7;\\r\\n font-size: 20px;\\r\\n margin: 0 10px;\\r\\n}\\r\\n\\r\\n.team-socials a:hover {\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n4.7. Contacts\\r\\n--------------------*/\\r\\n\\r\\nsection#contact form {\\r\\n margin-top: 15px;\\r\\n}\\r\\n\\r\\nsection#contact.form-group {\\r\\n margin-bottom: 25px;\\r\\n}\\r\\n\\r\\nsection#contact .form-group input, section#contact .form-group textarea {\\r\\n padding: 15px;\\r\\n border: 1px solid #fff;\\r\\n border-radius: 0;\\r\\n box-shadow: inset 0 0px 0px rgba(0,0,0,.075);\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n.contact h3 {\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.contact p {\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n.contact .day {\\r\\n display: inline-block;\\r\\n width: 80px;\\r\\n}\\r\\n\\r\\n.contact i {\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n5. Footer\\r\\n--------------------*/\\r\\n\\r\\nfooter {\\r\\n padding: 30px;\\r\\n background-color: #288941;\\r\\n}\\r\\n\\r\\nfooter p {\\r\\n color: #fff;\\r\\n margin: 0;\\r\\n font-size: 14px;\\r\\n text-transform: uppercase;\\r\\n font-weight: bold;\\r\\n letter-spacing: 1.6px;\\r\\n}\\r\\n\\r\\nfooter p a {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\nfooter p a span {\\r\\n color: #FCBE03;\\r\\n font-size: 10px;\\r\\n letter-spacing: 1px;\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n6. Modal\\r\\n--------------------*/\\r\\n\\r\\n.modal-content {\\r\\n border-radius: 0;\\r\\n}\\r\\n\\r\\n.modal-header .close {\\r\\n font-size: 30px;\\r\\n}\\r\\n\\r\\n.modal-title {\\r\\n text-transform: uppercase;\\r\\n font-size: 23px;\\r\\n}\\r\\n\\r\\n.modal-body {\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.modal-body p {\\r\\n margin: 30px 20px;\\r\\n color: #2D2D2D;\\r\\n}\\r\\n\\r\\n.modal-works {\\r\\n font-size: 11px;\\r\\n letter-spacing: 1px;\\r\\n text-transform: uppercase;\\r\\n font-weight: 500;\\r\\n color: #fff;\\r\\n margin: 25px 20px;\\r\\n}\\r\\n\\r\\n.modal-works span {\\r\\n background-color: #FED136;\\r\\n margin-right: 15px;\\r\\n padding: 5px 10px;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n7. Components\\r\\n--------------------*/\\r\\n\\r\\n.btn-xl:hover, .btn-xl:focus, .btn-xl:active, .btn-xl.active, .open .dropdown-toggle.btn-xl {\\r\\n color: #fff;\\r\\n background-color: #dfdfdf;\\r\\n border-color: #dfdfdf;\\r\\n}\\r\\n\\r\\n.btn:hover, .btn:focus, .btn:active, .btn.active, .open .dropdown-toggle.btn {\\r\\n color: #000;\\r\\n background-color: #efeb46;\\r\\n border-color: #dfdfdf;\\r\\n}\\r\\n\\r\\n.btn {\\r\\n display: inline-block;\\r\\n padding: 8px 20px;\\r\\n margin-bottom: 0;\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n line-height: 1.42857143;\\r\\n text-align: center;\\r\\n white-space: nowrap;\\r\\n vertical-align: middle;\\r\\n touch-action: manipulation;\\r\\n cursor: pointer;\\r\\n -webkit-user-select: none;\\r\\n -moz-user-select: none;\\r\\n -ms-user-select: none;\\r\\n user-select: none;\\r\\n background-image: none;\\r\\n border: 1px solid transparent;\\r\\n border-radius: 0px;\\r\\n background-color: #fb0401;\\r\\n}\\r\\n\\r\\n.btn-xl {\\r\\n color: #fff;\\r\\n background-color: #FCBE03;\\r\\n /* border-color: #726FB9; */\\r\\n font-family: \\\"Open Sans\\\",sans-serif;\\r\\n text-transform: uppercase;\\r\\n font-weight: 800;\\r\\n border-radius: 0;\\r\\n letter-spacing: 2px;\\r\\n font-size: 16px;\\r\\n padding: 17px 45px;\\r\\n}\\r\\n\\r\\n/* Back to top button\\r\\n---------------------------------- */\\r\\n\\r\\n#back-top {\\r\\n position: fixed;\\r\\n z-index: 1000;\\r\\n bottom: 40px;\\r\\n right: 50px;\\r\\n}\\r\\n\\r\\n#back-top a {\\r\\n width: 60px;\\r\\n height: 60px;\\r\\n display: block;\\r\\n text-align: center;\\r\\n font: 11px/100% Arial, Helvetica, sans-serif;\\r\\n text-transform: uppercase;\\r\\n text-decoration: none;\\r\\n color: #FFFFFF;\\r\\n background: #fb0401;\\r\\n /* background color transition */\\r\\n transition: 1s;\\r\\n}\\r\\n\\r\\n#back-top a:hover {\\r\\n background: #efeb46;\\r\\n}\\r\\n\\r\\n/* arrow icon (span tag) */\\r\\n\\r\\n#back-top i {\\r\\n margin-top: 15px;\\r\\n font-size: 28px;\\r\\n}\\r\\n\\r\\n@media only screen\\r\\nand (min-width : 320px)\\r\\nand (max-width : 480px) {\\r\\n #back-top {\\r\\n position: fixed;\\r\\n bottom: 10px;\\r\\n right: 30px;\\r\\n }\\r\\n #back-top a {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n }\\r\\n #back-top i {\\r\\n margin-top: 7px;\\r\\n font-size: 20px;\\r\\n }\\r\\n}\\r\\n\\r\\n.navbar {\\r\\n min-height: 100px;\\r\\n}\\r\\n\\r\\n.nav.navbar-nav.navbar-right{\\r\\n padding-top: 28px;\\r\\n}\\r\\n\\r\\n.connect_warning {color: yellow; margin-top: 10px;}\\r\\n\\r\\n#about p {font-size: 16px;}\\r\\n\\r\\na.link_rep{color: orange!important; font-size: 16px;}\\r\\n\\r\\n.presentation_area { margin: 0px!important; padding: 0px!important; padding-top: 20px; margin-top: 20px; }\\r\\n\\r\\n.section-title {margin-top: 15px; }\\r\\n\\r\\n.graphs_area {margin-bottom: 20px;}\\r\\n\\r\\n.button {\\r\\n background-color: #f4511e;\\r\\n border: none;\\r\\n color: #FFFFFF;\\r\\n text-align: center;\\r\\n font-size: 15px;\\r\\n padding: 4px;\\r\\n transition: all 0.5s;\\r\\n cursor: pointer;\\r\\n margin: 3px;\\r\\n}\\r\\n\\r\\n.button span {\\r\\n cursor: pointer;\\r\\n display: inline-block;\\r\\n position: relative;\\r\\n transition: 0.5s;\\r\\n}\\r\\n\\r\\n.button span:after {\\r\\n content: '\\\\00bb';\\r\\n position: absolute;\\r\\n opacity: 0;\\r\\n top: 0;\\r\\n right: -20px;\\r\\n transition: 0.5s;\\r\\n}\\r\\n\\r\\n.button:hover span {\\r\\n padding-right: 25px;\\r\\n}\\r\\n\\r\\n.button:hover span:after {\\r\\n opacity: 1;\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n#wrapper .text {\\r\\n bottom:30px;\\r\\n left:0px;\\r\\n overflow: hidden;\\r\\n visibility:hidden;\\r\\n}\\r\\n\\r\\n#wrapper:hover .text {\\r\\n visibility:visible;\\r\\n}\\r\\n\\r\\n.StatOver{\\r\\n display : block;\\r\\n width: 100% ;\\r\\n background-color: #288941 !important;\\r\\n}\\r\\n\\r\\n.bloc02 {\\r\\n -webkit-perspective: 800px;\\r\\n -o-perspective: 800px;\\r\\n perspective: 800px;\\r\\n margin-bottom: 30px;\\r\\n background : #EFEFF1;\\r\\n}\\r\\n\\r\\n.card-container, .front, .back {\\r\\n width: 100%;\\r\\n min-height: 700px;\\r\\n border-radius: 4px;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.card {\\r\\n /*-webkit-transition: -webkit-transform .5s;*/\\r\\n /*-moz-transition: -moz-transform .5s;*/\\r\\n /*-o-transition: -o-transform .5s;*/\\r\\n /*transition: transform .5s;*/\\r\\n /*-webkit-transform-style: preserve-3d;*/\\r\\n /*-moz-transform-style: preserve-3d;*/\\r\\n /*-o-transform-style: preserve-3d;*/\\r\\n /*transform-style: preserve-3d;*/\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.card {\\r\\n /* background: none repeat scroll 0 0 #FFFFFF; */\\r\\n border-radius: 4px;\\r\\n color: #444444;\\r\\n}\\r\\n\\r\\n.front {\\r\\n background-color: transparent !important;\\r\\n box-shadow: none !important;\\r\\n z-index: 2;\\r\\n text-align: center;\\r\\n color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.front, .back {\\r\\n -webkit-backface-visibility: hidden;\\r\\n backface-visibility: hidden;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n}\\r\\n\\r\\n.card-container, .front, .back {\\r\\n width: 100%;\\r\\n min-height: 150px;\\r\\n border-radius: 4px;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n/*.back {\\r\\n /*background-color: #FFF;*/\\r\\n\\r\\n/*-webkit-box-shadow: 0px 0px 19px 0px rgba(0,0,0,0.16);*/\\r\\n\\r\\n/*-moz-box-shadow: 0px 0px 19px 0px rgba(0,0,0,0.16);*/\\r\\n\\r\\n/*box-shadow: 0px 0px 19px 0px rgba(0,0,0,0.16);*/\\r\\n\\r\\n/*-webkit-transform: rotateY( 180deg );*/\\r\\n\\r\\n/*-moz-transform: rotateY( 180deg );*/\\r\\n\\r\\n/*-o-transform: rotateY( 180deg );*/\\r\\n\\r\\n/*transform: rotateY( 180deg );*/\\r\\n\\r\\n/*z-index: 3;*/\\r\\n\\r\\n/* box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.14); \\r\\n}*/\\r\\n\\r\\n.bloc02 .front, .bloc02 .back {\\r\\n -webkit-backface-visibility: hidden;\\r\\n backface-visibility: hidden;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n}\\r\\n\\r\\n.card .content .card-container {\\r\\n background-color: rgba(0, 0, 0, 0);\\r\\n box-shadow: none;\\r\\n padding: 10px 20px 20px;\\r\\n}\\r\\n\\r\\n.bloc02 .back p {\\r\\n margin: 1em 0 1em 0;\\r\\n font-size: medium;\\r\\n line-height: normal;\\r\\n}\\r\\n\\r\\n/*.bloc02 .card-container:not(.manual-flip):hover .card, .bloc02 .card-container.hover.manual-flip .card {\\r\\n /*-webkit-transform: rotateY( 180deg );*/\\r\\n\\r\\n/*-moz-transform: rotateY( 180deg );*/\\r\\n\\r\\n/*-o-transform: rotateY( 180deg );*/\\r\\n\\r\\n/*transform: rotateY( 180deg );}*/\\r\\n\\r\\n.front .fa{\\r\\n color: #ff0000;\\r\\n padding-top: 12px;\\r\\n}\\r\\n\\r\\n.connect_warning {color: yellow; margin-top: 10px;}\\r\\n\\r\\n#about p {font-size: 14px;}\\r\\n\\r\\na.link_rep{color: orange!important; font-size: 16px;}\\r\\n\\r\\n.presentation_area { margin: 0px!important; padding: 0px!important; padding-top: 20px; margin-top: 20px; }\\r\\n\\r\\n.section-title {margin-top: 40px; }\\r\\n\\r\\n.graphs_area {margin-bottom: 20px;}\\r\\n\\r\\n/*map sign area*/\\r\\n\\r\\n.flag-container { width: 100%; height: 8px; margin-bottom: Opx;}\\r\\n\\r\\n.flag { padding: 0; height: 100%; width: 100%; margin-left: auto; margin-right: auto; list-style-type: none; }\\r\\n\\r\\n.flag>li:first-child {\\r\\n background: RGB(16,135,87);\\r\\n}\\r\\n\\r\\n.flag>li {\\r\\n height: 100%;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n width: 33.33%;\\r\\n display: inline-block;\\r\\n box-sizing: border-box;\\r\\n vertical-align: middle;\\r\\n /*float: left;*/\\r\\n}\\r\\n\\r\\n.flag>li:first-child+li {\\r\\n background: RGB(255,190,0);\\r\\n width: 33.34%;\\r\\n}\\r\\n\\r\\n.flag li:first-child+li+li {\\r\\n background: RGB(235,0,0);\\r\\n}\\r\\n\\r\\n.intro_paragraph { text-align: justify; text-indent: 50px; }\\r\\n\\r\\n.btn_glossaire { background-color: #288941;\\r\\n}\\r\\n\\r\\n.nom_glossaire{\\r\\n color: #288941;\\r\\n}\\r\\n\\r\\n#btn_new_gls{\\r\\n background-color: white;\\r\\n color : #288941 ;\\r\\n}\\r\\n\\r\\n.modal_form{ background-color: green; color: white; }\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9tYWluL2hvbWUvcHVibGljL3B1YmxpY2Rhc2hib2FyZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7b0VBTW9FOztBQUVwRSw0QkFBNEI7O0FBQzVCLHVGQUF1Rjs7QUFDdkYsc0NBQXNDOztBQUN0Qyx5RkFBeUY7O0FBRXpGOzs7cUJBR3FCOztBQUVyQjtFQUNFLGNBQWM7QUFDaEI7O0FBQ0E7RUFDRSxjQUFjO0FBQ2hCOztBQUNBO0VBQ0UsY0FBYztBQUNoQjs7QUFDQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7O3FCQUVxQjs7QUFFckI7RUFDRSxXQUFXO0VBQ1gsb0NBQW9DO0FBQ3RDOztBQUVBOzs7Ozs7RUFNRSxnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLGtDQUFrQztFQUNsQyxjQUFjO0FBQ2hCOztBQUVBO0VBQ0Usb0NBQW9DO0VBQ3BDLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLHFCQUFxQjtFQUNyQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBQ0E7RUFDRSxVQUFVO0FBQ1o7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixtQkFBbUI7QUFDckI7O0FBSEE7RUFDRSxpQkFBaUI7RUFDakIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0U7SUFDRSxnQkFBZ0I7RUFDbEI7QUFDRjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixvQ0FBb0M7RUFDcEMsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIscUJBQXFCO0VBQ3JCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSx3QkFBd0I7RUFDeEIsbUJBQW1CO0VB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O0VBQ0UsWUFBWTtFQUNaLFNBQVM7RUFDVCxVQUFVO0VBQ1YsYUFBYTtFQUNiLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsc0JBQXNCO0VBQ3RCLGVBQWU7QUFDakI7O0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsYUFBYTtBQUNmOztBQUNBO0VBQ0Usd0JBQXdCO0FBQzFCOztBQUdBLG1CQUFtQixtQkFBbUIsRUFBRSxpQkFBaUIsR0FBRzs7QUFFNUQsaUJBQWlCLHlCQUF5QjtBQUMxQzs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsZ0JBQWdCO0FBQ2xCOztBQUVBLGFBQWEsdUJBQXVCLEVBQUUsWUFBWSxFQUFFIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9tYWluL2hvbWUvcHVibGljL3B1YmxpY2Rhc2hib2FyZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuUHJvamVjdDpcdE5hbnRlcyAtIG11bHRpIHB1cnBvc2Ugb25lLXBhZ2UgdGVtcGxhdGVcclxuVmVyc2lvbjpcdDEuMFxyXG5MYXN0IGNoYW5nZTpcdDE4LzAyLzIwMTYgWy4uLl1cclxuRGVzaWduZWQgYnk6XHRNT09aIFRoZW1lcyAvIHd3dy5NT09adGhlbWVzLmNvbVxyXG5QcmltYXJ5IHVzZTpcdE9uZSBwYWdlXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLyohKiBtYWluIGZvbnQgZm9yIG1lbnUuICohKi9cclxuLypAaW1wb3J0IHVybChodHRwOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1SYWxld2F5OjEwMCwzMDAsNDAwLDUwMCw3MDAsOTAwKTsqL1xyXG4vKiEqIGZvbnQgZm9yIGhlYWRpbmdzLCB0ZXh0LCB0YWdzICohKi9cclxuLypAaW1wb3J0IHVybChodHRwOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDQwMCw1MDAsNjAwLDcwMCw4MDApOyovXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkNvbG9yIGN1c3RvbWl6YXRpb25zXHJcbmNoYW5nZSB0aGVzZSBjb2xvcnMgdG8gY2hhbmdlIG92ZXJsYXlzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5tei1tb2R1bGU6aG92ZXIgLm90LWNpcmNsZS5jb2xvcjEge1xyXG4gIGNvbG9yOiAjQzU0QTRBO1xyXG59XHJcbi5tei1tb2R1bGU6aG92ZXIgLm90LWNpcmNsZS5jb2xvcjIge1xyXG4gIGNvbG9yOiAjNjA5MURDO1xyXG59XHJcbi5tei1tb2R1bGU6aG92ZXIgLm90LWNpcmNsZS5jb2xvcjMge1xyXG4gIGNvbG9yOiAjNkVCMzc3O1xyXG59XHJcbi5tei1tb2R1bGU6aG92ZXIgLm90LWNpcmNsZS5jb2xvcjQge1xyXG4gIGNvbG9yOiAjRkNCRTAzO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjEuIEdlbmVyYWxcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuYm9keSB7XHJcbiAgbWFyZ2luOiAwcHg7XHJcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYge1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xyXG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgU2Fucy1zZXJpZjtcclxuICBjb2xvcjogIzIzMjMyMztcclxufVxyXG5cclxucCB7XHJcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcclxuICBjb2xvcjogIzQ0NDQ0NDtcclxufVxyXG5cclxuLmRhcmstYmcgcCB7XHJcbiAgY29sb3I6ICNCMUIxQjE7XHJcbn1cclxuXHJcbmE6aG92ZXIsIGE6Zm9jdXMsIGE6YWN0aXZlLCBhLmFjdGl2ZSB7XHJcbiAgY29sb3I6ICNmZWM1MDM7XHJcbn1cclxuYSwgYTpob3ZlciwgYTpmb2N1cywgYTphY3RpdmUsIGEuYWN0aXZlIHtcclxuICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG4uY29udGFpbmVyLWZsdWlkIHtcclxuICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxufVxyXG5cclxuOjpzZWxlY3Rpb24ge1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIGJhY2tncm91bmQ6ICNmZWQxMzY7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIHNlY3Rpb24ge1xyXG4gICAgcGFkZGluZzogMTUwcHggMDtcclxuICB9XHJcbn1cclxuXHJcbnNlY3Rpb24ge1xyXG4gIHBhZGRpbmc6IDVweCAwO1xyXG59XHJcblxyXG51bCB7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG59XHJcblxyXG51bCBsaSB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDIzcHg7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xyXG4gIGNvbG9yOiAjMDAwMDAwO1xyXG59XHJcblxyXG5zZWN0aW9uIHVsIGxpOmJlZm9yZSB7XHJcbiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XHJcbiAgY29udGVudDogXCJcXGYxMDVcIjtcclxuICBwYWRkaW5nLXJpZ2h0OiA3cHg7XHJcbiAgY29sb3I6ICMyM0FEMjE7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuMS4xIFJlc2V0IGJvb3RzdHJhcFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4ucm93LTAtZ3V0dGVyIHtcclxuICBtYXJnaW4tbGVmdDogLTEzcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtMTNweDtcclxufVxyXG5cclxuLmNvbC0wLWd1dHRlciB7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuMi4gTmF2aWdhdGlvblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4ubmF2YmFyLWRlZmF1bHQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudFxyXG59XHJcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kIHtcclxuICBjb2xvcjogI2ZmZjtcclxuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIixzYW5zLXNlcmlmO1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpob3ZlciwubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDphY3RpdmUsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmQuYWN0aXZlIHtcclxuICBjb2xvcjogI2ZlYzUwM1xyXG59XHJcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWNvbGxhcHNlIHtcclxuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjAyKVxyXG59XHJcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDEzNjtcclxuICBib3JkZXItY29sb3I6ICNmZWQxMzZcclxufVxyXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmXHJcbn1cclxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlOmhvdmVyLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDEzNlxyXG59XHJcbi5uYXZiYXItZGVmYXVsdCAubmF2IGxpIGEge1xyXG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLHNhbnMtc2VyaWY7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gIGNvbG9yOiAjNDQ0NDQ4O1xyXG59XHJcbi5uYXZiYXItZGVmYXVsdCAubmF2IGxpIGE6aG92ZXIsLm5hdmJhci1kZWZhdWx0IC5uYXYgbGkgYTpmb2N1cyB7XHJcbiAgY29sb3I6ICNmZWQxMzY7XHJcbiAgb3V0bGluZTogMFxyXG59XHJcblxyXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmFjdGl2ZT5hIHtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWQxMzZcclxufVxyXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmFjdGl2ZT5hOmhvdmVyLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uYWN0aXZlPmE6Zm9jdXMge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWM1MDNcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIHtcclxuICAubmF2YmFyLWRlZmF1bHRcclxuICB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpO1xyXG4gICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246cGFkZGluZyAuM3M7XHJcbiAgICAtbW96LXRyYW5zaXRpb246cGFkZGluZyAuM3M7XHJcbiAgICB0cmFuc2l0aW9uOnBhZGRpbmcgLjNzO1xyXG4gICAgYm9yZGVyOjBcclxuICB9XHJcbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmQge1xyXG4gICAgZm9udC1zaXplOiAyZW07XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcztcclxuICAgIC1tb3otdHJhbnNpdGlvbjphbGwgLjNzO1xyXG4gICAgdHJhbnNpdGlvbjphbGwgLjNzO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIH1cclxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmFjdGl2ZT5hIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweFxyXG4gIH1cclxuICAubmF2YmFyLWRlZmF1bHQubmF2YmFyLXNocmluayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4MjgyODI7XHJcbiAgICBwYWRkaW5nOiA1cHggMDtcclxuICB9XHJcbiAgLm5hdmJhci1kZWZhdWx0Lm5hdmJhci1zaHJpbmsgLm5hdmJhci1icmFuZCB7XHJcbiAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuMy4gSGVhZGVyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbmhlYWRlciB7XHJcbiAgbWFyZ2luLXRvcDogMTM3cHg7XHJcbn1cclxuXHJcbi5vd2wtc2xpZGVyLWl0ZW0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG59XHJcbi5vd2wtc2xpZGVyLWl0ZW0gaW1nIHtcclxuICBvcGFjaXR5OiAwLjc7XHJcbn1cclxuLm93bC1zbGlkZXIgLm93bC1jb250cm9scyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAzOCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5vd2wtc2xpZGVyIC5vd2wtY29udHJvbHMgLm93bC1uYXYgW2NsYXNzKj1vd2wtXSB7XHJcbiAgcGFkZGluZzogMzBweCA0MHB4O1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNik7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgZm9udC1zaXplOiAzMHB4O1xyXG4gIHotaW5kZXg6IDEwMDA7XHJcbn1cclxuXHJcbi5vd2wtc2xpZGVyIC5vd2wtY29udHJvbHMgLm93bC1uYXYgW2NsYXNzKj1vd2wtXTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogIzAwMDtcclxuICBjb2xvcjogI2ZmZjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5vd2wtc2xpZGVyIC5vd2wtY29udHJvbHMgLm93bC1wcmV2IHtcclxuICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLm93bC1zbGlkZXIgLm93bC1jb250cm9scyAub3dsLW5leHQge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLmludHJvLXRleHQge1xyXG4gIHBhZGRpbmctdG9wOiAxMDBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgbGVmdDogNTAlO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAuaW50cm8tdGV4dCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjMwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNDAwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4uaW50cm8tdGV4dCAuaW50cm8tbGVhZC1pbiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgcGFkZGluZzogNHB4IDIwcHg7XHJcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6IDE5cHg7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICBsaW5lLWhlaWdodDogNDBweDtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgLmludHJvLXRleHQgLmludHJvLWxlYWQtaW4ge1xyXG4gICAgZm9udC1zaXplOiA1MHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xyXG4gIH1cclxufVxyXG5cclxuLmludHJvLXRleHQgLmludHJvLWhlYWRpbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgZm9udC1zaXplOiA0MHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC0zcHg7XHJcbiAgd29yZC1zcGFjaW5nOiAxMHB4O1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2IoMCwgMCwgMCk7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIC5pbnRyby10ZXh0IC5pbnRyby1oZWFkaW5nIHtcclxuICAgIGxpbmUtaGVpZ2h0OiA5NXB4O1xyXG4gICAgZm9udC1zaXplOiA3N3B4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuNC4gU2VjdGlvbnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnNlY3Rpb24tdGl0bGUgaDIge1xyXG4gIGZvbnQtc2l6ZTogNTBweDtcclxuICBjb2xvcjogIzMzMzMzMztcclxuICBmb250LXdlaWdodDogOTAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAtMC42cHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMCAwIDUwcHggMDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLnNlY3Rpb24tdGl0bGUgaDI6YWZ0ZXIge1xyXG4gIGxlZnQ6IDUwJTtcclxuICB6LWluZGV4OiAxO1xyXG4gIHdpZHRoOiA2MHB4O1xyXG4gIGhlaWdodDogM3B4O1xyXG4gIGNvbnRlbnQ6IFwiIFwiO1xyXG4gIGJvdHRvbTogLTVweDtcclxuICBtYXJnaW4tbGVmdDogLTMwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBiYWNrZ3JvdW5kOiAjZWVlYTQ2O1xyXG59XHJcblxyXG4uZGFyay1iZyAuc2VjdGlvbi10aXRsZSBoMiB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcblxyXG4uc2VjdGlvbi10aXRsZSBwIHtcclxuICBmb250LXNpemU6IDE4cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBsaW5lLWhlaWdodDogMzFweDtcclxuICBtYXJnaW46IDE1cHggMTAwcHggMjVweCAxMDBweDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG40LjEuIENUQSBzZWN0b2luXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5zZWN0aW9uLWN0YSB7XHJcbiAgcGFkZGluZzogOHB4IDA7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjojMjg4OTQxO1xyXG59XHJcblxyXG4uc2VjdGlvbi1jdGEgaDIge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtc2l6ZTogMjNweDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIG1hcmdpbjogNXB4IDAgMTJweDtcclxuICB0ZXh0LXNoYWRvdzogMnB4IDJweCAzcHggIzAwMDtcclxufVxyXG5cclxuLmJ1dHRvbi1jdGEge1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XHJcbiAgcGFkZGluZzogMTBweCA1MHB4O1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXdlaWdodDogODAwO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7IC8qIFNhZmFyaSBhbmQgQ2hyb21lICovXHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7IC8qIEZpcmVmb3ggKi9cclxuICAtby10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7IC8qIElFIDkgKi9cclxuICAtbXMtdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlOyAvKiBPcGVyYSAqL1xyXG4gIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcclxuXHJcbn1cclxuLmJ1dHRvbi1jdGE6aG92ZXIge1xyXG4gIGNvbG9yOiAjMDAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjQuMS4gQWJvdXRcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLm16LW1vZHVsZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5tei1tb2R1bGUtYWJvdXQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNFNkU2RUE7XHJcbiAgbWluLWhlaWdodDogMjgwcHg7XHJcbiAgcGFkZGluZzogMjBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkYxO1xyXG59XHJcblxyXG4ubXotbW9kdWxlLWFib3V0IGgzIHtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGZvbnQtc2l6ZTogMTlweDtcclxuICAvKiB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyAqL1xyXG4gIGNvbG9yOiAjNDI0MjQyO1xyXG4gIC8qIGxldHRlci1zcGFjaW5nOiAycHg7ICovXHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLmRhcmstYmcgLm16LW1vZHVsZS1hYm91dCBoMyB7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuXHJcbi5tei1tb2R1bGUtYWJvdXQgcCB7XHJcbiAgZm9udC1zaXplOiAxNXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgbGluZS1oZWlnaHQ6IDIycHg7XHJcbiAgY29sb3I6ICM4NDg0ODQ7XHJcbn1cclxuLm16LW1vZHVsZS1idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNCNkI2QzM7XHJcbiAgcGFkZGluZzogMTVweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDBweDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3M7XHJcbiAgLW1vei10cmFuc2l0aW9uOmFsbCAuM3M7XHJcbiAgdHJhbnNpdGlvbjphbGwgLjNzO1xyXG59XHJcbi5tei1tb2R1bGU6aG92ZXIgLm16LW1vZHVsZS1idXR0b24ge1xyXG4gIGJvdHRvbTogLTQ1cHg7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG4ubXotbW9kdWxlLWJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTtcclxuICBjb2xvcjogI2ZmZjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5tei1tb2R1bGUtYnV0dG9uIHtcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLm90LWNpcmNsZSB7XHJcbiAgaGVpZ2h0OiA5NXB4O1xyXG4gIHdpZHRoOiA5NXB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBsaW5lLWhlaWdodDogOThweDtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICBtYXJnaW46IDAgMnB4IDRweDtcclxuICBmb250LXNpemU6IDc1cHg7XHJcblxyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzO1xyXG4gIC1tb3otdHJhbnNpdGlvbjphbGwgLjNzO1xyXG4gIHRyYW5zaXRpb246YWxsIC4zcztcclxuXHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuNC4yLiBGZWF0dXJlZFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uZmVhdHVyZWQtaXRlbSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICBoZWlnaHQ6IDUwcHg7XHJcbn1cclxuXHJcbi5mZWF0dXJlZC1pY29uIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBmb250LXNpemU6IDIycHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gIHdpZHRoOiA1NXB4O1xyXG4gIGhlaWdodDogNTVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xyXG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4uZmVhdHVyZWQtdGV4dCB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBtYXJnaW4tbGVmdDogODVweDtcclxufVxyXG4uZmVhdHVyZWQtdGV4dCBoNCB7XHJcbiAgY29sb3I6ICM0NzQ3NEM7XHJcbiAgZm9udC1zaXplOiAxN3B4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuLmZlYXR1cmVkLXRleHQgcCB7XHJcbiAgY29sb3I6ICM3NDczNzc7XHJcbiAgbWFyZ2luLXRvcDogN3B4O1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBsaW5lLWhlaWdodDogMjFweDtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjQuMi4gU2tpbGxzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5zZWN0aW9uLXRleHQgaDMge1xyXG4gIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICBjb2xvcjogIzVENUQ1RDtcclxufVxyXG5cclxuLnNlY3Rpb24tdGV4dCBoNCB7XHJcbiAgbWFyZ2luOiAwIDAgMjBweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGZvbnQtc2l6ZTogMTdweDtcclxufVxyXG5cclxuLmRhcmstYmcgLnNlY3Rpb24tdGV4dCBoMyB7XHJcbiAgY29sb3I6ICNkZmRmZGY7XHJcbn1cclxuXHJcbi5kYXJrLWJnIC5zZWN0aW9uLXRleHQgaDQge1xyXG4gIGNvbG9yOiAjZGZkZmRmO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjQuMy4gUG9ydGZvbGlvXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbmZpZ3VyZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgbWFyZ2luOiAwIDFweCAxcHggMDtcclxuICBiYWNrZ3JvdW5kOiAjNzI2RkI5O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmZpZ2NhcHRpb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5vdC1wb3J0Zm9saW8taXRlbSBmaWd1cmUgZmlnY2FwdGlvbiA+IGEge1xyXG4gIHotaW5kZXg6IDEwMDA7XHJcbiAgdGV4dC1pbmRlbnQ6IDIwMCU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBmb250LXNpemU6IDA7XHJcbiAgb3BhY2l0eTogMDtcclxufVxyXG4ub3QtcG9ydGZvbGlvLWl0ZW0gZmlndXJlIGZpZ2NhcHRpb24sIC5vdC1wb3J0Zm9saW8taXRlbSBmaWd1cmUgZmlnY2FwdGlvbiA+IGEge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbmZpZ3VyZS5lZmZlY3QtYnViYmEge1xyXG4gIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMXB4O1xyXG59XHJcblxyXG5maWd1cmUuZWZmZWN0LWJ1YmJhIGltZyB7XHJcbiAgb3BhY2l0eTogMC45MDtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXM7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cztcclxufVxyXG5cclxuZmlndXJlLmVmZmVjdC1idWJiYTpob3ZlciBpbWcge1xyXG4gIG9wYWNpdHk6IDAuNDtcclxufVxyXG5cclxuZmlndXJlLmVmZmVjdC1idWJiYSBmaWdjYXB0aW9uOjpiZWZvcmUsXHJcbmZpZ3VyZS5lZmZlY3QtYnViYmEgZmlnY2FwdGlvbjo6YWZ0ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDMwcHg7XHJcbiAgcmlnaHQ6IDMwcHg7XHJcbiAgYm90dG9tOiAzMHB4O1xyXG4gIGxlZnQ6IDMwcHg7XHJcbiAgY29udGVudDogJyc7XHJcbiAgb3BhY2l0eTogMDtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIHRyYW5zZm9ybSAwLjM1cztcclxufVxyXG5cclxuZmlndXJlLmVmZmVjdC1idWJiYSBmaWdjYXB0aW9uOjpiZWZvcmUge1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLDEpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMCwxKTtcclxufVxyXG5cclxuZmlndXJlLmVmZmVjdC1idWJiYSBmaWdjYXB0aW9uOjphZnRlciB7XHJcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjtcclxuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmY7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsMCk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLDApO1xyXG59XHJcblxyXG5maWd1cmUuZWZmZWN0LWJ1YmJhIGgyIHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgcGFkZGluZy10b3A6IDMwJTtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cztcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtMjBweCwwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTIwcHgsMCk7XHJcbn1cclxuXHJcbmZpZ3VyZS5lZmZlY3QtYnViYmEgcCB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgcGFkZGluZzogMjBweCAyLjVlbTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cywgLXdlYmtpdC10cmFuc2Zvcm0gMC4zNXM7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cywgdHJhbnNmb3JtIDAuMzVzO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDIwcHgsMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDIwcHgsMCk7XHJcbn1cclxuXHJcbmZpZ3VyZS5lZmZlY3QtYnViYmE6aG92ZXIgZmlnY2FwdGlvbjo6YmVmb3JlLFxyXG5maWd1cmUuZWZmZWN0LWJ1YmJhOmhvdmVyIGZpZ2NhcHRpb246OmFmdGVyIHtcclxuICBvcGFjaXR5OiAxO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG59XHJcblxyXG5maWd1cmUuZWZmZWN0LWJ1YmJhOmhvdmVyIGgyLFxyXG5maWd1cmUuZWZmZWN0LWJ1YmJhOmhvdmVyIHAge1xyXG4gIG9wYWNpdHk6IDE7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG40LjQuIERhcmsgU2hvcnQgc2VjdGlvbiAoY291bnRlcnMsIHF1b3RlLCBldGMpXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5saWdodC1iZyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcclxufVxyXG5cclxuLmRhcmstYmcge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzMyMzE7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5zaG9ydC1zZWN0aW9uIHtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgIzVENUQ1RjtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzVENUQ1RjtcclxuICBwYWRkaW5nLXRvcDogNzBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogNzBweDtcclxufVxyXG5cclxuLmNvdW50ZXItaXRlbSBoMiB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC1zaXplOiA2MHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbn1cclxuXHJcbi5jb3VudGVyLWl0ZW0gaDYge1xyXG4gIGNvbG9yOiAjRkZGO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIG1hcmdpbjogMTBweCAwIDAgMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjQuNS4gUGFydG5lcnMgU2xpZGVyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5vd2wtcG9ydGZvbGlvIC5vd2wtY29udHJvbHMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMzglO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ub3dsLXBvcnRmb2xpbyAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IFtjbGFzcyo9b3dsLV0ge1xyXG4gIHBhZGRpbmc6IDhweCAxN3B4O1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xOCk7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIHotaW5kZXg6MTAwMDtcclxufVxyXG5cclxuLm93bC1wb3J0Zm9saW8gLm93bC1jb250cm9scyAub3dsLW5hdiBbY2xhc3MqPW93bC1dOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLm93bC1wb3J0Zm9saW8gLm93bC1jb250cm9scyAub3dsLXByZXYge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4ub3dsLXBvcnRmb2xpbyAub3dsLWNvbnRyb2xzIC5vd2wtbmV4dCB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4ub3dsLXBvcnRmb2xpby1pdGVtIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4ucGFydG5lci1sb2dvIHtcclxuICBoZWlnaHQ6IDgwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLnBhcnRuZXItbG9nbyBpbWcge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4sIC5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90OmhvdmVyIHNwYW4ge1xyXG4gIGJhY2tncm91bmQ6ICNGQ0JFMDM7XHJcbn1cclxuXHJcbi5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90IHNwYW4ge1xyXG4gIHdpZHRoOiAzMHB4O1xyXG4gIGhlaWdodDogNXB4O1xyXG4gIG1hcmdpbjogMTVweCA3cHggMCA3cHg7XHJcbiAgYmFja2dyb3VuZDogI2Q2ZDZkNjtcclxuICBkaXNwbGF5OiBibG9jaztcclxuIC8qIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTsqL1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xyXG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xyXG4gIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2U7XHJcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZTtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbi5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSBzcGFuLCAub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciBzcGFuIHtcclxuICBiYWNrZ3JvdW5kOiAjRkNCRTAzO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjQuNi4gVGVhbVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udGVhbS1pdGVtIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnRlYW0taXRlbSBoMyB7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBjb2xvcjogIzJEMkQyRDtcclxufVxyXG5cclxuLnRlYW0taXRlbSAudGVhbS1wb3NpdGlvbiB7XHJcbiAgY29sb3I6ICM5ODk4OTg7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIG1hcmdpbjogMTVweCAwIDEwcHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbn1cclxuXHJcbi50ZWFtLWl0ZW0gcCB7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY29sb3I6ICMyOTI5Mjk7XHJcbiAgcGFkZGluZzogNXB4IDEwcHggMjBweCAxMHB4O1xyXG59XHJcblxyXG4udGVhbS1zb2NpYWxzIHtcclxuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLnRlYW0tc29jaWFscyBhIHtcclxuICBjb2xvcjogI0IyQjNCNztcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbWFyZ2luOiAwIDEwcHg7XHJcbn1cclxuXHJcbi50ZWFtLXNvY2lhbHMgYTpob3ZlciB7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuNC43LiBDb250YWN0c1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5zZWN0aW9uI2NvbnRhY3QgZm9ybSB7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxufVxyXG5zZWN0aW9uI2NvbnRhY3QuZm9ybS1ncm91cCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuc2VjdGlvbiNjb250YWN0IC5mb3JtLWdyb3VwIGlucHV0LCBzZWN0aW9uI2NvbnRhY3QgLmZvcm0tZ3JvdXAgdGV4dGFyZWEge1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSk7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwcHggMHB4IHJnYmEoMCwwLDAsLjA3NSk7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblxyXG4uY29udGFjdCBoMyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLmNvbnRhY3QgcCB7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblxyXG4uY29udGFjdCAuZGF5IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDgwcHg7XHJcbn1cclxuXHJcbi5jb250YWN0IGkge1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjUuIEZvb3RlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5mb290ZXIge1xyXG4gIHBhZGRpbmc6IDMwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4ODk0MTtcclxufVxyXG5cclxuZm9vdGVyIHAge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIG1hcmdpbjogMDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBsZXR0ZXItc3BhY2luZzogMS42cHg7XHJcbn1cclxuXHJcbmZvb3RlciBwIGEge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG5mb290ZXIgcCBhIHNwYW4ge1xyXG4gIGNvbG9yOiAjRkNCRTAzO1xyXG4gIGZvbnQtc2l6ZTogMTBweDtcclxuICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuNi4gTW9kYWxcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xyXG4gIGZvbnQtc2l6ZTogMzBweDtcclxufVxyXG4ubW9kYWwtdGl0bGUge1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgZm9udC1zaXplOiAyM3B4O1xyXG59XHJcblxyXG4ubW9kYWwtYm9keSB7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLm1vZGFsLWJvZHkgcCB7XHJcbiAgbWFyZ2luOiAzMHB4IDIwcHg7XHJcbiAgY29sb3I6ICMyRDJEMkQ7XHJcbn1cclxuXHJcbi5tb2RhbC13b3JrcyB7XHJcbiAgZm9udC1zaXplOiAxMXB4O1xyXG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIG1hcmdpbjogMjVweCAyMHB4O1xyXG59XHJcblxyXG4ubW9kYWwtd29ya3Mgc3BhbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDEzNjtcclxuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgcGFkZGluZzogNXB4IDEwcHg7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuNy4gQ29tcG9uZW50c1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uYnRuLXhsOmhvdmVyLCAuYnRuLXhsOmZvY3VzLCAuYnRuLXhsOmFjdGl2ZSwgLmJ0bi14bC5hY3RpdmUsIC5vcGVuIC5kcm9wZG93bi10b2dnbGUuYnRuLXhsIHtcclxuICBjb2xvcjogI2ZmZjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xyXG4gIGJvcmRlci1jb2xvcjogI2RmZGZkZjtcclxufVxyXG5cclxuLmJ0bjpob3ZlciwgLmJ0bjpmb2N1cywgLmJ0bjphY3RpdmUsIC5idG4uYWN0aXZlLCAub3BlbiAuZHJvcGRvd24tdG9nZ2xlLmJ0biB7XHJcbiAgY29sb3I6ICMwMDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWI0NjtcclxuICBib3JkZXItY29sb3I6ICNkZmRmZGY7XHJcbn1cclxuXHJcbi5idG4ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nOiA4cHggMjBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xyXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmYjA0MDE7XHJcbn1cclxuXHJcbi5idG4teGwge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGQ0JFMDM7XHJcbiAgLyogYm9yZGVyLWNvbG9yOiAjNzI2RkI5OyAqL1xyXG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLHNhbnMtc2VyaWY7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXdlaWdodDogODAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgcGFkZGluZzogMTdweCA0NXB4O1xyXG59XHJcblxyXG4vKiBCYWNrIHRvIHRvcCBidXR0b25cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4jYmFjay10b3Age1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB6LWluZGV4OiAxMDAwO1xyXG4gIGJvdHRvbTogNDBweDtcclxuICByaWdodDogNTBweDtcclxufVxyXG4jYmFjay10b3AgYSB7XHJcbiAgd2lkdGg6IDYwcHg7XHJcbiAgaGVpZ2h0OiA2MHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250OiAxMXB4LzEwMCUgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICBiYWNrZ3JvdW5kOiAjZmIwNDAxO1xyXG4gIC8qIGJhY2tncm91bmQgY29sb3IgdHJhbnNpdGlvbiAqL1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMXM7XHJcbiAgLW1vei10cmFuc2l0aW9uOiAxcztcclxuICB0cmFuc2l0aW9uOiAxcztcclxufVxyXG4jYmFjay10b3AgYTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogI2VmZWI0NjtcclxufVxyXG4vKiBhcnJvdyBpY29uIChzcGFuIHRhZykgKi9cclxuI2JhY2stdG9wIGkge1xyXG4gIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW5cclxuYW5kIChtaW4td2lkdGggOiAzMjBweClcclxuYW5kIChtYXgtd2lkdGggOiA0ODBweCkge1xyXG4gICNiYWNrLXRvcCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBib3R0b206IDEwcHg7XHJcbiAgICByaWdodDogMzBweDtcclxuICB9XHJcbiAgI2JhY2stdG9wIGEge1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgfVxyXG4gICNiYWNrLXRvcCBpIHtcclxuICAgIG1hcmdpbi10b3A6IDdweDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICB9XHJcbn1cclxuXHJcbi5uYXZiYXIge1xyXG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG59XHJcbi5uYXYubmF2YmFyLW5hdi5uYXZiYXItcmlnaHR7XHJcbiAgcGFkZGluZy10b3A6IDI4cHg7XHJcbn1cclxuXHJcblxyXG4uY29ubmVjdF93YXJuaW5nIHtjb2xvcjogeWVsbG93OyBtYXJnaW4tdG9wOiAxMHB4O31cclxuI2Fib3V0IHAge2ZvbnQtc2l6ZTogMTZweDt9XHJcblxyXG5cclxuYS5saW5rX3JlcHtjb2xvcjogb3JhbmdlIWltcG9ydGFudDsgZm9udC1zaXplOiAxNnB4O31cclxuXHJcblxyXG4ucHJlc2VudGF0aW9uX2FyZWEgeyBtYXJnaW46IDBweCFpbXBvcnRhbnQ7IHBhZGRpbmc6IDBweCFpbXBvcnRhbnQ7IHBhZGRpbmctdG9wOiAyMHB4OyBtYXJnaW4tdG9wOiAyMHB4OyAgfVxyXG4uc2VjdGlvbi10aXRsZSB7bWFyZ2luLXRvcDogMTVweDsgfSAuZ3JhcGhzX2FyZWEge21hcmdpbi1ib3R0b206IDIwcHg7fVxyXG4uYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ1MTFlO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAxNXB4O1xyXG4gIHBhZGRpbmc6IDRweDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgbWFyZ2luOiAzcHg7XHJcbn1cclxuXHJcbi5idXR0b24gc3BhbiB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdHJhbnNpdGlvbjogMC41cztcclxufVxyXG5cclxuLmJ1dHRvbiBzcGFuOmFmdGVyIHtcclxuICBjb250ZW50OiAnXFwwMGJiJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgb3BhY2l0eTogMDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IC0yMHB4O1xyXG4gIHRyYW5zaXRpb246IDAuNXM7XHJcbn1cclxuXHJcbi5idXR0b246aG92ZXIgc3BhbiB7XHJcbiAgcGFkZGluZy1yaWdodDogMjVweDtcclxufVxyXG5cclxuLmJ1dHRvbjpob3ZlciBzcGFuOmFmdGVyIHtcclxuICBvcGFjaXR5OiAxO1xyXG4gIHJpZ2h0OiAwO1xyXG59XHJcbiN3cmFwcGVyIC50ZXh0IHtcclxuICBib3R0b206MzBweDtcclxuICBsZWZ0OjBweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHZpc2liaWxpdHk6aGlkZGVuO1xyXG59XHJcblxyXG4jd3JhcHBlcjpob3ZlciAudGV4dCB7XHJcbiAgdmlzaWJpbGl0eTp2aXNpYmxlO1xyXG59XHJcblxyXG4uU3RhdE92ZXJ7XHJcbiAgZGlzcGxheSA6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlIDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjg4OTQxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ibG9jMDIgIHtcclxuICAtd2Via2l0LXBlcnNwZWN0aXZlOiA4MDBweDtcclxuICAtbW96LXBlcnNwZWN0aXZlOiA4MDBweDtcclxuICAtby1wZXJzcGVjdGl2ZTogODAwcHg7XHJcbiAgcGVyc3BlY3RpdmU6IDgwMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgYmFja2dyb3VuZCA6ICNFRkVGRjE7XHJcbn1cclxuXHJcbi5jYXJkLWNvbnRhaW5lciwgLmZyb250LCAuYmFjayB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWluLWhlaWdodDogNzAwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uY2FyZCB7XHJcbiAgLyotd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC41czsqL1xyXG4gIC8qLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAuNXM7Ki9cclxuICAvKi1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAuNXM7Ki9cclxuICAvKnRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXM7Ki9cclxuICAvKi13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsqL1xyXG4gIC8qLW1vei10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyovXHJcbiAgLyotby10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyovXHJcbiAgLyp0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyovXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uY2FyZCB7XHJcbiAgLyogYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCAjRkZGRkZGOyAqL1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBjb2xvcjogIzQ0NDQ0NDtcclxufVxyXG5cclxuLmZyb250IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICB6LWluZGV4OiAyO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjogI2ZmZjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5mcm9udCwgLmJhY2sge1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG59XHJcblxyXG4uY2FyZC1jb250YWluZXIsIC5mcm9udCwgLmJhY2sge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1pbi1oZWlnaHQ6IDE1MHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyouYmFjayB7XHJcbiAgLypiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyovXHJcbiAgLyotd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMTlweCAwcHggcmdiYSgwLDAsMCwwLjE2KTsqL1xyXG4gIC8qLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDE5cHggMHB4IHJnYmEoMCwwLDAsMC4xNik7Ki9cclxuICAvKmJveC1zaGFkb3c6IDBweCAwcHggMTlweCAwcHggcmdiYSgwLDAsMCwwLjE2KTsqL1xyXG4gIC8qLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoIDE4MGRlZyApOyovXHJcbiAgLyotbW96LXRyYW5zZm9ybTogcm90YXRlWSggMTgwZGVnICk7Ki9cclxuICAvKi1vLXRyYW5zZm9ybTogcm90YXRlWSggMTgwZGVnICk7Ki9cclxuICAvKnRyYW5zZm9ybTogcm90YXRlWSggMTgwZGVnICk7Ki9cclxuICAvKnotaW5kZXg6IDM7Ki9cclxuICAvKiBib3gtc2hhZG93OiAwIDFweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpOyBcclxufSovXHJcblxyXG4uYmxvYzAyIC5mcm9udCwgLmJsb2MwMiAuYmFjayB7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgLW8tYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi5jYXJkIC5jb250ZW50IC5jYXJkLWNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG4gIHBhZGRpbmc6IDEwcHggMjBweCAyMHB4O1xyXG59XHJcblxyXG4uYmxvYzAyIC5iYWNrIHAge1xyXG4gIG1hcmdpbjogMWVtIDAgMWVtIDA7XHJcbiAgZm9udC1zaXplOiBtZWRpdW07XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLyouYmxvYzAyIC5jYXJkLWNvbnRhaW5lcjpub3QoLm1hbnVhbC1mbGlwKTpob3ZlciAuY2FyZCwgLmJsb2MwMiAuY2FyZC1jb250YWluZXIuaG92ZXIubWFudWFsLWZsaXAgLmNhcmQge1xyXG4gIC8qLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoIDE4MGRlZyApOyovXHJcbiAgLyotbW96LXRyYW5zZm9ybTogcm90YXRlWSggMTgwZGVnICk7Ki9cclxuICAvKi1vLXRyYW5zZm9ybTogcm90YXRlWSggMTgwZGVnICk7Ki9cclxuICAvKnRyYW5zZm9ybTogcm90YXRlWSggMTgwZGVnICk7fSovXHJcblxyXG4uZnJvbnQgLmZhe1xyXG4gIGNvbG9yOiAjZmYwMDAwO1xyXG4gIHBhZGRpbmctdG9wOiAxMnB4O1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLmNvbm5lY3Rfd2FybmluZyB7Y29sb3I6IHllbGxvdzsgbWFyZ2luLXRvcDogMTBweDt9XHJcbiNhYm91dCBwIHtmb250LXNpemU6IDE0cHg7fVxyXG5cclxuXHJcbmEubGlua19yZXB7Y29sb3I6IG9yYW5nZSFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTZweDt9XHJcblxyXG5cclxuLnByZXNlbnRhdGlvbl9hcmVhIHsgbWFyZ2luOiAwcHghaW1wb3J0YW50OyBwYWRkaW5nOiAwcHghaW1wb3J0YW50OyBwYWRkaW5nLXRvcDogMjBweDsgbWFyZ2luLXRvcDogMjBweDsgIH1cclxuLnNlY3Rpb24tdGl0bGUge21hcmdpbi10b3A6IDQwcHg7IH0gLmdyYXBoc19hcmVhIHttYXJnaW4tYm90dG9tOiAyMHB4O31cclxuXHJcblxyXG5cclxuLyptYXAgc2lnbiBhcmVhKi9cclxuLmZsYWctY29udGFpbmVyIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogOHB4OyBtYXJnaW4tYm90dG9tOiBPcHg7fVxyXG4uZmxhZyB7IHBhZGRpbmc6IDA7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxyXG4uZmxhZz5saTpmaXJzdC1jaGlsZCB7XHJcbiAgYmFja2dyb3VuZDogUkdCKDE2LDEzNSw4Nyk7XHJcbn1cclxuLmZsYWc+bGkge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICB3aWR0aDogMzMuMzMlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLypmbG9hdDogbGVmdDsqL1xyXG59XHJcbi5mbGFnPmxpOmZpcnN0LWNoaWxkK2xpIHtcclxuICBiYWNrZ3JvdW5kOiBSR0IoMjU1LDE5MCwwKTtcclxuICB3aWR0aDogMzMuMzQlO1xyXG59XHJcbi5mbGFnIGxpOmZpcnN0LWNoaWxkK2xpK2xpIHtcclxuICBiYWNrZ3JvdW5kOiBSR0IoMjM1LDAsMCk7XHJcbn1cclxuXHJcblxyXG4uaW50cm9fcGFyYWdyYXBoIHsgdGV4dC1hbGlnbjoganVzdGlmeTsgdGV4dC1pbmRlbnQ6IDUwcHg7ICB9XHJcblxyXG4uYnRuX2dsb3NzYWlyZSB7IGJhY2tncm91bmQtY29sb3I6ICMyODg5NDE7XHJcbn1cclxuXHJcbi5ub21fZ2xvc3NhaXJle1xyXG4gIGNvbG9yOiAjMjg4OTQxO1xyXG59XHJcblxyXG4jYnRuX25ld19nbHN7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgY29sb3IgOiAjMjg4OTQxIDtcclxufVxyXG5cclxuLm1vZGFsX2Zvcm17IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyBjb2xvcjogd2hpdGU7IH1cclxuXHJcbiJdfQ== */\"","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

SIDOFFE- NG , application Web dynamique pour la collecte, la production, le traitement et la diffusion des données statistiques de l’action sociale au Bénin

\\r\\n
\\r\\n
\\r\\n Se connecter\\r\\n
*Uniquement pour les utilisateurs
du secteur des affaires sociales
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Présentation du SIDoFFE-NG

\\r\\n

\\r\\n Dans le souci de disposer d’informations fiables, actuelles, complètes et désagrégées par sexe et par âge sur les cibles du secteur social au Bénin,\\r\\n le Ministère en charge des affaires sociales du Bénin s’est engagé depuis plusieurs années dans un processus de modernisation du Système Intégré de Données relatives à la Famille,\\r\\n la Femme et l’Enfant (SIDoFFE)...\\r\\n Lire la suite \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Domaines renseignés par le SIDoFFE-NG

\\r\\n

\\r\\n Cliquez sur chacun des domaines ci-dessous pour en afficher les statistiques.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

PROTECTION SOCIALE ET SOLIDARITE NATIONALE

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

PROTECTION DE L’ENFANT


\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

PROMOTION DE LA FAMILLE DE LA FEMME ET DU GENRE

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n






\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Cliquez sur chacun des domaines ci-dessous pour visualiser les statistiques.\\r\\n

\\r\\n
\\r\\n
\\r\\n


\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n

PROTECTION SOCIALE ET SOLIDARITE NATIONALE

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

PROTECTION DE L’ENFANT


\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

PROMOTION DE LA FAMILLE DE LA FEMME ET DU GENRE

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n




\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Contact

\\r\\n

Pour toutes informations complémentaires, contactez nous

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Adresse

\\r\\n

Cotonou, Ganhi

\\r\\n

(229) 21 31 67 07

\\r\\n

info@offebenin.org

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Heures d'ouverture

\\r\\n

Lundi au vendredi :
8H - 12H30
15H - 18H30

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

NB : Tous les champs (*) sont obligatoires

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \"","import { Component, OnInit } from '@angular/core';\r\nimport {Router} from \"@angular/router\";\r\nimport {ToastrService} from \"ngx-toastr\";\r\nimport {ParamService} from \"../../../../shared/services/param/param.service\";\r\nimport {UtilsService} from \"../../../../shared/services/general/utils.service\";\r\nimport {commentaire} from \"../../../../shared/model/commentaire\";\r\nimport {SecuService} from \"../../../../shared/services/secu/secu.service\";\r\nimport {NgxSpinnerService} from \"ngx-spinner\";\r\nimport {LocalStorageService} from \"../../../../shared/services/app/localstorage.service\";\r\n\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-publicdashboard',\r\n templateUrl: './publicdashboard.component.html',\r\n styleUrls: ['./publicdashboard.component.css']\r\n})\r\nexport class PublicDashboardComponent implements OnInit {\r\n\r\n constructor(private router: Router, private paramService: ParamService, private secuService: SecuService,\r\n private localStorage: LocalStorageService,\r\n private toastr: ToastrService , private utils: UtilsService, private spinner: NgxSpinnerService,\r\n private sanitizer: DomSanitizer)\r\n {\r\n }\r\n\r\n displayVisualisationScreen: boolean = false;\r\n modal_form : any = {};\r\n linkVisualisation : string = \"\" ;\r\n iframeSrc : any;\r\n\r\n\r\n displayStatsGlobal: boolean = false;\r\n\r\n customOptionsPartners: any = { loop: true, mouseDrag: true, touchDrag: false, pullDrag: false, autoplay: true, autoplayTimeout: 5000, dots: false, navSpeed: 700, navText: ['', ''], responsive: { 0: { items: 1 }, 400: { items: 2 }, 740: { items: 3 }, 940: { items: 4 } }, nav: true };\r\n\r\n customOptionsSlideShow: any = { loop: true, mouseDrag: true, touchDrag: false, pullDrag: false, autoplay: true, autoplayTimeout: 5000, dots: false, navSpeed: 700, navText: ['', ''], responsive: { 0: { items: 1 } }, nav: true };\r\n\r\n comment: commentaire = new commentaire();\r\n\r\n pssnItems: any[] = [\r\n { id: 1, name: \"Assistance aux familles\", items: [ {name: \"Secours Nationaux\", code: \"sec_nat\"}, {name: \"Secours sinistrés communautaires\", code: \"sec_com\"}, {name: \"Filets sociaux\", code: \"fil_sec\"},\r\n {name: \"Insertion socio-professionnelle des jeunes cas sociaux\", code: \"ins_soc\"}, {name: \"Naissances multiples\", code: \"nais_mult\"}, {name: \"Consultations sociales\", code: \"cons_soc\"}, ] },\r\n\r\n { id: 2, name: \"Traite des adultes\", items: [ {name: \"Traite des adultes\", code: \"trai_adu\"}, ] },\r\n\r\n { id: 3, name: \"Personnes du troisième âge (PTA)\", items: [ {name: \"Personnes du troisième âge (PTA)\", code: \"pta\"}, ] }\r\n ];\r\n\r\n peItems: any[] = [\r\n { id: 1, name: \"Enfants en situation difficile\", items: [ {name: \"Enfants dans/ de la rue\", code: \"enf_rue\"}, {name: \"Enfants face à la justice\", code: \"enf_just\"}, {name: \"Orphelins et enfants vulnérables\", code: \"oev\"},\r\n ] },\r\n\r\n { id: 2, name: \"Enfants en milieu carcéral\", items: [ {name: \"Enfants vivant en prison\", code: \"enf_prison\"}, ] },\r\n\r\n { id: 3, name: \"Mobilité et travail des enfants\", items: [ {name: \"Traite des enfants\", code: \"trai_enf\"}, {name: \"Travail des enfants\", code: \"tra_enf\"}, {name: \"Migration interne et migration externe des enfants et des jeunes\", code: \"mig_enf\"}, ] },\r\n\r\n { id: 4, name: \"CAPE et Famille hôtes\", items: [ {name: \"Accompagnement et suivi des CAPE\", code: \"accom_suivi_cape\"}, {name: \"Familles hôtes / familles d'accueil\", code: \"fam_hot_acc\"}, {name: \"Mutilations génitales féminines\", code: \"mut_gen_fem\"}, {name: \"Grossesses / mariages précoces\", code: \"mut_gen_fem\"}, ] }\r\n ];\r\n\r\n pffgItems: any[] = [\r\n { id: 1, name: \"Violences\", items: [ {name: \"Violences basées sur le genre\", code: \"vi_ge\"}, {name: \"Mutilations génitales féminines\", code: \"mut_gen_fem\"}, ] },\r\n\r\n { id: 2, name: \"Promotion des valeurs familiales\", items: [ {name: \"Promotion de la Santé Sexuelle, des Adolescents et des Jeunes\", code: \"pro_ssaj\"}, ] },\r\n\r\n { id: 3, name: \"Autonomisation des femmes\", items: [ {name: \"Autonomisation des femmes\", code: \"aut_fem\"} ] },\r\n\r\n { id: 4, name: \"Femmes en milieu carcéral\", items: [ {name: \"Femmes en prison\", code: \"fem_prison\"} ] }\r\n ];\r\n\r\n\r\n ngOnInit() {\r\n \r\n\r\n }//end oninit\r\n\r\n //show login page\r\n showLoginPage(): void {\r\n this.router.navigate([\"login\"]);\r\n }//end showLoginPage\r\n\r\n //show stats\r\n goToWay(type: string): void {\r\n\r\n let paramSearch: any = { startDate: new Date(), endDate: new Date(), codeIndic: \"\", departement: \"\",\r\n commune: \"\", thematique: \"\", sous_thematique: \"\", statistique: \"\" };\r\n\r\n this.localStorage.saveSelectedGlobalStatParam(null);\r\n\r\n switch(type){\r\n case \"pssn\":\r\n this.router.navigate([\"/sidoffepublic/stats/global/pssn\"]);\r\n break;\r\n\r\n case \"pe\":\r\n this.router.navigate([\"/sidoffepublic/stats/global/pe\"]);\r\n break;\r\n\r\n case \"pffg\":\r\n this.router.navigate([\"/sidoffepublic/stats/global/pffg\"]);\r\n\r\n break;\r\n }\r\n\r\n }//end showStatsGlobal\r\n\r\n\r\n\r\n\r\n //send comment\r\n sendComment(): void {\r\n //test value\r\n if(!this.comment.canSave()){\r\n this.toastr.error(this.comment.getErrorMessage(), \"Commentaire\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n this.spinner.show();\r\n this.secuService.createComment(this.comment).subscribe((result) => {\r\n this.spinner.hide();\r\n if(result.status === true){\r\n this.comment = new commentaire();\r\n this.toastr.success(\"Votre message a été envoyé avec succès\", \"Commentaire\", {positionClass: 'toast-top-center'});\r\n return;\r\n }else{\r\n this.toastr.error(result.status, \"Commentaire\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n })\r\n }//end sendComment\r\n\r\n\r\n //select link\r\n selectLink(item: any, line: any){\r\n let object: any = { thematique: item, sous_thematique: line };\r\n this.localStorage.saveSelectedStat(object);\r\n }//end selectLink\r\n\r\n ///show glodssaire page\r\n showGlossaireSearch(){\r\n console.log(\"test\");\r\n this.router.navigate([\"/sidoffepublic/glossaire/recherche\"]);\r\n }//end selectLink\r\n\r\n\r\n //show visualisation screen \r\n showVisualisationScreen(code: string): void {\r\n switch (code) {\r\n\r\n case \"pssn\":\r\n this.linkVisualisation = environment.lien_visualisation_pssn ;\r\n break;\r\n\r\n case \"pe\":\r\n this.linkVisualisation = environment.lien_visualisation_pe ;\r\n break;\r\n\r\n case \"pffg\":\r\n this.linkVisualisation = environment.lien_visualisation_pffg ;\r\n break;\r\n \r\n default:\r\n break;\r\n }\r\n this.iframeSrc = this.sanitizer.bypassSecurityTrustResourceUrl(this.linkVisualisation); \r\n this.displayVisualisationScreen = true;\r\n }//end showVisualisationScreen\r\n\r\n\r\n //close visualisation forscreenm\r\n closeVisualisationScreen(): void {\r\n this.displayVisualisationScreen = false;\r\n }//end closeEditForm\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n.link {cursor: pointer;}\\r\\n.navbar-semi-light{ color: #006828; background-color: #2c303b; /* #288941; #006828;*/ margin-top: 10px;}\\r\\n.img_mas_area {width: 275px; height: 50px;}\\r\\n.img_offe_area {height: 50px; margin-left: 30px;}\\r\\n.btn_disconnect_area {}\\r\\n.user_connected_link{ color: white; }\\r\\na.user_connected_link:hover{ color: white; }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxPQUFPLGVBQWUsQ0FBQztBQUN2QixvQkFBb0IsY0FBYyxFQUFFLHlCQUF5QixHQUFHLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDO0FBRXhHLGVBQWUsWUFBWSxFQUFFLFlBQVksQ0FBQztBQUMxQyxnQkFBZ0IsWUFBWSxFQUFFLGlCQUFpQixDQUFDO0FBRWhELHNCQUFzQjtBQUN0QixzQkFBc0IsWUFBWSxFQUFFO0FBQ3BDLDZCQUE2QixZQUFZLEVBQUUiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL25hdmJhci9uYXZiYXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuLmxpbmsge2N1cnNvcjogcG9pbnRlcjt9XHJcbi5uYXZiYXItc2VtaS1saWdodHsgY29sb3I6ICMwMDY4Mjg7IGJhY2tncm91bmQtY29sb3I6ICMyYzMwM2I7ICAvKiAjMjg4OTQxOyAjMDA2ODI4OyovIG1hcmdpbi10b3A6IDEwcHg7fVxyXG5cclxuLmltZ19tYXNfYXJlYSB7d2lkdGg6IDI3NXB4OyBoZWlnaHQ6IDUwcHg7fVxyXG4uaW1nX29mZmVfYXJlYSB7aGVpZ2h0OiA1MHB4OyBtYXJnaW4tbGVmdDogMzBweDt9XHJcblxyXG4uYnRuX2Rpc2Nvbm5lY3RfYXJlYSB7fVxyXG4udXNlcl9jb25uZWN0ZWRfbGlua3sgY29sb3I6IHdoaXRlOyB9XHJcbmEudXNlcl9jb25uZWN0ZWRfbGluazpob3ZlcnsgY29sb3I6IHdoaXRlOyB9XHJcbiJdfQ== */\"","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n Bienvenue, {{user_identity}}\\r\\n ({{user_structure}}) \\r\\n \\r\\n\\r\\n \\r\\n \\\"avatar\\\"\\r\\n \\r\\n\\r\\n
\\r\\n Mon Profil\\r\\n Changer Mot de passe\\r\\n
\\r\\n Déconnexion\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, ElementRef } from '@angular/core';\r\nimport { ROUTES } from '../sidebar/sidebar.component';\r\nimport {Location, LocationStrategy, PathLocationStrategy} from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport {LocalStorageService} from \"../../shared/services/app/localstorage.service\";\r\nimport {utilisateur} from \"../../shared/model/utilisateur\";\r\n//import Chart from 'chart.js';\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: './navbar.component.html',\r\n styleUrls: ['./navbar.component.css']\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n private listTitles: any[];\r\n location: Location;\r\n mobile_menu_visible: any = 0;\r\n private toggleButton: any;\r\n private sidebarVisible: boolean;\r\n\r\n public user_identity: string;\r\n public user_structure: string;\r\n\r\n public isCollapsed = true;\r\n\r\n constructor(location: Location, private element: ElementRef, private router: Router, private localStorage: LocalStorageService) {\r\n this.location = location;\r\n this.sidebarVisible = false;\r\n let localUser: utilisateur = this.localStorage.getUser();\r\n\r\n if(localUser !== null && localUser !== undefined){\r\n this.user_identity = localUser.nom + \" \" + localUser.prenoms;\r\n if(localUser.structure !== null && localUser.structure !== undefined){\r\n this.user_structure = localUser.structure.designation;\r\n }\r\n }else{\r\n this.user_identity = \"Utilisateur\";\r\n this.router.navigate([\"/login\"]);\r\n }\r\n }\r\n\r\n ngOnInit(){\r\n this.listTitles = ROUTES.filter(listTitle => listTitle);\r\n const navbar: HTMLElement = this.element.nativeElement;\r\n this.toggleButton = navbar.getElementsByClassName('navbar-toggler')[0];\r\n this.router.events.subscribe((event) => {\r\n this.sidebarClose();\r\n var $layer: any = document.getElementsByClassName('close-layer')[0];\r\n if ($layer) {\r\n $layer.remove();\r\n this.mobile_menu_visible = 0;\r\n }\r\n });\r\n }\r\n\r\n collapse(){\r\n this.isCollapsed = !this.isCollapsed;\r\n const navbar = document.getElementsByTagName('nav')[0];\r\n console.log(navbar);\r\n if (!this.isCollapsed) {\r\n navbar.classList.remove('navbar-transparent');\r\n navbar.classList.add('bg-white');\r\n }else{\r\n navbar.classList.add('navbar-transparent');\r\n navbar.classList.remove('bg-white');\r\n }\r\n\r\n }\r\n\r\n sidebarOpen() {\r\n const toggleButton = this.toggleButton;\r\n const mainPanel = document.getElementsByClassName('main-panel')[0];\r\n const html = document.getElementsByTagName('html')[0];\r\n if (window.innerWidth < 991) {\r\n mainPanel.style.position = 'fixed';\r\n }\r\n\r\n setTimeout(function(){\r\n toggleButton.classList.add('toggled');\r\n }, 500);\r\n\r\n html.classList.add('nav-open');\r\n\r\n this.sidebarVisible = true;\r\n };\r\n sidebarClose() {\r\n const html = document.getElementsByTagName('html')[0];\r\n if(this.toggleButton === undefined) return;\r\n this.toggleButton.classList.remove('toggled');\r\n const mainPanel = document.getElementsByClassName('main-panel')[0];\r\n\r\n if (window.innerWidth < 991) {\r\n setTimeout(function(){\r\n mainPanel.style.position = '';\r\n }, 500);\r\n }\r\n this.sidebarVisible = false;\r\n html.classList.remove('nav-open');\r\n };\r\n sidebarToggle() {\r\n // const toggleButton = this.toggleButton;\r\n // const html = document.getElementsByTagName('html')[0];\r\n var $toggle = document.getElementsByClassName('navbar-toggler')[0];\r\n\r\n if (this.sidebarVisible === false) {\r\n this.sidebarOpen();\r\n } else {\r\n this.sidebarClose();\r\n }\r\n const html = document.getElementsByTagName('html')[0];\r\n\r\n if (this.mobile_menu_visible == 1) {\r\n // $('html').removeClass('nav-open');\r\n html.classList.remove('nav-open');\r\n if ($layer) {\r\n $layer.remove();\r\n }\r\n setTimeout(function() {\r\n $toggle.classList.remove('toggled');\r\n }, 400);\r\n\r\n this.mobile_menu_visible = 0;\r\n } else {\r\n setTimeout(function() {\r\n $toggle.classList.add('toggled');\r\n }, 430);\r\n\r\n var $layer = document.createElement('div');\r\n $layer.setAttribute('class', 'close-layer');\r\n\r\n\r\n if (html.querySelectorAll('.main-panel')) {\r\n document.getElementsByClassName('main-panel')[0].appendChild($layer);\r\n }else if (html.classList.contains('off-canvas-sidebar')) {\r\n document.getElementsByClassName('wrapper-full-page')[0].appendChild($layer);\r\n }\r\n\r\n setTimeout(function() {\r\n $layer.classList.add('visible');\r\n }, 100);\r\n\r\n $layer.onclick = function() { //asign a function\r\n html.classList.remove('nav-open');\r\n this.mobile_menu_visible = 0;\r\n $layer.classList.remove('visible');\r\n setTimeout(function() {\r\n $layer.remove();\r\n $toggle.classList.remove('toggled');\r\n }, 400);\r\n }.bind(this);\r\n\r\n html.classList.add('nav-open');\r\n this.mobile_menu_visible = 1;\r\n\r\n }\r\n };\r\n\r\n getTitle(){\r\n var titlee = this.location.prepareExternalUrl(this.location.path());\r\n if(titlee.charAt(0) === '#'){\r\n titlee = titlee.slice( 2 );\r\n }\r\n titlee = titlee.split('/').pop();\r\n\r\n for(var item = 0; item < this.listTitles.length; item++){\r\n if(this.listTitles[item].path === titlee){\r\n return this.listTitles[item].title;\r\n }\r\n }\r\n return 'Accueil';\r\n }//end gettitle\r\n\r\n\r\n //logout\r\n logout(): void {\r\n this.router.navigate([\"/login\"]);\r\n }//end logout\r\n\r\n //show profile\r\n showProfile(){\r\n this.router.navigate([\"/profile\"]);\r\n }//end showProfile\r\n\r\n //disconnect user\r\n disconnectUser(): void {\r\n //usnet user data\r\n this.localStorage.saveUser(null);\r\n\r\n //redirect\r\n this.router.navigate([\"/login\"]);\r\n }//end disconnectUser\r\n\r\n //change password\r\n changePassword(): void {\r\n this.router.navigate([\"/change\"]);\r\n }//end changePassword\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n .btn-outline-success{border-color: #006828; color: #006828; width: 200px; }\\r\\n .btn-outline-success:hover { border-color: #006828; color: #006828; background-color: #006828; }\\r\\n .img_mas_area {width: 275px; height: 50px;}\\r\\n .img_offe_area {height: 50px; margin-left: 30px;}\\r\\n .bg_header_area{ border-color: #006828; color: #006828; background-color: #006828; }\\r\\n .content-header-title{ vertical-align: center;}\\r\\n .btn-outline-light{ border-color: #ffffff; color: #006828; background-color: #ffffff; }\\r\\n .bold_param { font-weight: bold; font-style: italic; font-size: 16px; color:#006828 ; }\\r\\n .orange { color: orange; }\\r\\n .btn-stats { color: white; }\\r\\n .navy { color: #1776e2da!important; font-size: 24px; }\\r\\n .bold { font-weight: bold; }\\r\\n .domaine_lib { font-size: 25px!important; font-weight: bold; margin-top: 20px; }\\r\\n .total_line_communes { background-color: #1776e2da!important;font-weight: bold; color: white; }\\r\\n .total_line_departements { background-color: white!important; color: red; font-size: 24px; }\\r\\n .home_lib { font-size: 16px; }\\r\\n .criteria_button {width: 130px; }\\r\\n .label-control { font-weight: bold; }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wdWJsaWMvZGV0YWlsbGVkc3RhdHMvcGUvZGV0YWlsbGVkZ2xvYmFsc3RhdHNfcGUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztFQUVFLHFCQUFxQixxQkFBcUIsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFO0VBQzFFLDZCQUE2QixxQkFBcUIsRUFBRSxjQUFjLEVBQUUseUJBQXlCLElBQUk7RUFFakcsZUFBZSxZQUFZLEVBQUUsWUFBWSxDQUFDO0VBQzFDLGdCQUFnQixZQUFZLEVBQUUsaUJBQWlCLENBQUM7RUFFaEQsaUJBQWlCLHFCQUFxQixFQUFFLGNBQWMsRUFBRSx5QkFBeUIsR0FBRztFQUNwRix1QkFBdUIsc0JBQXNCLENBQUM7RUFHOUMsb0JBQW9CLHFCQUFxQixFQUFFLGNBQWMsRUFBRSx5QkFBeUIsRUFBRTtFQUN0RixjQUFjLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxjQUFjLEdBQUc7RUFFdkYsVUFBVSxhQUFhLEdBQUc7RUFFMUIsYUFBYSxZQUFZLEVBQUU7RUFDM0IsUUFBUSwwQkFBMEIsRUFBRSxlQUFlLEVBQUU7RUFDckQsUUFBUSxpQkFBaUIsRUFBRTtFQUUzQixlQUFlLHlCQUF5QixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixHQUFHO0VBRWhGLHVCQUF1QixxQ0FBcUMsQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLEVBQUU7RUFDOUYsMkJBQTJCLGlDQUFpQyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUU7RUFFM0YsWUFBWSxlQUFlLEVBQUU7RUFDN0Isa0JBQWtCLFlBQVksRUFBRTtFQUNoQyxpQkFBaUIsaUJBQWlCLEVBQUUiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL3B1YmxpYy9kZXRhaWxsZWRzdGF0cy9wZS9kZXRhaWxsZWRnbG9iYWxzdGF0c19wZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG4gIC5idG4tb3V0bGluZS1zdWNjZXNze2JvcmRlci1jb2xvcjogIzAwNjgyODsgY29sb3I6ICMwMDY4Mjg7IHdpZHRoOiAyMDBweDsgfVxyXG4gIC5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiAjMDA2ODI4OyBjb2xvcjogIzAwNjgyODsgYmFja2dyb3VuZC1jb2xvcjogIzAwNjgyODsgICB9XHJcblxyXG4gIC5pbWdfbWFzX2FyZWEge3dpZHRoOiAyNzVweDsgaGVpZ2h0OiA1MHB4O31cclxuICAuaW1nX29mZmVfYXJlYSB7aGVpZ2h0OiA1MHB4OyBtYXJnaW4tbGVmdDogMzBweDt9XHJcblxyXG4gIC5iZ19oZWFkZXJfYXJlYXsgYm9yZGVyLWNvbG9yOiAjMDA2ODI4OyBjb2xvcjogIzAwNjgyODsgYmFja2dyb3VuZC1jb2xvcjogIzAwNjgyODsgIH1cclxuICAuY29udGVudC1oZWFkZXItdGl0bGV7IHZlcnRpY2FsLWFsaWduOiBjZW50ZXI7fVxyXG5cclxuXHJcbiAgLmJ0bi1vdXRsaW5lLWxpZ2h0eyBib3JkZXItY29sb3I6ICNmZmZmZmY7IGNvbG9yOiAjMDA2ODI4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XHJcbiAgLmJvbGRfcGFyYW0geyBmb250LXdlaWdodDogYm9sZDsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiMwMDY4MjggOyAgfVxyXG5cclxuICAub3JhbmdlIHsgY29sb3I6IG9yYW5nZTsgIH1cclxuXHJcbiAgLmJ0bi1zdGF0cyB7IGNvbG9yOiB3aGl0ZTsgfVxyXG4gIC5uYXZ5IHsgY29sb3I6ICMxNzc2ZTJkYSFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMjRweDsgfVxyXG4gIC5ib2xkIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuXHJcbiAgLmRvbWFpbmVfbGliIHsgZm9udC1zaXplOiAyNXB4IWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbi10b3A6IDIwcHg7ICB9XHJcblxyXG4gIC50b3RhbF9saW5lX2NvbW11bmVzIHsgYmFja2dyb3VuZC1jb2xvcjogIzE3NzZlMmRhIWltcG9ydGFudDtmb250LXdlaWdodDogYm9sZDsgY29sb3I6IHdoaXRlOyB9XHJcbiAgLnRvdGFsX2xpbmVfZGVwYXJ0ZW1lbnRzIHsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUhaW1wb3J0YW50OyBjb2xvcjogcmVkOyBmb250LXNpemU6IDI0cHg7IH1cclxuXHJcbiAgLmhvbWVfbGliIHsgZm9udC1zaXplOiAxNnB4OyB9XHJcbiAgLmNyaXRlcmlhX2J1dHRvbiB7d2lkdGg6IDEzMHB4OyB9XHJcbiAgLmxhYmVsLWNvbnRyb2wgeyBmb250LXdlaWdodDogYm9sZDsgfSJdfQ== */\"","module.exports = \"\\r\\n\\r\\n\\r\\n

STATISTIQUES DETAILLEES DU DOMAINE PROTECTION DE L'ENFANT

\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Période et Thématique\\r\\n\\r\\n\\r\\n \\r\\n Retour\\r\\n \\r\\n\\r\\n

\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Statistiques détaillées du domaine protection de l'enfant

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Légende: H: Homme; F: Femme; 0-4: 0-4ans; 5-9: 5-9ans; 10-14: 10-14ans; 15-17: 15-17ans; 15-24: 15-24ans
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
DépartementCommuneTotal H*Total F*0 - 4*5 - 9*10 - 14*15 - 17*15 - 24*TotalHMI HMS HA HV HM AFH
{{item.Departement}} {{item.Commune}} {{item.Total_Sexe_H}} {{item.Total_Sexe_F}} {{item.TA_0_4}} {{item.TA_5_9}} {{item.TA_10_14}} {{item.TA_15_17}} {{item.TA_15_24}} {{item.Total}} {{item.Total_HMI}} {{item.Total_HMS}} {{item.Total_HA}} {{item.Total_HV}} {{item.Total_HM}} {{item.Total_AFH}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport {Router} from \"@angular/router\";\r\nimport {ToastrService} from \"ngx-toastr\";\r\nimport {UtilsService} from \"../../../../shared/services/general/utils.service\";\r\nimport {ReportService} from \"../../../../shared/services/report/report.service\";\r\nimport {structure} from \"../../../../shared/model/structure\";\r\nimport {ParamService} from \"../../../../shared/services/param/param.service\";\r\nimport {SecuService} from \"../../../../shared/services/secu/secu.service\";\r\nimport {utilisateur} from \"../../../../shared/model/utilisateur\";\r\nimport {LocalStorageService} from \"../../../../shared/services/app/localstorage.service\";\r\nimport {NgxSpinnerService} from \"ngx-spinner\";\r\nimport * as FileSaver from 'file-saver';\r\nimport {localisation} from \"../../../../shared/model/localisation\";\r\n\r\n@Component({\r\n selector: 'app-detailledstats-pe',\r\n templateUrl: './detailledstats_pe.component.html',\r\n styleUrls: ['./detailledglobalstats_pe.component.css']\r\n})\r\nexport class DetailledStatsPeComponent implements OnInit {\r\n\r\n constructor(private router: Router, private reportService: ReportService,\r\n private paramService: ParamService, private secuService: SecuService,\r\n private localStorage: LocalStorageService, private spinner: NgxSpinnerService,\r\n private toastr: ToastrService , private utils: UtilsService)\r\n {\r\n }\r\n\r\n public detailledStats: any = []; paramSearch: any = { };\r\n connUser: utilisateur;\r\n @Input() public is_public: boolean = true ;\r\n\r\n ngOnInit() {\r\n this.paramSearch = this.localStorage.getSelectedGlobalStatParam();\r\n\r\n //check parameters\r\n if(this.paramSearch === null){\r\n let error: string = \"Impossible de trouver des critères de recherche. Veuillez rechercher à partir des statistiques globales\";\r\n this.toastr.error(error, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n this.paramSearch.statistique.Indicateur_Name = decodeURIComponent(this.paramSearch.statistique.Indicateur_Name);\r\n\r\n this.getDetailledPeStats();\r\n }//end oninit\r\n\r\n //get list fiches pssn\r\n getDetailledPeStats(): void {\r\n //let param: any = {user: this.connUser.id };\r\n this.paramSearch.indicateur_id = this.paramSearch.statistique.Indicateur_Id;\r\n this.spinner.show();\r\n\r\n this.reportService.getDetailledPeStats(this.paramSearch).subscribe(\r\n (result) => {\r\n this.spinner.hide();\r\n\r\n if(result === null || result === undefined) {\r\n let errorMsg: string = \"Impossible de récupérer les statistiques détaillées. Veuillez réessayer.\";\r\n this.toastr.error(errorMsg, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n this.detailledStats = []; return;\r\n }\r\n this.detailledStats = result;\r\n\r\n if(this.detailledStats.length === 0){\r\n let infoMsg: string = \"Aucune statistique trouvée. Veuillez modifier vos critères de recherche puis réessayer.\";\r\n this.toastr.info(infoMsg, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n },\r\n (error) => {\r\n let errorMsg: string = \"Une erreur est survenue. Veuillez vérifier votre connexion puis réessayer\";\r\n this.toastr.error(errorMsg, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n )\r\n }//end getDetailledPeStats\r\n\r\n\r\n\r\n //init reset form\r\n initForm(): void {\r\n this.paramSearch.startDate = null; this.paramSearch.endDate = null;\r\n }//end initForm\r\n\r\n //back to global stats\r\n backToGlobal(): void {\r\n //this.router.navigate([\"//sidoffepublic/stats/global/pe\"]);\r\n\r\n\tif(this.is_public === true) {\r\n\t\t this.router.navigate([\"/sidoffepublic/stats/global/pe\"]);\r\n\t}\r\n\telse {\r\n\t\tthis.router.navigate([\"/sidoffeadmin/stats/pe\"]);\r\n\t}\r\n\r\n }//end backToGlobal\r\n\r\n\r\n //download\r\n download(): void {\r\n this.paramSearch.user = this.connUser.id;\r\n this.spinner.show();\r\n\r\n this.reportService.printDetailledPeReport(this.paramSearch).subscribe(\r\n (result: Blob) => {\r\n\r\n this.spinner.hide();\r\n if(result === null || result === undefined) { return; }\r\n\r\n //let fileBlob = result.Blob();\r\n let blob = new Blob([result], { type: 'application/pdf' });\r\n let filename = 'FICHE_PE_GLOBAL.pdf'; FileSaver.saveAs(blob, filename);\r\n var url = URL.createObjectURL(blob); window.open(url,'_blank');\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n )\r\n\r\n }//end download\r\n\r\n\r\n //download\r\n downloadExcel(): void {\r\n\r\n //this.paramSearch.user = this.connUser.id;\r\n\r\n this.spinner.show();\r\n\r\n this.reportService.printPeExcelDetailledReport(this.paramSearch).subscribe((result: Blob) => {\r\n this.spinner.hide();\r\n if(result === null || result === undefined) { return; }\r\n\r\n let blob = new Blob([result], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n let filename = 'FICHE_PE_DETAILLE.xlsx'; FileSaver.saveAs(blob, filename);\r\n var url = URL.createObjectURL(blob); //window.open(url,'_blank');\r\n return;\r\n }, (error: any) => {\r\n console.log(error);\r\n this.spinner.hide();\r\n let errorMsg: string = \"Une erreur est survenue. Veuillez réessayer\";\r\n this.toastr.error(errorMsg, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n )\r\n }//end download excel\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n .btn-outline-success{border-color: #006828; color: #006828; width: 200px; }\\r\\n .btn-outline-success:hover { border-color: #006828; color: #006828; background-color: #006828; }\\r\\n .img_mas_area {width: 275px; height: 50px;}\\r\\n .img_offe_area {height: 50px; margin-left: 30px;}\\r\\n .bg_header_area{ border-color: #006828; color: #006828; background-color: #006828; }\\r\\n .content-header-title{ vertical-align: center;}\\r\\n .btn-outline-light{ border-color: #ffffff; color: #006828; background-color: #ffffff; }\\r\\n .bold_param { font-weight: bold; font-style: italic; font-size: 16px; color:#006828 ; }\\r\\n .orange { color: orange; }\\r\\n .btn-stats { color: white; }\\r\\n .navy { color: #1776e2da!important; font-size: 24px; }\\r\\n .bold { font-weight: bold; }\\r\\n .domaine_lib { font-size: 25px!important; font-weight: bold; margin-top: 20px; }\\r\\n .total_line_communes { background-color: #1776e2da!important;font-weight: bold; color: white; }\\r\\n .total_line_departements { background-color: white!important; color: red; font-size: 24px; }\\r\\n .home_lib { font-size: 16px; }\\r\\n .criteria_button {width: 130px; }\\r\\n .label-control { font-weight: bold; }\\r\\n \\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wdWJsaWMvZGV0YWlsbGVkc3RhdHMvcGZmZy9kZXRhaWxsZWRzdGF0c19wZmZnLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7RUFFRSxxQkFBcUIscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRTtFQUMxRSw2QkFBNkIscUJBQXFCLEVBQUUsY0FBYyxFQUFFLHlCQUF5QixJQUFJO0VBRWpHLGVBQWUsWUFBWSxFQUFFLFlBQVksQ0FBQztFQUMxQyxnQkFBZ0IsWUFBWSxFQUFFLGlCQUFpQixDQUFDO0VBRWhELGlCQUFpQixxQkFBcUIsRUFBRSxjQUFjLEVBQUUseUJBQXlCLEdBQUc7RUFDcEYsdUJBQXVCLHNCQUFzQixDQUFDO0VBRzlDLG9CQUFvQixxQkFBcUIsRUFBRSxjQUFjLEVBQUUseUJBQXlCLEVBQUU7RUFFdEYsY0FBYyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsY0FBYyxHQUFHO0VBRXZGLFVBQVUsYUFBYSxHQUFHO0VBRTFCLGFBQWEsWUFBWSxFQUFFO0VBQzNCLFFBQVEsMEJBQTBCLEVBQUUsZUFBZSxFQUFFO0VBQ3JELFFBQVEsaUJBQWlCLEVBQUU7RUFFM0IsZUFBZSx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsR0FBRztFQUVoRix1QkFBdUIscUNBQXFDLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFO0VBQzlGLDJCQUEyQixpQ0FBaUMsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFO0VBRTNGLFlBQVksZUFBZSxFQUFFO0VBQzdCLGtCQUFrQixZQUFZLEVBQUU7RUFDaEMsaUJBQWlCLGlCQUFpQixFQUFFIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9wdWJsaWMvZGV0YWlsbGVkc3RhdHMvcGZmZy9kZXRhaWxsZWRzdGF0c19wZmZnLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbiAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiAjMDA2ODI4OyBjb2xvcjogIzAwNjgyODsgd2lkdGg6IDIwMHB4OyB9XHJcbiAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6aG92ZXIgeyBib3JkZXItY29sb3I6ICMwMDY4Mjg7IGNvbG9yOiAjMDA2ODI4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2ODI4OyAgIH1cclxuXHJcbiAgLmltZ19tYXNfYXJlYSB7d2lkdGg6IDI3NXB4OyBoZWlnaHQ6IDUwcHg7fVxyXG4gIC5pbWdfb2ZmZV9hcmVhIHtoZWlnaHQ6IDUwcHg7IG1hcmdpbi1sZWZ0OiAzMHB4O31cclxuXHJcbiAgLmJnX2hlYWRlcl9hcmVheyBib3JkZXItY29sb3I6ICMwMDY4Mjg7IGNvbG9yOiAjMDA2ODI4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2ODI4OyAgfVxyXG4gIC5jb250ZW50LWhlYWRlci10aXRsZXsgdmVydGljYWwtYWxpZ246IGNlbnRlcjt9XHJcblxyXG5cclxuICAuYnRuLW91dGxpbmUtbGlnaHR7IGJvcmRlci1jb2xvcjogI2ZmZmZmZjsgY29sb3I6ICMwMDY4Mjg7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cclxuXHJcbiAgLmJvbGRfcGFyYW0geyBmb250LXdlaWdodDogYm9sZDsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiMwMDY4MjggOyAgfVxyXG5cclxuICAub3JhbmdlIHsgY29sb3I6IG9yYW5nZTsgIH1cclxuICBcclxuICAuYnRuLXN0YXRzIHsgY29sb3I6IHdoaXRlOyB9XHJcbiAgLm5hdnkgeyBjb2xvcjogIzE3NzZlMmRhIWltcG9ydGFudDsgZm9udC1zaXplOiAyNHB4OyB9XHJcbiAgLmJvbGQgeyBmb250LXdlaWdodDogYm9sZDsgfVxyXG5cclxuICAuZG9tYWluZV9saWIgeyBmb250LXNpemU6IDI1cHghaW1wb3J0YW50OyBmb250LXdlaWdodDogYm9sZDsgbWFyZ2luLXRvcDogMjBweDsgIH1cclxuXHJcbiAgLnRvdGFsX2xpbmVfY29tbXVuZXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3NmUyZGEhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OiBib2xkOyBjb2xvcjogd2hpdGU7IH1cclxuICAudG90YWxfbGluZV9kZXBhcnRlbWVudHMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSFpbXBvcnRhbnQ7IGNvbG9yOiByZWQ7IGZvbnQtc2l6ZTogMjRweDsgfVxyXG5cclxuICAuaG9tZV9saWIgeyBmb250LXNpemU6IDE2cHg7IH1cclxuICAuY3JpdGVyaWFfYnV0dG9uIHt3aWR0aDogMTMwcHg7IH1cclxuICAubGFiZWwtY29udHJvbCB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XHJcbiAgIl19 */\"","module.exports = \"\\r\\n\\r\\n\\r\\n

STATISTIQUES DETAILLEES DU DOMAINE PROTECTION DE LA FAMILLE, DE LA FEMME ET DE L'ENFANT

\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Période et Thématique\\r\\n\\r\\n\\r\\n \\r\\n Retour\\r\\n \\r\\n\\r\\n

\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Statistiques détaillées du domaine promotion de la famille, de la femme et du genre

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Légende: H: Homme; F: Femme; 0-17: 0-17ans; 18-59: 18-59ans; Plus-60: Plus de 60ans; 0-4: 0-4ans; 5-9: 5-9ans; 10-14: 10-14ans; 15-17: 15-17ans
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
DépartementCommuneTotal H*Total F*18 - 34*35 - 59*Plus - 60*TotalHMI HMS HA HV HM AFH
{{item.Departement}} {{item.Commune}} {{item.Total_Sexe_H}} {{item.Total_Sexe_F}} {{item.TA_18_34}} {{item.TA_35_59}} {{item.TA_SUP_60}} {{item.Total}} {{item.Total_HMI}} {{item.Total_HMS}} {{item.Total_HA}} {{item.Total_HV}} {{item.Total_HM}} {{item.Total_AFH}}
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport {Router} from \"@angular/router\";\r\nimport {ToastrService} from \"ngx-toastr\";\r\nimport {UtilsService} from \"../../../../shared/services/general/utils.service\";\r\nimport {ReportService} from \"../../../../shared/services/report/report.service\";\r\nimport {structure} from \"../../../../shared/model/structure\";\r\nimport {ParamService} from \"../../../../shared/services/param/param.service\";\r\nimport {SecuService} from \"../../../../shared/services/secu/secu.service\";\r\nimport {utilisateur} from \"../../../../shared/model/utilisateur\";\r\nimport {LocalStorageService} from \"../../../../shared/services/app/localstorage.service\";\r\nimport {NgxSpinnerService} from \"ngx-spinner\";\r\nimport * as FileSaver from 'file-saver';\r\nimport {localisation} from \"../../../../shared/model/localisation\";\r\n\r\n@Component({\r\n selector: 'app-detailledstats-pffg',\r\n templateUrl: './detailledstats_pffg.component.html',\r\n styleUrls: ['./detailledstats_pffg.component.css']\r\n})\r\nexport class DetailledStatsPffgComponent implements OnInit {\r\n\r\n constructor(private router: Router, private reportService: ReportService,\r\n private paramService: ParamService, private secuService: SecuService,\r\n private localStorage: LocalStorageService, private spinner: NgxSpinnerService,\r\n private toastr: ToastrService , private utils: UtilsService)\r\n {\r\n }\r\n\r\n public detailledStats: any = []; paramSearch: any = { };\r\n connUser: utilisateur;\r\n @Input() public is_public: boolean = true ;\r\n\r\n ngOnInit() {\r\n this.paramSearch = this.localStorage.getSelectedGlobalStatParam();\r\n\r\n //check parameters\r\n if(this.paramSearch === null){\r\n let error: string = \"Impossible de trouver des critères de recherche. Veuillez rechercher à partir des statistiques globales\";\r\n this.toastr.error(error, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n this.paramSearch.statistique.Indicateur_Name = decodeURIComponent(this.paramSearch.statistique.Indicateur_Name);\r\n\r\n this.getDetailledPffgStats();\r\n }//end oninit\r\n\r\n //get list fiches pssn\r\n getDetailledPffgStats(): void {\r\n\r\n this.paramSearch.indicateur_id = this.paramSearch.statistique.Indicateur_Id;\r\n this.spinner.show();\r\n\r\n this.reportService.getDetailledPffgStats(this.paramSearch).subscribe(\r\n (result) => {\r\n\r\n this.spinner.hide();\r\n\r\n if(result === null || result === undefined) {\r\n this.detailledStats = [];\r\n let errorMsg: string = \"Impossible de récupérer les statistiques détaillées. Veuillez réessayer.\";\r\n this.toastr.error(errorMsg, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n this.detailledStats = result;\r\n\r\n if(this.detailledStats.length === 0){\r\n let infoMsg: string = \"Aucune statistique trouvée. Veuillez modifier vos critères de recherche puis réessayer.\";\r\n this.toastr.info(infoMsg, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n },\r\n (error) => {\r\n let errorMsg: string = \"Une erreur est survenue. Veuillez vérifier votre connexion puis réessayer\";\r\n this.toastr.error(errorMsg, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n )\r\n }//end getDetailledPeStats\r\n\r\n\r\n //init reset form\r\n initForm(): void {\r\n this.paramSearch.startDate = null; this.paramSearch.endDate = null;\r\n }//end initForm\r\n\r\n //back to global stats\r\n backToGlobal(): void {\r\n //this.router.navigate([\"//sidoffepublic/stats/global/pffg\"]);\r\n\r\n\t\tif(this.is_public === true) {\r\n\t\t\t this.router.navigate([\"/sidoffepublic/stats/global/pffg\"]);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.router.navigate([\"/sidoffeadmin/stats/pffg\"]);\r\n\t\t}\r\n }//end backToGlobal\r\n\r\n\r\n\r\n\r\n //download\r\n downloadExcel(): void {\r\n\r\n //this.paramSearch.user = this.connUser.id;\r\n\r\n this.spinner.show();\r\n\r\n this.reportService.printPffgExcelDetailledReport(this.paramSearch).subscribe((result: Blob) => {\r\n this.spinner.hide();\r\n if(result === null || result === undefined) { return; }\r\n\r\n let blob = new Blob([result], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n let filename = 'FICHE_PFFG_DETAILLE.xlsx'; FileSaver.saveAs(blob, filename);\r\n var url = URL.createObjectURL(blob); //window.open(url,'_blank');\r\n return;\r\n }, (error: any) => {\r\n console.log(error);\r\n this.spinner.hide();\r\n let errorMsg: string = \"Une erreur est survenue. Veuillez réessayer\";\r\n this.toastr.error(errorMsg, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n )\r\n }//end download excel\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n .btn-outline-success{border-color: #006828; color: #006828; width: 200px; }\\r\\n .btn-outline-success:hover { border-color: #006828; color: #006828; background-color: #006828; }\\r\\n .img_mas_area {width: 275px; height: 50px;}\\r\\n .img_offe_area {height: 50px; margin-left: 30px;}\\r\\n .bg_header_area{ border-color: #006828; color: #006828; background-color: #006828; }\\r\\n .content-header-title{ vertical-align: center;}\\r\\n .btn-outline-light{ border-color: #ffffff; color: #006828; background-color: #ffffff; }\\r\\n .bold_param { font-weight: bold; font-style: italic; font-size: 16px; color:#006828 ; }\\r\\n .orange { color: orange; }\\r\\n .btn-stats { color: white; }\\r\\n .navy { color: #1776e2da!important; font-size: 24px; }\\r\\n .bold { font-weight: bold; }\\r\\n .domaine_lib { font-size: 25px!important; font-weight: bold; margin-top: 20px; }\\r\\n .total_line_communes { background-color: #1776e2da!important;font-weight: bold; color: white; }\\r\\n .total_line_departements { background-color: white!important; color: red; font-size: 24px; }\\r\\n .home_lib { font-size: 16px; }\\r\\n .criteria_button {width: 130px; }\\r\\n .label-control { font-weight: bold; }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wdWJsaWMvZGV0YWlsbGVkc3RhdHMvcHNzbi9kZXRhaWxsZWRzdGF0c19wc3NuLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7RUFFRSxxQkFBcUIscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRTtFQUMxRSw2QkFBNkIscUJBQXFCLEVBQUUsY0FBYyxFQUFFLHlCQUF5QixJQUFJO0VBRWpHLGVBQWUsWUFBWSxFQUFFLFlBQVksQ0FBQztFQUMxQyxnQkFBZ0IsWUFBWSxFQUFFLGlCQUFpQixDQUFDO0VBRWhELGlCQUFpQixxQkFBcUIsRUFBRSxjQUFjLEVBQUUseUJBQXlCLEdBQUc7RUFDcEYsdUJBQXVCLHNCQUFzQixDQUFDO0VBRzlDLG9CQUFvQixxQkFBcUIsRUFBRSxjQUFjLEVBQUUseUJBQXlCLEVBQUU7RUFFdEYsY0FBYyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsY0FBYyxHQUFHO0VBRXZGLFVBQVUsYUFBYSxHQUFHO0VBRTFCLGFBQWEsWUFBWSxFQUFFO0VBQzNCLFFBQVEsMEJBQTBCLEVBQUUsZUFBZSxFQUFFO0VBQ3JELFFBQVEsaUJBQWlCLEVBQUU7RUFFM0IsZUFBZSx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsR0FBRztFQUVoRix1QkFBdUIscUNBQXFDLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFO0VBQzlGLDJCQUEyQixpQ0FBaUMsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFO0VBRTNGLFlBQVksZUFBZSxFQUFFO0VBQzdCLGtCQUFrQixZQUFZLEVBQUU7RUFDaEMsaUJBQWlCLGlCQUFpQixFQUFFIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9wdWJsaWMvZGV0YWlsbGVkc3RhdHMvcHNzbi9kZXRhaWxsZWRzdGF0c19wc3NuLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbiAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiAjMDA2ODI4OyBjb2xvcjogIzAwNjgyODsgd2lkdGg6IDIwMHB4OyB9XHJcbiAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6aG92ZXIgeyBib3JkZXItY29sb3I6ICMwMDY4Mjg7IGNvbG9yOiAjMDA2ODI4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2ODI4OyAgIH1cclxuXHJcbiAgLmltZ19tYXNfYXJlYSB7d2lkdGg6IDI3NXB4OyBoZWlnaHQ6IDUwcHg7fVxyXG4gIC5pbWdfb2ZmZV9hcmVhIHtoZWlnaHQ6IDUwcHg7IG1hcmdpbi1sZWZ0OiAzMHB4O31cclxuXHJcbiAgLmJnX2hlYWRlcl9hcmVheyBib3JkZXItY29sb3I6ICMwMDY4Mjg7IGNvbG9yOiAjMDA2ODI4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2ODI4OyAgfVxyXG4gIC5jb250ZW50LWhlYWRlci10aXRsZXsgdmVydGljYWwtYWxpZ246IGNlbnRlcjt9XHJcblxyXG5cclxuICAuYnRuLW91dGxpbmUtbGlnaHR7IGJvcmRlci1jb2xvcjogI2ZmZmZmZjsgY29sb3I6ICMwMDY4Mjg7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cclxuXHJcbiAgLmJvbGRfcGFyYW0geyBmb250LXdlaWdodDogYm9sZDsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiMwMDY4MjggOyAgfVxyXG5cclxuICAub3JhbmdlIHsgY29sb3I6IG9yYW5nZTsgIH1cclxuXHJcbiAgLmJ0bi1zdGF0cyB7IGNvbG9yOiB3aGl0ZTsgfVxyXG4gIC5uYXZ5IHsgY29sb3I6ICMxNzc2ZTJkYSFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMjRweDsgfVxyXG4gIC5ib2xkIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuXHJcbiAgLmRvbWFpbmVfbGliIHsgZm9udC1zaXplOiAyNXB4IWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbi10b3A6IDIwcHg7ICB9XHJcblxyXG4gIC50b3RhbF9saW5lX2NvbW11bmVzIHsgYmFja2dyb3VuZC1jb2xvcjogIzE3NzZlMmRhIWltcG9ydGFudDtmb250LXdlaWdodDogYm9sZDsgY29sb3I6IHdoaXRlOyB9XHJcbiAgLnRvdGFsX2xpbmVfZGVwYXJ0ZW1lbnRzIHsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUhaW1wb3J0YW50OyBjb2xvcjogcmVkOyBmb250LXNpemU6IDI0cHg7IH1cclxuXHJcbiAgLmhvbWVfbGliIHsgZm9udC1zaXplOiAxNnB4OyB9XHJcbiAgLmNyaXRlcmlhX2J1dHRvbiB7d2lkdGg6IDEzMHB4OyB9XHJcbiAgLmxhYmVsLWNvbnRyb2wgeyBmb250LXdlaWdodDogYm9sZDsgfSJdfQ== */\"","module.exports = \"\\r\\n\\r\\n\\r\\n

STATISTIQUES DETAILLEES DU DOMAINE PROTECTION SOCIALE ET SOLIDARITE NATIONALE

\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Période et Thématique\\r\\n\\r\\n\\r\\n \\r\\n Retour\\r\\n \\r\\n\\r\\n

\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Statistiques détaillées du domaine protection sociale et solidarité nationale

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Légende: H: Homme; F: Femme; 0-17: 0-17ans; 18-59: 18-59ans; Plus 60*: Plus de 60ans;
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
DépartementCommuneTotal H*Total F*0 - 17*18 - 34*35 - 59*55 - 69*Plus 60*Plus 70*TotalHMI HMS HA HV HM AFH
{{item.Departement}} {{item.Commune}} {{item.Total_Sexe_H}} {{item.Total_Sexe_F}} {{item.TA_0_17}} {{item.TA_18_34}} {{item.TA_35_59}} {{item.TA_55_69}} {{item.TA_SUP_60}} {{item.TA_SUP_70}} {{item.Total}} {{item.Total_HMI}} {{item.Total_HMS}} {{item.Total_HA}} {{item.Total_HV}} {{item.Total_HM}} {{item.Total_AFH}}
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport {Router} from \"@angular/router\";\r\nimport {ToastrService} from \"ngx-toastr\";\r\nimport {UtilsService} from \"../../../../shared/services/general/utils.service\";\r\nimport {ReportService} from \"../../../../shared/services/report/report.service\";\r\nimport {structure} from \"../../../../shared/model/structure\";\r\nimport {ParamService} from \"../../../../shared/services/param/param.service\";\r\nimport {SecuService} from \"../../../../shared/services/secu/secu.service\";\r\nimport {utilisateur} from \"../../../../shared/model/utilisateur\";\r\nimport {LocalStorageService} from \"../../../../shared/services/app/localstorage.service\";\r\nimport {NgxSpinnerService} from \"ngx-spinner\";\r\nimport * as FileSaver from 'file-saver';\r\nimport {localisation} from \"../../../../shared/model/localisation\";\r\n\r\n@Component({\r\n selector: 'app-detailledstats-pssn',\r\n templateUrl: './detailledstats_pssn.component.html',\r\n styleUrls: ['./detailledstats_pssn.component.css']\r\n})\r\nexport class DetailledStatsPssnComponent implements OnInit {\r\n\r\n constructor(private router: Router, private reportService: ReportService,\r\n private paramService: ParamService, private secuService: SecuService,\r\n private localStorage: LocalStorageService, private spinner: NgxSpinnerService,\r\n private toastr: ToastrService , private utils: UtilsService)\r\n {\r\n }\r\n\r\n public detailledStats: any = []; paramSearch: any;\r\n connUser: utilisateur;\r\n @Input() public is_public: boolean = true ;\r\n\r\n\r\n ngOnInit() {\r\n this.paramSearch = this.localStorage.getSelectedGlobalStatParam();\r\n\t\r\n\t\r\n\tconsole.log(this.paramSearch);\r\n\t\r\n\tif(this.paramSearch.commune === null || this.paramSearch.commune === undefined) this.paramSearch.commune = { designation: \"\" };\r\n\tif(this.paramSearch.departement === null || this.paramSearch.departement === undefined) this.paramSearch.departement = { designation: \"\" };\r\n\r\n //check parameters\r\n if(this.paramSearch === null){\r\n let error: string = \"Impossible de trouver des critères de recherche. Veuillez rechercher à partir des statistiques globales\";\r\n this.toastr.error(error, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n this.paramSearch.statistique.Indicateur_Name = decodeURIComponent(this.paramSearch.statistique.Indicateur_Name);\r\n\r\n this.getDetailledPssnStats();\r\n }//end oninit\r\n\r\n //get list fiches pssn\r\n getDetailledPssnStats(): void {\r\n\r\n this.paramSearch.indicateur_id = this.paramSearch.statistique.Indicateur_Id;\r\n this.spinner.show();\r\n\r\n this.reportService.getDetailledPssnStats(this.paramSearch).subscribe(\r\n (result) => {\r\n\r\n this.spinner.hide();\r\n\r\n if(result === null || result === undefined) {\r\n this.detailledStats = [];\r\n let errorMsg: string = \"Impossible de récupérer les statistiques détaillées. Veuillez réessayer.\";\r\n this.toastr.error(errorMsg, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n this.detailledStats = result;\r\n\r\n if(this.detailledStats.length === 0){\r\n let infoMsg: string = \"Aucune statistique trouvée. Veuillez modifier vos critères de recherche puis réessayer.\";\r\n this.toastr.info(infoMsg, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n },\r\n (error) => {\r\n let errorMsg: string = \"Une erreur est survenue. Veuillez vérifier votre connexion puis réessayer\";\r\n this.toastr.error(errorMsg, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n )\r\n }//end getDetailledPeStats\r\n\r\n\r\n //init reset form\r\n initForm(): void {\r\n this.paramSearch.startDate = null; this.paramSearch.endDate = null;\r\n }//end initForm\r\n\r\n //back to global stats\r\n backToGlobal(): void {\r\n //this.router.navigate([\"//sidoffepublic/stats/global/pssn\"]);\r\n\r\n\t \tif(this.is_public === true) {\r\n\t\t\t this.router.navigate([\"/sidoffepublic/stats/global/pssn\"]);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.router.navigate([\"/sidoffeadmin/stats/pssn\"]);\r\n\t\t}\r\n\r\n }//end backToGlobal\r\n\r\n //download\r\n downloadExcel(): void {\r\n\r\n //this.paramSearch.user = this.connUser.id;\r\n\r\n this.spinner.show();\r\n\r\n this.reportService.printPssnExcelDetailledReport(this.paramSearch).subscribe((result: Blob) => {\r\n this.spinner.hide();\r\n if(result === null || result === undefined) { return; }\r\n\r\n let blob = new Blob([result], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n let filename = 'FICHE_PSSN_DETAILLE.xlsx'; FileSaver.saveAs(blob, filename);\r\n var url = URL.createObjectURL(blob); //window.open(url,'_blank');\r\n return;\r\n }, (error: any) => {\r\n console.log(error);\r\n this.spinner.hide();\r\n let errorMsg: string = \"Une erreur est survenue. Veuillez réessayer\";\r\n this.toastr.error(errorMsg, \"Statistiques détaillées\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n )\r\n }//end download excel\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n .btn-outline-success{border-color: #006828; color: #006828; width: 200px; }\\r\\n .btn-outline-success:hover { border-color: #006828; color: #006828; background-color: #006828; }\\r\\n .img_mas_area {width: 275px; height: 50px;}\\r\\n .img_offe_area {height: 50px; margin-left: 30px;}\\r\\n .bg_header_area{ border-color: #006828; color: #006828; background-color: #006828; }\\r\\n .content-header-title{ vertical-align: center;}\\r\\n .btn-outline-light{ border-color: #ffffff; color: #006828; background-color: #ffffff; }\\r\\n .bolded {font-weight: bold; font-style: italic; font-size: 16px; color: red; }\\r\\n .sous_thematique {color: orange; }\\r\\n .orange { color: orange; }\\r\\n .btn-stats { color: white; }\\r\\n .navy { color: navy!important; }\\r\\n .bold { font-weight: bold; }\\r\\n .hoverline:hover { background-color: #f2f2f2; color: black; }\\r\\n .domaine_lib { font-size: 20px; font-weight: bold; margin-top: 20px; }\\r\\n .home_lib { font-size: 16px; }\\r\\n .criteria_button {width: 130px; }\\r\\n .label-control { font-weight: bold; }\\r\\n a.link_download:active { color: grey; background-color: white; }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wdWJsaWMvZ2xvYmFsc3RhdHMvcGUvcHVibGljZ2xvYmFsc3RhdHNfcGUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztFQUVFLHFCQUFxQixxQkFBcUIsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFO0VBQzFFLDZCQUE2QixxQkFBcUIsRUFBRSxjQUFjLEVBQUUseUJBQXlCLElBQUk7RUFFakcsZUFBZSxZQUFZLEVBQUUsWUFBWSxDQUFDO0VBQzFDLGdCQUFnQixZQUFZLEVBQUUsaUJBQWlCLENBQUM7RUFFaEQsaUJBQWlCLHFCQUFxQixFQUFFLGNBQWMsRUFBRSx5QkFBeUIsR0FBRztFQUNwRix1QkFBdUIsc0JBQXNCLENBQUM7RUFHOUMsb0JBQW9CLHFCQUFxQixFQUFFLGNBQWMsRUFBRSx5QkFBeUIsRUFBRTtFQUV0RixTQUFTLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUU7RUFFN0Usa0JBQWtCLGFBQWEsR0FBRztFQUNsQyxVQUFVLGFBQWEsR0FBRztFQUUxQixhQUFhLFlBQVksRUFBRTtFQUMzQixRQUFRLHFCQUFxQixFQUFFO0VBQy9CLFFBQVEsaUJBQWlCLEVBQUU7RUFFM0IsbUJBQW1CLHlCQUF5QixFQUFFLFlBQVksRUFBRTtFQUU1RCxlQUFlLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsR0FBRztFQUV0RSxZQUFZLGVBQWUsRUFBRTtFQUM3QixrQkFBa0IsWUFBWSxFQUFFO0VBQ2hDLGlCQUFpQixpQkFBaUIsRUFBRTtFQUVyQyx5QkFBeUIsV0FBVyxFQUFFLHVCQUF1QixFQUFFIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9wdWJsaWMvZ2xvYmFsc3RhdHMvcGUvcHVibGljZ2xvYmFsc3RhdHNfcGUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuICAuYnRuLW91dGxpbmUtc3VjY2Vzc3tib3JkZXItY29sb3I6ICMwMDY4Mjg7IGNvbG9yOiAjMDA2ODI4OyB3aWR0aDogMjAwcHg7IH1cclxuICAuYnRuLW91dGxpbmUtc3VjY2Vzczpob3ZlciB7IGJvcmRlci1jb2xvcjogIzAwNjgyODsgY29sb3I6ICMwMDY4Mjg7IGJhY2tncm91bmQtY29sb3I6ICMwMDY4Mjg7ICAgfVxyXG5cclxuICAuaW1nX21hc19hcmVhIHt3aWR0aDogMjc1cHg7IGhlaWdodDogNTBweDt9XHJcbiAgLmltZ19vZmZlX2FyZWEge2hlaWdodDogNTBweDsgbWFyZ2luLWxlZnQ6IDMwcHg7fVxyXG5cclxuICAuYmdfaGVhZGVyX2FyZWF7IGJvcmRlci1jb2xvcjogIzAwNjgyODsgY29sb3I6ICMwMDY4Mjg7IGJhY2tncm91bmQtY29sb3I6ICMwMDY4Mjg7ICB9XHJcbiAgLmNvbnRlbnQtaGVhZGVyLXRpdGxleyB2ZXJ0aWNhbC1hbGlnbjogY2VudGVyO31cclxuXHJcblxyXG4gIC5idG4tb3V0bGluZS1saWdodHsgYm9yZGVyLWNvbG9yOiAjZmZmZmZmOyBjb2xvcjogIzAwNjgyODsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxyXG5cclxuICAuYm9sZGVkIHtmb250LXdlaWdodDogYm9sZDsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiByZWQ7IH1cclxuXHJcbiAgLnNvdXNfdGhlbWF0aXF1ZSB7Y29sb3I6IG9yYW5nZTsgIH1cclxuICAub3JhbmdlIHsgY29sb3I6IG9yYW5nZTsgIH1cclxuXHJcbiAgLmJ0bi1zdGF0cyB7IGNvbG9yOiB3aGl0ZTsgfVxyXG4gIC5uYXZ5IHsgY29sb3I6IG5hdnkhaW1wb3J0YW50OyB9XHJcbiAgLmJvbGQgeyBmb250LXdlaWdodDogYm9sZDsgfVxyXG5cclxuICAuaG92ZXJsaW5lOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgY29sb3I6IGJsYWNrOyB9XHJcbiAgXHJcbiAgLmRvbWFpbmVfbGliIHsgZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogYm9sZDsgbWFyZ2luLXRvcDogMjBweDsgIH1cclxuXHJcbiAgLmhvbWVfbGliIHsgZm9udC1zaXplOiAxNnB4OyB9XHJcbiAgLmNyaXRlcmlhX2J1dHRvbiB7d2lkdGg6IDEzMHB4OyB9XHJcbiAgLmxhYmVsLWNvbnRyb2wgeyBmb250LXdlaWdodDogYm9sZDsgfVxyXG4gXHJcblx0YS5saW5rX2Rvd25sb2FkOmFjdGl2ZSB7IGNvbG9yOiBncmV5OyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfSJdfQ== */\"","module.exports = \"\\r\\n\\r\\n\\r\\n

STATISTIQUES GLOBALES DU DOMAINE PROTECTION DE L'ENFANT

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

Localisation et Période\\r\\n\\r\\n \\r\\n Retour à la page d'Accueil\\r\\n \\r\\n\\r\\n

\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Statistiques pour la thématique et sous-thématique: {{paramSearch.thematique.designation}} / {{paramSearch.sous_thematique.designation}}

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Légende: H: Homme; F: Femme; 0-4: 0-4ans; 5-9: 5-9ans; 10-14: 10-14ans; 15-17: 15-17ans; 15-24: 15-24ans
\\r\\n\\r\\n\\t\\t \\t\\r\\n\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\tAU FORMAT PDF\\r\\n\\t\\t\\t\\tAU FORMAT EXCEL\\r\\n\\t\\t\\t
\\r\\n\\r\\n\\t\\t
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
IndicateursTotal Sexe H*Total Sexe F*0 - 4*5 - 9*10 - 14*15 - 17*15 - 24*TotalHMI HMS HA HV HM AFH
\\r\\n {{item.Indicateur_Name}} \\r\\n \\r\\n {{item.Total_Sexe_H}} {{item.Total_Sexe_F}} {{item.TA_0_4}} {{item.TA_5_9}} {{item.TA_10_14}} {{item.TA_15_17}} {{item.TA_15_24}} {{item.Total}} {{item.Total_HMI}} {{item.Total_HMS}} {{item.Total_HA}} {{item.Total_HV}} {{item.Total_HM}} {{item.Total_AFH}}
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport {Router} from \"@angular/router\";\r\nimport {ToastrService} from \"ngx-toastr\";\r\nimport {UtilsService} from \"../../../../shared/services/general/utils.service\";\r\nimport {ReportService} from \"../../../../shared/services/report/report.service\";\r\nimport {structure} from \"../../../../shared/model/structure\";\r\nimport {ParamService} from \"../../../../shared/services/param/param.service\";\r\nimport {SecuService} from \"../../../../shared/services/secu/secu.service\";\r\nimport {utilisateur} from \"../../../../shared/model/utilisateur\";\r\nimport {LocalStorageService} from \"../../../../shared/services/app/localstorage.service\";\r\nimport {NgxSpinnerService} from \"ngx-spinner\";\r\nimport * as FileSaver from 'file-saver';\r\nimport {localisation} from \"../../../../shared/model/localisation\";\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport {LibraryService} from \"../../../../shared/services/app/library.service\";\r\nimport { ConstantsService } from 'src/app/shared/services/general/constants.service';\r\n\r\n@Component({\r\n selector: 'app-publicglobalstats-pe',\r\n templateUrl: './publicglobalstats_pe.component.html',\r\n styleUrls: ['./publicglobalstats_pe.component.css']\r\n})\r\nexport class PublicGlobalStatsPeComponent implements OnInit {\r\n\r\n constructor(private router: Router, private reportService: ReportService, private libraryService: LibraryService,\r\n private paramService: ParamService, private secuService: SecuService,\r\n private localStorage: LocalStorageService, private spinner: NgxSpinnerService,\r\n private toastr: ToastrService , private utils: UtilsService, private route: ActivatedRoute)\r\n {\r\n }\r\n\r\n public pssnStats: any[] = [];\r\n departements: localisation[];\r\n communes: localisation[]; structures: structure[];\r\n selectedDepartement: localisation; selectedCommune: localisation;\r\n connUser: utilisateur;\r\n codeIndic: string; private sub: any;\r\n paramSearch: any = { startDate: new Date(), endDate: new Date(), codeIndic: \"\", departement: \"\",\r\n commune: \"\", thematique: \"\", sous_thematique: \"\", statistique: \"\" };\r\n dataFromStorage: any;\r\n\r\n ID_PE: number = ConstantsService.REFERENCE_DOMAINE_PE;\r\n thematiques: any[] = [];\r\n sous_thematiques: any[] = [];\r\n savedSearchParam: any = {};\r\n\r\n @Input() public is_public: boolean = true ;\r\n\r\n\r\n ngOnInit() {\r\n this.dataFromStorage = this.localStorage.getSelectedStat();\r\n\r\n //get search param from storage\r\n this.savedSearchParam = this.localStorage.getSelectedGlobalStatParam();\r\n\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null){\r\n this.paramSearch.startDate = this.savedSearchParam.startDate;\r\n this.paramSearch.endDate = this.savedSearchParam.endDate;\r\n\r\n }else { //first time on this page\r\n this.codeIndic = \"\";\r\n this.paramSearch.codeIndic = this.codeIndic;\r\n this.paramSearch.thematique = null;\r\n this.paramSearch.sous_thematique = null;\r\n }\r\n\r\n //this.getStatsPeFiches();\r\n this.getListDepartements();\r\n this.getThematiquesByDomaine();\r\n }//end oninit\r\n\r\n ngOnDestroy() {\r\n }\r\n\r\n //get list des thematiques par domaine\r\n getThematiquesByDomaine(): void {\r\n this.paramService.getThematiquesByDomaine(this.ID_PE).subscribe((result) => {\r\n this.thematiques = result;\r\n\r\n //preset thematique if previously selected\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null && this.savedSearchParam.thematique !== undefined){\r\n let thematiqueList: any[] = this.thematiques.filter(x => x.id === this.savedSearchParam.thematique.id);\r\n if(thematiqueList.length !== 0){\r\n this.paramSearch.thematique = thematiqueList[0];\r\n this.getTypeDonneeByThematique();\r\n }\r\n }//end preset\r\n\r\n })\r\n }//end getThematiquesByDomaine\r\n\r\n //get list des types de donnees par thematique\r\n getTypeDonneeByThematique(): void {\r\n if(this.paramSearch.thematique.id === undefined) return;\r\n this.paramService.getTypeDonneeCollecteeByThematique(this.paramSearch.thematique).subscribe((result) => {\r\n this.sous_thematiques = result;\r\n\r\n //preset sous thematique if previously selected\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null && this.savedSearchParam.sous_thematique !== undefined){\r\n let sousThematiqueList: any[] = this.sous_thematiques.filter(x => x.id === this.savedSearchParam.sous_thematique.id);\r\n if(sousThematiqueList.length !== 0){\r\n this.paramSearch.sous_thematique = sousThematiqueList[0];\r\n }\r\n }//end preset\r\n\r\n })\r\n }//end getTypeDonneeByThematique\r\n\r\n //get list fiches pssn\r\n getStatsPeFiches(): void {\r\n if(this.paramSearch.sous_thematique !== undefined && this.paramSearch.sous_thematique !== null){\r\n this.paramSearch.codeIndic = this.paramSearch.sous_thematique.code;\r\n }else{\r\n let errorMsg: string = \"Veuillez sélectionner une thématique puis une sous-thématique avant de continuer.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n //check on departement and commune\r\n if(this.paramSearch.departement !== null && this.paramSearch.departement !== undefined && this.paramSearch.departement.id === undefined){\r\n this.paramSearch.departement = null;\r\n }\r\n if(this.paramSearch.commune !== null && this.paramSearch.commune !== undefined && this.paramSearch.commune.id === undefined){\r\n this.paramSearch.commune = null;\r\n }\r\n\r\n this.spinner.show();\r\n\r\n this.reportService.getPeStats(this.paramSearch).subscribe((result) => {\r\n this.spinner.hide();\r\n\r\n if(result === null || result === undefined) {\r\n this.pssnStats = [];\r\n let errorMsg: string = \"Impossible de récupérer les statistiques globales. Veuillez svp vérifier votre connexion internet.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n this.pssnStats = result;\r\n\r\n if(this.pssnStats.length === 0){\r\n let infoMsg: string = \"Aucune statistique trouvée. Veuillez svp vérifier vos critères de recherche !\";\r\n this.toastr.info(infoMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n },\r\n (error: any) => {\r\n this.spinner.hide();\r\n let errorMsg: string = \"Impossible de récupérer les statistiques globales. Veuillez réessayer svp.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n })\r\n }//end getStatsPeFiches\r\n\r\n //get list departements\r\n getListDepartements(): void {\r\n this.paramService.getDepartements().subscribe((result) => {\r\n this.departements = result;\r\n\r\n //preset departement if previously selected\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null && this.savedSearchParam.departement !== undefined\r\n && this.savedSearchParam.departement !== null){\r\n let departementList: any[] = this.departements.filter(x => x.id === this.savedSearchParam.departement.id);\r\n if(departementList.length !== 0){\r\n this.paramSearch.departement = departementList[0];\r\n this.getListCommunesByDepartement();\r\n }\r\n }//end preset\r\n\r\n })\r\n }//end getListDepartements\r\n\r\n //get list communes par departements\r\n getListCommunesByDepartement(): void {\r\n this.paramService.getCommunesByDepartement(this.paramSearch.departement).subscribe((result) => {\r\n this.communes = result;\r\n\r\n //preset commune if previously selected\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null && this.savedSearchParam.commune !== undefined\r\n && this.savedSearchParam.commune !== null){\r\n let communeList: any[] = this.communes.filter(x => x.id === this.savedSearchParam.commune.id);\r\n if(communeList.length !== 0){\r\n this.paramSearch.commune = communeList[0];\r\n }\r\n }//end preset\r\n\r\n })\r\n }//end getListCommunesByDepartement\r\n\r\n //back to home\r\n backToHome(): void {\r\n this.router.navigate([\"//\"]);\r\n }//end backToHome\r\n\r\n //date de debut\r\n getSelectedDateStart(event: Date){\r\n if(event !== undefined) event.setHours(this.libraryService.getBrowserOffset());\r\n if(event !== undefined) event.setMinutes(1);\r\n this.paramSearch.startDate = event;\r\n }\r\n\r\n //date de fin\r\n getSelectedDateEnd(event: Date){\r\n if(event !== undefined) event.setHours(this.libraryService.getBrowserOffset());\r\n if(event !== undefined) event.setMinutes(1);\r\n this.paramSearch.endDate = event;\r\n }\r\n\r\n //init reset form\r\n initForm(): void {\r\n this.paramSearch.departement = null; this.paramSearch.commune = null;\r\n this.paramSearch.structure = null;\r\n this.paramSearch.startDate = null; this.paramSearch.endDate = null;\r\n this.paramSearch.thematique = null;\r\n this.paramSearch.sous_thematique = null;\r\n }//end initForm\r\n\r\n\r\n //download pdf\r\n downloadPdf(): void {\r\n\r\n if(this.paramSearch.sous_thematique !== undefined && this.paramSearch.sous_thematique !== null){\r\n this.paramSearch.codeIndic = this.paramSearch.sous_thematique.code;\r\n }else{\r\n let errorMsg: string = \"Veuillez sélectionner une thématique puis une sous-thématique avant de continuer.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n //check on departement and commune\r\n if(this.paramSearch.departement !== null && this.paramSearch.departement !== undefined && this.paramSearch.departement.id === undefined){\r\n this.paramSearch.departement = null;\r\n }\r\n if(this.paramSearch.commune !== null && this.paramSearch.commune !== undefined && this.paramSearch.commune.id === undefined){\r\n this.paramSearch.commune = null;\r\n }\r\n\r\n this.spinner.show();\r\n\r\n this.reportService.printPePdfReport(this.paramSearch).subscribe((result: Blob) => {\r\n\r\n this.spinner.hide();\r\n if(result === null || result === undefined) { return; }\r\n\r\n //let fileBlob = result.Blob();\r\n let blob = new Blob([result], { type: 'application/pdf' });\r\n let filename = 'FICHE_PE_GLOBAL.pdf'; FileSaver.saveAs(blob, filename);\r\n var url = URL.createObjectURL(blob); window.open(url,'_blank');\r\n\r\n },\r\n (error: any) => {\r\n this.spinner.hide();\r\n console.log(\"error\");\r\n let errorMsg: string = \"Une erreur est survenue. Veuillez réessayer\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n })\r\n\r\n }//end downloadPdf pdf\r\n\r\n //download\r\n downloadExcel(): void {\r\n\r\n if(this.paramSearch.sous_thematique !== undefined && this.paramSearch.sous_thematique !== null){\r\n this.paramSearch.codeIndic = this.paramSearch.sous_thematique.code;\r\n }else{\r\n let errorMsg: string = \"Veuillez sélectionner une thématique puis une sous-thématique avant de continuer.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n //check on departement and commune\r\n if(this.paramSearch.departement !== null && this.paramSearch.departement !== undefined && this.paramSearch.departement.id === undefined){\r\n this.paramSearch.departement = null;\r\n }\r\n if(this.paramSearch.commune !== null && this.paramSearch.commune !== undefined && this.paramSearch.commune.id === undefined){\r\n this.paramSearch.commune = null;\r\n }\r\n\r\n this.spinner.show();\r\n\r\n this.reportService.printPeExcelReport(this.paramSearch).subscribe((result: Blob) => {\r\n this.spinner.hide();\r\n if(result === null || result === undefined) { return; }\r\n\r\n let blob = new Blob([result], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n let filename = 'FICHE_PE_GLOBAL.xlsx'; FileSaver.saveAs(blob, filename);\r\n var url = URL.createObjectURL(blob); //window.open(url,'_blank');\r\n return;\r\n }, (error: any) => {\r\n console.log(error);\r\n this.spinner.hide();\r\n let errorMsg: string = \"Une erreur est survenue. Veuillez réessayer\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n )\r\n }//end download excel\r\n\r\n\r\n //get linne class\r\n getLineClass(item: any){\r\n if(item.unite === \"%\"){\r\n return \"bolded\";\r\n }else{\r\n return \"\";\r\n }\r\n }//end getLineClass\r\n\r\n //show detailled stats\r\n showDetailledStats(item: any){\r\n\r\n //save params\r\n item.Indicateur_Name = encodeURIComponent(item.Indicateur_Name);\r\n\r\n this.paramSearch.statistique = item;\r\n\r\n this.localStorage.saveSelectedGlobalStatParam(this.paramSearch);\r\n\r\n //route\r\n\tif(this.is_public === true) {\r\n\t\t this.router.navigate([\"/sidoffepublic/stats/details/pe\"]);\r\n\t}\r\n\telse {\r\n\t\tthis.router.navigate([\"/sidoffeadmin/stats/details/pe\"]);\r\n\t}\r\n\r\n\r\n }//end showDetailledStats\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n .btn-outline-success{border-color: #006828; color: #006828; width: 200px; }\\r\\n .btn-outline-success:hover { border-color: #006828; color: #006828; background-color: #006828; }\\r\\n .img_mas_area {width: 275px; height: 50px;}\\r\\n .img_offe_area {height: 50px; margin-left: 30px;}\\r\\n .bg_header_area{ border-color: #006828; color: #006828; background-color: #006828; }\\r\\n .content-header-title{ vertical-align: center;}\\r\\n .btn-outline-light{ border-color: #ffffff; color: #006828; background-color: #ffffff; }\\r\\n .bolded {font-weight: bold; font-style: italic; font-size: 16px; color: red; }\\r\\n .sous_thematique {color: orange; }\\r\\n .orange { color: orange; }\\r\\n .btn-stats { color: white; }\\r\\n .navy { color: navy!important; }\\r\\n .bold { font-weight: bold; }\\r\\n .hoverline:hover { background-color: #f2f2f2; color: black; }\\r\\n .domaine_lib { font-size: 20px!important; font-weight: bold!important; margin-top: 20px!important; }\\r\\n .home_lib { font-size: 16px; }\\r\\n .criteria_button {width: 130px; }\\r\\n .label-control { font-weight: bold; }\\r\\n a.link_download:active { color: grey; background-color: white; }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wdWJsaWMvZ2xvYmFsc3RhdHMvcGZmZy9wdWJsaWNnbG9iYWxzdGF0c19wZmZnLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7RUFFRSxxQkFBcUIscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRTtFQUMxRSw2QkFBNkIscUJBQXFCLEVBQUUsY0FBYyxFQUFFLHlCQUF5QixJQUFJO0VBRWpHLGVBQWUsWUFBWSxFQUFFLFlBQVksQ0FBQztFQUMxQyxnQkFBZ0IsWUFBWSxFQUFFLGlCQUFpQixDQUFDO0VBRWhELGlCQUFpQixxQkFBcUIsRUFBRSxjQUFjLEVBQUUseUJBQXlCLEdBQUc7RUFDcEYsdUJBQXVCLHNCQUFzQixDQUFDO0VBRzlDLG9CQUFvQixxQkFBcUIsRUFBRSxjQUFjLEVBQUUseUJBQXlCLEVBQUU7RUFFdEYsU0FBUyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFO0VBRTdFLGtCQUFrQixhQUFhLEdBQUc7RUFFbEMsVUFBVSxhQUFhLEdBQUc7RUFFMUIsYUFBYSxZQUFZLEVBQUU7RUFDM0IsUUFBUSxxQkFBcUIsRUFBRTtFQUMvQixRQUFRLGlCQUFpQixFQUFFO0VBRTNCLG1CQUFtQix5QkFBeUIsRUFBRSxZQUFZLEVBQUU7RUFDNUQsZUFBZSx5QkFBeUIsRUFBRSwyQkFBMkIsRUFBRSwwQkFBMEIsR0FBRztFQUVwRyxZQUFZLGVBQWUsRUFBRTtFQUM3QixrQkFBa0IsWUFBWSxFQUFFO0VBQ2hDLGlCQUFpQixpQkFBaUIsRUFBRTtFQUdyQyx5QkFBeUIsV0FBVyxFQUFFLHVCQUF1QixFQUFFIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9wdWJsaWMvZ2xvYmFsc3RhdHMvcGZmZy9wdWJsaWNnbG9iYWxzdGF0c19wZmZnLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbiAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiAjMDA2ODI4OyBjb2xvcjogIzAwNjgyODsgd2lkdGg6IDIwMHB4OyB9XHJcbiAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6aG92ZXIgeyBib3JkZXItY29sb3I6ICMwMDY4Mjg7IGNvbG9yOiAjMDA2ODI4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2ODI4OyAgIH1cclxuXHJcbiAgLmltZ19tYXNfYXJlYSB7d2lkdGg6IDI3NXB4OyBoZWlnaHQ6IDUwcHg7fVxyXG4gIC5pbWdfb2ZmZV9hcmVhIHtoZWlnaHQ6IDUwcHg7IG1hcmdpbi1sZWZ0OiAzMHB4O31cclxuXHJcbiAgLmJnX2hlYWRlcl9hcmVheyBib3JkZXItY29sb3I6ICMwMDY4Mjg7IGNvbG9yOiAjMDA2ODI4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2ODI4OyAgfVxyXG4gIC5jb250ZW50LWhlYWRlci10aXRsZXsgdmVydGljYWwtYWxpZ246IGNlbnRlcjt9XHJcblxyXG5cclxuICAuYnRuLW91dGxpbmUtbGlnaHR7IGJvcmRlci1jb2xvcjogI2ZmZmZmZjsgY29sb3I6ICMwMDY4Mjg7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cclxuXHJcbiAgLmJvbGRlZCB7Zm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc3R5bGU6IGl0YWxpYzsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogcmVkOyB9XHJcblxyXG4gIC5zb3VzX3RoZW1hdGlxdWUge2NvbG9yOiBvcmFuZ2U7ICB9XHJcblxyXG4gIC5vcmFuZ2UgeyBjb2xvcjogb3JhbmdlOyAgfVxyXG5cclxuICAuYnRuLXN0YXRzIHsgY29sb3I6IHdoaXRlOyB9XHJcbiAgLm5hdnkgeyBjb2xvcjogbmF2eSFpbXBvcnRhbnQ7IH1cclxuICAuYm9sZCB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XHJcblxyXG4gIC5ob3ZlcmxpbmU6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyBjb2xvcjogYmxhY2s7IH1cclxuICAuZG9tYWluZV9saWIgeyBmb250LXNpemU6IDIwcHghaW1wb3J0YW50OyBmb250LXdlaWdodDogYm9sZCFpbXBvcnRhbnQ7IG1hcmdpbi10b3A6IDIwcHghaW1wb3J0YW50OyAgfVxyXG5cclxuICAuaG9tZV9saWIgeyBmb250LXNpemU6IDE2cHg7IH1cclxuICAuY3JpdGVyaWFfYnV0dG9uIHt3aWR0aDogMTMwcHg7IH1cclxuICAubGFiZWwtY29udHJvbCB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XHJcbiBcclxuICBcclxuXHRhLmxpbmtfZG93bmxvYWQ6YWN0aXZlIHsgY29sb3I6IGdyZXk7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9Il19 */\"","module.exports = \"\\r\\n\\r\\n

STATISTIQUES GLOBALES DU DOMAINE PROMOTION DE LA FAMILLE, DE LA FEMME ET DU GENRE

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

Localisation et Période\\r\\n\\r\\n \\r\\n Retour à la page d'Accueil\\r\\n \\r\\n\\r\\n

\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Statistiques pour la thématique et sous-thématique: {{paramSearch.thematique.designation}} / {{paramSearch.sous_thematique.designation}}

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Légende: H: Homme; F: Femme; 0-17: 0-17ans; 18-59: 18-59ans; Plus-60: Plus de 60ans; 0-4: 0-4ans; 5-9: 5-9ans; 10-14: 10-14ans; 15-17: 15-17ans
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\tAU FORMAT PDF\\r\\n\\t\\t\\t\\tAU FORMAT EXCEL\\r\\n\\t\\t\\t
\\r\\n\\r\\n\\t\\t
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
IndicateursTotal Sexe H*Total Sexe F*18 - 34*35 - 59*Plus - 60*TotalHMI HMS HA HV HM AFH
\\r\\n {{item.Indicateur_Name}} \\r\\n \\r\\n {{item.Total_Sexe_H}} {{item.Total_Sexe_F}} {{item.TA_18_34}} {{item.TA_35_59}} {{item.TA_SUP_60}} {{item.Total}} {{item.Total_HMI}} {{item.Total_HMS}} {{item.Total_HA}} {{item.Total_HV}} {{item.Total_HM}} {{item.Total_AFH}}
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {ToastrService} from \"ngx-toastr\";\r\nimport {UtilsService} from \"../../../../shared/services/general/utils.service\";\r\nimport {ReportService} from \"../../../../shared/services/report/report.service\";\r\nimport {structure} from \"../../../../shared/model/structure\";\r\nimport {ParamService} from \"../../../../shared/services/param/param.service\";\r\nimport {SecuService} from \"../../../../shared/services/secu/secu.service\";\r\nimport {utilisateur} from \"../../../../shared/model/utilisateur\";\r\nimport {LocalStorageService} from \"../../../../shared/services/app/localstorage.service\";\r\nimport {NgxSpinnerService} from \"ngx-spinner\";\r\nimport * as FileSaver from 'file-saver';\r\nimport {localisation} from \"../../../../shared/model/localisation\";\r\nimport {LibraryService} from \"../../../../shared/services/app/library.service\";\r\nimport { ConstantsService } from 'src/app/shared/services/general/constants.service';\r\n\r\n@Component({\r\n selector: 'app-publicglobalstats-pffg',\r\n templateUrl: './publicglobalstats_pffg.component.html',\r\n styleUrls: ['./publicglobalstats_pffg.component.css']\r\n})\r\nexport class PublicGlobalStatsPffgComponent implements OnInit {\r\n\r\n constructor(private router: Router, private reportService: ReportService, private libraryService: LibraryService,\r\n private paramService: ParamService, private secuService: SecuService,\r\n private localStorage: LocalStorageService, private spinner: NgxSpinnerService,\r\n private toastr: ToastrService , private utils: UtilsService, private route: ActivatedRoute)\r\n {\r\n }\r\n\r\n public pssnStats: any[] = [];\r\n departements: localisation[];\r\n communes: localisation[]; structures: structure[];\r\n selectedDepartement: localisation; selectedCommune: localisation;\r\n connUser: utilisateur;\r\n codeIndic: string; private sub: any;\r\n paramSearch: any = { startDate: new Date(), endDate: new Date(), codeIndic: \"\", departement: \"\", commune: \"\" };\r\n dataFromStorage: any;\r\n\r\n ID_PFFG: number = ConstantsService.REFERENCE_DOMAINE_PFFG;\r\n thematiques: any[] = [];\r\n sous_thematiques: any[] = [];\r\n savedSearchParam: any = {};\r\n\r\n @Input() public is_public: boolean = true ;\r\n\r\n\r\n ngOnInit() {\r\n this.dataFromStorage = this.localStorage.getSelectedStat();\r\n\r\n //get search param from storage\r\n this.savedSearchParam = this.localStorage.getSelectedGlobalStatParam();\r\n\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null){\r\n this.paramSearch.startDate = this.savedSearchParam.startDate;\r\n this.paramSearch.endDate = this.savedSearchParam.endDate;\r\n\r\n }else { //first time on this page\r\n this.codeIndic = \"\";\r\n this.paramSearch.codeIndic = this.codeIndic;\r\n this.paramSearch.thematique = null;\r\n this.paramSearch.sous_thematique = null;\r\n }\r\n\r\n //this.getStatsPffgFiches();\r\n this.getListDepartements();\r\n this.getThematiquesByDomaine();\r\n }//end oninit\r\n\r\n ngOnDestroy() {\r\n }\r\n\r\n\r\n //get list des thematiques par domaine\r\n getThematiquesByDomaine(): void {\r\n this.paramService.getThematiquesByDomaine(this.ID_PFFG).subscribe((result) => {\r\n this.thematiques = result;\r\n\r\n //preset thematique if previously selected\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null && this.savedSearchParam.thematique !== undefined){\r\n let thematiqueList: any[] = this.thematiques.filter(x => x.id === this.savedSearchParam.thematique.id);\r\n if(thematiqueList.length !== 0){\r\n this.paramSearch.thematique = thematiqueList[0];\r\n this.getTypeDonneeByThematique();\r\n }\r\n }//end preset\r\n\r\n })\r\n }//end getThematiquesByDomaine\r\n\r\n //get list des types de donnees par thematique\r\n getTypeDonneeByThematique(): void {\r\n if(this.paramSearch.thematique.id === undefined) return;\r\n this.paramService.getTypeDonneeCollecteeByThematique(this.paramSearch.thematique).subscribe((result) => {\r\n this.sous_thematiques = result;\r\n\r\n //preset sous thematique if previously selected\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null && this.savedSearchParam.sous_thematique !== undefined){\r\n let sousThematiqueList: any[] = this.sous_thematiques.filter(x => x.id === this.savedSearchParam.sous_thematique.id);\r\n if(sousThematiqueList.length !== 0){\r\n this.paramSearch.sous_thematique = sousThematiqueList[0];\r\n }\r\n }//end preset\r\n\r\n })\r\n }//end getTypeDonneeByThematique\r\n\r\n //get list fiches pssn\r\n getStatsPffgFiches(): void {\r\n\r\n if(this.paramSearch.sous_thematique !== undefined && this.paramSearch.sous_thematique !== null){\r\n this.paramSearch.codeIndic = this.paramSearch.sous_thematique.code;\r\n }else{\r\n let errorMsg: string = \"Veuillez sélectionner une thématique puis une sous-thématique avant de continuer.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n //check on departement and commune\r\n if(this.paramSearch.departement !== null && this.paramSearch.departement !== undefined && this.paramSearch.departement.id === undefined){\r\n this.paramSearch.departement = null;\r\n }\r\n if(this.paramSearch.commune !== null && this.paramSearch.commune !== undefined && this.paramSearch.commune.id === undefined){\r\n this.paramSearch.commune = null;\r\n }\r\n\r\n this.spinner.show();\r\n\r\n this.reportService.getPffgStats(this.paramSearch).subscribe((result) => {\r\n this.spinner.hide();\r\n if(result === null || result === undefined) {\r\n this.pssnStats = [];\r\n let errorMsg: string = \"Impossible de récupérer les statistiques globales. Veuillez vérifier votre connexion internet.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n this.pssnStats = result;\r\n if(this.pssnStats.length === 0){\r\n let infoMsg: string = \"Aucune statistique trouvée. Veuillez réessayer pour une période plus large.\";\r\n this.toastr.info(infoMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n },\r\n (error: any) => {\r\n this.spinner.hide();\r\n let errorMsg: string = \"Impossible de récupérer les statistiques globales. Veuillez réessayer.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n console.log(\"error\");\r\n })\r\n }//end getStatsPffgFiches\r\n\r\n //get list departements\r\n getListDepartements(): void {\r\n this.paramService.getDepartements().subscribe((result) => {\r\n this.departements = result;\r\n\r\n //preset departement if previously selected\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null && this.savedSearchParam.departement !== undefined\r\n && this.savedSearchParam.departement !== null){\r\n let departementList: any[] = this.departements.filter(x => x.id === this.savedSearchParam.departement.id);\r\n if(departementList.length !== 0){\r\n this.paramSearch.departement = departementList[0];\r\n this.getListCommunesByDepartement();\r\n }\r\n }//end preset\r\n\r\n })\r\n }//end getListDepartements\r\n\r\n //get list communes par departements\r\n getListCommunesByDepartement(): void {\r\n this.paramService.getCommunesByDepartement(this.paramSearch.departement).subscribe((result) => {\r\n this.communes = result;\r\n\r\n //preset commune if previously selected\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null && this.savedSearchParam.commune !== undefined\r\n && this.savedSearchParam.commune !== null){\r\n let communeList: any[] = this.communes.filter(x => x.id === this.savedSearchParam.commune.id);\r\n if(communeList.length !== 0){\r\n this.paramSearch.commune = communeList[0];\r\n }\r\n }//end preset\r\n\r\n })\r\n }//end getListCommunesByDepartement\r\n\r\n //back to home\r\n backToHome(): void {\r\n this.router.navigate([\"//\"]);\r\n }//end backToHome\r\n\r\n //date de debut\r\n getSelectedDateStart(event: Date){\r\n if(event !== undefined) event.setHours(this.libraryService.getBrowserOffset());\r\n if(event !== undefined) event.setMinutes(1);\r\n this.paramSearch.startDate = event;\r\n }\r\n\r\n //date de fin\r\n getSelectedDateEnd(event: Date){\r\n if(event !== undefined) event.setHours(this.libraryService.getBrowserOffset());\r\n if(event !== undefined) event.setMinutes(1);\r\n this.paramSearch.endDate = event;\r\n }\r\n\r\n //init reset form\r\n initForm(): void {\r\n this.paramSearch.departement = null; this.paramSearch.commune = null;\r\n this.paramSearch.structure = null;\r\n this.paramSearch.startDate = null; this.paramSearch.endDate = null;\r\n this.paramSearch.thematique = null;\r\n this.paramSearch.sous_thematique = null;\r\n }//end initForm\r\n\r\n //download pdf\r\n downloadPdf(): void {\r\n\r\n if(this.paramSearch.sous_thematique !== undefined && this.paramSearch.sous_thematique !== null){\r\n this.paramSearch.codeIndic = this.paramSearch.sous_thematique.code;\r\n }else{\r\n let errorMsg: string = \"Veuillez sélectionner une thématique puis une sous-thématique avant de continuer.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n //check on departement and commune\r\n if(this.paramSearch.departement !== null && this.paramSearch.departement !== undefined && this.paramSearch.departement.id === undefined){\r\n this.paramSearch.departement = null;\r\n }\r\n if(this.paramSearch.commune !== null && this.paramSearch.commune !== undefined && this.paramSearch.commune.id === undefined){\r\n this.paramSearch.commune = null;\r\n }\r\n\r\n this.spinner.show();\r\n\r\n this.reportService.printPffgPdfReport(this.paramSearch).subscribe((result: Blob) => {\r\n\r\n this.spinner.hide();\r\n if(result === null || result === undefined) { return; }\r\n\r\n //let fileBlob = result.Blob();\r\n let blob = new Blob([result], { type: 'application/pdf' });\r\n let filename = 'FICHE_PFFG_GLOBAL.pdf'; FileSaver.saveAs(blob, filename);\r\n var url = URL.createObjectURL(blob); window.open(url,'_blank');\r\n })\r\n }//end downloadPdf\r\n\r\n\r\n //download\r\n downloadExcel(): void {\r\n\r\n if(this.paramSearch.sous_thematique !== undefined && this.paramSearch.sous_thematique !== null){\r\n this.paramSearch.codeIndic = this.paramSearch.sous_thematique.code;\r\n }else{\r\n let errorMsg: string = \"Veuillez sélectionner une thématique puis une sous-thématique avant de continuer.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n //check on departement and commune\r\n if(this.paramSearch.departement !== null && this.paramSearch.departement !== undefined && this.paramSearch.departement.id === undefined){\r\n this.paramSearch.departement = null;\r\n }\r\n if(this.paramSearch.commune !== null && this.paramSearch.commune !== undefined && this.paramSearch.commune.id === undefined){\r\n this.paramSearch.commune = null;\r\n }\r\n\r\n this.spinner.show();\r\n\r\n this.reportService.printPffgExcelReport(this.paramSearch).subscribe((result: Blob) => {\r\n this.spinner.hide();\r\n if(result === null || result === undefined) { return; }\r\n\r\n let blob = new Blob([result], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n let filename = 'FICHE_PFFG_GLOBAL.xlsx'; FileSaver.saveAs(blob, filename);\r\n var url = URL.createObjectURL(blob); //window.open(url,'_blank');\r\n return;\r\n }, (error: any) => {\r\n console.log(error);\r\n this.spinner.hide();\r\n let errorMsg: string = \"Une erreur est survenue. Veuillez réessayer\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n )\r\n }//end download excel\r\n\r\n\r\n //get linne class\r\n getLineClass(item: any){\r\n if(item.unite === \"%\"){\r\n return \"bolded\";\r\n }else{\r\n return \"\";\r\n }\r\n }//end getLineClass\r\n\r\n //show detailled stats\r\n showDetailledStats(item: any){\r\n\r\n //save params\r\n item.Indicateur_Name = encodeURIComponent(item.Indicateur_Name);\r\n this.paramSearch.statistique = item;\r\n this.localStorage.saveSelectedGlobalStatParam(this.paramSearch);\r\n\r\n //route\r\n\tif(this.is_public === true) {\r\n\t\t this.router.navigate([\"/sidoffepublic/stats/details/pffg\"]);\r\n\t}\r\n\telse {\r\n\t\tthis.router.navigate([\"/sidoffeadmin/stats/details/pffg\"]);\r\n\t}\r\n }//end showDetailledStats\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n .btn-outline-success{border-color: #006828; color: #006828; width: 200px; }\\r\\n .btn-outline-success:hover { border-color: #006828; color: #006828; background-color: #006828; }\\r\\n .img_mas_area {width: 275px; height: 50px;}\\r\\n .img_offe_area {height: 50px; margin-left: 30px;}\\r\\n .bg_header_area{ border-color: #006828; color: #006828; background-color: #006828; }\\r\\n .content-header-title{ vertical-align: center;}\\r\\n .btn-outline-light{ border-color: #ffffff; color: #006828; background-color: #ffffff; }\\r\\n .bolded {font-weight: bold; font-style: italic; font-size: 16px; color: red; }\\r\\n .sous_thematique {color: orange; }\\r\\n .orange { color: orange; }\\r\\n .btn-stats { color: white; }\\r\\n .navy { color: navy!important; }\\r\\n .bold { font-weight: bold; }\\r\\n .hoverline:hover { background-color: #f2f2f2; color: black; }\\r\\n .domaine_lib { font-size: 20px!important; font-weight: bold!important; margin-top: 20px!important; }\\r\\n .home_lib { font-size: 16px; }\\r\\n .criteria_button {width: 130px; }\\r\\n .label-control { font-weight: bold; }\\r\\n a.link_download:active { color: grey; background-color: white; }\\r\\n \\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wdWJsaWMvZ2xvYmFsc3RhdHMvcHNzbi9wdWJsaWNnbG9iYWxzdGF0c19wc3NuLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7RUFFRSxxQkFBcUIscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRTtFQUMxRSw2QkFBNkIscUJBQXFCLEVBQUUsY0FBYyxFQUFFLHlCQUF5QixJQUFJO0VBRWpHLGVBQWUsWUFBWSxFQUFFLFlBQVksQ0FBQztFQUMxQyxnQkFBZ0IsWUFBWSxFQUFFLGlCQUFpQixDQUFDO0VBRWhELGlCQUFpQixxQkFBcUIsRUFBRSxjQUFjLEVBQUUseUJBQXlCLEdBQUc7RUFDcEYsdUJBQXVCLHNCQUFzQixDQUFDO0VBRzlDLG9CQUFvQixxQkFBcUIsRUFBRSxjQUFjLEVBQUUseUJBQXlCLEVBQUU7RUFFdEYsU0FBUyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFO0VBRTdFLGtCQUFrQixhQUFhLEdBQUc7RUFHbEMsVUFBVSxhQUFhLEdBQUc7RUFFMUIsYUFBYSxZQUFZLEVBQUU7RUFDM0IsUUFBUSxxQkFBcUIsRUFBRTtFQUMvQixRQUFRLGlCQUFpQixFQUFFO0VBRTNCLG1CQUFtQix5QkFBeUIsRUFBRSxZQUFZLEVBQUU7RUFFMUQsZUFBZSx5QkFBeUIsRUFBRSwyQkFBMkIsRUFBRSwwQkFBMEIsR0FBRztFQUVwRyxZQUFZLGVBQWUsRUFBRTtFQUM3QixrQkFBa0IsWUFBWSxFQUFFO0VBQ2hDLGlCQUFpQixpQkFBaUIsRUFBRTtFQUV2Qyx5QkFBeUIsV0FBVyxFQUFFLHVCQUF1QixFQUFFIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9wdWJsaWMvZ2xvYmFsc3RhdHMvcHNzbi9wdWJsaWNnbG9iYWxzdGF0c19wc3NuLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbiAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiAjMDA2ODI4OyBjb2xvcjogIzAwNjgyODsgd2lkdGg6IDIwMHB4OyB9XHJcbiAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6aG92ZXIgeyBib3JkZXItY29sb3I6ICMwMDY4Mjg7IGNvbG9yOiAjMDA2ODI4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2ODI4OyAgIH1cclxuXHJcbiAgLmltZ19tYXNfYXJlYSB7d2lkdGg6IDI3NXB4OyBoZWlnaHQ6IDUwcHg7fVxyXG4gIC5pbWdfb2ZmZV9hcmVhIHtoZWlnaHQ6IDUwcHg7IG1hcmdpbi1sZWZ0OiAzMHB4O31cclxuXHJcbiAgLmJnX2hlYWRlcl9hcmVheyBib3JkZXItY29sb3I6ICMwMDY4Mjg7IGNvbG9yOiAjMDA2ODI4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2ODI4OyAgfVxyXG4gIC5jb250ZW50LWhlYWRlci10aXRsZXsgdmVydGljYWwtYWxpZ246IGNlbnRlcjt9XHJcblxyXG5cclxuICAuYnRuLW91dGxpbmUtbGlnaHR7IGJvcmRlci1jb2xvcjogI2ZmZmZmZjsgY29sb3I6ICMwMDY4Mjg7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cclxuXHJcbiAgLmJvbGRlZCB7Zm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc3R5bGU6IGl0YWxpYzsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogcmVkOyB9XHJcblxyXG4gIC5zb3VzX3RoZW1hdGlxdWUge2NvbG9yOiBvcmFuZ2U7ICB9XHJcblxyXG4gIFxyXG4gIC5vcmFuZ2UgeyBjb2xvcjogb3JhbmdlOyAgfVxyXG5cclxuICAuYnRuLXN0YXRzIHsgY29sb3I6IHdoaXRlOyB9XHJcbiAgLm5hdnkgeyBjb2xvcjogbmF2eSFpbXBvcnRhbnQ7IH1cclxuICAuYm9sZCB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XHJcblxyXG4gIC5ob3ZlcmxpbmU6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyBjb2xvcjogYmxhY2s7IH1cclxuXHJcbiAgICAuZG9tYWluZV9saWIgeyBmb250LXNpemU6IDIwcHghaW1wb3J0YW50OyBmb250LXdlaWdodDogYm9sZCFpbXBvcnRhbnQ7IG1hcmdpbi10b3A6IDIwcHghaW1wb3J0YW50OyAgfVxyXG5cclxuICAgIC5ob21lX2xpYiB7IGZvbnQtc2l6ZTogMTZweDsgfVxyXG4gICAgLmNyaXRlcmlhX2J1dHRvbiB7d2lkdGg6IDEzMHB4OyB9XHJcbiAgICAubGFiZWwtY29udHJvbCB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XHJcblx0XHJcblx0YS5saW5rX2Rvd25sb2FkOmFjdGl2ZSB7IGNvbG9yOiBncmV5OyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxyXG4gICAiXX0= */\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

STATISTIQUES GLOBALES DU DOMAINE PROTECTION SOCIALE ET SOLIDARITE NATIONALE

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

Localisation et Période\\r\\n\\r\\n \\r\\n Retour à la page d'Accueil\\r\\n \\r\\n\\r\\n

\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Statistiques pour la thématique et sous-thématique: {{paramSearch.thematique.designation}} / {{paramSearch.sous_thematique.designation}}

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Légende: H: Homme; F: Femme; 0-17: 0-17ans; 18-59: 18-59ans; Plus 60*: Plus de 60ans;
\\r\\n\\r\\n\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\tAU FORMAT PDF\\r\\n\\t\\t\\t\\tAU FORMAT EXCEL\\r\\n\\t\\t\\t
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\t\\t\\t\\t\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
IndicateursTotal Sexe H*Total Sexe F*0 - 17*18 - 34*35 - 59*55 - 69*Plus 60*Plus 70*TotalHMI HMS HA HV HM AFH
\\r\\n {{item.Indicateur_Name}} \\r\\n \\r\\n {{item.Total_Sexe_H}} {{item.Total_Sexe_F}} {{item.TA_0_17}} {{item.TA_18_34}} {{item.TA_35_59}} {{item.TA_55_69}} {{item.TA_SUP_60}} {{item.TA_SUP_70}} {{item.Total}} {{item.Total_HMI}} {{item.Total_HMS}} {{item.Total_HA}} {{item.Total_HV}} {{item.Total_HM}} {{item.Total_AFH}}
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport {Router} from \"@angular/router\";\r\nimport {ToastrService} from \"ngx-toastr\";\r\nimport {UtilsService} from \"../../../../shared/services/general/utils.service\";\r\nimport {ReportService} from \"../../../../shared/services/report/report.service\";\r\nimport {structure} from \"../../../../shared/model/structure\";\r\nimport {ParamService} from \"../../../../shared/services/param/param.service\";\r\nimport {SecuService} from \"../../../../shared/services/secu/secu.service\";\r\nimport {utilisateur} from \"../../../../shared/model/utilisateur\";\r\nimport {LocalStorageService} from \"../../../../shared/services/app/localstorage.service\";\r\nimport {NgxSpinnerService} from \"ngx-spinner\";\r\nimport * as FileSaver from 'file-saver';\r\nimport {localisation} from \"../../../../shared/model/localisation\";\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport {LibraryService} from \"../../../../shared/services/app/library.service\";\r\nimport { ConstantsService } from 'src/app/shared/services/general/constants.service';\r\n\r\n@Component({\r\n selector: 'app-publicglobalstats-pssn',\r\n templateUrl: './publicglobalstats_pssn.component.html',\r\n styleUrls: ['./publicglobalstats_pssn.component.css']\r\n})\r\nexport class PublicGlobalStatsPssnComponent implements OnInit {\r\n\r\n constructor(private router: Router, private reportService: ReportService, private libraryService: LibraryService,\r\n private paramService: ParamService, private secuService: SecuService,\r\n private localStorage: LocalStorageService, private spinner: NgxSpinnerService,\r\n private toastr: ToastrService , private utils: UtilsService, private route: ActivatedRoute)\r\n {\r\n }\r\n\r\n public pssnStats: any[] = [];\r\n departements: localisation[];\r\n communes: localisation[]; structures: structure[];\r\n selectedDepartement: localisation; selectedCommune: localisation;\r\n connUser: utilisateur;\r\n codeIndic: string; private sub: any;\r\n paramSearch: any = { startDate: new Date(), endDate: new Date(), codeIndic: \"\", departement: \"\", commune: \"\" };\r\n dataFromStorage: any;\r\n\r\n ID_PSSN: number = ConstantsService.REFERENCE_DOMAINE_PSSN;\r\n thematiques: any[] = [];\r\n sous_thematiques: any[] = [];\r\n savedSearchParam: any = {};\r\n\r\n @Input() public is_public: boolean = true ;\r\n\r\n ngOnInit() {\r\n\r\n this.dataFromStorage = this.localStorage.getSelectedStat();\r\n\r\n //get search param from storage\r\n this.savedSearchParam = this.localStorage.getSelectedGlobalStatParam();\r\n\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null){\r\n this.paramSearch.startDate = this.savedSearchParam.startDate;\r\n this.paramSearch.endDate = this.savedSearchParam.endDate;\r\n\r\n }else{ //first time on this page\r\n this.codeIndic = \"\";\r\n this.paramSearch.codeIndic = this.codeIndic;\r\n this.paramSearch.thematique = null;\r\n this.paramSearch.sous_thematique = null;\r\n }\r\n\r\n //this.getStatsPssnFiches();\r\n this.getListDepartements();\r\n this.getThematiquesByDomaine();\r\n\r\n }//end oninit\r\n\r\n ngOnDestroy() {\r\n }\r\n\r\n\r\n //get list des thematiques par domaine\r\n getThematiquesByDomaine(): void {\r\n this.paramService.getThematiquesByDomaine(this.ID_PSSN).subscribe((result) => {\r\n this.thematiques = result;\r\n\r\n //preset thematique if previously selected\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null && this.savedSearchParam.thematique !== undefined && this.savedSearchParam.thematique !== null){\r\n let thematiqueList: any[] = this.thematiques.filter(x => x.id === this.savedSearchParam.thematique.id);\r\n if(thematiqueList.length !== 0){\r\n this.paramSearch.thematique = thematiqueList[0];\r\n this.getTypeDonneeByThematique();\r\n }\r\n }//end preset\r\n\r\n })\r\n }//end getThematiquesByDomaine\r\n\r\n //get list des types de donnees par thematique\r\n getTypeDonneeByThematique(): void {\r\n if(this.paramSearch.thematique.id === undefined) return;\r\n this.paramService.getTypeDonneeCollecteeByThematique(this.paramSearch.thematique).subscribe((result) => {\r\n this.sous_thematiques = result;\r\n\r\n //preset sous thematique if previously selected\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null && this.savedSearchParam.sous_thematique !== undefined && this.savedSearchParam.sous_thematique !== null){\r\n let sousThematiqueList: any[] = this.sous_thematiques.filter(x => x.id === this.savedSearchParam.sous_thematique.id);\r\n if(sousThematiqueList.length !== 0){\r\n this.paramSearch.sous_thematique = sousThematiqueList[0];\r\n }\r\n }//end preset\r\n })\r\n }//end getTypeDonneeByThematique\r\n\r\n //get list fiches pssn\r\n getStatsPssnFiches(): void {\r\n\r\n if(this.paramSearch.sous_thematique !== undefined && this.paramSearch.sous_thematique !== null){\r\n this.paramSearch.codeIndic = this.paramSearch.sous_thematique.code;\r\n }else{\r\n let errorMsg: string = \"Veuillez sélectionner une thématique puis une sous-thématique avant de continuer.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n //check on departement and commune\r\n if(this.paramSearch.departement !== null && this.paramSearch.departement !== undefined && this.paramSearch.departement.id === undefined){\r\n this.paramSearch.departement = null;\r\n }\r\n if(this.paramSearch.commune !== null && this.paramSearch.commune !== undefined && this.paramSearch.commune.id === undefined){\r\n this.paramSearch.commune = null;\r\n }\r\n\r\n this.spinner.show();\r\n\r\n this.reportService.getPssnStats(this.paramSearch).subscribe((result) => {\r\n this.spinner.hide();\r\n if(result === null || result === undefined) {\r\n this.pssnStats = [];\r\n let errorMsg: string = \"Impossible de récupérer les statistiques globales. Veuillez vérifier votre connexion internet.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n this.pssnStats = result;\r\n if(this.pssnStats.length === 0){\r\n let infoMsg: string = \"Aucune statistique trouvée. Veuillez réessayer pour une période plus large.\";\r\n this.toastr.info(infoMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n },\r\n (error: any) => {\r\n this.spinner.hide();\r\n let errorMsg: string = \"Impossible de récupérer les statistiques globales. Veuillez réessayer.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n })\r\n }//end getStatsPssnFiches\r\n\r\n //get list departements\r\n getListDepartements(): void {\r\n this.paramService.getDepartements().subscribe((result) => {\r\n this.departements = result;\r\n\r\n //preset departement if previously selected\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null && this.savedSearchParam.departement !== undefined && this.savedSearchParam.departement !== null){\r\n let departementList: any[] = this.departements.filter(x => x.id === this.savedSearchParam.departement.id);\r\n if(departementList.length !== 0){\r\n this.paramSearch.departement = departementList[0];\r\n this.getListCommunesByDepartement();\r\n }\r\n }//end preset\r\n\r\n })\r\n }//end getListDepartements\r\n\r\n //get list communes par departements\r\n getListCommunesByDepartement(): void {\r\n this.paramService.getCommunesByDepartement(this.paramSearch.departement).subscribe((result) => {\r\n this.communes = result;\r\n\r\n //preset commune if previously selected\r\n if(this.savedSearchParam !== undefined && this.savedSearchParam !== null && this.savedSearchParam.commune !== undefined && this.savedSearchParam.commune !== null){\r\n let communeList: any[] = this.communes.filter(x => x.id === this.savedSearchParam.commune.id);\r\n if(communeList.length !== 0){\r\n this.paramSearch.commune = communeList[0];\r\n }\r\n }//end preset\r\n\r\n })\r\n }//end getListCommunesByDepartement\r\n\r\n //back to home\r\n backToHome(): void {\r\n this.router.navigate([\"//\"]);\r\n }//end backToHome\r\n\r\n //date de debut\r\n getSelectedDateStart(event: Date){\r\n if(event !== undefined) event.setHours(this.libraryService.getBrowserOffset());\r\n if(event !== undefined) event.setMinutes(1);\r\n this.paramSearch.startDate = event;\r\n }\r\n\r\n //date de fin\r\n getSelectedDateEnd(event: Date){\r\n if(event !== undefined) event.setHours(this.libraryService.getBrowserOffset());\r\n if(event !== undefined) event.setMinutes(1);\r\n this.paramSearch.endDate = event;\r\n }\r\n\r\n //init reset form\r\n initForm(): void {\r\n this.paramSearch.departement = null; this.paramSearch.commune = null;\r\n this.paramSearch.structure = null;\r\n this.paramSearch.startDate = null; this.paramSearch.endDate = null;\r\n this.paramSearch.thematique = null;\r\n this.paramSearch.sous_thematique = null;\r\n }//end initForm\r\n\r\n //download pdf\r\n downloadPdf(): void {\r\n\r\n if(this.paramSearch.sous_thematique !== undefined && this.paramSearch.sous_thematique !== null){\r\n this.paramSearch.codeIndic = this.paramSearch.sous_thematique.code;\r\n }else{\r\n let errorMsg: string = \"Veuillez sélectionner une thématique puis une sous-thématique avant de continuer.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n //check on departement and commune\r\n if(this.paramSearch.departement !== null && this.paramSearch.departement !== undefined && this.paramSearch.departement.id === undefined){\r\n this.paramSearch.departement = null;\r\n }\r\n if(this.paramSearch.commune !== null && this.paramSearch.commune !== undefined && this.paramSearch.commune.id === undefined){\r\n this.paramSearch.commune = null;\r\n }\r\n\r\n this.spinner.show();\r\n\r\n this.reportService.printPssnPdfReport(this.paramSearch).subscribe((result: Blob) => {\r\n\r\n this.spinner.hide();\r\n if(result === null || result === undefined) { return; }\r\n\r\n //let fileBlob = result.Blob();\r\n let blob = new Blob([result], { type: 'application/pdf' });\r\n let filename = 'FICHE_PSSN_GLOBAL.pdf'; FileSaver.saveAs(blob, filename);\r\n var url = URL.createObjectURL(blob); window.open(url,'_blank');\r\n }\r\n\r\n )\r\n }//end downloadPdf\r\n\r\n //download\r\n downloadExcel(): void {\r\n\r\n if(this.paramSearch.sous_thematique !== undefined && this.paramSearch.sous_thematique !== null){\r\n this.paramSearch.codeIndic = this.paramSearch.sous_thematique.code;\r\n }else{\r\n let errorMsg: string = \"Veuillez sélectionner une thématique puis une sous-thématique avant de continuer.\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n //check on departement and commune\r\n if(this.paramSearch.departement !== null && this.paramSearch.departement !== undefined && this.paramSearch.departement.id === undefined){\r\n this.paramSearch.departement = null;\r\n }\r\n if(this.paramSearch.commune !== null && this.paramSearch.commune !== undefined && this.paramSearch.commune.id === undefined){\r\n this.paramSearch.commune = null;\r\n }\r\n\r\n this.spinner.show();\r\n\r\n this.reportService.printPssnExcelReport(this.paramSearch).subscribe((result: Blob) => {\r\n this.spinner.hide();\r\n if(result === null || result === undefined) { return; }\r\n\r\n let blob = new Blob([result], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n let filename = 'FICHE_PSSN_GLOBAL.xlsx'; FileSaver.saveAs(blob, filename);\r\n var url = URL.createObjectURL(blob); //window.open(url,'_blank');\r\n return;\r\n }, (error: any) => {\r\n console.log(error);\r\n this.spinner.hide();\r\n let errorMsg: string = \"Une erreur est survenue. Veuillez réessayer\";\r\n this.toastr.error(errorMsg, \"Statistiques globales\", {positionClass: 'toast-top-center'});\r\n return;\r\n }\r\n\r\n )\r\n }//end download excel\r\n\r\n //afficherStats\r\n afficherStats(): void {\r\n\r\n }//end afficherStats\r\n\r\n\r\n //get linne class\r\n getLineClass(item: any){\r\n if(item.unite === \"%\"){\r\n return \"bolded\";\r\n }else{\r\n return \"\";\r\n }\r\n }//end getLineClass\r\n\r\n //show detailled stats\r\n showDetailledStats(item: any){\r\n\r\n //save params\r\n\r\n item.Indicateur_Name = encodeURIComponent(item.Indicateur_Name);\r\n\r\n this.paramSearch.statistique = item;\r\n this.localStorage.saveSelectedGlobalStatParam(this.paramSearch);\r\n\r\n //route\r\n if(this.is_public === true) {\r\n this.router.navigate([\"/sidoffepublic/stats/details/pssn\"]);\r\n }\r\n else {\r\n this.router.navigate([\"/sidoffeadmin/stats/details/pssn\"]);\r\n }\r\n }//end showDetailledStats\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport {AppStorageService} from \"../../shared/services/general/appstorage.service\";\r\nimport {utilisateur} from \"../../shared/model/utilisateur\";\r\nimport {ConstantsService} from \"../../shared/services/general/constants.service\";\r\n\r\ndeclare interface RouteInfo {\r\n path: string;\r\n title: string;\r\n icon: string;\r\n class: string;\r\n isBoss: boolean;\r\n}\r\nexport const ROUTES: RouteInfo[] = [\r\n { path: '/dashboard', title: 'Accueil', icon: 'design_app', class: '', isBoss: false },\r\n\r\n //menus\r\n { path: '/operations-list', title: 'Operations', icon:'business_money-coins', class: '', isBoss: false },\r\n { path: '/reports-menu', title: 'Rapports', icon:'education_paper', class: '', isBoss: true },\r\n\r\n { path: '/customers-list', title: 'Clients', icon:'users_single-02', class: '', isBoss: true },\r\n { path: '/agents-list', title: 'Utilisateurs', icon:'users_circle-08', class: '', isBoss: true },\r\n\r\n { path: '/settings', title: 'Paramètres', icon:'ui-1_settings-gear-63', class: '', isBoss: true },\r\n];\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.css']\r\n})\r\nexport class SidebarComponent implements OnInit {\r\n menuItems: any[];\r\n user: utilisateur;\r\n\r\n constructor(private storageService: AppStorageService) {\r\n this.user = new utilisateur();\r\n }\r\n\r\n ngOnInit() {\r\n // this.user = this.utils.reCreateAgent(this.storageService.getConnectedUser());\r\n //\r\n // if(this.user.category === ConstantsService.EMPLOYER){\r\n // this.menuItems = ROUTES.filter(menuItem => menuItem );\r\n // }else{\r\n // this.menuItems = ROUTES.filter(menuItem => menuItem && menuItem.isBoss === false);\r\n // }\r\n }\r\n isMobileMenu() {\r\n if ( window.innerWidth > 991) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n}\r\n","module.exports = \"\\r\\n\\r\\n.ui-datepicker table td {\\r\\n padding: 0.1em!important;\\r\\n}\\r\\n\\r\\n.calendar_area, .ui-calendar-w-btn { }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy91dGlscy9pdC1kYXRlcGlja2VyL2l0LmRhdGVwaWNrZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBO0VBQ0Usd0JBQXdCO0FBQzFCOztBQUVBLHNDQUFzQyIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvdXRpbHMvaXQtZGF0ZXBpY2tlci9pdC5kYXRlcGlja2VyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbi51aS1kYXRlcGlja2VyIHRhYmxlIHRkIHtcclxuICBwYWRkaW5nOiAwLjFlbSFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jYWxlbmRhcl9hcmVhLCAudWktY2FsZW5kYXItdy1idG4geyAgfSJdfQ== */\"","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n\"","import { Component, Input, Output, EventEmitter, OnInit, OnChanges} from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport {ConstantsService} from \"../../../shared/services/general/constants.service\";\r\nimport {Router} from \"@angular/router\";\r\nimport {OperationService} from \"../../../shared/services/operation/operation.service\";\r\nimport {LocalStorageService} from \"../../../shared/services/app/localstorage.service\";\r\nimport {LibraryService} from \"../../../shared/services/app/library.service\";\r\nimport {ReportService} from \"../../../shared/services/report/report.service\";\r\nimport {ConfirmationService} from \"primeng/api\";\r\nimport {UtilsService} from \"../../../shared/services/general/utils.service\";\r\nimport {NgxSpinnerService} from \"ngx-spinner\";\r\nimport {SecuService} from \"../../../shared/services/secu/secu.service\";\r\nimport {ParamService} from \"../../../shared/services/param/param.service\";\r\nimport {ToastrService} from \"ngx-toastr\";\r\n//import {isDate} from \"rxjs/util/isDate\";\r\n\r\n@Component({\r\n selector: 'it-datepicker',\r\n templateUrl: './it.datepicker.component.html',\r\n styleUrls: ['./it.datepicker.component.css']\r\n})\r\n\r\nexport class ItDatePickerComponent implements OnInit{\r\n\r\n\r\n @Input() public dt: any;\r\n //public dtFormatted: string;\r\n fr: any;\r\n\r\n //private opened: boolean = false;\r\n private showDatePicker = false;\r\n @Output() selected = new EventEmitter();\r\n\r\n public constructor(private constant: ConstantsService, private libraryService: LibraryService ) {\r\n }\r\n\r\n ngOnInit(): void{\r\n if(!this.libraryService.isValidDate(this.dt)) {\r\n this.dt = this.libraryService.convertStrDateToJsDate(this.dt);\r\n }\r\n\r\n if(this.dt === null || this.dt === undefined){\r\n //this.dt = new Date();\r\n }else{\r\n // if(!isDate(this.dt)){\r\n // this.dt = new Date(); //this.libraryService.convertStrDateToJsDate(this.dt);\r\n // }\r\n }\r\n\r\n this.selected.emit(this.dt);\r\n this.fr = {\r\n firstDayOfWeek: 0,\r\n dayNames: [\"Dimanche\", \"Lundi\", \"Mardi\", \"Mercredi\", \"Jeudi\", \"Vendredi\", \"Samedi\"],\r\n dayNamesShort: [\"Dim\", \"Lun\", \"Mar\", \"Mer\", \"Jeu\", \"Ven\", \"Sam\"],\r\n dayNamesMin: [\"Di\",\"Lu\",\"Ma\",\"Me\",\"Je\",\"Ve\",\"Sa\"],\r\n monthNames : this.constant.MONTH_LIST, // [ \"Janvier\",\"Février\",\"Mars\",\"Avril\",\"Mai\",\"Juin\",\"Juillet\",\"Aôut\",\"Septembre\",\"Octobre\",\"Novembre\",\"Décembre\" ],\r\n monthNamesShort: [ \"Jan\", \"Fev\", \"Mar\", \"Avr\", \"Mai\", \"Ju\",\"Jui\", \"Au\", \"Sep\", \"Oct\", \"Nov\", \"Dec\" ]\r\n };\r\n }\r\n\r\n\r\n //date selected\r\n handleSelection(event: any): void{\r\n this.dt = event;\r\n this.selected.emit(event);\r\n }\r\n\r\n //date typed\r\n handleDateInput(event: any): void {\r\n let resultdateCheck = this.libraryService.isValidDate(this.dt);\r\n\r\n if(resultdateCheck === true) {\r\n //this.dt = event;\r\n this.selected.emit(this.dt);\r\n }else{\r\n //console.log(\"not valid\");\r\n }\r\n }//end handleDateInput\r\n\r\n\r\n public open(): void {\r\n // this.opened = !this.opened;\r\n }\r\n\r\n\r\n}\r\n","module.exports = \".souligntext{\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy91dGlscy9sZWdlbmRlLXN5bnRoZXNlL2xlZ2VuZGUtc3ludGhlc2UuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDBCQUEwQjtBQUM1QiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvdXRpbHMvbGVnZW5kZS1zeW50aGVzZS9sZWdlbmRlLXN5bnRoZXNlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc291bGlnbnRleHR7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcblxyXG4iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n Code Types Handicap :\\r\\n
\\r\\n
\\r\\n HMI : HANDICAP DES MEMBRES INFERIEURS\\r\\n
\\r\\n
\\r\\n HMS : HANDICAP DES MEMBRES SUPERIEURS \\r\\n
\\r\\n
\\r\\n HV : HANDICAP VISUEL \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n HA : HANDICAP AUDITIF\\r\\n
\\r\\n
\\r\\n HM : HANDICAP MENTAL\\r\\n
\\r\\n
\\r\\n AFH : AUTRES FORMES DE HANDICAP\\r\\n
\\r\\n
\\r\\n
\"","import { Component, Input, Output, EventEmitter, OnInit, OnChanges} from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport {ConstantsService} from \"../../../shared/services/general/constants.service\";\r\n\r\n\r\n@Component({\r\n selector: 'legende-synthese',\r\n templateUrl: './legende-synthese.component.html',\r\n styleUrls: ['./legende-synthese.component.css']\r\n})\r\n\r\nexport class LegendeSyntheseComponent implements OnInit{\r\n\r\n\r\n public constructor(\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(): void{\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n@import url(http://fonts.googleapis.com/css?family=Raleway:100,300,400,500,700,900);\\r\\n@import url(http://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700,800);\\r\\n/*------------------------------------------------------------------\\r\\nProject:\\tNantes - multi purpose one-page template\\r\\nVersion:\\t1.0\\r\\nLast change:\\t18/02/2016 [...]\\r\\nDesigned by:\\tMOOZ Themes / www.MOOZthemes.com\\r\\nPrimary use:\\tOne page\\r\\n-------------------------------------------------------------------*/\\r\\n/* main font for menu. */\\r\\n/* font for headings, text, tags */\\r\\n/*--------------------\\r\\nColor customizations\\r\\nchange these colors to change overlays\\r\\n--------------------*/\\r\\n.mz-module:hover .ot-circle.color1 {\\r\\n color: #C54A4A;\\r\\n}\\r\\n.mz-module:hover .ot-circle.color2 {\\r\\n color: #6091DC;\\r\\n}\\r\\n.mz-module:hover .ot-circle.color3 {\\r\\n color: #6EB377;\\r\\n}\\r\\n.mz-module:hover .ot-circle.color4 {\\r\\n color: #FCBE03;\\r\\n}\\r\\n/*--------------------\\r\\n1. General\\r\\n--------------------*/\\r\\nbody {\\r\\n margin: 0px;\\r\\n font-family: \\\"Open Sans\\\", Sans-serif;\\r\\n}\\r\\nh1,\\r\\nh2,\\r\\nh3,\\r\\nh4,\\r\\nh5,\\r\\nh6 {\\r\\n font-weight: 300;\\r\\n letter-spacing: 0.4px;\\r\\n font-family: \\\"Raleway\\\", Sans-serif;\\r\\n color: #232323;\\r\\n}\\r\\np {\\r\\n font-family: 'Open Sans', sans-serif;\\r\\n font-size: 15px;\\r\\n font-weight: 300;\\r\\n line-height: 23px;\\r\\n letter-spacing: 0.2px;\\r\\n color: #444444;\\r\\n}\\r\\n.dark-bg p {\\r\\n color: #B1B1B1;\\r\\n}\\r\\na:hover, a:focus, a:active, a.active {\\r\\n color: #fec503;\\r\\n}\\r\\na, a:hover, a:focus, a:active, a.active {\\r\\n outline: 0;\\r\\n}\\r\\n.container-fluid {\\r\\n padding-right: 0;\\r\\n padding-left: 0;\\r\\n}\\r\\n::-moz-selection {\\r\\n text-shadow: none;\\r\\n background: #fed136;\\r\\n}\\r\\n::selection {\\r\\n text-shadow: none;\\r\\n background: #fed136;\\r\\n}\\r\\n@media (min-width: 768px) {\\r\\n section {\\r\\n padding: 150px 0;\\r\\n }\\r\\n}\\r\\nsection {\\r\\n padding: 70px 0;\\r\\n}\\r\\nul {\\r\\n padding-left: 0;\\r\\n padding-top: 10px;\\r\\n}\\r\\nul li {\\r\\n list-style: none;\\r\\n padding-bottom: 10px;\\r\\n font-family: 'Open Sans', sans-serif;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n line-height: 23px;\\r\\n letter-spacing: 0.2px;\\r\\n color: #000000;\\r\\n}\\r\\nsection ul li:before {\\r\\n font-family: FontAwesome;\\r\\n font-weight: normal;\\r\\n font-style: normal;\\r\\n display: inline-block;\\r\\n text-decoration: inherit;\\r\\n content: \\\"\\\\f105\\\";\\r\\n padding-right: 7px;\\r\\n color: #23AD21;\\r\\n}\\r\\n/*--------------------\\r\\n1.1 Reset bootstrap\\r\\n--------------------*/\\r\\n.row-0-gutter {\\r\\n margin-left: -13px;\\r\\n margin-right: -13px;\\r\\n}\\r\\n.col-0-gutter {\\r\\n padding-left: 0;\\r\\n padding-right: 0;\\r\\n}\\r\\n/*--------------------\\r\\n2. Navigation\\r\\n--------------------*/\\r\\n.navbar-default {\\r\\n background-color: #fff;\\r\\n border-color: transparent\\r\\n}\\r\\n.navbar-default .navbar-brand {\\r\\n color: #fff;\\r\\n font-family: \\\"Open Sans\\\",sans-serif;\\r\\n padding: 0px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:active,.navbar-default .navbar-brand.active {\\r\\n color: #fec503\\r\\n}\\r\\n.navbar-default .navbar-collapse {\\r\\n border-color: rgba(255,255,255,.02)\\r\\n}\\r\\n.navbar-default .navbar-toggle {\\r\\n background-color: #fed136;\\r\\n border-color: #fed136\\r\\n}\\r\\n.navbar-default .navbar-toggle .icon-bar {\\r\\n background-color: #fff\\r\\n}\\r\\n.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus {\\r\\n background-color: #fed136\\r\\n}\\r\\n.navbar-default .nav li a {\\r\\n font-family: \\\"Open Sans\\\",sans-serif;\\r\\n text-transform: uppercase;\\r\\n font-size: 12px;\\r\\n font-weight: 600;\\r\\n letter-spacing: 1px;\\r\\n color: #444448;\\r\\n}\\r\\n.navbar-default .nav li a:hover,.navbar-default .nav li a:focus {\\r\\n color: #fed136;\\r\\n outline: 0\\r\\n}\\r\\n.navbar-default .navbar-nav>.active>a {\\r\\n border-radius: 0;\\r\\n color: #fff;\\r\\n background-color: #fed136\\r\\n}\\r\\n.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus {\\r\\n color: #fff;\\r\\n background-color: #fec503\\r\\n}\\r\\n@media (min-width:768px) {\\r\\n .navbar-default\\r\\n {\\r\\n background-color: rgba(255, 255, 255, 0.65);\\r\\n padding: 5px 0;\\r\\n transition:padding .3s;\\r\\n border:0\\r\\n }\\r\\n .navbar-default .navbar-brand {\\r\\n font-size: 2em;\\r\\n transition:all .3s;\\r\\n margin-top: 10px;\\r\\n margin-left: 10px;\\r\\n }\\r\\n .navbar-default .navbar-nav>.active>a {\\r\\n border-radius: 3px\\r\\n }\\r\\n .navbar-default.navbar-shrink {\\r\\n background-color: #FFFFFF;\\r\\n border-bottom: 1px solid #828282;\\r\\n padding: 5px 0;\\r\\n }\\r\\n .navbar-default.navbar-shrink .navbar-brand {\\r\\n font-size: 1.5em;\\r\\n margin-top: 10px;\\r\\n }\\r\\n}\\r\\n/*--------------------\\r\\n3. Header\\r\\n--------------------*/\\r\\nheader {\\r\\n margin-top: 137px;\\r\\n}\\r\\n.owl-slider-item {\\r\\n position: relative;\\r\\n background-color: #000;\\r\\n}\\r\\n.owl-slider-item img {\\r\\n opacity: 0.7;\\r\\n}\\r\\n.owl-slider .owl-controls {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 38%;\\r\\n width: 100%;\\r\\n}\\r\\n.owl-slider .owl-controls .owl-nav [class*=owl-] {\\r\\n padding: 30px 40px;\\r\\n background: rgba(0, 0, 0, 0.26);\\r\\n border-radius: 0;\\r\\n margin: 0;\\r\\n font-size: 30px;\\r\\n z-index: 1000;\\r\\n}\\r\\n.owl-slider .owl-controls .owl-nav [class*=owl-]:hover {\\r\\n background: #000;\\r\\n color: #fff;\\r\\n text-decoration: none;\\r\\n}\\r\\n.owl-slider .owl-controls .owl-prev {\\r\\n float: left;\\r\\n}\\r\\n.owl-slider .owl-controls .owl-next {\\r\\n float: right;\\r\\n}\\r\\n.intro-text {\\r\\n padding-top: 100px;\\r\\n padding-bottom: 50px;\\r\\n position: absolute;\\r\\n top: 50px;\\r\\n text-align: center;\\r\\n -webkit-transform: translateX(-50%);\\r\\n transform: translateX(-50%);\\r\\n left: 50%;\\r\\n}\\r\\n@media (min-width: 768px) {\\r\\n .intro-text {\\r\\n padding-top: 230px;\\r\\n padding-bottom: 400px;\\r\\n }\\r\\n}\\r\\n.intro-text .intro-lead-in {\\r\\n display: inline-block;\\r\\n margin-bottom: 25px;\\r\\n padding: 4px 20px;\\r\\n font-family: \\\"Open Sans\\\",sans-serif;\\r\\n font-size: 19px;\\r\\n color: #fff;\\r\\n font-weight: 100;\\r\\n line-height: 40px;\\r\\n}\\r\\n@media (min-width: 768px) {\\r\\n .intro-text .intro-lead-in {\\r\\n font-size: 50px;\\r\\n line-height: 40px;\\r\\n margin-bottom: 45px;\\r\\n }\\r\\n}\\r\\n.intro-text .intro-heading {\\r\\n font-weight: 900;\\r\\n font-size: 40px;\\r\\n line-height: 48px;\\r\\n margin-bottom: 25px;\\r\\n letter-spacing: -3px;\\r\\n word-spacing: 10px;\\r\\n color: #FFFFFF;\\r\\n text-shadow: 1px 1px 1px rgb(0, 0, 0);\\r\\n}\\r\\n@media (min-width: 768px) {\\r\\n .intro-text .intro-heading {\\r\\n line-height: 95px;\\r\\n font-size: 77px;\\r\\n margin-bottom: 50px;\\r\\n }\\r\\n}\\r\\n/*--------------------\\r\\n4. Sections\\r\\n--------------------*/\\r\\n.section-title h2 {\\r\\n font-size: 50px;\\r\\n color: #333333;\\r\\n font-weight: 900;\\r\\n letter-spacing: -0.6px;\\r\\n position: relative;\\r\\n margin: 0 0 50px 0;\\r\\n padding-bottom: 15px;\\r\\n}\\r\\n.section-title h2:after {\\r\\n left: 50%;\\r\\n z-index: 1;\\r\\n width: 60px;\\r\\n height: 3px;\\r\\n content: \\\" \\\";\\r\\n bottom: -5px;\\r\\n margin-left: -30px;\\r\\n text-align: center;\\r\\n position: absolute;\\r\\n background: #eeea46;\\r\\n}\\r\\n.dark-bg .section-title h2 {\\r\\n color: #fff;\\r\\n}\\r\\n.section-title p {\\r\\n font-size: 18px;\\r\\n font-weight: 300;\\r\\n line-height: 31px;\\r\\n margin: 20px 100px 60px 100px;\\r\\n}\\r\\n/*--------------------\\r\\n4.1. CTA sectoin\\r\\n--------------------*/\\r\\n.section-cta {\\r\\n padding: 40px 0;\\r\\n color: #fff;\\r\\n background-color:#288941;\\r\\n}\\r\\n.section-cta h2 {\\r\\n color: #fff;\\r\\n font-size: 23px;\\r\\n font-weight: 300;\\r\\n margin: 0 0 20px;\\r\\n}\\r\\n.button-cta {\\r\\n border: 2px solid #fff;\\r\\n padding: 10px 50px;\\r\\n font-size: 16px;\\r\\n letter-spacing: 1.5px;\\r\\n text-transform: uppercase;\\r\\n font-weight: 800;\\r\\n color: #fff;\\r\\n display: inline-block; /* Safari and Chrome */ /* Firefox */ /* IE 9 */ /* Opera */\\r\\n transition: all .5s ease;\\r\\n\\r\\n}\\r\\n.button-cta:hover {\\r\\n color: #000;\\r\\n background-color: #fff;\\r\\n text-decoration: none;\\r\\n}\\r\\n/*--------------------\\r\\n4.1. About\\r\\n--------------------*/\\r\\n.mz-module {\\r\\n position: relative;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n.mz-module-about {\\r\\n border: 1px solid #E6E6EA;\\r\\n min-height: 280px;\\r\\n padding: 20px;\\r\\n background-color: #EFEFF1;\\r\\n}\\r\\n.mz-module-about h3 {\\r\\n font-weight: 500;\\r\\n font-size: 19px;\\r\\n /* text-transform: uppercase; */\\r\\n color: #424242;\\r\\n /* letter-spacing: 2px; */\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.dark-bg .mz-module-about h3 {\\r\\n color: #FFFFFF;\\r\\n}\\r\\n.mz-module-about p {\\r\\n font-size: 15px;\\r\\n font-weight: 300;\\r\\n line-height: 22px;\\r\\n color: #848484;\\r\\n}\\r\\n.mz-module-button {\\r\\n background-color: #B6B6C3;\\r\\n padding: 15px;\\r\\n text-transform: uppercase;\\r\\n font-weight: 700;\\r\\n font-size: 12px;\\r\\n display: block;\\r\\n position: absolute;\\r\\n bottom: 0px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n opacity: 0;\\r\\n color: #fff;\\r\\n transition:all .3s;\\r\\n}\\r\\n.mz-module:hover .mz-module-button {\\r\\n bottom: -45px;\\r\\n opacity: 1;\\r\\n}\\r\\n.mz-module-button:hover {\\r\\n background-color: #1a1a1a;\\r\\n color: #fff;\\r\\n text-decoration: none;\\r\\n}\\r\\n.mz-module-button {\\r\\n color: #fff;\\r\\n}\\r\\n.ot-circle {\\r\\n height: 95px;\\r\\n width: 95px;\\r\\n text-align: center;\\r\\n line-height: 98px;\\r\\n color: #FFFFFF;\\r\\n margin: 0 2px 4px;\\r\\n font-size: 75px;\\r\\n transition:all .3s;\\r\\n\\r\\n}\\r\\n/*--------------------\\r\\n4.2. Featured\\r\\n--------------------*/\\r\\n.featured-item {\\r\\n margin-bottom: 30px;\\r\\n height: 50px;\\r\\n}\\r\\n.featured-icon {\\r\\n float: left;\\r\\n font-size: 22px;\\r\\n border-radius: 5px;\\r\\n width: 55px;\\r\\n height: 55px;\\r\\n background-color: #F8F8F8;\\r\\n line-height: 50px;\\r\\n text-align: center;\\r\\n}\\r\\n.featured-text {\\r\\n text-align: left;\\r\\n margin-left: 85px;\\r\\n}\\r\\n.featured-text h4 {\\r\\n color: #47474C;\\r\\n font-size: 17px;\\r\\n font-weight: 700;\\r\\n}\\r\\n.featured-text p {\\r\\n color: #747377;\\r\\n margin-top: 7px;\\r\\n font-size: 13px;\\r\\n line-height: 21px;\\r\\n font-weight: 500;\\r\\n}\\r\\n/*--------------------\\r\\n4.2. Skills\\r\\n--------------------*/\\r\\n.section-text h3 {\\r\\n margin: 0 0 30px;\\r\\n font-weight: 800;\\r\\n color: #5D5D5D;\\r\\n}\\r\\n.section-text h4 {\\r\\n margin: 0 0 20px;\\r\\n font-weight: 700;\\r\\n font-size: 17px;\\r\\n}\\r\\n.dark-bg .section-text h3 {\\r\\n color: #dfdfdf;\\r\\n}\\r\\n.dark-bg .section-text h4 {\\r\\n color: #dfdfdf;\\r\\n}\\r\\n/*--------------------\\r\\n4.3. Portfolio\\r\\n--------------------*/\\r\\nfigure {\\r\\n position: relative;\\r\\n overflow: hidden;\\r\\n margin: 0 1px 1px 0;\\r\\n background: #726FB9;\\r\\n text-align: center;\\r\\n cursor: pointer;\\r\\n}\\r\\nfigcaption {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n.ot-portfolio-item figure figcaption > a {\\r\\n z-index: 1000;\\r\\n text-indent: 200%;\\r\\n white-space: nowrap;\\r\\n font-size: 0;\\r\\n opacity: 0;\\r\\n}\\r\\n.ot-portfolio-item figure figcaption, .ot-portfolio-item figure figcaption > a {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\nfigure.effect-bubba {\\r\\n background: #000;\\r\\n margin-bottom: 1px;\\r\\n}\\r\\nfigure.effect-bubba img {\\r\\n opacity: 0.90;\\r\\n transition: opacity 0.35s;\\r\\n}\\r\\nfigure.effect-bubba:hover img {\\r\\n opacity: 0.4;\\r\\n}\\r\\nfigure.effect-bubba figcaption::before,\\r\\nfigure.effect-bubba figcaption::after {\\r\\n position: absolute;\\r\\n top: 30px;\\r\\n right: 30px;\\r\\n bottom: 30px;\\r\\n left: 30px;\\r\\n content: '';\\r\\n opacity: 0;\\r\\n transition: opacity 0.35s, -webkit-transform 0.35s;\\r\\n transition: opacity 0.35s, transform 0.35s;\\r\\n transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;\\r\\n}\\r\\nfigure.effect-bubba figcaption::before {\\r\\n border-top: 1px solid #fff;\\r\\n border-bottom: 1px solid #fff;\\r\\n -webkit-transform: scale(0,1);\\r\\n transform: scale(0,1);\\r\\n}\\r\\nfigure.effect-bubba figcaption::after {\\r\\n border-right: 1px solid #fff;\\r\\n border-left: 1px solid #fff;\\r\\n -webkit-transform: scale(1,0);\\r\\n transform: scale(1,0);\\r\\n}\\r\\nfigure.effect-bubba h2 {\\r\\n opacity: 0;\\r\\n color: #fff;\\r\\n font-size: 15px;\\r\\n font-weight: 700;\\r\\n text-transform: uppercase;\\r\\n padding-top: 30%;\\r\\n transition: -webkit-transform 0.35s;\\r\\n transition: transform 0.35s;\\r\\n transition: transform 0.35s, -webkit-transform 0.35s;\\r\\n -webkit-transform: translate3d(0,-20px,0);\\r\\n transform: translate3d(0,-20px,0);\\r\\n}\\r\\nfigure.effect-bubba p {\\r\\n color: #fff;\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n padding: 20px 2.5em;\\r\\n opacity: 0;\\r\\n transition: opacity 0.35s, -webkit-transform 0.35s;\\r\\n transition: opacity 0.35s, transform 0.35s;\\r\\n transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;\\r\\n -webkit-transform: translate3d(0,20px,0);\\r\\n transform: translate3d(0,20px,0);\\r\\n}\\r\\nfigure.effect-bubba:hover figcaption::before,\\r\\nfigure.effect-bubba:hover figcaption::after {\\r\\n opacity: 1;\\r\\n -webkit-transform: scale(1);\\r\\n transform: scale(1);\\r\\n}\\r\\nfigure.effect-bubba:hover h2,\\r\\nfigure.effect-bubba:hover p {\\r\\n opacity: 1;\\r\\n -webkit-transform: translate3d(0,0,0);\\r\\n transform: translate3d(0,0,0);\\r\\n}\\r\\n/*--------------------\\r\\n4.4. Dark Short section (counters, quote, etc)\\r\\n--------------------*/\\r\\n.light-bg {\\r\\n background-color: #f8f8f8;\\r\\n}\\r\\n.dark-bg {\\r\\n background-color: #333231;\\r\\n color: #fff;\\r\\n}\\r\\n.short-section {\\r\\n border-top: 1px solid #5D5D5F;\\r\\n border-bottom: 1px solid #5D5D5F;\\r\\n padding-top: 70px;\\r\\n padding-bottom: 70px;\\r\\n}\\r\\n.counter-item h2 {\\r\\n color: #fff;\\r\\n font-size: 60px;\\r\\n font-weight: 900;\\r\\n}\\r\\n.counter-item h6 {\\r\\n color: #FFF;\\r\\n font-size: 16px;\\r\\n font-weight: 700;\\r\\n margin: 10px 0 0 0;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n/*--------------------\\r\\n4.5. Partners Slider\\r\\n--------------------*/\\r\\n.owl-portfolio .owl-controls {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 38%;\\r\\n width: 100%;\\r\\n}\\r\\n.owl-portfolio .owl-controls .owl-nav [class*=owl-] {\\r\\n padding: 8px 17px;\\r\\n background: rgba(0, 0, 0, 0.18);\\r\\n border-radius: 0;\\r\\n margin: 0;\\r\\n font-size: 20px;\\r\\n z-index:1000;\\r\\n}\\r\\n.owl-portfolio .owl-controls .owl-nav [class*=owl-]:hover {\\r\\n background: #000;\\r\\n color: #fff;\\r\\n text-decoration: none;\\r\\n}\\r\\n.owl-portfolio .owl-controls .owl-prev {\\r\\n float: left;\\r\\n}\\r\\n.owl-portfolio .owl-controls .owl-next {\\r\\n float: right;\\r\\n}\\r\\n.owl-portfolio-item {\\r\\n text-align: center;\\r\\n display: inline-block;\\r\\n}\\r\\n.partner-logo {\\r\\n height: 80px;\\r\\n text-align: center;\\r\\n display: inline-block;\\r\\n}\\r\\n.partner-logo img {\\r\\n height: 100%;\\r\\n width: auto !important;\\r\\n}\\r\\n.owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {\\r\\n background: #FCBE03;\\r\\n}\\r\\n.owl-theme .owl-dots .owl-dot span {\\r\\n width: 30px;\\r\\n height: 5px;\\r\\n margin: 15px 7px 0 7px;\\r\\n background: #d6d6d6;\\r\\n display: block;\\r\\n -webkit-backface-visibility: visible;\\r\\n transition: opacity 200ms ease;\\r\\n border-radius: 0;\\r\\n}\\r\\n.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {\\r\\n background: #FCBE03;\\r\\n}\\r\\n/*--------------------\\r\\n4.6. Team\\r\\n--------------------*/\\r\\n.team-item {\\r\\n text-align: center;\\r\\n background-color: #fff;\\r\\n}\\r\\n.team-item h3 {\\r\\n font-size: 16px;\\r\\n font-weight: 800;\\r\\n text-transform: uppercase;\\r\\n color: #2D2D2D;\\r\\n}\\r\\n.team-item .team-position {\\r\\n color: #989898;\\r\\n font-size: 12px;\\r\\n margin: 15px 0 10px;\\r\\n text-transform: uppercase;\\r\\n font-weight: 500;\\r\\n letter-spacing: 2px;\\r\\n}\\r\\n.team-item p {\\r\\n font-size: 13px;\\r\\n font-weight: 400;\\r\\n color: #292929;\\r\\n padding: 5px 10px 20px 10px;\\r\\n}\\r\\n.team-socials {\\r\\n padding-bottom: 25px;\\r\\n}\\r\\n.team-socials a {\\r\\n color: #B2B3B7;\\r\\n font-size: 20px;\\r\\n margin: 0 10px;\\r\\n}\\r\\n.team-socials a:hover {\\r\\n color: #000;\\r\\n}\\r\\n/*--------------------\\r\\n4.7. Contacts\\r\\n--------------------*/\\r\\nsection#contact form {\\r\\n margin-top: 15px;\\r\\n}\\r\\nsection#contact.form-group {\\r\\n margin-bottom: 25px;\\r\\n}\\r\\nsection#contact .form-group input, section#contact .form-group textarea {\\r\\n padding: 15px;\\r\\n border: 1px solid #fff;\\r\\n border-radius: 0;\\r\\n box-shadow: inset 0 0px 0px rgba(0,0,0,.075);\\r\\n font-size: 13px;\\r\\n}\\r\\n.contact h3 {\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n.contact p {\\r\\n font-size: 13px;\\r\\n}\\r\\n.contact .day {\\r\\n display: inline-block;\\r\\n width: 80px;\\r\\n}\\r\\n.contact i {\\r\\n margin-right: 5px;\\r\\n}\\r\\n/*--------------------\\r\\n5. Footer\\r\\n--------------------*/\\r\\nfooter {\\r\\n padding: 30px;\\r\\n background-color: #288941;\\r\\n}\\r\\nfooter p {\\r\\n color: #fff;\\r\\n margin: 0;\\r\\n font-size: 14px;\\r\\n text-transform: uppercase;\\r\\n font-weight: bold;\\r\\n letter-spacing: 1.6px;\\r\\n}\\r\\nfooter p a {\\r\\n color: #fff;\\r\\n}\\r\\nfooter p a span {\\r\\n color: #FCBE03;\\r\\n font-size: 10px;\\r\\n letter-spacing: 1px;\\r\\n font-weight: 700;\\r\\n}\\r\\n/*--------------------\\r\\n6. Modal\\r\\n--------------------*/\\r\\n.modal-content {\\r\\n border-radius: 0;\\r\\n}\\r\\n.modal-header .close {\\r\\n font-size: 30px;\\r\\n}\\r\\n.modal-title {\\r\\n text-transform: uppercase;\\r\\n font-size: 23px;\\r\\n}\\r\\n.modal-body {\\r\\n padding: 0;\\r\\n}\\r\\n.modal-body p {\\r\\n margin: 30px 20px;\\r\\n color: #2D2D2D;\\r\\n}\\r\\n.modal-works {\\r\\n font-size: 11px;\\r\\n letter-spacing: 1px;\\r\\n text-transform: uppercase;\\r\\n font-weight: 500;\\r\\n color: #fff;\\r\\n margin: 25px 20px;\\r\\n}\\r\\n.modal-works span {\\r\\n background-color: #FED136;\\r\\n margin-right: 15px;\\r\\n padding: 5px 10px;\\r\\n}\\r\\n/*--------------------\\r\\n7. Components\\r\\n--------------------*/\\r\\n.btn-xl:hover, .btn-xl:focus, .btn-xl:active, .btn-xl.active, .open .dropdown-toggle.btn-xl {\\r\\n color: #fff;\\r\\n background-color: #dfdfdf;\\r\\n border-color: #dfdfdf;\\r\\n}\\r\\n.btn:hover, .btn:focus, .btn:active, .btn.active, .open .dropdown-toggle.btn {\\r\\n color: #000;\\r\\n background-color: #efeb46;\\r\\n border-color: #dfdfdf;\\r\\n}\\r\\n.btn {\\r\\n display: inline-block;\\r\\n padding: 8px 20px;\\r\\n margin-bottom: 0;\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n line-height: 1.42857143;\\r\\n text-align: center;\\r\\n white-space: nowrap;\\r\\n vertical-align: middle;\\r\\n touch-action: manipulation;\\r\\n cursor: pointer;\\r\\n -webkit-user-select: none;\\r\\n -moz-user-select: none;\\r\\n -ms-user-select: none;\\r\\n user-select: none;\\r\\n background-image: none;\\r\\n border: 1px solid transparent;\\r\\n border-radius: 0px;\\r\\n background-color: #fb0401;\\r\\n}\\r\\n.btn-xl {\\r\\n color: #fff;\\r\\n background-color: #FCBE03;\\r\\n /* border-color: #726FB9; */\\r\\n font-family: \\\"Open Sans\\\",sans-serif;\\r\\n text-transform: uppercase;\\r\\n font-weight: 800;\\r\\n border-radius: 0;\\r\\n letter-spacing: 2px;\\r\\n font-size: 16px;\\r\\n padding: 17px 45px;\\r\\n}\\r\\n/* Back to top button\\r\\n---------------------------------- */\\r\\n#back-top {\\r\\n position: fixed;\\r\\n z-index: 1000;\\r\\n bottom: 40px;\\r\\n right: 50px;\\r\\n}\\r\\n#back-top a {\\r\\n width: 60px;\\r\\n height: 60px;\\r\\n display: block;\\r\\n text-align: center;\\r\\n font: 11px/100% Arial, Helvetica, sans-serif;\\r\\n text-transform: uppercase;\\r\\n text-decoration: none;\\r\\n color: #FFFFFF;\\r\\n background: #fb0401;\\r\\n /* background color transition */\\r\\n transition: 1s;\\r\\n}\\r\\n#back-top a:hover {\\r\\n background: #efeb46;\\r\\n}\\r\\n/* arrow icon (span tag) */\\r\\n#back-top i {\\r\\n margin-top: 15px;\\r\\n font-size: 28px;\\r\\n}\\r\\n@media only screen\\r\\nand (min-width : 320px)\\r\\nand (max-width : 480px) {\\r\\n #back-top {\\r\\n position: fixed;\\r\\n bottom: 10px;\\r\\n right: 30px;\\r\\n }\\r\\n #back-top a {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n }\\r\\n #back-top i {\\r\\n margin-top: 7px;\\r\\n font-size: 20px;\\r\\n }\\r\\n}\\r\\n.navbar {\\r\\n min-height: 115px;\\r\\n}\\r\\n.nav.navbar-nav.navbar-right{\\r\\n padding-top: 28px;\\r\\n}\\r\\n.connect_warning {color: yellow; margin-top: 10px;}\\r\\n#about p {font-size: 14px;}\\r\\na.link_rep{color: orange!important; font-size: 16px;}\\r\\n.presentation_area { margin: 0px!important; padding: 0px!important; padding-top: 20px; margin-top: 20px; }\\r\\n.section-title {margin-top: 40px; }\\r\\n.graphs_area {margin-bottom: 20px;}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy91dGlscy9wdWJsaWMtaGVhZGVyL3B1YmxpYy1oZWFkZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBU0EsbUZBQW1GO0FBRW5GLHFGQUFxRjtBQVhyRjs7Ozs7O29FQU1vRTtBQUVwRSx3QkFBd0I7QUFFeEIsa0NBQWtDO0FBR2xDOzs7cUJBR3FCO0FBRXJCO0VBQ0UsY0FBYztBQUNoQjtBQUNBO0VBQ0UsY0FBYztBQUNoQjtBQUNBO0VBQ0UsY0FBYztBQUNoQjtBQUNBO0VBQ0UsY0FBYztBQUNoQjtBQUVBOztxQkFFcUI7QUFFckI7RUFDRSxXQUFXO0VBQ1gsb0NBQW9DO0FBQ3RDO0FBRUE7Ozs7OztFQU1FLGdCQUFnQjtFQUNoQixxQkFBcUI7RUFDckIsa0NBQWtDO0VBQ2xDLGNBQWM7QUFDaEI7QUFFQTtFQUNFLG9DQUFvQztFQUNwQyxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixxQkFBcUI7RUFDckIsY0FBYztBQUNoQjtBQUVBO0VBQ0UsY0FBYztBQUNoQjtBQUVBO0VBQ0UsY0FBYztBQUNoQjtBQUNBO0VBQ0UsVUFBVTtBQUNaO0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsZUFBZTtBQUNqQjtBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLG1CQUFtQjtBQUNyQjtBQUhBO0VBQ0UsaUJBQWlCO0VBQ2pCLG1CQUFtQjtBQUNyQjtBQUVBO0VBQ0U7SUFDRSxnQkFBZ0I7RUFDbEI7QUFDRjtBQUVBO0VBQ0UsZUFBZTtBQUNqQjtBQUVBO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQjtBQUNuQjtBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixvQ0FBb0M7RUFDcEMsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIscUJBQXFCO0VBQ3JCLGNBQWM7QUFDaEI7QUFFQTtFQUNFLHdCQUF3QjtFQUN4QixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLHFCQUFx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RUFDdEIsNkJBQTZCO0VBQzdCLGtCQUFrQjtFQUNsQix5QkFBeUI7QUFDM0I7QUFFQTtFQUNFLFdBQVc7RUFDWCx5QkFBeUI7RUFDekIsMkJBQTJCO0VBQzNCLG1DQUFtQztFQUNuQyx5QkFBeUI7RUFDekIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLGtCQUFrQjtBQUNwQjtBQUVBO29DQUNvQztBQUNwQztFQUNFLGVBQWU7RUFDZixhQUFhO0VBQ2IsWUFBWTtFQUNaLFdBQVc7QUFDYjtBQUNBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLDRDQUE0QztFQUM1Qyx5QkFBeUI7RUFDekIscUJBQXFCO0VBQ3JCLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsZ0NBQWdDO0VBR2hDLGNBQWM7QUFDaEI7QUFDQTtFQUNFLG1CQUFtQjtBQUNyQjtBQUNBLDBCQUEwQjtBQUMxQjtFQUNFLGdCQUFnQjtFQUNoQixlQUFlO0FBQ2pCO0FBRUE7OztFQUdFO0lBQ0UsZUFBZTtJQUNmLFlBQVk7SUFDWixXQUFXO0VBQ2I7RUFDQTtJQUNFLFdBQVc7SUFDWCxZQUFZO0VBQ2Q7RUFDQTtJQUNFLGVBQWU7SUFDZixlQUFlO0VBQ2pCO0FBQ0Y7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjtBQUNBO0VBQ0UsaUJBQWlCO0FBQ25CO0FBR0Esa0JBQWtCLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQztBQUNsRCxVQUFVLGVBQWUsQ0FBQztBQUcxQixXQUFXLHVCQUF1QixFQUFFLGVBQWUsQ0FBQztBQUdwRCxxQkFBcUIscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEdBQUc7QUFDMUcsZ0JBQWdCLGdCQUFnQixFQUFFO0FBQUUsY0FBYyxtQkFBbUIsQ0FBQyIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvdXRpbHMvcHVibGljLWhlYWRlci9wdWJsaWMtaGVhZGVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5Qcm9qZWN0Olx0TmFudGVzIC0gbXVsdGkgcHVycG9zZSBvbmUtcGFnZSB0ZW1wbGF0ZVxyXG5WZXJzaW9uOlx0MS4wXHJcbkxhc3QgY2hhbmdlOlx0MTgvMDIvMjAxNiBbLi4uXVxyXG5EZXNpZ25lZCBieTpcdE1PT1ogVGhlbWVzIC8gd3d3Lk1PT1p0aGVtZXMuY29tXHJcblByaW1hcnkgdXNlOlx0T25lIHBhZ2VcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4vKiBtYWluIGZvbnQgZm9yIG1lbnUuICovXHJcbkBpbXBvcnQgdXJsKGh0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJhbGV3YXk6MTAwLDMwMCw0MDAsNTAwLDcwMCw5MDApO1xyXG4vKiBmb250IGZvciBoZWFkaW5ncywgdGV4dCwgdGFncyAqL1xyXG5AaW1wb3J0IHVybChodHRwOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDQwMCw1MDAsNjAwLDcwMCw4MDApO1xyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5Db2xvciBjdXN0b21pemF0aW9uc1xyXG5jaGFuZ2UgdGhlc2UgY29sb3JzIHRvIGNoYW5nZSBvdmVybGF5c1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4ubXotbW9kdWxlOmhvdmVyIC5vdC1jaXJjbGUuY29sb3IxIHtcclxuICBjb2xvcjogI0M1NEE0QTtcclxufVxyXG4ubXotbW9kdWxlOmhvdmVyIC5vdC1jaXJjbGUuY29sb3IyIHtcclxuICBjb2xvcjogIzYwOTFEQztcclxufVxyXG4ubXotbW9kdWxlOmhvdmVyIC5vdC1jaXJjbGUuY29sb3IzIHtcclxuICBjb2xvcjogIzZFQjM3NztcclxufVxyXG4ubXotbW9kdWxlOmhvdmVyIC5vdC1jaXJjbGUuY29sb3I0IHtcclxuICBjb2xvcjogI0ZDQkUwMztcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4xLiBHZW5lcmFsXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbmJvZHkge1xyXG4gIG1hcmdpbjogMHB4O1xyXG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBTYW5zLXNlcmlmO1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjRweDtcclxuICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFNhbnMtc2VyaWY7XHJcbiAgY29sb3I6ICMyMzIzMjM7XHJcbn1cclxuXHJcbnAge1xyXG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6IDE1cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICBsaW5lLWhlaWdodDogMjNweDtcclxuICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XHJcbiAgY29sb3I6ICM0NDQ0NDQ7XHJcbn1cclxuXHJcbi5kYXJrLWJnIHAge1xyXG4gIGNvbG9yOiAjQjFCMUIxO1xyXG59XHJcblxyXG5hOmhvdmVyLCBhOmZvY3VzLCBhOmFjdGl2ZSwgYS5hY3RpdmUge1xyXG4gIGNvbG9yOiAjZmVjNTAzO1xyXG59XHJcbmEsIGE6aG92ZXIsIGE6Zm9jdXMsIGE6YWN0aXZlLCBhLmFjdGl2ZSB7XHJcbiAgb3V0bGluZTogMDtcclxufVxyXG5cclxuLmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgcGFkZGluZy1yaWdodDogMDtcclxuICBwYWRkaW5nLWxlZnQ6IDA7XHJcbn1cclxuXHJcbjo6c2VsZWN0aW9uIHtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiAjZmVkMTM2O1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICBzZWN0aW9uIHtcclxuICAgIHBhZGRpbmc6IDE1MHB4IDA7XHJcbiAgfVxyXG59XHJcblxyXG5zZWN0aW9uIHtcclxuICBwYWRkaW5nOiA3MHB4IDA7XHJcbn1cclxuXHJcbnVsIHtcclxuICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbn1cclxuXHJcbnVsIGxpIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBsaW5lLWhlaWdodDogMjNweDtcclxuICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XHJcbiAgY29sb3I6ICMwMDAwMDA7XHJcbn1cclxuXHJcbnNlY3Rpb24gdWwgbGk6YmVmb3JlIHtcclxuICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcclxuICBjb250ZW50OiBcIlxcZjEwNVwiO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDdweDtcclxuICBjb2xvcjogIzIzQUQyMTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4xLjEgUmVzZXQgYm9vdHN0cmFwXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5yb3ctMC1ndXR0ZXIge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMTNweDtcclxuICBtYXJnaW4tcmlnaHQ6IC0xM3B4O1xyXG59XHJcblxyXG4uY29sLTAtZ3V0dGVyIHtcclxuICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgcGFkZGluZy1yaWdodDogMDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4yLiBOYXZpZ2F0aW9uXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5uYXZiYXItZGVmYXVsdCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50XHJcbn1cclxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmQge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLHNhbnMtc2VyaWY7XHJcbiAgcGFkZGluZzogMHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kOmhvdmVyLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kOmFjdGl2ZSwubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZC5hY3RpdmUge1xyXG4gIGNvbG9yOiAjZmVjNTAzXHJcbn1cclxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItY29sbGFwc2Uge1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMDIpXHJcbn1cclxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMTM2O1xyXG4gIGJvcmRlci1jb2xvcjogI2ZlZDEzNlxyXG59XHJcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZcclxufVxyXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6aG92ZXIsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMTM2XHJcbn1cclxuLm5hdmJhci1kZWZhdWx0IC5uYXYgbGkgYSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsc2Fucy1zZXJpZjtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgY29sb3I6ICM0NDQ0NDg7XHJcbn1cclxuLm5hdmJhci1kZWZhdWx0IC5uYXYgbGkgYTpob3ZlciwubmF2YmFyLWRlZmF1bHQgLm5hdiBsaSBhOmZvY3VzIHtcclxuICBjb2xvcjogI2ZlZDEzNjtcclxuICBvdXRsaW5lOiAwXHJcbn1cclxuXHJcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uYWN0aXZlPmEge1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDEzNlxyXG59XHJcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uYWN0aXZlPmE6aG92ZXIsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5hY3RpdmU+YTpmb2N1cyB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlYzUwM1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDo3NjhweCkge1xyXG4gIC5uYXZiYXItZGVmYXVsdFxyXG4gIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7XHJcbiAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjpwYWRkaW5nIC4zcztcclxuICAgIC1tb3otdHJhbnNpdGlvbjpwYWRkaW5nIC4zcztcclxuICAgIHRyYW5zaXRpb246cGFkZGluZyAuM3M7XHJcbiAgICBib3JkZXI6MFxyXG4gIH1cclxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZCB7XHJcbiAgICBmb250LXNpemU6IDJlbTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOmFsbCAuM3M7XHJcbiAgICB0cmFuc2l0aW9uOmFsbCAuM3M7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgfVxyXG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uYWN0aXZlPmEge1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4XHJcbiAgfVxyXG4gIC5uYXZiYXItZGVmYXVsdC5uYXZiYXItc2hyaW5rIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzgyODI4MjtcclxuICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gIH1cclxuICAubmF2YmFyLWRlZmF1bHQubmF2YmFyLXNocmluayAubmF2YmFyLWJyYW5kIHtcclxuICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4zLiBIZWFkZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuaGVhZGVyIHtcclxuICBtYXJnaW4tdG9wOiAxMzdweDtcclxufVxyXG5cclxuLm93bC1zbGlkZXItaXRlbSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcbn1cclxuLm93bC1zbGlkZXItaXRlbSBpbWcge1xyXG4gIG9wYWNpdHk6IDAuNztcclxufVxyXG4ub3dsLXNsaWRlciAub3dsLWNvbnRyb2xzIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDM4JTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm93bC1zbGlkZXIgLm93bC1jb250cm9scyAub3dsLW5hdiBbY2xhc3MqPW93bC1dIHtcclxuICBwYWRkaW5nOiAzMHB4IDQwcHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI2KTtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBmb250LXNpemU6IDMwcHg7XHJcbiAgei1pbmRleDogMTAwMDtcclxufVxyXG5cclxuLm93bC1zbGlkZXIgLm93bC1jb250cm9scyAub3dsLW5hdiBbY2xhc3MqPW93bC1dOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLm93bC1zbGlkZXIgLm93bC1jb250cm9scyAub3dsLXByZXYge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4ub3dsLXNsaWRlciAub3dsLWNvbnRyb2xzIC5vd2wtbmV4dCB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4uaW50cm8tdGV4dCB7XHJcbiAgcGFkZGluZy10b3A6IDEwMHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICBsZWZ0OiA1MCU7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIC5pbnRyby10ZXh0IHtcclxuICAgIHBhZGRpbmctdG9wOiAyMzBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA0MDBweDtcclxuICB9XHJcbn1cclxuXHJcbi5pbnRyby10ZXh0IC5pbnRyby1sZWFkLWluIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICBwYWRkaW5nOiA0cHggMjBweDtcclxuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIixzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMTlweDtcclxuICBjb2xvcjogI2ZmZjtcclxuICBmb250LXdlaWdodDogMTAwO1xyXG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAuaW50cm8tdGV4dCAuaW50cm8tbGVhZC1pbiB7XHJcbiAgICBmb250LXNpemU6IDUwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4uaW50cm8tdGV4dCAuaW50cm8taGVhZGluZyB7XHJcbiAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICBmb250LXNpemU6IDQwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICBsZXR0ZXItc3BhY2luZzogLTNweDtcclxuICB3b3JkLXNwYWNpbmc6IDEwcHg7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYigwLCAwLCAwKTtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgLmludHJvLXRleHQgLmludHJvLWhlYWRpbmcge1xyXG4gICAgbGluZS1oZWlnaHQ6IDk1cHg7XHJcbiAgICBmb250LXNpemU6IDc3cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG40LiBTZWN0aW9uc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uc2VjdGlvbi10aXRsZSBoMiB7XHJcbiAgZm9udC1zaXplOiA1MHB4O1xyXG4gIGNvbG9yOiAjMzMzMzMzO1xyXG4gIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjZweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAwIDAgNTBweCAwO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uc2VjdGlvbi10aXRsZSBoMjphZnRlciB7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgd2lkdGg6IDYwcHg7XHJcbiAgaGVpZ2h0OiAzcHg7XHJcbiAgY29udGVudDogXCIgXCI7XHJcbiAgYm90dG9tOiAtNXB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAtMzBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJhY2tncm91bmQ6ICNlZWVhNDY7XHJcbn1cclxuXHJcbi5kYXJrLWJnIC5zZWN0aW9uLXRpdGxlIGgyIHtcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuXHJcbi5zZWN0aW9uLXRpdGxlIHAge1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAzMXB4O1xyXG4gIG1hcmdpbjogMjBweCAxMDBweCA2MHB4IDEwMHB4O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjQuMS4gQ1RBIHNlY3RvaW5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnNlY3Rpb24tY3RhIHtcclxuICBwYWRkaW5nOiA0MHB4IDA7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjojMjg4OTQxO1xyXG59XHJcblxyXG4uc2VjdGlvbi1jdGEgaDIge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtc2l6ZTogMjNweDtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIG1hcmdpbjogMCAwIDIwcHg7XHJcbn1cclxuXHJcbi5idXR0b24tY3RhIHtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xyXG4gIHBhZGRpbmc6IDEwcHggNTBweDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICBjb2xvcjogI2ZmZjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlOyAvKiBTYWZhcmkgYW5kIENocm9tZSAqL1xyXG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlOyAvKiBGaXJlZm94ICovXHJcbiAgLW8tdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlOyAvKiBJRSA5ICovXHJcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTsgLyogT3BlcmEgKi9cclxuICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XHJcblxyXG59XHJcbi5idXR0b24tY3RhOmhvdmVyIHtcclxuICBjb2xvcjogIzAwMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG40LjEuIEFib3V0XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5tei1tb2R1bGUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG4ubXotbW9kdWxlLWFib3V0IHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjRTZFNkVBO1xyXG4gIG1pbi1oZWlnaHQ6IDI4MHB4O1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VGRUZGMTtcclxufVxyXG5cclxuLm16LW1vZHVsZS1hYm91dCBoMyB7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBmb250LXNpemU6IDE5cHg7XHJcbiAgLyogdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgKi9cclxuICBjb2xvcjogIzQyNDI0MjtcclxuICAvKiBsZXR0ZXItc3BhY2luZzogMnB4OyAqL1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5kYXJrLWJnIC5tei1tb2R1bGUtYWJvdXQgaDMge1xyXG4gIGNvbG9yOiAjRkZGRkZGO1xyXG59XHJcblxyXG4ubXotbW9kdWxlLWFib3V0IHAge1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gIGNvbG9yOiAjODQ4NDg0O1xyXG59XHJcbi5tei1tb2R1bGUtYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjZCNkMzO1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAwcHg7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzO1xyXG4gIC1tb3otdHJhbnNpdGlvbjphbGwgLjNzO1xyXG4gIHRyYW5zaXRpb246YWxsIC4zcztcclxufVxyXG4ubXotbW9kdWxlOmhvdmVyIC5tei1tb2R1bGUtYnV0dG9uIHtcclxuICBib3R0b206IC00NXB4O1xyXG4gIG9wYWNpdHk6IDE7XHJcbn1cclxuLm16LW1vZHVsZS1idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4ubXotbW9kdWxlLWJ1dHRvbiB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5vdC1jaXJjbGUge1xyXG4gIGhlaWdodDogOTVweDtcclxuICB3aWR0aDogOTVweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6IDk4cHg7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgbWFyZ2luOiAwIDJweCA0cHg7XHJcbiAgZm9udC1zaXplOiA3NXB4O1xyXG5cclxuICAtd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcztcclxuICAtbW96LXRyYW5zaXRpb246YWxsIC4zcztcclxuICB0cmFuc2l0aW9uOmFsbCAuM3M7XHJcblxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjQuMi4gRmVhdHVyZWRcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLmZlYXR1cmVkLWl0ZW0ge1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgaGVpZ2h0OiA1MHB4O1xyXG59XHJcblxyXG4uZmVhdHVyZWQtaWNvbiB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgZm9udC1zaXplOiAyMnB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICB3aWR0aDogNTVweDtcclxuICBoZWlnaHQ6IDU1cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcclxuICBsaW5lLWhlaWdodDogNTBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLmZlYXR1cmVkLXRleHQge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgbWFyZ2luLWxlZnQ6IDg1cHg7XHJcbn1cclxuLmZlYXR1cmVkLXRleHQgaDQge1xyXG4gIGNvbG9yOiAjNDc0NzRDO1xyXG4gIGZvbnQtc2l6ZTogMTdweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcbi5mZWF0dXJlZC10ZXh0IHAge1xyXG4gIGNvbG9yOiAjNzQ3Mzc3O1xyXG4gIG1hcmdpbi10b3A6IDdweDtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG40LjIuIFNraWxsc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uc2VjdGlvbi10ZXh0IGgzIHtcclxuICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgY29sb3I6ICM1RDVENUQ7XHJcbn1cclxuXHJcbi5zZWN0aW9uLXRleHQgaDQge1xyXG4gIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBmb250LXNpemU6IDE3cHg7XHJcbn1cclxuXHJcbi5kYXJrLWJnIC5zZWN0aW9uLXRleHQgaDMge1xyXG4gIGNvbG9yOiAjZGZkZmRmO1xyXG59XHJcblxyXG4uZGFyay1iZyAuc2VjdGlvbi10ZXh0IGg0IHtcclxuICBjb2xvcjogI2RmZGZkZjtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG40LjMuIFBvcnRmb2xpb1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5maWd1cmUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIG1hcmdpbjogMCAxcHggMXB4IDA7XHJcbiAgYmFja2dyb3VuZDogIzcyNkZCOTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5maWdjYXB0aW9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4ub3QtcG9ydGZvbGlvLWl0ZW0gZmlndXJlIGZpZ2NhcHRpb24gPiBhIHtcclxuICB6LWluZGV4OiAxMDAwO1xyXG4gIHRleHQtaW5kZW50OiAyMDAlO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgZm9udC1zaXplOiAwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuLm90LXBvcnRmb2xpby1pdGVtIGZpZ3VyZSBmaWdjYXB0aW9uLCAub3QtcG9ydGZvbGlvLWl0ZW0gZmlndXJlIGZpZ2NhcHRpb24gPiBhIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG5maWd1cmUuZWZmZWN0LWJ1YmJhIHtcclxuICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDFweDtcclxufVxyXG5cclxuZmlndXJlLmVmZmVjdC1idWJiYSBpbWcge1xyXG4gIG9wYWNpdHk6IDAuOTA7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXM7XHJcbn1cclxuXHJcbmZpZ3VyZS5lZmZlY3QtYnViYmE6aG92ZXIgaW1nIHtcclxuICBvcGFjaXR5OiAwLjQ7XHJcbn1cclxuXHJcbmZpZ3VyZS5lZmZlY3QtYnViYmEgZmlnY2FwdGlvbjo6YmVmb3JlLFxyXG5maWd1cmUuZWZmZWN0LWJ1YmJhIGZpZ2NhcHRpb246OmFmdGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAzMHB4O1xyXG4gIHJpZ2h0OiAzMHB4O1xyXG4gIGJvdHRvbTogMzBweDtcclxuICBsZWZ0OiAzMHB4O1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjM1cztcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCB0cmFuc2Zvcm0gMC4zNXM7XHJcbn1cclxuXHJcbmZpZ3VyZS5lZmZlY3QtYnViYmEgZmlnY2FwdGlvbjo6YmVmb3JlIHtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCwxKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDAsMSk7XHJcbn1cclxuXHJcbmZpZ3VyZS5lZmZlY3QtYnViYmEgZmlnY2FwdGlvbjo6YWZ0ZXIge1xyXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7XHJcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLDApO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMSwwKTtcclxufVxyXG5cclxuZmlndXJlLmVmZmVjdC1idWJiYSBoMiB7XHJcbiAgb3BhY2l0eTogMDtcclxuICBjb2xvcjogI2ZmZjtcclxuICBmb250LXNpemU6IDE1cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIHBhZGRpbmctdG9wOiAzMCU7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjM1cztcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXM7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTIwcHgsMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC0yMHB4LDApO1xyXG59XHJcblxyXG5maWd1cmUuZWZmZWN0LWJ1YmJhIHAge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIHBhZGRpbmc6IDIwcHggMi41ZW07XHJcbiAgb3BhY2l0eTogMDtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIHRyYW5zZm9ybSAwLjM1cztcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwyMHB4LDApO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwyMHB4LDApO1xyXG59XHJcblxyXG5maWd1cmUuZWZmZWN0LWJ1YmJhOmhvdmVyIGZpZ2NhcHRpb246OmJlZm9yZSxcclxuZmlndXJlLmVmZmVjdC1idWJiYTpob3ZlciBmaWdjYXB0aW9uOjphZnRlciB7XHJcbiAgb3BhY2l0eTogMTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxufVxyXG5cclxuZmlndXJlLmVmZmVjdC1idWJiYTpob3ZlciBoMixcclxuZmlndXJlLmVmZmVjdC1idWJiYTpob3ZlciBwIHtcclxuICBvcGFjaXR5OiAxO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuNC40LiBEYXJrIFNob3J0IHNlY3Rpb24gKGNvdW50ZXJzLCBxdW90ZSwgZXRjKVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4ubGlnaHQtYmcge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XHJcbn1cclxuXHJcbi5kYXJrLWJnIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMjMxO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uc2hvcnQtc2VjdGlvbiB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1RDVENUY7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1RDVENUY7XHJcbiAgcGFkZGluZy10b3A6IDcwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDcwcHg7XHJcbn1cclxuXHJcbi5jb3VudGVyLWl0ZW0gaDIge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtc2l6ZTogNjBweDtcclxuICBmb250LXdlaWdodDogOTAwO1xyXG59XHJcblxyXG4uY291bnRlci1pdGVtIGg2IHtcclxuICBjb2xvcjogI0ZGRjtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBtYXJnaW46IDEwcHggMCAwIDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG40LjUuIFBhcnRuZXJzIFNsaWRlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4ub3dsLXBvcnRmb2xpbyAub3dsLWNvbnRyb2xzIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDM4JTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm93bC1wb3J0Zm9saW8gLm93bC1jb250cm9scyAub3dsLW5hdiBbY2xhc3MqPW93bC1dIHtcclxuICBwYWRkaW5nOiA4cHggMTdweDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTgpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICB6LWluZGV4OjEwMDA7XHJcbn1cclxuXHJcbi5vd2wtcG9ydGZvbGlvIC5vd2wtY29udHJvbHMgLm93bC1uYXYgW2NsYXNzKj1vd2wtXTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogIzAwMDtcclxuICBjb2xvcjogI2ZmZjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5vd2wtcG9ydGZvbGlvIC5vd2wtY29udHJvbHMgLm93bC1wcmV2IHtcclxuICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLm93bC1wb3J0Zm9saW8gLm93bC1jb250cm9scyAub3dsLW5leHQge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLm93bC1wb3J0Zm9saW8taXRlbSB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLnBhcnRuZXItbG9nbyB7XHJcbiAgaGVpZ2h0OiA4MHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5wYXJ0bmVyLWxvZ28gaW1nIHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxufVxyXG5cclxuLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSBzcGFuLCAub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciBzcGFuIHtcclxuICBiYWNrZ3JvdW5kOiAjRkNCRTAzO1xyXG59XHJcblxyXG4ub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdCBzcGFuIHtcclxuICB3aWR0aDogMzBweDtcclxuICBoZWlnaHQ6IDVweDtcclxuICBtYXJnaW46IDE1cHggN3B4IDAgN3B4O1xyXG4gIGJhY2tncm91bmQ6ICNkNmQ2ZDY7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xyXG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xyXG4gIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2U7XHJcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZTtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbi5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSBzcGFuLCAub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciBzcGFuIHtcclxuICBiYWNrZ3JvdW5kOiAjRkNCRTAzO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjQuNi4gVGVhbVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udGVhbS1pdGVtIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnRlYW0taXRlbSBoMyB7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBjb2xvcjogIzJEMkQyRDtcclxufVxyXG5cclxuLnRlYW0taXRlbSAudGVhbS1wb3NpdGlvbiB7XHJcbiAgY29sb3I6ICM5ODk4OTg7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIG1hcmdpbjogMTVweCAwIDEwcHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbn1cclxuXHJcbi50ZWFtLWl0ZW0gcCB7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY29sb3I6ICMyOTI5Mjk7XHJcbiAgcGFkZGluZzogNXB4IDEwcHggMjBweCAxMHB4O1xyXG59XHJcblxyXG4udGVhbS1zb2NpYWxzIHtcclxuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLnRlYW0tc29jaWFscyBhIHtcclxuICBjb2xvcjogI0IyQjNCNztcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbWFyZ2luOiAwIDEwcHg7XHJcbn1cclxuXHJcbi50ZWFtLXNvY2lhbHMgYTpob3ZlciB7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuNC43LiBDb250YWN0c1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5zZWN0aW9uI2NvbnRhY3QgZm9ybSB7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxufVxyXG5zZWN0aW9uI2NvbnRhY3QuZm9ybS1ncm91cCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuc2VjdGlvbiNjb250YWN0IC5mb3JtLWdyb3VwIGlucHV0LCBzZWN0aW9uI2NvbnRhY3QgLmZvcm0tZ3JvdXAgdGV4dGFyZWEge1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSk7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwcHggMHB4IHJnYmEoMCwwLDAsLjA3NSk7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblxyXG4uY29udGFjdCBoMyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLmNvbnRhY3QgcCB7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblxyXG4uY29udGFjdCAuZGF5IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDgwcHg7XHJcbn1cclxuXHJcbi5jb250YWN0IGkge1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjUuIEZvb3RlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5mb290ZXIge1xyXG4gIHBhZGRpbmc6IDMwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4ODk0MTtcclxufVxyXG5cclxuZm9vdGVyIHAge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIG1hcmdpbjogMDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBsZXR0ZXItc3BhY2luZzogMS42cHg7XHJcbn1cclxuXHJcbmZvb3RlciBwIGEge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG5mb290ZXIgcCBhIHNwYW4ge1xyXG4gIGNvbG9yOiAjRkNCRTAzO1xyXG4gIGZvbnQtc2l6ZTogMTBweDtcclxuICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuNi4gTW9kYWxcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xyXG4gIGZvbnQtc2l6ZTogMzBweDtcclxufVxyXG4ubW9kYWwtdGl0bGUge1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgZm9udC1zaXplOiAyM3B4O1xyXG59XHJcblxyXG4ubW9kYWwtYm9keSB7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLm1vZGFsLWJvZHkgcCB7XHJcbiAgbWFyZ2luOiAzMHB4IDIwcHg7XHJcbiAgY29sb3I6ICMyRDJEMkQ7XHJcbn1cclxuXHJcbi5tb2RhbC13b3JrcyB7XHJcbiAgZm9udC1zaXplOiAxMXB4O1xyXG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIG1hcmdpbjogMjVweCAyMHB4O1xyXG59XHJcblxyXG4ubW9kYWwtd29ya3Mgc3BhbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDEzNjtcclxuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgcGFkZGluZzogNXB4IDEwcHg7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuNy4gQ29tcG9uZW50c1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uYnRuLXhsOmhvdmVyLCAuYnRuLXhsOmZvY3VzLCAuYnRuLXhsOmFjdGl2ZSwgLmJ0bi14bC5hY3RpdmUsIC5vcGVuIC5kcm9wZG93bi10b2dnbGUuYnRuLXhsIHtcclxuICBjb2xvcjogI2ZmZjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xyXG4gIGJvcmRlci1jb2xvcjogI2RmZGZkZjtcclxufVxyXG5cclxuLmJ0bjpob3ZlciwgLmJ0bjpmb2N1cywgLmJ0bjphY3RpdmUsIC5idG4uYWN0aXZlLCAub3BlbiAuZHJvcGRvd24tdG9nZ2xlLmJ0biB7XHJcbiAgY29sb3I6ICMwMDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWI0NjtcclxuICBib3JkZXItY29sb3I6ICNkZmRmZGY7XHJcbn1cclxuXHJcbi5idG4ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nOiA4cHggMjBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xyXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmYjA0MDE7XHJcbn1cclxuXHJcbi5idG4teGwge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGQ0JFMDM7XHJcbiAgLyogYm9yZGVyLWNvbG9yOiAjNzI2RkI5OyAqL1xyXG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLHNhbnMtc2VyaWY7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXdlaWdodDogODAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgcGFkZGluZzogMTdweCA0NXB4O1xyXG59XHJcblxyXG4vKiBCYWNrIHRvIHRvcCBidXR0b25cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4jYmFjay10b3Age1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB6LWluZGV4OiAxMDAwO1xyXG4gIGJvdHRvbTogNDBweDtcclxuICByaWdodDogNTBweDtcclxufVxyXG4jYmFjay10b3AgYSB7XHJcbiAgd2lkdGg6IDYwcHg7XHJcbiAgaGVpZ2h0OiA2MHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250OiAxMXB4LzEwMCUgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICBiYWNrZ3JvdW5kOiAjZmIwNDAxO1xyXG4gIC8qIGJhY2tncm91bmQgY29sb3IgdHJhbnNpdGlvbiAqL1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMXM7XHJcbiAgLW1vei10cmFuc2l0aW9uOiAxcztcclxuICB0cmFuc2l0aW9uOiAxcztcclxufVxyXG4jYmFjay10b3AgYTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogI2VmZWI0NjtcclxufVxyXG4vKiBhcnJvdyBpY29uIChzcGFuIHRhZykgKi9cclxuI2JhY2stdG9wIGkge1xyXG4gIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW5cclxuYW5kIChtaW4td2lkdGggOiAzMjBweClcclxuYW5kIChtYXgtd2lkdGggOiA0ODBweCkge1xyXG4gICNiYWNrLXRvcCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBib3R0b206IDEwcHg7XHJcbiAgICByaWdodDogMzBweDtcclxuICB9XHJcbiAgI2JhY2stdG9wIGEge1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgfVxyXG4gICNiYWNrLXRvcCBpIHtcclxuICAgIG1hcmdpbi10b3A6IDdweDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICB9XHJcbn1cclxuXHJcbi5uYXZiYXIge1xyXG4gIG1pbi1oZWlnaHQ6IDExNXB4O1xyXG59XHJcbi5uYXYubmF2YmFyLW5hdi5uYXZiYXItcmlnaHR7XHJcbiAgcGFkZGluZy10b3A6IDI4cHg7XHJcbn1cclxuXHJcblxyXG4uY29ubmVjdF93YXJuaW5nIHtjb2xvcjogeWVsbG93OyBtYXJnaW4tdG9wOiAxMHB4O31cclxuI2Fib3V0IHAge2ZvbnQtc2l6ZTogMTRweDt9XHJcblxyXG5cclxuYS5saW5rX3JlcHtjb2xvcjogb3JhbmdlIWltcG9ydGFudDsgZm9udC1zaXplOiAxNnB4O31cclxuXHJcblxyXG4ucHJlc2VudGF0aW9uX2FyZWEgeyBtYXJnaW46IDBweCFpbXBvcnRhbnQ7IHBhZGRpbmc6IDBweCFpbXBvcnRhbnQ7IHBhZGRpbmctdG9wOiAyMHB4OyBtYXJnaW4tdG9wOiAyMHB4OyAgfVxyXG4uc2VjdGlvbi10aXRsZSB7bWFyZ2luLXRvcDogNDBweDsgfSAuZ3JhcGhzX2FyZWEge21hcmdpbi1ib3R0b206IDIwcHg7fVxyXG4iXX0= */\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Le SIDoFFE-NG, est une application web dynamique pour la collecte, le traitement et la diffusion des données statistiques de l’action sociale.

\\r\\n
\\r\\n
\\r\\n Se connecter\\r\\n
*Uniquement pour les utilisateurs
du secteur des affaires sociales
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, Input, Output, EventEmitter, OnInit, OnChanges} from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport {ConstantsService} from \"../../../shared/services/general/constants.service\";\r\n\r\n\r\n@Component({\r\n selector: 'public-header',\r\n templateUrl: './public-header.component.html',\r\n styleUrls: ['./public-header.component.css']\r\n})\r\n\r\nexport class PublicHeaderComponent implements OnInit{\r\n\r\n\r\n public constructor(\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(): void{\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dHMvYWRtaW4tbGF5b3V0L2FkbWluLWxheW91dC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { Location, LocationStrategy, PathLocationStrategy, PopStateEvent } from '@angular/common';\r\n//import 'rxjs/add/operator/filter';\r\nimport { NavbarComponent } from '../../components/navbar/navbar.component';\r\nimport { Router, NavigationEnd, NavigationStart } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-admin-layout',\r\n templateUrl: './admin-layout.component.html',\r\n styleUrls: ['./admin-layout.component.scss']\r\n})\r\nexport class AdminLayoutComponent implements OnInit {\r\n\r\n\r\n constructor( public location: Location, private router: Router) {}\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.runOnRouteChange();\r\n }\r\n\r\n runOnRouteChange(): void {\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dHMvcHVibGljLWxheW91dC9wdWJsaWMtbGF5b3V0LmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { Location, LocationStrategy, PathLocationStrategy, PopStateEvent } from '@angular/common';\r\n//import 'rxjs/add/operator/filter';\r\nimport { NavbarComponent } from '../../components/navbar/navbar.component';\r\nimport { Router, NavigationEnd, NavigationStart } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-public-layout',\r\n templateUrl: './public-layout.component.html',\r\n styleUrls: ['./public-layout.component.scss']\r\n})\r\nexport class PublicLayoutComponent implements OnInit {\r\n\r\n\r\n constructor( public location: Location, private router: Router) {}\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.runOnRouteChange();\r\n }\r\n\r\n runOnRouteChange(): void {\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","import {\r\n Directive,\r\n Input,\r\n OnInit,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport {LocalStorageService} from \"../services/app/localstorage.service\";\r\nimport {utilisateur} from \"../model/utilisateur\";\r\n\r\n\r\n@Directive({ selector: '[hasRight]' })\r\nexport class HasRightDirective implements OnInit {\r\n\r\n constructor(\r\n private templateRef: TemplateRef,\r\n private localStorage: LocalStorageService,\r\n private viewContainer: ViewContainerRef\r\n ) {}\r\n\r\n right: string;\r\n connUser: utilisateur;\r\n private rightsList: [];\r\n\r\n @Input() set hasRight(right: string) {\r\n this.right = right;\r\n }\r\n\r\n ngOnInit() {\r\n //get rights\r\n this.connUser = this.localStorage.getUser();\r\n this.rightsList = this.connUser.autorisations;\r\n\r\n if(this.right === undefined) { this.right = \"\"; }\r\n\r\n //check list of rights\r\n if(this.rightsList === undefined || this.rightsList === null){//no right found\r\n this.viewContainer.clear(); return;\r\n }\r\n\r\n //filter concerned right\r\n let searchedRight: any[] = this.rightsList.filter( (x: any) => (x.droit_code.toLowerCase().trim()) === (this.right.toLowerCase().trim()));\r\n\r\n if(searchedRight.length === 0){//no right found\r\n this.viewContainer.clear();\r\n }else{\r\n if(searchedRight[0].est_actif === true){ //has right\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n }else{\r\n this.viewContainer.clear(); //right disabled\r\n }\r\n }\r\n }//end init\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[myNumberOnly]'\r\n})\r\nexport class NumberOnlyDirective {\r\n // Allow decimal numbers and negative values\r\n private regex: RegExp = new RegExp(/^-?[0-9]+(\\.[0-9]*){0,1}$/g);\r\n // Allow key codes for special events. Reflect :\r\n // Backspace, tab, end, home\r\n private specialKeys: Array = [ 'Backspace', 'Tab', 'End', 'Home' ];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n @HostListener('keydown', [ '$event' ])\r\n onKeyDown(event: KeyboardEvent) {\r\n\r\n // Allow Backspace, tab, end, and home keys\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n let current: string = this.el.nativeElement.value;\r\n let next: string = current.concat(event.key);\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","\r\nimport {structure} from \"./structure\";\r\nimport {utilisateur} from \"./utilisateur\";\r\nimport {type_donnee_collectee} from \"./type_donnee_collectee\";\r\nimport {FS_PSSN_Detail} from \"./FS_PSSN_Detail\";\r\nimport {FS_PE_Detail} from \"./FS_PE_Detail\";\r\nimport {localisation} from \"./localisation\";\r\nimport {FS_PF_FG_Detail} from \"./FS_PF_FG_Detail\";\r\n\r\n\r\nexport class FS_PE {\r\n\r\n public id: number;\r\n public numero: string;\r\n public date_saisie: Date;\r\n\r\n public localisation: localisation;\r\n public localisation_id: number;\r\n\r\n public structure: structure;\r\n public structure_id: number;\r\n\r\n public statut_fiche_id: number;\r\n public statut_fiche_name: string;\r\n\r\n public date_debut_periode: Date;\r\n public date_fin_periode: Date;\r\n\r\n public utilisateur: utilisateur;\r\n public utilisateur_id: number;\r\n\r\n public service: string;\r\n\r\n public ou: string;\r\n public qui: string;\r\n public quand: string;\r\n\r\n public motif_rejet: string;\r\n\r\n\r\n public login: string;\r\n\r\n public type_donnee_collectee: type_donnee_collectee;\r\n\r\n //details\r\n public FS_PE_Detail: FS_PE_Detail[];\r\n\r\n public is_checked: any;\r\n\r\n\r\n private errorMessage: string;\r\n\r\n constructor(){\r\n this.errorMessage = \"\";\r\n }\r\n\r\n //get error message\r\n getErrorMessage(): string {\r\n return this.errorMessage;\r\n }//end getErrorMessage\r\n\r\n\r\n //check for save\r\n canSave(): boolean {\r\n\r\n // if(this.localisation === undefined || this.localisation === null ){\r\n // this.errorMessage = \"Veuillez sélectionner l'arrondissement\"; return false;\r\n // }\r\n // if(this.structure === undefined || this.structure === null ){\r\n // this.errorMessage = \"Veuillez sélectionner la structure\"; return false;\r\n // }\r\n // if(this.Service === undefined || this.Service === null || (new String(this.Service)).trim() === \"\"){\r\n // this.errorMessage = \"Service manquant\"; return false;\r\n // }\r\n\r\n if(this.date_debut_periode === undefined || this.date_debut_periode === null ){\r\n this.errorMessage = \"Veuillez renseigner la date de début\"; return false;\r\n }\r\n if(this.date_fin_periode === undefined || this.date_fin_periode === null ){\r\n this.errorMessage = \"Veuillez renseigner la date de fin\"; return false;\r\n }\r\n //valid dates (anteriorite)\r\n if(this.date_debut_periode > this.date_fin_periode ){\r\n this.errorMessage = \"La date de fin ne peut être antérieure à la date de début\"; return false;\r\n }\r\n\r\n //mettre heure et minutes à zero chaque fois\r\n this.date_debut_periode.setHours(2); this.date_debut_periode.setMinutes(0);\r\n this.date_fin_periode.setHours(23); this.date_fin_periode.setMinutes(59);\r\n\r\n //duree entre les dates\r\n let diff: number = (this.date_fin_periode.getTime() - this.date_debut_periode.getTime());\r\n let diffDays = (diff / (1000 * 3600 * 24));\r\n if( (diffDays < 27) || (diffDays > 31) ){\r\n this.errorMessage = \"La période de collecte définie ne correspond pas à un début ou à une fin de mois. Veuillez corriger svp!\"; return false;\r\n }\r\n\r\n //le premier jour doit etre un 1\r\n if(this.date_debut_periode.getDate() !== 1){\r\n this.errorMessage = \"La date de début de la collecte n'est pas correcte. Veuillez corriger svp!\"; return false;\r\n }\r\n\r\n //type de donnees\r\n if(this.type_donnee_collectee === undefined || this.type_donnee_collectee === null ){\r\n this.errorMessage = \"Veuillez sélectionner le type de données collecté\"; return false;\r\n }\r\n\r\n //controle sur les items de details\r\n for(let i: number = 0; i < this.FS_PE_Detail.length; i++){\r\n let line: FS_PE_Detail = this.FS_PE_Detail[i];\r\n\r\n let isNotEmpty: boolean = line.isNotEmpty();\r\n let isHandicapValid: boolean = line.isHandicapValid();\r\n let isTotalValid: boolean = line.isTotalValid();\r\n let isValid: boolean = line.isValid();\r\n\r\n let allStatus = !isNotEmpty || !isHandicapValid || !isTotalValid || !isValid ;\r\n\r\n if(allStatus){\r\n this.errorMessage = line.getErrorMessage() + \" // \" + line.donnee_collectee.designation ;\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }//end canSave\r\n\r\n\r\n //check for save\r\n canSaveOnEdit(): boolean {\r\n\r\n if(this.date_debut_periode === undefined || this.date_debut_periode === null ){\r\n this.errorMessage = \"Date de début manquante\"; return false;\r\n }\r\n if(this.date_fin_periode === undefined || this.date_fin_periode === null ){\r\n this.errorMessage = \"Date de fin manquante\"; return false;\r\n }\r\n //valid dates (anteriorite)\r\n if(this.date_debut_periode > this.date_fin_periode ){\r\n this.errorMessage = \"La date de fin ne peut être antérieure à la date de début\"; return false;\r\n }\r\n\r\n //mettre heure et minutes à zero chaque fois\r\n this.date_debut_periode.setHours(2); this.date_debut_periode.setMinutes(0);\r\n this.date_fin_periode.setHours(23); this.date_fin_periode.setMinutes(59);\r\n\r\n //duree entre les dates\r\n let diff: number = (this.date_fin_periode.getTime() - this.date_debut_periode.getTime());\r\n let diffDays = (diff / (1000 * 3600 * 24));\r\n if( (diffDays < 27) || (diffDays > 31) ){\r\n this.errorMessage = \"La période de collecte définie ne correspond pas à un début ou à une fin de mois. Veuillez corriger svp!\"; return false;\r\n }\r\n\r\n //le premier jour doit etre un 1\r\n if(this.date_debut_periode.getDate() !== 1){\r\n this.errorMessage = \"La date de début de la collecte n'est pas correcte. Veuillez corriger svp!\"; return false;\r\n }\r\n\r\n //type de donnees\r\n if(this.type_donnee_collectee === undefined || this.type_donnee_collectee === null ){\r\n this.errorMessage = \"Veuillez sélectionner le type de données collecté\"; return false;\r\n }\r\n\r\n //controle sur les items de details\r\n for(let i: number = 0; i < this.FS_PE_Detail.length; i++){\r\n\r\n let line: FS_PE_Detail = FS_PE_Detail.recreateFicheFsPeDetails(this.FS_PE_Detail[i]) ;\r\n\r\n let isNotEmpty: boolean = line.isNotEmpty();\r\n let isHandicapValid: boolean = line.isHandicapValid();\r\n let isTotalValid: boolean = line.isTotalValid();\r\n let isValid: boolean = line.isValid();\r\n\r\n let allStatus = !isNotEmpty || !isHandicapValid || !isTotalValid || !isValid ;\r\n\r\n if(allStatus){\r\n this.errorMessage = line.getErrorMessage() + \" // \" + line.donnee_collectee.designation ;\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }//end canSaveOnEdit\r\n\r\n //check if can ask for validation\r\n canAskForValidation(): boolean {\r\n\r\n //type de donnees\r\n if(this.id === undefined || this.id === null ){\r\n this.errorMessage = \"Veuillez enregistrer au moins une donnée de collecte avant de la faire valider\"; return false;\r\n }\r\n\r\n return true;\r\n }//end canAskForValidation\r\n\r\n\r\n}\r\n","import {donnee_collectee} from \"./donnee_collectee\";\r\nimport {ConstantsService} from \"../services/general/constants.service\";\r\n\r\n\r\nexport class FS_PE_Detail {\r\n\r\n public id: number;\r\n public fs_pe_id: number;\r\n public donnees_collectees_id: number;\r\n public donnee_collectee: donnee_collectee;\r\n\r\n public Sexe_H: number;\r\n public Sexe_F: number;\r\n\r\n public TA_0_4: number;\r\n public TA_5_9: number;\r\n public TA_10_14: number;\r\n public TA_15_17: number;\r\n public TA_15_24: number;\r\n \r\n public HMI: number;\r\n public HMS: number;\r\n public HA: number;\r\n public HV: number;\r\n public HM: number;\r\n public AFH: number;\r\n \r\n\r\n public Total: number;\r\n\r\n public Handicap: number;\r\n\r\n public ou: string;\r\n public qui: string;\r\n public quand: string;\r\n\r\n //validation fields\r\n private errorMessage: string;\r\n\r\n constructor(){\r\n this.errorMessage = \"\";\r\n }\r\n\r\n //get error message\r\n getErrorMessage(): string {\r\n return this.errorMessage;\r\n }//end getErrorMessage\r\n\r\n\r\n //check if is not empty\r\n isNotEmpty(): boolean {\r\n let statusNotEmpty: boolean = false;\r\n\r\n statusNotEmpty =\r\n (this.Sexe_H !== undefined && this.Sexe_H !== null) && (this.Sexe_F !== undefined && this.Sexe_F !== null)\r\n && (\r\n //condition on group 1 of ages\r\n ( (this.TA_0_4 !== undefined && this.TA_0_4 !== null) && (this.TA_5_9 !== undefined && this.TA_5_9 !== null) && (this.TA_10_14 !== undefined && this.TA_10_14 !== null) && (this.TA_15_17 !== undefined && this.TA_15_17 !== null) )\r\n\r\n ||\r\n\r\n //conditions of group 2 of ages\r\n ( (this.TA_0_4 !== undefined && this.TA_0_4 !== null) && (this.TA_5_9 !== undefined && this.TA_5_9 !== null) && (this.TA_10_14 !== undefined && this.TA_10_14 !== null) && (this.TA_15_24 !== undefined && this.TA_15_24 !== null) )\r\n );\r\n\r\n //handicap\r\n\t if( this.donnee_collectee.designation !== ConstantsService.DESIGNATION_INDICATEUR_PE_1 && this.donnee_collectee.designation !== ConstantsService.DESIGNATION_INDICATEUR_PE_2 ){\r\n\t\t\tstatusNotEmpty = statusNotEmpty \r\n\t\t\t\t&& ( (this.HMI !== undefined && this.HMI !== null) && (this.HMS !== undefined && this.HMS !== null) && (this.HA !== undefined && this.HA !== null) \r\n\t\t\t\t&& (this.HV !== undefined && this.HV !== null) && (this.HM !== undefined && this.HM !== null) && (this.AFH !== undefined && this.AFH !== null) );\r\n\t }\r\n\r\n if(!statusNotEmpty) { this.errorMessage = \"Veuillez renseigner tous les champs\"; } else { return statusNotEmpty; } // + this.donnee_collectee.designation ;\r\n\r\n //return statusNotEmpty;\r\n }//end isNotEmpty\r\n\r\n //check if handicap is valid\r\n isHandicapValid(): boolean {\r\n if(!this.isNotEmpty()) return false;\r\n let statusHandicapValid: boolean = false;\r\n\r\n statusHandicapValid =\r\n ( (this.HMI + this.HMS + this.HA + this.HV +this.HM + this.AFH ) <= (this.Sexe_F + this.Sexe_H) );\r\n\r\n if(!statusHandicapValid) { this.errorMessage = \"Veuillez renseigner une valeur de handicap valide\"; } else { return statusHandicapValid; } // pour l'indicateur \" + this.donnee_collectee.designation ;\r\n\r\n //return statusHandicapValid;\r\n }//end isHandicapValid\r\n\r\n //check if total sexe and total ages are valid\r\n\r\n\r\n isTotalValid(): boolean {\r\n\r\n\r\n //check not emptyness\r\n if(!this.isNotEmpty()) return false;\r\n\r\n //set default values because of totals\r\n let lineSexe_H: number = this.Sexe_H; if(this.Sexe_H === undefined || this.Sexe_H === null) lineSexe_H = 0;\r\n let lineSexe_F: number = this.Sexe_F; if(this.Sexe_F === undefined || this.Sexe_F === null) lineSexe_F = 0;\r\n\r\n let lineTA_0_4: number = this.TA_0_4; if(this.TA_0_4 === undefined || this.TA_0_4 === null) lineTA_0_4 = 0;\r\n let lineTA_5_9: number = this.TA_5_9; if(this.TA_5_9 === undefined || this.TA_5_9 === null) lineTA_5_9 = 0;\r\n let lineTA_10_14: number = this.TA_10_14; if(this.TA_10_14 === undefined || this.TA_10_14 === null) lineTA_10_14 = 0;\r\n let lineTA_15_17: number = this.TA_15_17; if(this.TA_15_17 === undefined || this.TA_15_17 === null) lineTA_15_17 = 0;\r\n\r\n\r\n let lineTA_15_24: number = this.TA_15_24; if(this.TA_15_24 === undefined || this.TA_15_24 === null) lineTA_15_24 = 0;\r\n\r\n\r\n //check now\r\n let statusTotalValid: boolean = false;\r\n\r\n statusTotalValid =\r\n ( (lineSexe_H + lineSexe_F) === (lineTA_0_4 + lineTA_5_9 + lineTA_10_14 + lineTA_15_17) )\r\n || ( (lineSexe_H + lineSexe_F) === (lineTA_0_4 + lineTA_5_9 + lineTA_10_14 + lineTA_15_24) ) ;\r\n\r\n if(!statusTotalValid) { this.errorMessage = \"Les totaux des niveaux de désagrégation Age et Sexe ne sont pas conformes\"; } else { return statusTotalValid; } // + this.donnee_collectee.designation ;\r\n\r\n //return statusTotalValid;\r\n }//end isTotalValid\r\n\r\n\r\n\r\n //check if is valid\r\n isValid(): boolean {\r\n //check not emptyness\r\n if(!this.isNotEmpty()) return false;\r\n\r\n let statusValid: boolean = false;\r\n\r\n statusValid =\r\n (this.Sexe_H >= 0) && (this.Sexe_F >= 0)\r\n && (\r\n //condition on group 1 of ages\r\n ( (this.TA_0_4 >= 0) && (this.TA_5_9 >= 0) && (this.TA_10_14 >= 0) && (this.TA_15_17 >= 0) )\r\n\r\n ||\r\n\r\n //conditions of group 2 of ages\r\n ( (this.TA_0_4 >= 0) && (this.TA_5_9 >= 0) && (this.TA_10_14 >= 0) && (this.TA_15_24 >= 0) )\r\n )\r\n\r\n //handicap\r\n && (this.Handicap >= 0);\r\n\r\n if(!statusValid) { this.errorMessage = \"Veuillez vérifier les valeurs saisies\"; } else { return statusValid; } // + this.donnee_collectee.designation ;\r\n\r\n\r\n }//end isValid\r\n\r\n\r\n\r\n\r\n //recreate fiche fspe details\r\n public static recreateFicheFsPeDetails(item: any): FS_PE_Detail {\r\n let newItem: FS_PE_Detail = new FS_PE_Detail();\r\n\r\n newItem.id = item.id;\r\n newItem.fs_pe_id = item.fs_pe_id;\r\n newItem.donnees_collectees_id = item.donnees_collectees_id;\r\n newItem.donnee_collectee = item.donnee_collectee;\r\n newItem.Sexe_H = item.Sexe_H;\r\n newItem.Sexe_F = item.Sexe_F;\r\n\r\n newItem.TA_0_4 = item.TA_0_4;\r\n newItem.TA_5_9 = item.TA_5_9;\r\n newItem.TA_10_14 = item.TA_10_14;\r\n newItem.TA_15_17 = item.TA_15_17;\r\n newItem.TA_15_24 = item.TA_15_24;\r\n\r\n newItem.Total = item.Total;\r\n newItem.Handicap = item.Handicap;\r\n\t\r\n\tnewItem.HMI = item.HMI;\r\n\tnewItem.HMS = item.HMS;\r\n\tnewItem.HA = item.HA;\r\n\tnewItem.HV = item.HV;\r\n\tnewItem.HM = item.HM;\r\n\tnewItem.AFH = item.AFH;\r\n\r\n newItem.ou = item.ou;\r\n newItem.quand = item.quand;\r\n newItem.qui = item.qui;\r\n\r\n return newItem;\r\n }//end recreateFicheFsPeDetails\r\n\r\n\r\n}\r\n","\r\nimport {structure} from \"./structure\";\r\nimport {utilisateur} from \"./utilisateur\";\r\nimport {type_donnee_collectee} from \"./type_donnee_collectee\";\r\nimport {FS_PSSN_Detail} from \"./FS_PSSN_Detail\";\r\nimport {FS_PF_FG_Detail} from \"./FS_PF_FG_Detail\";\r\nimport {localisation} from \"./localisation\";\r\n\r\n\r\nexport class FS_PF_FG {\r\n\r\n public id: number;\r\n public numero: string;\r\n public date_saisie: Date;\r\n\r\n public localisation: localisation;\r\n public localisation_id: number;\r\n\r\n public structure: structure;\r\n public structure_id: number;\r\n\r\n public statut_fiche_id: number;\r\n public statut_fiche_name: string;\r\n\r\n public date_debut_periode: Date;\r\n public date_fin_periode: Date;\r\n\r\n public utilisateur: utilisateur;\r\n public utilisateur_id: number;\r\n\r\n public login: string;\r\n\r\n public service: string;\r\n public motif_rejet: string;\r\n\r\n public ou: string;\r\n public qui: string;\r\n public quand: string;\r\n\r\n public type_donnee_collectee: type_donnee_collectee;\r\n\r\n //details\r\n public FS_PF_FG_Detail: FS_PF_FG_Detail[];\r\n\r\n public is_checked: any;\r\n\r\n\r\n private errorMessage: string;\r\n\r\n constructor(){\r\n this.errorMessage = \"\";\r\n }\r\n\r\n //get error message\r\n getErrorMessage(): string {\r\n return this.errorMessage;\r\n }//end getErrorMessage\r\n\r\n\r\n //check for save\r\n canSave(): boolean {\r\n\r\n // if(this.localisation === undefined || this.localisation === null ){\r\n // this.errorMessage = \"Veuillez sélectionner l'arrondissement\"; return false;\r\n // }\r\n // if(this.structure === undefined || this.structure === null ){\r\n // this.errorMessage = \"Veuillez sélectionner la structure\"; return false;\r\n // }\r\n // if(this.Service === undefined || this.Service === null || (new String(this.Service)).trim() === \"\"){\r\n // this.errorMessage = \"Service manquant\"; return false;\r\n // }\r\n\r\n if(this.date_debut_periode === undefined || this.date_debut_periode === null ){\r\n this.errorMessage = \"Veuillez renseigner la date de début\"; return false;\r\n }\r\n if(this.date_fin_periode === undefined || this.date_fin_periode === null ){\r\n this.errorMessage = \"Veuillez renseigner la date de fin\"; return false;\r\n }\r\n //valid dates (anteriorite)\r\n if(this.date_debut_periode > this.date_fin_periode ){\r\n this.errorMessage = \"La date de fin ne peut être antérieure à la date de début\"; return false;\r\n }\r\n\r\n //mettre heure et minutes à zero chaque fois\r\n this.date_debut_periode.setHours(2); this.date_debut_periode.setMinutes(0);\r\n this.date_fin_periode.setHours(23); this.date_fin_periode.setMinutes(59);\r\n\r\n //duree entre les dates\r\n let diff: number = (this.date_fin_periode.getTime() - this.date_debut_periode.getTime());\r\n let diffDays = (diff / (1000 * 3600 * 24));\r\n if( (diffDays < 27) || (diffDays > 31) ){\r\n this.errorMessage = \"La période de collecte définie ne correspond pas à un début ou à une fin de mois. Veuillez corriger svp!\"; return false;\r\n }\r\n\r\n //le premier jour doit etre un 1\r\n if(this.date_debut_periode.getDate() !== 1){\r\n this.errorMessage = \"La date de début de la collecte n'est pas correcte. Veuillez corriger svp!\"; return false;\r\n }\r\n\r\n //type de donnees\r\n if(this.type_donnee_collectee === undefined || this.type_donnee_collectee === null ){\r\n this.errorMessage = \"Veuillez sélectionner le type de données collecté\"; return false;\r\n }\r\n\r\n //controle sur les items de details\r\n for(let i: number = 0; i < this.FS_PF_FG_Detail.length; i++){\r\n let line: FS_PF_FG_Detail = this.FS_PF_FG_Detail[i];\r\n\r\n let isNotEmpty: boolean = line.isNotEmpty();\r\n let isHandicapValid: boolean = line.isHandicapValid();\r\n let isTotalValid: boolean = line.isTotalValid();\r\n let isValid: boolean = line.isValid();\r\n\r\n let allStatus = !isNotEmpty || !isHandicapValid || !isTotalValid || !isValid ;\r\n\r\n if(allStatus){\r\n this.errorMessage = line.getErrorMessage() + \" // \" + line.donnee_collectee.designation ;\r\n return false;\r\n }\r\n\r\n }\r\n\r\n return true;\r\n }//end canSave\r\n\r\n\r\n //check for save\r\n canSaveOnEdit(): boolean {\r\n\r\n if(this.date_debut_periode === undefined || this.date_debut_periode === null ){\r\n this.errorMessage = \"Date de début manquante\"; return false;\r\n }\r\n if(this.date_fin_periode === undefined || this.date_fin_periode === null ){\r\n this.errorMessage = \"Date de fin manquante\"; return false;\r\n }\r\n //valid dates (anteriorite)\r\n if(this.date_debut_periode > this.date_fin_periode ){\r\n this.errorMessage = \"La date de fin ne peut être antérieure à la date de début\"; return false;\r\n }\r\n\r\n //mettre heure et minutes à zero chaque fois\r\n this.date_debut_periode.setHours(2); this.date_debut_periode.setMinutes(0);\r\n this.date_fin_periode.setHours(23); this.date_fin_periode.setMinutes(59);\r\n\r\n //duree entre les dates\r\n let diff: number = (this.date_fin_periode.getTime() - this.date_debut_periode.getTime());\r\n let diffDays = (diff / (1000 * 3600 * 24));\r\n if( (diffDays < 27) || (diffDays > 31) ){\r\n this.errorMessage = \"La période de collecte définie ne correspond pas à un début ou à une fin de mois. Veuillez corriger svp!\"; return false;\r\n }\r\n\r\n //le premier jour doit etre un 1\r\n if(this.date_debut_periode.getDate() !== 1){\r\n this.errorMessage = \"La date de début de la collecte n'est pas correcte. Veuillez corriger svp!\"; return false;\r\n }\r\n\r\n //type de donnees\r\n if(this.type_donnee_collectee === undefined || this.type_donnee_collectee === null ){\r\n this.errorMessage = \"Veuillez sélectionner le type de données collecté\"; return false;\r\n }\r\n\r\n //controle sur les items de details\r\n for(let i: number = 0; i < this.FS_PF_FG_Detail.length; i++){\r\n\r\n let line: FS_PF_FG_Detail = FS_PF_FG_Detail.recreateFicheFsPffgDetails(this.FS_PF_FG_Detail[i]) ;\r\n\r\n let isNotEmpty: boolean = line.isNotEmpty();\r\n let isHandicapValid: boolean = line.isHandicapValid();\r\n let isTotalValid: boolean = line.isTotalValid();\r\n let isValid: boolean = line.isValid();\r\n\r\n let allStatus = !isNotEmpty || !isHandicapValid || !isTotalValid || !isValid ;\r\n\r\n if(allStatus){\r\n this.errorMessage = line.getErrorMessage() + \" // \" + line.donnee_collectee.designation ;\r\n return false;\r\n }\r\n\r\n }\r\n\r\n return true;\r\n }//end canSaveOnEdit\r\n\r\n //check if can ask for validation\r\n canAskForValidation(): boolean {\r\n\r\n //type de donnees\r\n if(this.id === undefined || this.id === null ){\r\n this.errorMessage = \"Veuillez enregistrer au moins une donnée de collecte avant de la faire valider\"; return false;\r\n }\r\n\r\n return true;\r\n }//end canAskForValidation\r\n\r\n}\r\n","import {donnee_collectee} from \"./donnee_collectee\";\r\nimport {ConstantsService} from \"../services/general/constants.service\";\r\n\r\n\r\nexport class FS_PF_FG_Detail {\r\n\r\n public id: number;\r\n public fs_pf_fg_id: number;\r\n public donnees_collectees_id: number;\r\n public donnee_collectee: donnee_collectee;\r\n\r\n public Sexe_H: number;\r\n public Sexe_F: number;\r\n\r\n public TA_0_17: number;\r\n public TA_18_59: number;\r\n\r\n public TA_18_34: number;\r\n public TA_35_59: number;\r\n\r\n public TA_SUP_60: number;\r\n\r\n // public TA_0_4: number;\r\n // public TA_5_9: number;\r\n // public TA_10_14: number;\r\n // public TA_15_17: number;\r\n \r\n \r\n\r\n public HMI: number;\r\n public HMS: number;\r\n public HA: number;\r\n public HV: number;\r\n public HM: number;\r\n public AFH: number;\r\n \r\n\r\n public Total: number;\r\n\r\n public Handicap: number;\r\n\r\n public ou: string;\r\n public qui: string;\r\n public quand: string;\r\n\r\n //validation fields\r\n private errorMessage: string;\r\n\r\n constructor(){\r\n this.errorMessage = \"\";\r\n }\r\n\r\n //get error message\r\n getErrorMessage(): string {\r\n return this.errorMessage;\r\n }//end getErrorMessage\r\n\r\n\r\n //check if is not empty\r\n isNotEmpty(): boolean {\r\n let statusNotEmpty: boolean = false;\r\n\r\n statusNotEmpty =\r\n (this.Sexe_H !== undefined && this.Sexe_H !== null) && (this.Sexe_F !== undefined && this.Sexe_F !== null)\r\n && (\r\n //condition on group 1 of ages\r\n true\r\n // (\r\n // (this.TA_0_17 !== undefined && this.TA_0_17 !== null) && (this.TA_18_59 !== undefined && this.TA_18_59 !== null)\r\n // && (this.TA_SUP_60 !== undefined && this.TA_SUP_60 !== null) )\r\n\r\n \r\n\r\n //conditions of group 2 of ages\r\n // ( (this.TA_0_4 !== undefined && this.TA_0_4 !== null) && (this.TA_5_9 !== undefined && this.TA_5_9 !== null) && (this.TA_10_14 !== undefined && this.TA_10_14 !== null) && (this.TA_15_17 !== undefined && this.TA_15_17 !== null) );\r\n )\r\n \r\n\r\n //handicap\r\n if( this.donnee_collectee.designation.trim() !== ConstantsService.DESIGNATION_INDICATEUR_PFFG_18.trim() && this.donnee_collectee.designation.trim() !== ConstantsService.DESIGNATION_INDICATEUR_PFFG_19.trim()\r\n && this.donnee_collectee.designation.trim() !== ConstantsService.DESIGNATION_INDICATEUR_PFFG_23.trim() && this.donnee_collectee.designation.trim() !== ConstantsService.DESIGNATION_INDICATEUR_PFFG_24.trim()\r\n ){\r\n statusNotEmpty = statusNotEmpty\r\n && ( (this.HMI !== undefined && this.HMI !== null) && (this.HMS !== undefined && this.HMS !== null) && (this.HA !== undefined && this.HA !== null) \r\n && (this.HV !== undefined && this.HV !== null) && (this.HM !== undefined && this.HM !== null) && (this.AFH !== undefined && this.AFH !== null) );\r\n }\r\n\r\n // //handicap\r\n\r\n if(!statusNotEmpty) { this.errorMessage = \"Veuillez renseigner tous les champs\"; } else { return statusNotEmpty; } // + this.donnee_collectee.designation ;\r\n\r\n //return statusNotEmpty;\r\n }//end isNotEmpty\r\n\r\n //check if handicap is valid\r\n isHandicapValid(): boolean {\r\n if(!this.isNotEmpty()) return false;\r\n let statusHandicapValid: boolean = false;\r\n\r\n statusHandicapValid =\r\n ( (this.HMI + this.HMS + this.HA + this.HV +this.HM + this.AFH ) <= (this.Sexe_F + this.Sexe_H) );\r\n\r\n if(!statusHandicapValid) { this.errorMessage = \"Veuillez renseigner une valeur de handicap valide\"; } else { return statusHandicapValid; } // pour l'indicateur \" + this.donnee_collectee.designation ;\r\n\r\n //return statusHandicapValid;\r\n }//end isHandicapValid\r\n\r\n //check if total sexe and total ages are valid\r\n isTotalValid(): boolean {\r\n\r\n //check not emptyness\r\n if(!this.isNotEmpty()) return false;\r\n\r\n //set default values because of totals\r\n let lineSexe_H: number = this.Sexe_H; if(this.Sexe_H === undefined || this.Sexe_H === null) lineSexe_H = 0;\r\n let lineSexe_F: number = this.Sexe_F; if(this.Sexe_F === undefined || this.Sexe_F === null) lineSexe_F = 0;\r\n\r\n let lineTA_0_17: number = this.TA_0_17; if(this.TA_0_17 === undefined || this.TA_0_17 === null) lineTA_0_17 = 0;\r\n let lineTA_18_59: number = this.TA_18_59; if(this.TA_18_59 === undefined || this.TA_18_59 === null) lineTA_18_59 = 0;\r\n let lineTA_SUP_60: number = this.TA_SUP_60; if(this.TA_SUP_60 === undefined || this.TA_SUP_60 === null) lineTA_SUP_60 = 0;\r\n\r\n // let lineTA_0_4: number = this.TA_0_4; if(this.TA_0_4 === undefined || this.TA_0_4 === null) lineTA_0_4 = 0;\r\n // let lineTA_5_9: number = this.TA_5_9; if(this.TA_5_9 === undefined || this.TA_5_9 === null) lineTA_5_9 = 0;\r\n // let lineTA_10_14: number = this.TA_10_14; if(this.TA_10_14 === undefined || this.TA_10_14 === null) lineTA_10_14 = 0;\r\n // let lineTA_15_17: number = this.TA_15_17; if(this.TA_15_17 === undefined || this.TA_15_17 === null) lineTA_15_17 = 0;\r\n\r\n let lineTA_18_34: number = this.TA_18_34; if(this.TA_18_34 === undefined || this.TA_18_34 === null) lineTA_18_34 = 0;\r\n let lineTA_35_59: number = this.TA_35_59; if(this.TA_35_59 === undefined || this.TA_35_59 === null) lineTA_35_59 = 0;\r\n\r\n //check now\r\n let statusTotalValid: boolean = false;\r\n\r\n let sommeSexe: number = lineSexe_H + lineSexe_F;\r\n let sommeTranches: number = lineTA_0_17 + lineTA_18_59 + lineTA_SUP_60;\r\n\r\n statusTotalValid =\r\n ( (sommeSexe) === (sommeTranches) );\r\n \r\n // || ( (lineSexe_H + lineSexe_F) === (lineTA_0_4 + lineTA_5_9 + lineTA_10_14 + lineTA_15_17) ) \r\n\r\n if(!statusTotalValid)\r\n { \r\n this.errorMessage = \"Les totaux des niveaux de désagrégation Age et Sexe ne sont pas conformes\"; } else { return statusTotalValid; } // + this.donnee_collectee.designation ;\r\n\r\n //return statusTotalValid;\r\n }//end isTotalValid\r\n\r\n\r\n\r\n //check if is valid\r\n isValid(): boolean {\r\n //check not emptyness\r\n if(!this.isNotEmpty()) return false;\r\n\r\n let statusValid: boolean = false;\r\n\r\n statusValid =\r\n (this.Sexe_H >= 0) && (this.Sexe_F >= 0)\r\n && (\r\n //condition on group 1 of ages\r\n true\r\n // ( (this.TA_18_34 >= 0 ) && (this.TA_35_59 >= 0) && (this.TA_SUP_60 >= 0) )\r\n\r\n // ||\r\n\r\n //conditions of group 2 of ages\r\n // ( (this.TA_0_4 >= 0) && (this.TA_5_9 >= 0) && (this.TA_10_14 >= 0) && (this.TA_15_17 >= 0) )\r\n )\r\n\r\n //handicap\r\n && (this.Handicap >= 0);\r\n\r\n if(!statusValid) { this.errorMessage = \"Veuillez vérifier les valeurs saisies\"; } else { return statusValid; } // + this.donnee_collectee.designation ;\r\n\r\n\r\n }//end isValid\r\n\r\n //recreate fiche fspffg details\r\n public static recreateFicheFsPffgDetails(item: any): FS_PF_FG_Detail {\r\n let newItem: FS_PF_FG_Detail = new FS_PF_FG_Detail();\r\n\r\n newItem.id = item.id;\r\n newItem.fs_pf_fg_id = item.fs_pf_fg_id;\r\n newItem.donnees_collectees_id = item.donnees_collectees_id;\r\n newItem.donnee_collectee = item.donnee_collectee;\r\n newItem.Sexe_H = item.Sexe_H;\r\n newItem.Sexe_F = item.Sexe_F;\r\n\r\n newItem.TA_0_17 = item.TA_0_17;\r\n newItem.TA_18_59 = item.TA_18_59;\r\n newItem.TA_SUP_60 = item.TA_SUP_60;\r\n\r\n // newItem.TA_0_4 = item.TA_0_4;\r\n // newItem.TA_5_9 = item.TA_5_9;\r\n // newItem.TA_10_14 = item.TA_10_14;\r\n // newItem.TA_15_17 = item.TA_15_17;\r\n\r\n newItem.TA_18_34 = item.TA_18_34;\r\n newItem.TA_35_59 = item.TA_35_59;\r\n\t\r\n\tnewItem.HMI = item.HMI;\r\n\tnewItem.HMS = item.HMS;\r\n\tnewItem.HA = item.HA;\r\n\tnewItem.HV = item.HV;\r\n\tnewItem.HM = item.HM;\r\n\tnewItem.AFH = item.AFH;\r\n\r\n newItem.Total = item.Total;\r\n newItem.Handicap = item.Handicap;\r\n\r\n newItem.ou = item.ou;\r\n newItem.quand = item.quand;\r\n newItem.qui = item.qui;\r\n\r\n return newItem;\r\n }//end recreateFicheFsPffgDetails\r\n\r\n\r\n}\r\n","\r\nimport {structure} from \"./structure\";\r\nimport {utilisateur} from \"./utilisateur\";\r\nimport {type_donnee_collectee} from \"./type_donnee_collectee\";\r\nimport {FS_PSSN_Detail} from \"./FS_PSSN_Detail\";\r\nimport {localisation} from \"./localisation\";\r\nimport {UtilsService} from \"../services/general/utils.service\";\r\n\r\n\r\nexport class FS_PSSN {\r\n\r\n public id: number;\r\n public numero: string;\r\n public date_saisie: Date;\r\n\r\n public localisation: localisation;\r\n public localisation_id: number;\r\n\r\n public structure: structure;\r\n public structure_id: number;\r\n\r\n public statut_fiche_id: number;\r\n public statut_fiche_name: string;\r\n\r\n public date_debut_periode: Date;\r\n public date_fin_periode: Date;\r\n\r\n public utilisateur: utilisateur;\r\n public utilisateur_id: number;\r\n\r\n public service: string;\r\n\r\n public motif_rejet: string;\r\n\r\n public ou: string;\r\n public qui: string;\r\n public quand: string;\r\n\r\n public login: string;\r\n\r\n public type_donnee_collectee: type_donnee_collectee;\r\n\r\n //details\r\n public FS_PSSN_Detail: FS_PSSN_Detail[];\r\n\r\n public is_checked: any;\r\n\r\n\r\n private errorMessage: string;\r\n\r\n constructor(){\r\n this.errorMessage = \"\";\r\n }\r\n\r\n //get error message\r\n getErrorMessage(): string {\r\n return this.errorMessage;\r\n }//end getErrorMessage\r\n\r\n\r\n //check for save\r\n canSave(): boolean {\r\n\r\n // if(this.localisation === undefined || this.localisation === null ){\r\n // this.errorMessage = \"Veuillez sélectionner l'arrondissement\"; return false;\r\n // }\r\n // if(this.structure === undefined || this.structure === null ){\r\n // this.errorMessage = \"Veuillez sélectionner la structure\"; return false;\r\n // }\r\n // if(this.Service === undefined || this.Service === null || (new String(this.Service)).trim() === \"\"){\r\n // this.errorMessage = \"Service manquant\"; return false;\r\n // }\r\n\r\n if(this.date_debut_periode === undefined || this.date_debut_periode === null ){\r\n this.errorMessage = \"Veuillez renseigner la date de début\"; return false;\r\n }\r\n if(this.date_fin_periode === undefined || this.date_fin_periode === null ){\r\n this.errorMessage = \"Veuillez renseigner la date de fin\"; return false;\r\n }\r\n //valid dates (anteriorite)\r\n if(this.date_debut_periode > this.date_fin_periode ){\r\n this.errorMessage = \"La date de fin ne peut être antérieure à la date de début\"; return false;\r\n }\r\n\r\n //mettre heure et minutes à zero chaque fois\r\n this.date_debut_periode.setHours(2); this.date_debut_periode.setMinutes(0);\r\n this.date_fin_periode.setHours(23); this.date_fin_periode.setMinutes(59);\r\n\r\n\r\n //duree entre les dates\r\n let diff: number = (this.date_fin_periode.getTime() - this.date_debut_periode.getTime());\r\n let diffDays = (diff / (1000 * 3600 * 24));\r\n\r\n console.log(diffDays);\r\n\r\n if( (diffDays < 27) || (diffDays > 31) ){\r\n this.errorMessage = \"La période de collecte définie ne correspond pas à un début ou à une fin de mois. Veuillez corriger svp!\"; return false;\r\n }\r\n\r\n //le premier jour doit etre un 1\r\n if(this.date_debut_periode.getDate() !== 1){\r\n this.errorMessage = \"La date de début de la collecte n'est pas correcte. Veuillez corriger svp!\"; return false;\r\n }\r\n\r\n //type de donnees\r\n if(this.type_donnee_collectee === undefined || this.type_donnee_collectee === null ){\r\n this.errorMessage = \"Veuillez sélectionner le type de données collecté\"; return false;\r\n }\r\n\r\n //controle sur les items de details\r\n for(let i: number = 0; i < this.FS_PSSN_Detail.length; i++){\r\n let line: FS_PSSN_Detail = this.FS_PSSN_Detail[i];\r\n // //check on total\r\n // let total: number = line.TA_0_17 + line.TA_18_59 + line.TA_SUP_60;\r\n // if(total !== line.TotalSexe){\r\n // this.errorMessage = \"Le total des valeurs du critère âge doit être égal au total des valeurs du critère sexe pour la donnée \" + line.donnee_collectee.designation ;\r\n // return false;\r\n // }\r\n\r\n //this.FS_PSSN_Detail[i].Total = this.FS_PSSN_Detail[i].Sexe_H + this.FS_PSSN_Detail[i].Sexe_F;\r\n\r\n let isNotEmpty: boolean = line.isNotEmpty();\r\n let isHandicapValid: boolean = line.isHandicapValid();\r\n let isTotalValid: boolean = line.isTotalValid();\r\n let isValid: boolean = line.isValid();\r\n\r\n let allStatus = !isNotEmpty || !isHandicapValid || !isTotalValid || !isValid ;\r\n\r\n if(allStatus){\r\n this.errorMessage = line.getErrorMessage() + \" // \" + line.donnee_collectee.designation ;\r\n return false;\r\n }\r\n\r\n }\r\n\r\n return true;\r\n }//end canSave\r\n\r\n\r\n //check for save\r\n canSaveOnEdit(): boolean {\r\n\r\n if(this.date_debut_periode === undefined || this.date_debut_periode === null ){\r\n this.errorMessage = \"Date de début manquante\"; return false;\r\n }\r\n if(this.date_fin_periode === undefined || this.date_fin_periode === null ){\r\n this.errorMessage = \"Date de fin manquante\"; return false;\r\n }\r\n //valid dates (anteriorite)\r\n if(this.date_debut_periode > this.date_fin_periode ){\r\n this.errorMessage = \"La date de fin ne peut être antérieure à la date de début\"; return false;\r\n }\r\n\r\n //mettre heure et minutes à zero chaque fois\r\n this.date_debut_periode.setHours(2); this.date_debut_periode.setMinutes(0);\r\n this.date_fin_periode.setHours(23); this.date_fin_periode.setMinutes(59);\r\n\r\n //duree entre les dates\r\n let diff: number = (this.date_fin_periode.getTime() - this.date_debut_periode.getTime());\r\n let diffDays = (diff / (1000 * 3600 * 24));\r\n if( (diffDays < 27) || (diffDays > 31) ){\r\n this.errorMessage = \"La période de collecte définie ne correspond pas à un début ou à une fin de mois. Veuillez corriger svp!\"; return false;\r\n }\r\n\r\n //le premier jour doit etre un 1\r\n if(this.date_debut_periode.getDate() !== 1){\r\n this.errorMessage = \"La date de début de la collecte n'est pas correcte. Veuillez corriger svp!\"; return false;\r\n }\r\n\r\n //type de donnees\r\n if(this.type_donnee_collectee === undefined || this.type_donnee_collectee === null ){\r\n this.errorMessage = \"Veuillez sélectionner le type de données collecté\"; return false;\r\n }\r\n\r\n // //controle sur les items de details\r\n // // for(let i: number = 0; i < this.FS_PSSN_Detail.length; i++){\r\n // // let line: FS_PSSN_Detail = this.FS_PSSN_Detail[i];\r\n // // //check on total\r\n // // let total: number = line.TA_0_17 + line.TA_18_59 + line.TA_SUP_60;\r\n // // if(total !== line.TotalSexe){\r\n // // this.errorMessage = \"Le total des valeurs du critère âge doit être égal au total des valeurs du critère sexe pour la donnée \" + line.donnee_collectee.designation ;\r\n // // return false;\r\n // // }\r\n // //\r\n // // }\r\n\r\n\r\n //controle sur les items de details\r\n for(let i: number = 0; i < this.FS_PSSN_Detail.length; i++){\r\n\r\n //this.FS_PSSN_Detail[i].Total = this.FS_PSSN_Detail[i].Sexe_H + this.FS_PSSN_Detail[i].Sexe_F;\r\n\r\n let line: FS_PSSN_Detail = FS_PSSN_Detail.recreateFicheFsPssnDetails(this.FS_PSSN_Detail[i]) ;\r\n\r\n let isNotEmpty: boolean = line.isNotEmpty();\r\n let isHandicapValid: boolean = line.isHandicapValid();\r\n let isTotalValid: boolean = line.isTotalValid();\r\n let isValid: boolean = line.isValid();\r\n\r\n let allStatus = !isNotEmpty || !isHandicapValid || !isTotalValid || !isValid ;\r\n\r\n if(allStatus){\r\n this.errorMessage = line.getErrorMessage() + \" // \" + line.donnee_collectee.designation ;\r\n return false;\r\n }\r\n\r\n }\r\n\r\n return true;\r\n }//end canSaveOnEdit\r\n\r\n //check if can ask for validation\r\n canAskForValidation(): boolean {\r\n\r\n //type de donnees\r\n if(this.id === undefined || this.id === null ){\r\n this.errorMessage = \"Veuillez enregistrer au moins une donnée de collecte avant de la faire valider\"; return false;\r\n }\r\n\r\n return true;\r\n }//end canAskForValidation\r\n\r\n}\r\n","import {donnee_collectee} from \"./donnee_collectee\";\r\nimport {ConstantsService} from \"../services/general/constants.service\";\r\n\r\n\r\nexport class FS_PSSN_Detail {\r\n\r\n public id: number;\r\n public fs_pssn_id: number;\r\n public donnees_collectees_id: number;\r\n public donnee_collectee: donnee_collectee;\r\n\r\n public Sexe_H: number;\r\n public Sexe_F: number;\r\n\r\n\r\n public Type_Secours_Enfance_Malheureuse: number;\r\n public Type_Secours_Indigent: number;\r\n public Type_Secours_Sinistre: number;\r\n public Type_Secours_Immediat: number;\r\n\r\n public Type_Filet_Social_Transfert_Monetaire_Conditionnel: number;\r\n public Type_Filet_Social_Transfert_Monetaire_Inconditionnel: number;\r\n\r\n public Type_Appui_Formation: number;\r\n public Type_Appui_Installation: number;\r\n\r\n public Type_Appui_Nutritionnel: number;\r\n public Type_Appui_Materiel: number;\r\n public Type_Appui_Ludique: number;\r\n public Type_Appui_Medical: number;\r\n\r\n public TA_0_17: number;\r\n public TA_18_59: number;\r\n\r\n // public TA_18_34: number;\r\n // public TA_35_59: number;\r\n\r\n public TA_SUP_60: number;\r\n\r\n //public TA_55_69: number;\r\n //public TA_SUP_70: number;\r\n \r\n public HMI: number;\r\n public HMS: number;\r\n public HA: number;\r\n public HV: number;\r\n public HM: number;\r\n public AFH: number;\r\n\r\n public Total: number;\r\n\r\n public Handicap: number;\r\n\r\n public ou: string;\r\n public qui: string;\r\n public quand: string;\r\n\r\n\r\n //validation fields\r\n private errorMessage: string;\r\n\r\n constructor(){\r\n this.errorMessage = \"\";\r\n }\r\n\r\n //get error message\r\n public getErrorMessage(): string {\r\n return this.errorMessage;\r\n }//end getErrorMessage\r\n\r\n\r\n //check if is not empty\r\n public isNotEmpty(): boolean {\r\n let statusNotEmpty: boolean = false;\r\n\r\n statusNotEmpty =\r\n (this.Sexe_H !== undefined && this.Sexe_H !== null) && (this.Sexe_F !== undefined && this.Sexe_F !== null)\r\n && (\r\n //condition on group 1 of ages\r\n ( (this.TA_0_17 !== undefined && this.TA_0_17 !== null) && (this.TA_18_59 !== undefined && this.TA_18_59 !== null)\r\n //&& (this.TA_18_34 !== undefined && this.TA_18_34 !== null) && (this.TA_35_59 !== undefined && this.TA_35_59 !== null) && (this.TA_55_69 !== undefined && this.TA_55_69 !== null) \r\n && (this.TA_SUP_60 !== undefined && this.TA_SUP_60 !== null)\r\n // && (this.TA_SUP_70 !== undefined && this.TA_SUP_70 !== null)\r\n )\r\n );\r\n\r\n //handicap\r\n\t if( this.donnee_collectee.designation !== ConstantsService.LABEL_MONTANT_SECOURS_OCTROYE && this.donnee_collectee.designation !== ConstantsService.LABEL_MONTANT_SECOURS_SOLLICITE\r\n\t\t&& this.donnee_collectee.designation !== ConstantsService.DESIGNATION_INDICATEUR_PSSN_3 && this.donnee_collectee.designation !== ConstantsService.DESIGNATION_INDICATEUR_PSSN_4\r\n\t\t\t&& this.donnee_collectee.designation !== ConstantsService.DESIGNATION_INDICATEUR_PSSN_5 && this.donnee_collectee.designation !== ConstantsService.DESIGNATION_INDICATEUR_PSSN_20 ){\r\n statusNotEmpty = statusNotEmpty && \r\n\t\t\t ( (this.HMI !== undefined && this.HMI !== null) && (this.HMS !== undefined && this.HMS !== null) && (this.HA !== undefined && this.HA !== null) \r\n\t\t\t&& (this.HV !== undefined && this.HV !== null) && (this.HM !== undefined && this.HM !== null) && (this.AFH !== undefined && this.AFH !== null) );\r\n\t } \r\n\r\n //some other cases\r\n //type secours\r\n if(this.donnee_collectee.designation === ConstantsService.DESIGNATION_INDICATEUR_PSSN_1 || this.donnee_collectee.designation === ConstantsService.DESIGNATION_INDICATEUR_PSSN_2 ){\r\n statusNotEmpty = statusNotEmpty &&\r\n //condition on types secours\r\n ( (this.Type_Secours_Enfance_Malheureuse !== undefined && this.Type_Secours_Enfance_Malheureuse !== null) && (this.Type_Secours_Indigent !== undefined && this.Type_Secours_Indigent !== null) && (this.Type_Secours_Sinistre !== undefined && this.Type_Secours_Sinistre !== null) && (this.Type_Secours_Immediat !== undefined && this.Type_Secours_Immediat !== null) )\r\n }\r\n\r\n //filet social\r\n if(this.donnee_collectee.designation === ConstantsService.DESIGNATION_INDICATEUR_PSSN_3 || this.donnee_collectee.designation === ConstantsService.DESIGNATION_INDICATEUR_PSSN_4 || this.donnee_collectee.designation === ConstantsService.DESIGNATION_INDICATEUR_PSSN_5 ){\r\n statusNotEmpty = statusNotEmpty &&\r\n //condition on filet social\r\n ( (this.Type_Filet_Social_Transfert_Monetaire_Conditionnel !== undefined && this.Type_Filet_Social_Transfert_Monetaire_Conditionnel !== null) && (this.Type_Filet_Social_Transfert_Monetaire_Inconditionnel !== undefined && this.Type_Filet_Social_Transfert_Monetaire_Inconditionnel !== null) )\r\n }\r\n\r\n //cas sociaux\r\n if(this.donnee_collectee.designation === ConstantsService.DESIGNATION_INDICATEUR_PSSN_6 || this.donnee_collectee.designation === ConstantsService.DESIGNATION_INDICATEUR_PSSN_7){\r\n statusNotEmpty = statusNotEmpty &&\r\n //condition on cas sociaux\r\n ( (this.Type_Appui_Formation !== undefined && this.Type_Appui_Formation !== null) && (this.Type_Appui_Installation !== undefined && this.Type_Appui_Installation !== null) )\r\n }\r\n\r\n //appui general\r\n if(this.donnee_collectee.designation === ConstantsService.DESIGNATION_INDICATEUR_PSSN_8 || this.donnee_collectee.designation === ConstantsService.DESIGNATION_INDICATEUR_PSSN_9){\r\n statusNotEmpty = statusNotEmpty &&\r\n //condition on appui general\r\n ( (this.Type_Appui_Nutritionnel !== undefined && this.Type_Appui_Nutritionnel !== null) && (this.Type_Appui_Materiel !== undefined && this.Type_Appui_Materiel !== null) && (this.Type_Appui_Ludique !== undefined && this.Type_Appui_Ludique !== null) && (this.Type_Appui_Medical!== undefined && this.Type_Appui_Medical !== null) )\r\n }\r\n\r\n if(!statusNotEmpty) { this.errorMessage = \"Veuillez renseigner tous les champs\"; } else { return statusNotEmpty; }\r\n\r\n //return statusNotEmpty;\r\n } //end isNotEmpty\r\n\r\n //check if handicap is valid\r\n public isHandicapValid(): boolean {\r\n if(!this.isNotEmpty()) return false;\r\n let statusHandicapValid: boolean = false;\r\n\r\n statusHandicapValid =\r\n ( (this.HMI + this.HMS + this.HA + this.HV +this.HM + this.AFH ) <= (this.Sexe_F + this.Sexe_H) );\r\n if(!statusHandicapValid) { this.errorMessage = \"Veuillez renseigner une valeur de handicap valide\"; } else { return statusHandicapValid; } // pour l'indicateur \" + this.donnee_collectee.designation ;\r\n\r\n //return statusHandicapValid;\r\n }//end isHandicapValid\r\n\r\n //check if total sexe and total ages are valid\r\n public isTotalValid(): boolean {\r\n\r\n //check not emptyness\r\n if(!this.isNotEmpty()) return false;\r\n\r\n //set default values because of totals\r\n let lineSexe_H: number = this.Sexe_H; if(this.Sexe_H === undefined || this.Sexe_H === null) lineSexe_H = 0;\r\n let lineSexe_F: number = this.Sexe_F; if(this.Sexe_F === undefined || this.Sexe_F === null) lineSexe_F = 0;\r\n\r\n let lineTA_0_17: number = this.TA_0_17; if(this.TA_0_17 === undefined || this.TA_0_17 === null) lineTA_0_17 = 0;\r\n let lineTA_18_59: number = this.TA_18_59; if(this.TA_18_59 === undefined || this.TA_18_59 === null) lineTA_18_59 = 0;\r\n let lineTA_SUP_60: number = this.TA_SUP_60; if(this.TA_SUP_60 === undefined || this.TA_SUP_60 === null) lineTA_SUP_60 = 0;\r\n\r\n // let lineTA_18_34: number = this.TA_18_34; if(this.TA_18_34 === undefined || this.TA_18_34 === null) lineTA_18_34 = 0;\r\n // let lineTA_35_59: number = this.TA_35_59; if(this.TA_35_59 === undefined || this.TA_35_59 === null) lineTA_35_59 = 0;\r\n // let lineTA_55_69: number = this.TA_55_69; if(this.TA_55_69 === undefined || this.TA_55_69 === null) lineTA_55_69 = 0;\r\n // let lineTA_SUP_70: number = this.TA_SUP_70; if(this.TA_SUP_70 === undefined || this.TA_SUP_70 === null) lineTA_SUP_70 = 0;\r\n\r\n //other levels\r\n //type secours\r\n let lineType_Secours_Enfance_Malheureuse: number = this.Type_Secours_Enfance_Malheureuse; if(this.Type_Secours_Enfance_Malheureuse === undefined || this.Type_Secours_Enfance_Malheureuse === null) lineType_Secours_Enfance_Malheureuse = 0;\r\n let lineType_Secours_Indigent: number = this.Type_Secours_Indigent; if(this.Type_Secours_Indigent === undefined || this.Type_Secours_Indigent === null) lineType_Secours_Indigent = 0;\r\n let lineType_Secours_Sinistre: number = this.Type_Secours_Sinistre; if(this.Type_Secours_Sinistre === undefined || this.Type_Secours_Sinistre === null) lineType_Secours_Sinistre = 0;\r\n let lineType_Secours_Immediat: number = this.Type_Secours_Immediat; if(this.Type_Secours_Immediat === undefined || this.Type_Secours_Immediat === null) lineType_Secours_Immediat = 0;\r\n\r\n\r\n //filet social\r\n let lineType_Filet_Social_Transfert_Monetaire_Conditionnel: number = this.Type_Filet_Social_Transfert_Monetaire_Conditionnel; if(this.Type_Filet_Social_Transfert_Monetaire_Conditionnel === undefined || this.Type_Filet_Social_Transfert_Monetaire_Conditionnel === null) lineType_Filet_Social_Transfert_Monetaire_Conditionnel = 0;\r\n let lineType_Filet_Social_Transfert_Monetaire_Inconditionnel: number = this.Type_Filet_Social_Transfert_Monetaire_Inconditionnel; if(this.Type_Filet_Social_Transfert_Monetaire_Inconditionnel === undefined || this.Type_Filet_Social_Transfert_Monetaire_Inconditionnel === null) lineType_Filet_Social_Transfert_Monetaire_Inconditionnel = 0;\r\n\r\n //appui formation installation\r\n let lineType_Appui_Formation: number = this.Type_Appui_Formation; if(this.Type_Appui_Formation === undefined || this.Type_Appui_Formation === null) lineType_Appui_Formation = 0;\r\n let lineType_Appui_Installation: number = this.Type_Appui_Installation; if(this.Type_Appui_Installation === undefined || this.Type_Appui_Installation === null) lineType_Appui_Installation = 0;\r\n\r\n\r\n //appui nutritionnel et autres\r\n let lineType_Appui_Nutritionnel: number = this.Type_Appui_Nutritionnel; if(this.Type_Appui_Nutritionnel === undefined || this.Type_Appui_Nutritionnel === null) lineType_Appui_Nutritionnel = 0;\r\n let lineType_Appui_Materiel: number = this.Type_Appui_Materiel; if(this.Type_Appui_Materiel === undefined || this.Type_Appui_Materiel === null) lineType_Appui_Materiel = 0;\r\n let lineType_Appui_Ludique: number = this.Type_Appui_Ludique; if(this.Type_Appui_Ludique === undefined || this.Type_Appui_Ludique === null) lineType_Appui_Ludique = 0;\r\n let lineType_Appui_Medical: number = this.Type_Appui_Medical; if(this.Type_Appui_Medical === undefined || this.Type_Appui_Medical === null) lineType_Appui_Medical = 0;\r\n\r\n //check now\r\n let statusTotalValid: boolean = false;\r\n\r\n if( (this.donnee_collectee.designation.trim() !== ConstantsService.DESIGNATION_INDICATEUR_PSSN_12.trim()) && (this.donnee_collectee.designation.trim() !== ConstantsService.DESIGNATION_INDICATEUR_PSSN_13.trim()) ){\r\n statusTotalValid =\r\n ( (lineSexe_H + lineSexe_F) === (lineTA_0_17 + lineTA_18_59 + \r\n //lineTA_18_34 + lineTA_35_59 + lineTA_55_69 + + lineTA_SUP_70)\r\n lineTA_SUP_60 ) );\r\n }else{\r\n statusTotalValid = true;\r\n }\r\n\r\n if(!statusTotalValid) {\r\n this.errorMessage = \"Les totaux des niveaux de désagrégation Age et Sexe ne sont pas conformes\"; return statusTotalValid;\r\n }\r\n\r\n //continue checks for other level desagregations\r\n //type secours\r\n if(this.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_1.trim() || this.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_2.trim() ){\r\n statusTotalValid =\r\n //condition on types secours\r\n ( (lineType_Secours_Enfance_Malheureuse + lineType_Secours_Indigent + lineType_Secours_Sinistre + lineType_Secours_Immediat) <= (this.Total) ); //lineSexe_H + lineSexe_F\r\n if(!statusTotalValid) { this.errorMessage = \"Les totaux des niveaux de désagrégation Type Secours et Sexe ne sont pas conformes\"; return statusTotalValid; }\r\n }\r\n\r\n //filet social\r\n if(this.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_3.trim() || this.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_4.trim() || this.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_5.trim() ){\r\n statusTotalValid =\r\n //condition on filet social\r\n ( (lineType_Filet_Social_Transfert_Monetaire_Conditionnel + lineType_Filet_Social_Transfert_Monetaire_Inconditionnel) <= (this.Total) ); //lineSexe_H + lineSexe_F\r\n\r\n if(!statusTotalValid) { this.errorMessage = \"Les totaux des niveaux de désagrégation Filet Social et Sexe ne sont pas conformes\"; return statusTotalValid; }\r\n\r\n }\r\n\r\n //cas sociaux\r\n if(this.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_6.trim() || this.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_7.trim()){\r\n statusTotalValid =\r\n //condition on cas sociaux\r\n ( (lineType_Appui_Formation + lineType_Appui_Installation) <= (this.Total) ); //lineSexe_H + lineSexe_F\r\n if(!statusTotalValid) { this.errorMessage = \"Les totaux des niveaux de désagrégation Appui et Sexe ne sont pas conformes\"; return statusTotalValid; }\r\n }\r\n\r\n //appui general\r\n if(this.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_8.trim() || this.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_9.trim()){\r\n statusTotalValid =\r\n //condition on appui general\r\n ( (lineType_Appui_Nutritionnel + lineType_Appui_Materiel + lineType_Appui_Ludique + lineType_Appui_Medical) <= (this.Total) ); //lineSexe_H + lineSexe_F\r\n if(!statusTotalValid) { this.errorMessage = \"Les totaux des niveaux de désagrégation Appui et Sexe ne sont pas conformes\"; return statusTotalValid; }\r\n }\r\n\r\n return statusTotalValid;\r\n }//end isTotalValid\r\n\r\n\r\n\r\n //check if is valid\r\n public isValid(): boolean {\r\n //check not emptyness\r\n if(!this.isNotEmpty()) return false;\r\n\r\n let statusValid: boolean = false;\r\n\r\n statusValid =\r\n (this.Sexe_H >= 0) && (this.Sexe_F >= 0)\r\n && (\r\n //condition on group 1 of ages\r\n ( (this.TA_0_17 >= 0 ) \r\n //&& (this.TA_18_34 >= 0)\r\n && (this.TA_18_59 >= 0)\r\n //&& (this.TA_35_59 >= 0) && (this.TA_55_69 >= 0) \r\n && (this.TA_SUP_60 >= 0) \r\n //&& (this.TA_SUP_70 >= 0) \r\n )\r\n )\r\n\r\n //other conditionns left because no longer needed\r\n\r\n //handicap\r\n && (this.Handicap >= 0);\r\n\r\n if(!statusValid) { this.errorMessage = \"Veuillez vérifier les valeurs saisies\"; } else { return statusValid; } // + this.donnee_collectee.designation ;\r\n\r\n\r\n }//end isValid\r\n\r\n\r\n\r\n //recreate fiche fspssn details\r\n public static recreateFicheFsPssnDetails(item: any): FS_PSSN_Detail {\r\n let newItem: FS_PSSN_Detail = new FS_PSSN_Detail();\r\n\r\n newItem.id = item.id;\r\n newItem.fs_pssn_id = item.fs_pssn_id;\r\n newItem.donnees_collectees_id = item.donnees_collectees_id;\r\n newItem.donnee_collectee = item.donnee_collectee;\r\n newItem.Sexe_H = item.Sexe_H;\r\n newItem.Sexe_F = item.Sexe_F;\r\n\r\n newItem.Type_Secours_Enfance_Malheureuse = item.Type_Secours_Enfance_Malheureuse;\r\n newItem.Type_Secours_Indigent = item.Type_Secours_Indigent;\r\n newItem.Type_Secours_Sinistre = item.Type_Secours_Sinistre;\r\n newItem.Type_Secours_Immediat = item.Type_Secours_Immediat;\r\n\r\n newItem.Type_Filet_Social_Transfert_Monetaire_Conditionnel = item.Type_Filet_Social_Transfert_Monetaire_Conditionnel;\r\n newItem.Type_Filet_Social_Transfert_Monetaire_Inconditionnel = item.Type_Filet_Social_Transfert_Monetaire_Inconditionnel;\r\n\r\n newItem.Type_Appui_Formation = item.Type_Appui_Formation;\r\n newItem.Type_Appui_Installation = item.Type_Appui_Installation;\r\n\r\n newItem.Type_Appui_Nutritionnel = item.Type_Appui_Nutritionnel;\r\n newItem.Type_Appui_Materiel = item.Type_Appui_Materiel;\r\n newItem.Type_Appui_Ludique = item.Type_Appui_Ludique;\r\n newItem.Type_Appui_Medical = item.Type_Appui_Medical;\r\n\r\n newItem.TA_0_17 = item.TA_0_17;\r\n newItem.TA_18_59 = item.TA_18_59;\r\n newItem.TA_SUP_60 = item.TA_SUP_60;\r\n\r\n // newItem.TA_18_34 = item.TA_18_34;\r\n // newItem.TA_35_59 = item.TA_35_59;\r\n // newItem.TA_55_69 = item.TA_55_69;\r\n // newItem.TA_SUP_70 = item.TA_SUP_70;\r\n\r\n newItem.Total = item.Total;\r\n newItem.Handicap = item.Handicap;\r\n\t\r\n\tnewItem.HMI = item.HMI;\r\n\tnewItem.HMS = item.HMS;\r\n\tnewItem.HA = item.HA;\r\n\tnewItem.HV = item.HV;\r\n\tnewItem.HM = item.HM;\r\n\tnewItem.AFH = item.AFH;\r\n\r\n newItem.ou = item.ou;\r\n newItem.quand = item.quand;\r\n newItem.qui = item.qui;\r\n\r\n return newItem;\r\n }//end recreateFicheFsPssnDetails\r\n\r\n\r\n}\r\n","\r\nimport * as EmailValidator from 'email-validator';\r\n\r\n\r\nexport class commentaire {\r\n\r\n public id: number;\r\n public email: string;\r\n public identity: string;\r\n public message: string;\r\n\r\n private errorMessage: string;\r\n\r\n constructor(){\r\n this.errorMessage = \"\";\r\n }\r\n\r\n //get error message\r\n getErrorMessage(): string {\r\n return this.errorMessage;\r\n }//end getErrorMessage\r\n\r\n\r\n //check for save\r\n canSave(): boolean {\r\n if(this.identity === undefined || this.identity === null || this.identity.trim() === \"\"){\r\n this.errorMessage = \"Veuillez renseigner votre identité\"; return false;\r\n }\r\n\r\n if(this.email === undefined || this.email === null || this.email.trim() === \"\"){\r\n this.errorMessage = \"Veuillez renseigner votre adresse email\"; return false;\r\n }\r\n\r\n\r\n //adresse email valide\r\n if(!EmailValidator.validate(this.email)){\r\n this.errorMessage = \"Votre adresse mail est invalide\"; return false;\r\n }\r\n\r\n if(this.message === undefined || this.message === null || this.message.trim() === \"\"){\r\n this.errorMessage = \"Veuillez indiquer votre message\"; return false;\r\n }\r\n\r\n return true;\r\n }//end canSave\r\n\r\n\r\n}\r\n","import { Timestamp } from \"rxjs/internal/operators/timestamp\";\r\n\r\n\r\n\r\nexport class glossaire {\r\n\r\n public id: number;\r\n public nom: string;\r\n public definition: string;\r\n public created_at: any;\r\n public updated_at: any;\r\n \r\n\r\n private errorMessage: string;\r\n\r\n constructor(){\r\n this.errorMessage = \"\";\r\n }\r\n\r\n //get error message\r\n getErrorMessage(): string {\r\n return this.errorMessage;\r\n }//end getErrorMessage\r\n\r\n\r\n //check for save\r\n canSave(): boolean {\r\n if(this.nom === undefined || this.nom === null || this.nom.trim() === \"\"){\r\n this.errorMessage = \"Nom manquant\"; return false;\r\n }\r\n\r\n if(this.definition === undefined || this.definition === null || this.definition.trim() === \"\"){\r\n this.errorMessage = \"Définition manquante\"; return false;\r\n }\r\n\r\n return true;\r\n }//end canSave\r\n\r\n\r\n}\r\n","\r\n\r\n\r\nexport class groupe {\r\n\r\n public id: number;\r\n public designation: string;\r\n public ou: string;\r\n public qui: string;\r\n public quand: string;\r\n\r\n private errorMessage: string;\r\n\r\n constructor(){\r\n this.errorMessage = \"\";\r\n }\r\n\r\n //get error message\r\n getErrorMessage(): string {\r\n return this.errorMessage;\r\n }//end getErrorMessage\r\n\r\n\r\n //check for save\r\n canSave(): boolean {\r\n if(this.designation === undefined || this.designation === null || this.designation.trim() === \"\"){\r\n this.errorMessage = \"Désignation manquante\"; return false;\r\n }\r\n\r\n return true;\r\n }//end canSave\r\n\r\n\r\n}\r\n","\r\n\r\n\r\nexport class parametre {\r\n\r\n public id: number;\r\n public designation: string;\r\n public valeur: string;\r\n\r\n private errorMessage: string;\r\n\r\n constructor(){\r\n this.errorMessage = \"\";\r\n }\r\n\r\n //get error message\r\n getErrorMessage(): string {\r\n return this.errorMessage;\r\n }//end getErrorMessage\r\n\r\n\r\n //check for save\r\n canSave(): boolean {\r\n if(this.designation === undefined || this.designation === null || this.designation.trim() === \"\"){\r\n this.errorMessage = \"Désignation manquante\"; return false;\r\n }\r\n\r\n if(this.valeur === undefined || this.valeur === null || this.valeur.trim() === \"\"){\r\n this.errorMessage = \"Valeur manquante\"; return false;\r\n }\r\n\r\n return true;\r\n }//end canSave\r\n\r\n\r\n}\r\n","import {type_structure} from \"./type_structure\";\r\nimport {localisation} from \"./localisation\";\r\nimport {niveau_hierarchique} from \"./niveau_hierarchique\";\r\n\r\n\r\n\r\nexport class structure {\r\n\r\n public id: number;\r\n public designation: string;\r\n\r\n public type_structure_id: number;\r\n public type_structure: type_structure;\r\n public type_structure_name: string;\r\n\r\n public localisation_id: number;\r\n public localisation: localisation;\r\n public localisation_name: string;\r\n\r\n public niveau_hierarchique_id: number;\r\n public niveau_hierarchique: niveau_hierarchique;\r\n public niveau_hierarchique_name: string;\r\n\r\n public ou: string;\r\n public qui: string;\r\n public quand: string;\r\n\r\n private errorMessage: string;\r\n\r\n constructor(){\r\n this.errorMessage = \"\";\r\n }\r\n\r\n //get error message\r\n getErrorMessage(): string {\r\n return this.errorMessage;\r\n }//end getErrorMessage\r\n\r\n\r\n //check for save\r\n canSave(): boolean {\r\n if(this.designation === undefined || this.designation === null || this.designation.trim() === \"\"){\r\n this.errorMessage = \"Veuillez renseigner la désignation\"; return false;\r\n }\r\n if(this.type_structure === undefined || this.type_structure === null){\r\n this.errorMessage = \"Veuillez renseigner le type de structure\"; return false;\r\n }\r\n if(this.localisation === undefined || this.localisation === null ){\r\n this.errorMessage = \"Veuillez sélectionner la commune\"; return false;\r\n }\r\n if(this.niveau_hierarchique === undefined || this.niveau_hierarchique === null ){\r\n this.errorMessage = \"Veuillez sélectionner le niveau hiérarchique\"; return false;\r\n }\r\n\r\n return true;\r\n }//end canSave\r\n\r\n\r\n}\r\n","\r\n\r\n\r\nexport class type_structure {\r\n\r\n public id: number;\r\n public designation: string;\r\n public ou: string;\r\n public qui: string;\r\n public quand: string;\r\n\r\n private errorMessage: string;\r\n\r\n constructor(){\r\n this.errorMessage = \"\";\r\n }\r\n\r\n //get error message\r\n getErrorMessage(): string {\r\n return this.errorMessage;\r\n }//end getErrorMessage\r\n\r\n\r\n //check for save\r\n canSave(): boolean {\r\n if(this.designation === undefined || this.designation === null || this.designation.trim() === \"\"){\r\n this.errorMessage = \"Désignation manquante\"; return false;\r\n }\r\n\r\n return true;\r\n }//end canSave\r\n\r\n\r\n}\r\n","import {groupe} from \"./groupe\";\r\nimport {structure} from \"./structure\";\r\nimport * as EmailValidator from 'email-validator';\r\n\r\n\r\nexport class utilisateur {\r\n\r\n public id: number;\r\n public login: string;\r\n public nom: string;\r\n public prenoms: string;\r\n public mot_passe: string;\r\n public mot_passe_confirmation: string;\r\n public adresse_mail: string;\r\n public contact: string;\r\n public photo: string;\r\n public est_premiere_connexion: boolean;\r\n\r\n public structure_id: number;\r\n public structure: structure;\r\n\r\n public groupe_id: number;\r\n public groupe: groupe;\r\n\r\n public ou: string;\r\n public qui: string;\r\n public quand: any;\r\n\r\n public autorisations : [];\r\n\r\n\r\n //for password change\r\n public old_mot_passe: string;\r\n public new_mot_passe: string;\r\n public new_mot_passe_confirmation: string;\r\n\r\n private errorMessage: string;\r\n\r\n constructor(){\r\n this.errorMessage = \"\";\r\n }\r\n\r\n //get error message\r\n getErrorMessage(): string {\r\n return this.errorMessage;\r\n }//end getErrorMessage\r\n\r\n\r\n //check for save\r\n canSave(): boolean {\r\n\r\n if(this.nom === undefined || this.nom === null || this.nom.trim() === \"\"){\r\n this.errorMessage = \"Nom de l'utilisateur manquant\"; return false;\r\n }\r\n if(this.prenoms === undefined || this.prenoms === null || this.prenoms.trim() === \"\"){\r\n this.errorMessage = \"Prénom de l'utilisateur manquant\"; return false;\r\n }\r\n if(this.adresse_mail === undefined || this.adresse_mail === null || this.adresse_mail.trim() === \"\"){\r\n this.errorMessage = \"Adresse mail manquante\"; return false;\r\n }\r\n //adresse email valide\r\n if(!EmailValidator.validate(this.adresse_mail)){\r\n this.errorMessage = \"Adresse mail invalide\"; return false;\r\n }\r\n\r\n if(this.contact === undefined || this.contact === null || this.contact.trim() === \"\"){\r\n this.errorMessage = \"Contact téléphonique manquant\"; return false;\r\n }\r\n\r\n if(this.groupe === undefined || this.groupe === null || this.groupe.id === undefined){\r\n this.errorMessage = \"groupe de l'utilisateur manquant\"; return false;\r\n }\r\n if(this.structure === undefined || this.structure === null || this.structure.id === undefined){\r\n this.errorMessage = \"structure de l'utilisateur manquante\"; return false;\r\n }\r\n\r\n if(this.login === undefined || this.login === null || this.login.trim() === \"\"){\r\n this.errorMessage = \"Login manquant\"; return false;\r\n }\r\n\r\n //mot de passe\r\n if(this.mot_passe === undefined || this.mot_passe === null || this.mot_passe.trim() === \"\"){\r\n this.errorMessage = \"Mot de passe manquant\"; return false;\r\n }\r\n if(this.mot_passe.length < 5){\r\n this.errorMessage = \"Le Mot de passe doit contenir au moins 5 caractères\"; return false;\r\n }\r\n\r\n //mot de passe de confirmation\r\n if(this.mot_passe_confirmation === undefined || this.mot_passe_confirmation === null || this.mot_passe_confirmation.trim() === \"\"){\r\n this.errorMessage = \"Mot de passe de confirmation manquant\"; return false;\r\n }\r\n if(this.mot_passe !== this.mot_passe_confirmation){\r\n this.errorMessage = \"Le mot de passe et sa confirmation doivent être identiques\"; return false;\r\n }\r\n if(this.mot_passe_confirmation.length < 5){\r\n this.errorMessage = \"Le Mot de passe de confirmation doit contenir au moins 5 caractères\"; return false;\r\n }\r\n\r\n return true;\r\n }//end canSave\r\n\r\n\r\n\r\n //check for login\r\n canLogin(): boolean {\r\n if(this.login === undefined || this.login === null || this.login.trim() === \"\"){\r\n this.errorMessage = \"Login manquant\"; return false;\r\n }\r\n if(this.mot_passe === undefined || this.mot_passe === null || this.mot_passe.trim() === \"\"){\r\n this.errorMessage = \"Mot de passe manquant\"; return false;\r\n }\r\n\r\n return true;\r\n }//end canLogin\r\n\r\n //check for reset\r\n canReset(): boolean {\r\n if(this.adresse_mail === undefined || this.adresse_mail === null || this.adresse_mail.trim() === \"\"){\r\n this.errorMessage = \"Adresse email manquante\"; return false;\r\n }\r\n //adresse email valide\r\n if(!EmailValidator.validate(this.adresse_mail)){\r\n this.errorMessage = \"Adresse mail invalide\"; return false;\r\n }\r\n\r\n return true;\r\n }//end canReset\r\n\r\n //check for reset on first login\r\n canResetOnFirstLogin(): boolean {\r\n if(this.old_mot_passe === undefined || this.old_mot_passe === null || this.old_mot_passe.trim() === \"\"){\r\n this.errorMessage = \"Mot de passe actuel manquant\"; return false;\r\n }\r\n\r\n if(this.new_mot_passe === undefined || this.new_mot_passe === null || this.new_mot_passe.trim() === \"\"){\r\n this.errorMessage = \"Nouveau Mot de passe manquant\"; return false;\r\n }\r\n\r\n if(this.new_mot_passe_confirmation === undefined || this.new_mot_passe_confirmation === null || this.new_mot_passe_confirmation.trim() === \"\"){\r\n this.errorMessage = \"Confirmation de mot de passe manquante\"; return false;\r\n }\r\n if(this.new_mot_passe !== this.new_mot_passe_confirmation){\r\n this.errorMessage = \"Le mot de passe et sa confirmation doivent être identiques\"; return false;\r\n }\r\n\r\n if(this.new_mot_passe.length < 5){\r\n this.errorMessage = \"Le Mot de passe de confirmation doit contenir au moins 5 caractères\"; return false;\r\n }\r\n\r\n return true;\r\n }//end canResetOnFirstLogin\r\n\r\n}\r\n","import {ItDatePickerComponent} from \"../../components/utils/it-datepicker/it.datepicker.component\";\r\nimport {NgModule} from \"@angular/core\";\r\nimport {PublicLayoutRoutes} from \"../../layouts/public-layout/public-layout.routing\";\r\nimport {FormsModule} from \"@angular/forms\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CalendarModule} from \"primeng/calendar\";\r\nimport {TableModule} from \"primeng/table\";\r\nimport {DialogModule} from \"primeng/dialog\";\r\nimport {NgxSpinnerModule} from \"ngx-spinner\";\r\nimport {\r\n AccordionModule,\r\n ButtonModule,\r\n ChartModule,\r\n ConfirmDialogModule,\r\n FileUploadModule, GrowlModule, InputTextModule,\r\n MessagesModule,\r\n PaginatorModule\r\n} from \"primeng/primeng\";\r\nimport {CarouselModule} from \"ngx-owl-carousel-o\";\r\nimport {ItBooleanPipe} from \"../pipes/it-boolean/it-boolean.pipe\";\r\nimport {FormatMoneyPipe} from \"../pipes/format-money/format-money.pipe\";\r\nimport {ItPaginatorPipe} from \"../pipes/it-paginator/it-paginator.pipe\";\r\nimport {LimitToPipe} from \"../pipes/limit-to/limit-to.pipe\";\r\nimport {FormatToMonthPipe} from \"../pipes/format-to-month/format-to-month.pipe\";\r\nimport {FormatStatusPipe} from \"../pipes/format-status/format-status.pipe\";\r\nimport {PublicHeaderComponent} from \"../../components/utils/public-header/public-header.component\";\r\nimport {NumberOnlyDirective} from \"../directives/number.directive\";\r\nimport {HasRightDirective} from \"../directives/hasright.directive\";\r\n\r\n\r\nimport {PublicGlobalStatsPssnComponent} from \"../../components/public/globalstats/pssn/publicglobalstats_pssn.component\";\r\nimport {PublicGlobalStatsPeComponent} from \"../../components/public/globalstats/pe/publicglobalstats_pe.component\";\r\nimport {PublicGlobalStatsPffgComponent} from \"../../components/public/globalstats/pffg/publicglobalstats_pffg.component\";\r\nimport {DetailledStatsPssnComponent} from \"../../components/public/detailledstats/pssn/detailledstats_pssn.component\";\r\nimport {DetailledStatsPeComponent} from \"../../components/public/detailledstats/pe/detailledstats_pe.component\";\r\nimport {DetailledStatsPffgComponent} from \"../../components/public/detailledstats/pffg/detailledstats_pffg.component\";\r\nimport { LegendeSyntheseComponent } from \"src/app/components/utils/legende-synthese/legende-synthese.component\";\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CarouselModule, \r\n\tNgxSpinnerModule,\r\n InputTextModule, ButtonModule, CalendarModule, PaginatorModule, ChartModule, MessagesModule, DialogModule, ConfirmDialogModule,\r\n GrowlModule, FileUploadModule, TableModule, AccordionModule,\r\n\r\n ],\r\n declarations: [\r\n ItDatePickerComponent, PublicHeaderComponent,LegendeSyntheseComponent,\r\n //pipes\r\n ItPaginatorPipe, FormatMoneyPipe, LimitToPipe, ItBooleanPipe, FormatToMonthPipe, FormatStatusPipe,\r\n //directives\r\n NumberOnlyDirective, HasRightDirective,\r\n\t\r\n\tPublicGlobalStatsPssnComponent, PublicGlobalStatsPeComponent, PublicGlobalStatsPffgComponent,\r\n DetailledStatsPssnComponent, DetailledStatsPeComponent, DetailledStatsPffgComponent,\r\n\t\r\n ],\r\n exports: [\r\n ItDatePickerComponent, PublicHeaderComponent,LegendeSyntheseComponent,\r\n //pipes\r\n ItPaginatorPipe, FormatMoneyPipe, LimitToPipe, ItBooleanPipe, FormatToMonthPipe, FormatStatusPipe,\r\n //directives\r\n NumberOnlyDirective, HasRightDirective,\r\n\t\r\n\tPublicGlobalStatsPssnComponent, PublicGlobalStatsPeComponent, PublicGlobalStatsPffgComponent,\r\n DetailledStatsPssnComponent, DetailledStatsPeComponent, DetailledStatsPffgComponent,\r\n\t\r\n ]\r\n})\r\n\r\nexport class SharedModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'formatMoney'\r\n})\r\nexport class FormatMoneyPipe implements PipeTransform {\r\n\r\n transform(value: any, args: any) {\r\n var moneyFormatted = \"\"; var moneyLength = 0;\r\n\r\n //controle de al avleur entrée\r\n if (value === null || value == undefined) return value;\r\n\r\n //sa longueur\r\n moneyLength = value.length;\r\n\r\n //inverser la chaine de caractere\r\n var copiedInput = new String(value);\r\n var inversedInput = copiedInput.split('').reverse().join('');\r\n\r\n //diviser en groupes de 3\r\n for (var i =0; i<(inversedInput.length/3); i++){\r\n moneyFormatted += \" \" + inversedInput.substring(i*3, i*3+3);\r\n }\r\n\r\n //reinverse\r\n var copiedFormated = new String(moneyFormatted);\r\n var inversedFormated = copiedFormated.split('').reverse().join('');\r\n\r\n return inversedFormated.trim(); // + \" FCFA\";\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {LibraryService} from \"../../services/app/library.service\";\r\nimport {ConstantsService} from \"../../services/general/constants.service\";\r\n\r\n@Pipe({\r\n name: 'formatStatus'\r\n})\r\nexport class FormatStatusPipe implements PipeTransform {\r\n\r\n constructor() {}\r\n\r\n transform(value: any, args: any) {\r\n\r\n if(value.est_demande_validation){\r\n return \"En Attente de validation\";\r\n }\r\n\r\n if(value.est_validee){\r\n return \"Validée\";\r\n }\r\n\r\n if(value.est_annulee){\r\n return \"Annulée\";\r\n }\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {LibraryService} from \"../../services/app/library.service\";\r\nimport {ConstantsService} from \"../../services/general/constants.service\";\r\n\r\n@Pipe({\r\n name: 'formatToMonth'\r\n})\r\nexport class FormatToMonthPipe implements PipeTransform {\r\n\r\n constructor(private libServ: LibraryService, private constant: ConstantsService) {}\r\n\r\n transform(value: Date, args: any) {\r\n let theDate: Date = new Date();\r\n theDate = this.libServ.convertStrDateToJsDate(value);\r\n if(value === undefined) return \"\";\r\n let result: string = this.constant.MONTH_LIST[theDate.getMonth()] + \"-\" + theDate.getFullYear();\r\n return result; //\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'itBoolean'\r\n})\r\nexport class ItBooleanPipe implements PipeTransform {\r\n\r\n transform(item: boolean) {\r\n if (item === true) {\r\n return \"OUI\";\r\n }else{\r\n return \"NON\"\r\n }\r\n }//end transform\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'itPaginator'\r\n})\r\nexport class ItPaginatorPipe implements PipeTransform {\r\n\r\n transform(items: any[], startIndex: number, len: number) {\r\n if (!items || (!startIndex && !len )) {\r\n return items;\r\n }\r\n\r\n return items\r\n .slice(startIndex, startIndex + len);\r\n }//end transform\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'limitTo'\r\n})\r\nexport class LimitToPipe implements PipeTransform {\r\n\r\n transform(value: string, limit: number) : string {\r\n let trail = '...';\r\n return value.length > limit ? value.substring(0, limit) + trail : value;\r\n }\r\n\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\n// import { ConfigureService } from 'ng4-configure/ng4-configure';\r\nimport { Observable, of } from 'rxjs';\r\nimport {ToastrService} from \"ngx-toastr\";\r\nimport {environment} from \"../../../../environments/environment\";\r\n\r\n\r\n@Injectable()\r\nexport class AppService {\r\n\r\n private IDLE_DURATION = 1800; private TIME_OUT = 3600; private KEEP_ALIVE = 1800;\r\n\r\n private apiUrl = environment.apiUrl;\r\n\r\n\r\n // private headers = new Headers({'Content-Type': 'application/json'});\r\n private fileUrl = '';\r\n private resourceUrl = '';\r\n private uploadLogoUrl = '';\r\n\r\n public httpOptions: any = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n public pdfOptions: any = { headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Accept': 'application/pdf'} ),\r\n } ;\r\n\r\n\r\n\r\n constructor(private http: HttpClient, private toastr: ToastrService) { }\r\n\r\n getBaseUrl() : string{\r\n return this.apiUrl;\r\n }// fin getBaseUrl\r\n\r\n // getHeaders() : Headers{\r\n // return this.headers;\r\n // }//fin getHeaders\r\n\r\n getFileUrl() : string{\r\n return this.fileUrl;\r\n }//fin getFileUrl\r\n\r\n getResourceUrl() : string{\r\n return this.resourceUrl;\r\n }//fin getResourceUrl\r\n\r\n getLogoUploadUrl() : string{\r\n return this.apiUrl + \"params/uploadlogo/\";\r\n }//fin getLogoUploadUrl\r\n\r\n getIdleDuration() : number{\r\n return this.IDLE_DURATION;\r\n }//fin getIdleDuration\r\n\r\n getTimeOut() : number{\r\n return this.TIME_OUT;\r\n }//fin getTimeOut\r\n\r\n getKeepAlive() : number{\r\n return this.KEEP_ALIVE;\r\n }//fin getKeepAlive\r\n\r\n\r\n /**\r\n * Handle Http operation that failed.\r\n * Let the app continue.\r\n * @param operation - name of the operation that failed\r\n * @param result - optional value to return as the observable result\r\n */\r\n public handleError (operation = 'operation', result?: T) {\r\n return (error: any): Observable => {\r\n\r\n // TODO: send the error to remote logging infrastructure or something like that\r\n //console.error(error); // log to console instead\r\n\r\n // TODO: better job of transforming error for user consumption\r\n //console.log(`${operation} failed: ${error.message}`);\r\n\r\n //show error\r\n let errorMsg: string = \"Une erreur est survenue lors de cette opération. Libelle: \" + error.statusText;\r\n //console.log(errorMsg);\r\n\r\n //this.toastr.error(errorMsg, \"Erreur\", {positionClass: 'toast-top-center'});\r\n\r\n // Let the app keep running by returning an empty result.\r\n return of(result as T);\r\n };\r\n\r\n }\r\n\r\n\r\n}\r\n\r\n","\r\n\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class LibraryService {\r\n\r\n\r\n private limitTable: number[] = [5, 10, 20, 30];\r\n private pageLimit: number = 5;\r\n\r\n constructor() {}\r\n\r\n //get service error text\r\n getServiceErrorText(error: any) : string{\r\n let errorText: string = \"\";\r\n switch(error.status){\r\n case 400: errorText = error._body; break;\r\n //case 400: errorText = error._body; break;\r\n default: errorText = \"Une erreur est survenue. Veuillez réessayer\"; break;\r\n }\r\n return errorText;\r\n }//fin getServiceErrorText\r\n\r\n //get list of possible limit on paginators\r\n getPaginatorLimitList() : number[]{\r\n return this.limitTable;\r\n }//fin getPaginatorLimitList\r\n\r\n //get list of possible limit on paginators\r\n getPaginatorDefaultLimit() : number{\r\n return this.pageLimit;\r\n }//fin getPaginatorDefaultLimit\r\n\r\n copy(obj: any) : any{\r\n return (JSON.parse(JSON.stringify(obj)));\r\n }//fin copy\r\n\r\n showMessage(content: string) : void{\r\n return alert(content);\r\n }//fin showMessage\r\n\r\n //check valid number\r\n isValidNumber(value: any): boolean{\r\n let content: string = \"\" + value;\r\n var regexQty = /^[0-9]{1,10}$/; // -?(\\d+|\\d+\\.\\d+|\\.\\d+)([eE][-+]?\\d+)? from dom_renderer.ts\r\n if (!regexQty.test(content)){\r\n return false;\r\n }else return true;\r\n }//fin isValidNumber\r\n\r\n //pad a string\r\n padString (pad: string, user_str: string, pad_pos: string): string{\r\n if (typeof user_str === 'undefined')\r\n return pad;\r\n if (pad_pos == 'l')\r\n {\r\n return (pad + user_str).slice(-pad.length);\r\n }\r\n else\r\n {\r\n return (user_str + pad).substring(0, pad.length);\r\n }\r\n}//fin padString\r\n\r\n //convertit une date en chaine de caracteres\r\n convertDateToStringShort (date: Date): string{\r\n\r\n if (date === null || date === undefined) return null;\r\n\r\n let theYear: any = date.getFullYear();\r\n let theMonth: any = date.getMonth()+1;\r\n theMonth = this.padString(\"00\", theMonth, \"l\");\r\n let theDay: any = date.getDate();\r\n theDay = this.padString(\"00\", theDay, \"l\");\r\n\r\n let theHour: any = date.getHours();\r\n theHour = this.padString(\"00\", theHour, \"l\");\r\n let theMinute: any = date.getMinutes();\r\n theMinute = this.padString(\"00\", theMinute, \"l\");\r\n\r\n //var momDate = moment(date).format();\r\n var result = theDay + \"/\" + theMonth + \"/\" + theYear + \" \" ; //+ + theHour + \":\" + theMinute //momDate.substr(8, 2) + \"/\" + momDate.substr(5, 2) + \"/\" + momDate.substr(0, 4);\r\n return result;\r\n}//fin convertDateToStringShort\r\n\r\n //convert 2017-05-27T00:00:00 date to Mon May 22 2017 10:10:10 GMT+0100 (Afr. centrale Ouest) javascript\r\n convertStrDateToJsDate (dateStr: any): Date{\r\n if(dateStr === undefined) return new Date();\r\n\r\n dateStr = new String(dateStr);\r\n //day\r\n let theYear: number = parseInt(dateStr.substr(0, 4)) ;\r\n //month\r\n let theMonth: number = parseInt(dateStr.substr(5, 2))-1 ;\r\n //day\r\n let theDay: number = parseInt(dateStr.substr(8, 2)) ;\r\n\r\n let theDate: Date;\r\n theDate = new Date();\r\n theDate.setFullYear(theYear, theMonth, theDay);\r\n\r\n return theDate;\r\n }//fin convertDateToStringShort\r\n\r\n // check valid email\r\n isValidEmail(value: any): boolean{\r\n let regexp: any = new RegExp('/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/');\r\n let result: boolean = regexp.test(value);\r\n return result;\r\n }// fin isValidEmail\r\n\r\n //get browser offset\r\n getBrowserOffset(): number {\r\n let offset: number = new Date().getTimezoneOffset();\r\n return (-1) * offset / 60;\r\n }//end getBrowserOffset\r\n\r\n //is valid date\r\n isValidDate(dateAny: any) {\r\n return dateAny instanceof Date && !isNaN(dateAny.getTime());\r\n }//end isValidDate\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n","/**\r\n * Created by utilisateur on 31/03/2017.\r\n */\r\n\r\n/**\r\n * Created by utilisateur on 29/03/2017.\r\n */\r\n\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\n\r\n\r\n\r\n@Injectable()\r\nexport class LocalStorageService {\r\n\r\n\r\n private connectedAppUserKey: string = \"M_MAC_OFFE_APP_USER\";\r\n private currentFichePssn: string = \"M_MAC_OFFE_APP_FS_PSSN\";\r\n private currentFichePe: string = \"M_MAC_OFFE_APP_FS_PE\";\r\n private currentFichePffg: string = \"M_MAC_OFFE_APP_FS_PFFG\";\r\n private currentAppSelectedStat: string = \"M_MAC_OFFE_APP_SELECTED_STAT\";\r\n private currentAppGlobalStatParam: string = \"M_MAC_OFFE_APP_GLOBAL_STAT_PARAM\";\r\n\r\n private currentAppPssnSearchParam: string = \"M_MAC_OFFE_APP_PSSN_SEARCH_PARAM\";\r\n private currentAppPeSearchParam: string = \"M_MAC_OFFE_APP_PE_SEARCH_PARAM\";\r\n private currentAppPffgSearchParam: string = \"M_MAC_OFFE_APP_PFFG_SEARCH_PARAM\";\r\n\r\n\r\n\r\n constructor() {}\r\n\r\n //enregistre un utilisateur connecte\r\n public saveUser (obj: any): void{\r\n this.saveToSession(this.connectedAppUserKey, obj);\r\n };\r\n //retourne un user\r\n public getUser (): any {\r\n return this.readFromSession(this.connectedAppUserKey);\r\n };\r\n\r\n //enregistre une fiche fs_pssn\r\n public saveFicheFsPssn (obj: any): void{\r\n this.saveToSession(this.currentFichePssn, obj);\r\n };\r\n //retourne une fiche fs_pssn\r\n public getFicheFsPssn (): any {\r\n return this.readFromSession(this.currentFichePssn);\r\n };\r\n\r\n\r\n //enregistre une fiche fs_pe\r\n public saveFicheFsPe (obj: any): void{\r\n this.saveToSession(this.currentFichePe, obj);\r\n };\r\n //retourne une fiche fs_pe\r\n public getFicheFsPe (): any {\r\n return this.readFromSession(this.currentFichePe);\r\n };\r\n\r\n\r\n //enregistre une fiche fs_pffg\r\n public saveFicheFsPffg (obj: any): void{\r\n this.saveToSession(this.currentFichePffg, obj);\r\n };\r\n\r\n //retourne une fiche fs_pe\r\n public getFicheFsPffg (): any {\r\n return this.readFromSession(this.currentFichePffg);\r\n };\r\n\r\n\r\n //enregistre une fiche stat\r\n public saveSelectedStat (obj: any): void{\r\n this.saveToSession(this.currentAppSelectedStat, obj);\r\n };\r\n\r\n //retourne une fiche stat\r\n public getSelectedStat (): any {\r\n return this.readFromSession(this.currentAppSelectedStat);\r\n };\r\n\r\n //enregistre un param de stat global\r\n public saveSelectedGlobalStatParam (obj: any): void{\r\n this.saveToSession(this.currentAppGlobalStatParam, obj);\r\n };//end saveSelectedGlobalStatParam\r\n\r\n //retourne un param de stat global\r\n public getSelectedGlobalStatParam (): any {\r\n return this.readFromSession(this.currentAppGlobalStatParam);\r\n };//end getSelectedGlobalStatParam\r\n\r\n\r\n //enregistre un critere de recherche fiche pssn\r\n public saveSelectedPssnSearchParam (obj: any): void{\r\n this.saveToSession(this.currentAppPssnSearchParam, obj);\r\n };//end saveSelectedPssnSearchParam\r\n\r\n //retourne un critere de recherche fiche pssn\r\n public getSelectedPssnSearchParam (): any {\r\n return this.readFromSession(this.currentAppPssnSearchParam);\r\n };//end getSelectedPssnSearchParam\r\n\r\n //enregistre un critere de recherche fiche pe\r\n public saveSelectedPeSearchParam (obj: any): void{\r\n this.saveToSession(this.currentAppPeSearchParam, obj);\r\n };//end saveSelectedPssnSearchParam\r\n\r\n //retourne un critere de recherche fiche pe\r\n public getSelectedPeSearchParam (): any {\r\n return this.readFromSession(this.currentAppPeSearchParam);\r\n };//end getSelectedPeSearchParam\r\n\r\n //enregistre un critere de recherche fiche pffg\r\n public saveSelectedPffgSearchParam (obj: any): void{\r\n this.saveToSession(this.currentAppPffgSearchParam, obj);\r\n };//end saveSelectedPffgSearchParam\r\n\r\n //retourne un critere de recherche fiche pffg\r\n public getSelectedPffgSearchParam (): any {\r\n return this.readFromSession(this.currentAppPffgSearchParam);\r\n };//end getSelectedPffgSearchParam\r\n\r\n\r\n\r\n\r\n\r\n\r\n private saveToSession (key: string, value: any): void{\r\n var stringified = JSON.stringify(value);\r\n var jsonValue = btoa(stringified);\r\n localStorage.setItem(key, jsonValue);\r\n };\r\n\r\n private readFromSession (key: any): any{\r\n var result = null;\r\n try{\r\n var json = localStorage.getItem(key);\r\n var result = JSON.parse(atob(json));\r\n }catch(e){\r\n result = null;\r\n }\r\n return result;\r\n };\r\n\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport {Observable} from \"rxjs/index\";\r\nimport {catchError} from \"rxjs/operators\";\r\nimport {utilisateur} from \"../../model/utilisateur\";\r\nimport {AppService} from \"../app/app.service\";\r\nimport {HttpClient} from \"@angular/common/http\";\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n\r\n constructor(private http: HttpClient, private appService: AppService) { }\r\n\r\n\r\n //login\r\n login(item: utilisateur) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}auth/login`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin login\r\n\r\n\r\n //reset\r\n reset(item: utilisateur) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}auth/reset`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin reset\r\n\r\n //reset\r\n resetOnFirstLogin(item: utilisateur) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}auth/resetonfirstlogin`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin resetOnFirstLogin\r\n\r\n\r\n\r\n}\r\n","import {Inject, Injectable} from '@angular/core';\r\nimport {LOCAL_STORAGE, WebStorageService} from 'angular-webstorage-service';\r\n\r\n@Injectable()\r\nexport class AppStorageService {\r\n\r\n private connectedUserKey: string = \"SIDOFFENG_CONNECTED_USER\";\r\n\r\n constructor(\r\n @Inject(LOCAL_STORAGE) private storage: WebStorageService\r\n ) { }\r\n\r\n //get connected user\r\n public setConnectedUser(user: any): void {\r\n this.storage.set(this.connectedUserKey, user);\r\n }\r\n public getConnectedUser(): any {\r\n let emptyObj = {};\r\n return this.storage.get(this.connectedUserKey);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\n\r\n\r\n@Injectable()\r\nexport class ConstantsService {\r\n\r\n static instance: ConstantsService;\r\n\r\n constructor() {\r\n ConstantsService.instance = this;\r\n }\r\n\r\n\r\n //liste de mois\r\n MONTH_LIST = [ \"Janvier\",\"Février\",\"Mars\",\"Avril\",\"Mai\",\"Juin\",\"Juillet\",\"Aôut\",\"Septembre\",\"Octobre\",\"Novembre\",\"Décembre\" ];\r\n\r\n //LISTE DES THEMATIQUES\r\n DOMAINE_LISTE = [\r\n //{ id: 1, designation: \"\" }\r\n ];\r\n\r\n\r\n THEMATIQUE_LISTE = [\r\n {\r\n\r\n }\r\n ];\r\n\r\n\r\n\r\n //libelles et valeurs utilisées sur les formulaires dedition et decreation de fiches\r\n\r\n //fiche protection sociale et solidarite nationale\r\n static REFERENCE_DOMAINE_PSSN: number = 5;\r\n static LABEL_TYPE_SECOURS: string = \"type_secours\"; static DESIGNATION_TYPE_SECOURS: string = \"Secours nationaux\";\r\n static LABEL_FILET_SOCIAL: string = \"filet_social\"; static DESIGNATION_FILET_SOCIAL: string = \"Filets sociaux\";\r\n static LABEL_CAS_SOCIAUX: string = \"cas_sociaux\"; static DESIGNATION_CAS_SOCIAUX: string = \"Insertion socio-professionnelle des jeunes cas sociaux\";\r\n static LABEL_APPUI_GENERAL: string = \"appui_general\"; static DESIGNATION_APPUI_GENERAL: string = \"Personne de troisième âge (PTA)\";\r\n\r\n //fiche protection de l'enfant\r\n static REFERENCE_DOMAINE_PE: number = 3;\r\n //static LABEL_TYPE_SECOURS: string = \"type_secours\"; static DESIGNATION_TYPE_SECOURS: string = \"Secours nationaux\";\r\n\r\n //fiche protection de la famille, de la femme et du genre\r\n static REFERENCE_DOMAINE_PFFG: number = 4;\r\n static LABEL_CAPE_FAMILLE_ACCUEIL: string = \"cape_famille_accueil\"; static LABEL_NOT_CAPE_FAMILLE_ACCUEIL: string = \"not_cape_famille_accueil\";\r\n static DESIGNATION_ACCOMPAGNEMENT_CAPE: string = \"Accompagnement CAPE\"; static DESIGNATION_FAMILLES: string = \"Familles hôtes / familles d'accueil\";\r\n\r\n\r\n //lib disabled\r\n\r\n\r\n\r\n //PSSN area\r\n\r\n static LABEL_GROSSESSES_PRECOCES_CHARGE: string = \"Nombre de grossesses précoces pris en charge\";\r\n static LABEL_GROSSESSES_PRECOCES_ENREGISTREES: string = \"Nombre total de grossesses précoces enregistrées dans les structures de prise en charge\";\r\n static LABEL_INDICATEURS_GROSSESSES_DISABLED: string [] = [ ConstantsService.LABEL_GROSSESSES_PRECOCES_CHARGE, ConstantsService.LABEL_GROSSESSES_PRECOCES_ENREGISTREES ];\r\n\r\n static LABEL_MONTANT_SECOURS_OCTROYE: string = \"Montant total octroyé pour le secours (en millier de francs CFA)\";\r\n static LABEL_MONTANT_SECOURS_SOLLICITE: string = \"Montant sollicité auprès des CPS, SSS et autres ONG partenaires (en millier de francs CFA)\";\r\n\r\n\r\n //ndicateurs pssn avec des niveaux de desagregation supplementaire\r\n static DESIGNATION_INDICATEUR_PSSN_1: string = \"Nombre total de demandes de secours nationaux satisfaites\";\r\n static DESIGNATION_INDICATEUR_PSSN_2: string = \" Nombre total de demandes de secours nationaux reçues par les CPS, SSS, ONG, Police Républicaine et autres structures partenaires\";\r\n\r\n\r\n static DESIGNATION_INDICATEUR_PSSN_3: string = \"Nombre de ménages bénéficiaires de filets sociaux (transfert monétaire, transfert en nature, prise en charge sanitaire, prise en charge scolaire…)\";\r\n static DESIGNATION_INDICATEUR_PSSN_4: string = \"Nombre de ménage pauvres identifiés\";\r\n static DESIGNATION_INDICATEUR_PSSN_5: string = \"Somme des montants octroyés pour les filets sociaux (en millier de francs CFA)\";\r\n static LABEL_INDICATEURS_FILETS_SOCIAUX_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PSSN_3, ConstantsService.DESIGNATION_INDICATEUR_PSSN_4, ConstantsService.DESIGNATION_INDICATEUR_PSSN_5 ];\r\n\r\n\r\n static LABEL_INDICATEURS_PSSN_ALL_DISABLED: string [] = [ ConstantsService.LABEL_MONTANT_SECOURS_OCTROYE, ConstantsService.LABEL_MONTANT_SECOURS_SOLLICITE, ConstantsService.DESIGNATION_INDICATEUR_PSSN_3, ConstantsService.DESIGNATION_INDICATEUR_PSSN_4, ConstantsService.DESIGNATION_INDICATEUR_PSSN_5 ];\r\n\r\n\r\n static DESIGNATION_INDICATEUR_PSSN_6: string = \"Nombre de jeunes cas sociaux appuyés (appuiinstallation, formation dans les cours éducatifs)\";\r\n static DESIGNATION_INDICATEUR_PSSN_7: string = \"Nombre total de jeunes cas sociaux identifiés par les CPS, ONG partenaire\";\r\n\r\n\r\n static DESIGNATION_INDICATEUR_PSSN_8: string = \"Nombre total de demandes d'appui des PTA satisfaites\";\r\n static DESIGNATION_INDICATEUR_PSSN_9: string = \"Nombre total d'appuis sollicités par les PTA auprès des CPS, SSS et autres structures partenaires,\";\r\n\r\n\r\n static DESIGNATION_INDICATEUR_PSSN_10: string = \"Nombre de jeunes cas sociaux appuyés (appui-installation, formation dans les cours éducatifs)\";\r\n static DESIGNATION_INDICATEUR_PSSN_11: string = \"Nombre total de jeunes cas sociaux identifiés par les CPS, ONG et Structures Partenaires\";\r\n static LABEL_INDICATEURS_SOCIO_PRO_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PSSN_10, ConstantsService.DESIGNATION_INDICATEUR_PSSN_11 ];\r\n\r\n static DESIGNATION_INDICATEUR_PSSN_12: string = \" Nombre total de demandes d’appui pour naissances multiples satisfaites\";\r\n static DESIGNATION_INDICATEUR_PSSN_13: string = \"Nombre total de demandes d’appui pour naissances multiples enregistrées par les CPS, SSS, ONG, Police Républicaine et autres structures partenaires\";\r\n static LABEL_INDICATEURS_NAISSANCES_MULTIPLES_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PSSN_12, ConstantsService.DESIGNATION_INDICATEUR_PSSN_13 ];\r\n\r\n static DESIGNATION_INDICATEUR_PSSN_14: string = \"Nombre total de demandes d'appui des PTA satisfaites\";\r\n static DESIGNATION_INDICATEUR_PSSN_15: string = \"Nombre total d'appuis sollicités par les PTA auprès des CPS, SSS, ONG et Structures Partenaires\";\r\n static LABEL_INDICATEURS_APPUI_PTA_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PSSN_14, ConstantsService.DESIGNATION_INDICATEUR_PSSN_15 ];\r\n\r\n static DESIGNATION_INDICATEUR_PSSN_16: string = \"Nombre d’adultes victimes de traite, réintégrés dans leur famille ou dans la communauté\";\r\n static DESIGNATION_INDICATEUR_PSSN_17: string = \" Nombre d’adultes victimes de traite recensés par les CPS, SSS, Structures d'accueil, ONG et Structures Partenaires\";\r\n static DESIGNATION_INDICATEUR_PSSN_18: string = \"Nombre d’adultes victimes de traite nationale\";\r\n static DESIGNATION_INDICATEUR_PSSN_19: string = \"Nombre d’adultes victimes de traite transfrontalière\";\r\n static DESIGNATION_INDICATEUR_PSSN_20: string = \"Nombre de consultations sociales faites par les CPS\";\r\n static LABEL_INDICATEURS_TRAITE_ADULTES_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PSSN_16, ConstantsService.DESIGNATION_INDICATEUR_PSSN_17, ConstantsService.DESIGNATION_INDICATEUR_PSSN_18, ConstantsService.DESIGNATION_INDICATEUR_PSSN_19 ];\r\n\r\n static LABEL_INDICATEURS_CONSULTATION_CPS_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PSSN_20 ];\r\n\r\n\r\n //PE area\r\n static DESIGNATION_INDICATEUR_PE_1: string = \"Nombre de CAPE identifiés\";\r\n static DESIGNATION_INDICATEUR_PE_2: string = \"Nombre de CAPE autorisés\";\r\n\r\n static DESIGNATION_INDICATEUR_PE_3: string = \" Nombre de filles victimes d’excision recensées par les CPS, Formations sanitaires, ONG et autres Structures Partenaires\";\r\n static DESIGNATION_INDICATEUR_PE_4: string = \" Nombre de filles victimes d’excision prises en charge par les CPS, Formations sanitaires, ONG et autres Structures Partenaires\";\r\n static DESIGNATION_INDICATEUR_PE_5: string = \"Nombre de cas d’excision référés vers les structures de répression (Sécurité, Justice)\";\r\n static DESIGNATION_INDICATEUR_PE_6: string = \"Nombre de cas d’excision ayant fait l’objet d’une décision de justice\";\r\n\r\n static DESIGNATION_INDICATEUR_PE_7: string = \" Nombre de cas de grossesses précoces pris en charge \";\r\n static DESIGNATION_INDICATEUR_PE_8: string = \" Nombre total de cas de grossesses précoces enregistrées dans les structures de prise en charge\";\r\n static DESIGNATION_INDICATEUR_PE_9: string = \" Nombre de cas de mariages précoces pris en charge\";\r\n static DESIGNATION_INDICATEUR_PE_10: string = \" Nombre total de cas de mariages précoces enregistrés\";\r\n static DESIGNATION_INDICATEUR_PE_11: string = \" Nombre total de cas d’enlèvement et de séquestration survenus\";\r\n static DESIGNATION_INDICATEUR_PE_12: string = \" Nombre de cas de violences sexuelles reçus\";\r\n static DESIGNATION_INDICATEUR_PE_13: string = \" Nombre de cas de violences économiques reçus\";\r\n static DESIGNATION_INDICATEUR_PE_14: string = \" Nombre de cas de violences physiques reçus\";\r\n static DESIGNATION_INDICATEUR_PE_15: string = \" Nombre de cas de violences psychologiques ou morales reçus\";\r\n static DESIGNATION_INDICATEUR_PE_16: string = \" Nombre de cas de violences patrimoniales ou culturelles reçus\";\r\n\r\n static LABEL_INDICATEURS_MUTILATIONS_GENITALES_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PE_3, ConstantsService.DESIGNATION_INDICATEUR_PE_4,\r\n ConstantsService.DESIGNATION_INDICATEUR_PE_5, ConstantsService.DESIGNATION_INDICATEUR_PE_6, ConstantsService.DESIGNATION_INDICATEUR_PE_7, ConstantsService.DESIGNATION_INDICATEUR_PE_8 ,\r\n ConstantsService.DESIGNATION_INDICATEUR_PE_9, ConstantsService.DESIGNATION_INDICATEUR_PE_10, ConstantsService.DESIGNATION_INDICATEUR_PE_11,\r\n ConstantsService.DESIGNATION_INDICATEUR_PE_12, ConstantsService.DESIGNATION_INDICATEUR_PE_13, ConstantsService.DESIGNATION_INDICATEUR_PE_14,\r\n ConstantsService.DESIGNATION_INDICATEUR_PE_15, ConstantsService.DESIGNATION_INDICATEUR_PE_16, ]\r\n\r\n static LABEL_INDICATEURS_PE_ALL_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PE_1, ConstantsService.DESIGNATION_INDICATEUR_PE_2,\r\n ];\r\n\r\n static LABEL_INDICATEURS_PE_GROSSESSE_AGE_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PE_7, ConstantsService.DESIGNATION_INDICATEUR_PE_8,\r\n ConstantsService.DESIGNATION_INDICATEUR_PE_9, ConstantsService.DESIGNATION_INDICATEUR_PE_10,\r\n ];\r\n\r\n static LABEL_INDICATEURS_PE_GROSSESSE_H_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PE_7, ConstantsService.DESIGNATION_INDICATEUR_PE_8,\r\n ];\r\n\r\n\r\n //PFFG area\r\n\r\n\r\n static LABEL_CAPE_ENREGISTRES: string = \"Nombre de CAPE enregistrés\";\r\n static LABEL_CAPE_SUIVIS: string = \"Nombre de CAPE suivis\";\r\n static LABEL_GROUPEMENTS_FEMININS_APPUYES: string = \"Nombre de groupements féminins/mixte appuyés\";\r\n static LABEL_GROUPEMENTS_FEMININS_ENREGISTRES: string = \"Nombre de groupements féminins/mixte enregistrés\";\r\n static LABEL_INDICATEURS_PFFG_ALL_DISABLED: string [] = [ConstantsService.LABEL_CAPE_ENREGISTRES, ConstantsService.LABEL_CAPE_SUIVIS, ConstantsService.LABEL_GROUPEMENTS_FEMININS_APPUYES, ConstantsService.LABEL_GROUPEMENTS_FEMININS_ENREGISTRES];\r\n\r\n static DESIGNATION_INDICATEUR_PFFG_1: string = \" Nombre de cas relatifs aux violences basées sur le genre pris en charge\";\r\n static DESIGNATION_INDICATEUR_PFFG_2: string = \" Nombre de cas relatifs aux violences basées sur le genre référés aux OPJ ou au tribunal\";\r\n static DESIGNATION_INDICATEUR_PFFG_3: string = \" Nombre de cas relatifs aux violences basées sur le genre référés dans les formations sanitaires\";\r\n static DESIGNATION_INDICATEUR_PFFG_4: string = \" Nombre de cas de violences physiques reçus\";\r\n static DESIGNATION_INDICATEUR_PFFG_5: string = \" Nombre de cas de violences sexuelles reçus\";\r\n static DESIGNATION_INDICATEUR_PFFG_6: string = \" Nombre de cas de violences économiques reçus\";\r\n static DESIGNATION_INDICATEUR_PFFG_7: string = \" Nombre de cas de violences psychologiques ou morales reçus\";\r\n static DESIGNATION_INDICATEUR_PFFG_8: string = \" Nombre de cas de violences patrimoniales ou culturelles reçus\";\r\n static DESIGNATION_INDICATEUR_PFFG_9: string = \" Nombre de cas relatifs aux violences basées sur le genre reçus dans les structures de prise en charge\";\r\n static DESIGNATION_INDICATEUR_PFFG_10: string = \" Nombre total de cas d’enlèvement et de séquestration survenus\";\r\n static DESIGNATION_INDICATEUR_PFFG_11: string = \" Nombre total de cas d’incestes recensés\";\r\n static DESIGNATION_INDICATEUR_PFFG_12: string = \"Nombre total de cas de violences liées au lévirat recensés\";\r\n static DESIGNATION_INDICATEUR_PFFG_13: string = \"Nombre total de cas de harcèlement recensés\";\r\n\r\n static DESIGNATION_INDICATEUR_PFFG_14: string = \"Nombre de victimes d'excision recensées par les CPS, Formations sanitaires, ONG et autres Structures Partenaires\";\r\n static DESIGNATION_INDICATEUR_PFFG_15: string = \"Nombre de victimes d'excision prises en charge par les CPS, Formations sanitaires, ONG et autres Structures Partenaires\";\r\n static DESIGNATION_INDICATEUR_PFFG_16: string = \"Nombre de cas d'excision référés vers les structures de répression (Sécurité, Justice)\";\r\n static DESIGNATION_INDICATEUR_PFFG_17: string = \"Nombre de cas d'excision ayant fait l’objet d’une décision de justice\";\r\n\r\n static LABEL_INDICATEURS_PFFG_VBG_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PFFG_1, ConstantsService.DESIGNATION_INDICATEUR_PFFG_2,\r\n ConstantsService.DESIGNATION_INDICATEUR_PFFG_3, ConstantsService.DESIGNATION_INDICATEUR_PFFG_4, ConstantsService.DESIGNATION_INDICATEUR_PFFG_5, ConstantsService.DESIGNATION_INDICATEUR_PFFG_6, ConstantsService.DESIGNATION_INDICATEUR_PFFG_7,\r\n ConstantsService.DESIGNATION_INDICATEUR_PFFG_8, ConstantsService.DESIGNATION_INDICATEUR_PFFG_9, ConstantsService.DESIGNATION_INDICATEUR_PFFG_10, ConstantsService.DESIGNATION_INDICATEUR_PFFG_11, ConstantsService.DESIGNATION_INDICATEUR_PFFG_12, ConstantsService.DESIGNATION_INDICATEUR_PFFG_13,\r\n ConstantsService.DESIGNATION_INDICATEUR_PFFG_14, ConstantsService.DESIGNATION_INDICATEUR_PFFG_15, ConstantsService.DESIGNATION_INDICATEUR_PFFG_16, ConstantsService.DESIGNATION_INDICATEUR_PFFG_17,\r\n ];\r\n\r\n static LABEL_INDICATEURS_PFFG_VBG_LEVIRAT_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PFFG_12, ];\r\n\r\n static LABEL_INDICATEURS_PFFG_MUTILATIONS_GENITALES_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PFFG_14, ConstantsService.DESIGNATION_INDICATEUR_PFFG_15,\r\n ConstantsService.DESIGNATION_INDICATEUR_PFFG_16, ConstantsService.DESIGNATION_INDICATEUR_PFFG_17, ];\r\n\r\n static DESIGNATION_INDICATEUR_PFFG_18: string = \"Nombre de séances de sensibilisations faites pour la promotion des valeurs familiales\";\r\n static DESIGNATION_INDICATEUR_PFFG_19: string = \" Nombre de séance de promotion dialogue parents- enfants sur les sujets de sexualité\";\r\n static DESIGNATION_INDICATEUR_PFFG_20: string = \"Nombre de participants touchés par les séances de sensibilisation sur la promotion des valeurs familiales\";\r\n static DESIGNATION_INDICATEUR_PFFG_21: string = \"Nombre de participants touchés par les séances de promotion dialogue parents-enfants sur les sujets de sexualité\";\r\n static DESIGNATION_INDICATEUR_PFFG_22: string = \"Nombre de participants touchés par les séances de dialogue intergénérationnel\";\r\n static DESIGNATION_INDICATEUR_PFFG_23: string = \" Nombre de séances de dialogue intergénérationnel faites\";\r\n static DESIGNATION_INDICATEUR_PFFG_24: string = \" Nombre de ménages touchés par les plaidoyers dans le cadre des dialogues parents enfants\";\r\n static DESIGNATION_INDICATEUR_PFFG_25: string = \"Nombre de jeunes et adolescents ayant adopté une méthode moderne de contraception\";\r\n\r\n static LABEL_INDICATEURS_PFFG_PSSAJ_SEXE_HANDICAP_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PFFG_18, ConstantsService.DESIGNATION_INDICATEUR_PFFG_19,\r\n ConstantsService.DESIGNATION_INDICATEUR_PFFG_23, ConstantsService.DESIGNATION_INDICATEUR_PFFG_24, ];\r\n\r\n static LABEL_INDICATEURS_PFFG_PSSAJ_AGE_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PFFG_18, ConstantsService.DESIGNATION_INDICATEUR_PFFG_19,\r\n ConstantsService.DESIGNATION_INDICATEUR_PFFG_23,\r\n ConstantsService.DESIGNATION_INDICATEUR_PFFG_24, ]; //ConstantsService.DESIGNATION_INDICATEUR_PFFG_20, ConstantsService.DESIGNATION_INDICATEUR_PFFG_22, ConstantsService.DESIGNATION_INDICATEUR_PFFG_21, \r\n\r\n static LABEL_INDICATEURS_PFFG_ADO_CONTRACEPTION_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PFFG_25 ];\r\n\r\n static DESIGNATION_INDICATEUR_PFFG_26: string = \"Nombre de femmes formées/encadrées au leadership féminins (postes de prise de décisions)\";\r\n static LABEL_INDICATEURS_PFFG_FEMME_LEADER_H_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PFFG_26 ];\r\n\r\n static DESIGNATION_INDICATEUR_PFFG_27: string = \"Nombre de femmes en prisons enregistrées\";\r\n static DESIGNATION_INDICATEUR_PFFG_28: string = \"Nombre de femmes en prison libérées\";\r\n static DESIGNATION_INDICATEUR_PFFG_29: string = \"Nombre de femmes en prison sans jugement\";\r\n static DESIGNATION_INDICATEUR_PFFG_30: string = \"Proportion de femmes en prison attendant un jugement \";\r\n\r\n static LABEL_INDICATEURS_PFFG_PRISON_H_DISABLED: string [] = [ ConstantsService.DESIGNATION_INDICATEUR_PFFG_27, ConstantsService.DESIGNATION_INDICATEUR_PFFG_28,\r\n ConstantsService.DESIGNATION_INDICATEUR_PFFG_29, ConstantsService.DESIGNATION_INDICATEUR_PFFG_30, ];\r\n\r\n static DESIGNATION_INDICATEUR_PFFG_31: string = \"Nombre de participants touchés par les séances de promotion dialogue parents-enfants sur les sujets de sexualité\";\r\n\r\n static LABEL_INDICATEURS_PFFG_PROMO_DIALOGUE_PARENT_ENFANT_DISABLED: string [] = [ ]; //ConstantsService.DESIGNATION_INDICATEUR_PFFG_31\r\n\r\n\r\n static STATUT_FICHE_ANNULATION: string = \"ANNULATION\";\r\n\r\n\r\n\r\n\r\n}\r\n"," import { Injectable } from '@angular/core';\r\n import {donnee_collectee} from \"../../model/donnee_collectee\";\r\n import {FS_PSSN_Detail} from \"../../model/FS_PSSN_Detail\";\r\n import {type_structure} from \"../../model/type_structure\";\r\n import {structure} from \"../../model/structure\";\r\n import { glossaire } from '../../model/glossaire';\r\n import {groupe} from \"../../model/groupe\";\r\n import {utilisateur} from \"../../model/utilisateur\";\r\n import {FS_PSSN} from \"../../model/FS_PSSN\";\r\n import {FS_PE} from \"../../model/FS_PE\";\r\n import {FS_PE_Detail} from \"../../model/FS_PE_Detail\";\r\n import {FS_PF_FG_Detail} from \"../../model/FS_PF_FG_Detail\";\r\n import {FS_PF_FG} from \"../../model/FS_PF_FG\";\r\n import {ConstantsService} from \"./constants.service\";\r\n import {localisation} from \"../../model/localisation\";\r\n import {parametre} from \"../../model/parametre\";\r\n\r\n\r\n@Injectable()\r\nexport class UtilsService {\r\n\r\n private monthList: string[] = [\"Janvier\", \"Février\", \"Mars\", \"Avril\", \"Mai\", \"Juin\", \"Juillet\", \"Août\", \"Septembre\", \"Octobre\", \"Novembre\", \"Décembre\"];\r\n \r\n\r\n constructor() { }\r\n\r\n //recreate typestructure\r\n public recreateTypeStructure(item: type_structure): type_structure {\r\n let newItem: type_structure = new type_structure();\r\n newItem.id = item.id;\r\n newItem.designation = item.designation;\r\n newItem.ou = item.ou;\r\n newItem.quand = item.quand;\r\n newItem.qui = item.qui;\r\n return newItem;\r\n }//end recreateTypeStructure\r\n\r\n //recreate groupe\r\n public recreateGroupe(item: groupe): groupe {\r\n let newItem: groupe = new groupe();\r\n newItem.id = item.id;\r\n newItem.designation = item.designation;\r\n newItem.ou = item.ou;\r\n newItem.quand = item.quand;\r\n newItem.qui = item.qui;\r\n return newItem;\r\n }//end recreateGroupe\r\n\r\n //recreate glossaire\r\n public recreateGlossaire(item: glossaire): glossaire {\r\n let newItem: glossaire = new glossaire();\r\n newItem.id = item.id;\r\n newItem.nom = item.nom;\r\n newItem.definition = item.definition;\r\n newItem.created_at = item.created_at;\r\n newItem.updated_at = item.updated_at;\r\n return newItem;\r\n }//end recreateglossaire\r\n\r\n\r\n //recreate structure\r\n public recreateStructure(item: any): structure {\r\n let newItem: structure = new structure();\r\n newItem.id = item.id;\r\n newItem.designation = item.designation;\r\n newItem.localisation_id = item.localisation_id;\r\n newItem.type_structure_id = item.type_structure_id;\r\n newItem.niveau_hierarchique_id = item.niveau_hierarchique_id;\r\n newItem.ou = item.ou;\r\n newItem.quand = item.quand;\r\n newItem.qui = item.qui;\r\n return newItem;\r\n }//end recreateStructure\r\n\r\n //recreate user\r\n public recreateUser(item: any): utilisateur {\r\n let newItem: utilisateur = new utilisateur();\r\n newItem.id = item.id;\r\n newItem.nom = item.nom;\r\n newItem.prenoms = item.prenoms;\r\n newItem.login = item.login;\r\n //newItem.MotPasse = item.motPasse;\r\n newItem.adresse_mail = item.adresse_mail;\r\n newItem.contact = item.contact;\r\n newItem.groupe_id = item.groupe_id;\r\n newItem.structure_id = item.structure_id;\r\n newItem.ou = item.ou;\r\n newItem.quand = item.quand;\r\n newItem.qui = item.qui;\r\n\r\n\r\n newItem.old_mot_passe = item.old_mot_passe;\r\n newItem.new_mot_passe = item.new_mot_passe;\r\n newItem.new_mot_passe_confirmation = item.new_mot_passe_confirmation;\r\n\r\n return newItem;\r\n }//end recreateUser\r\n\r\n\r\n //recreate fiche fspssn\r\n public recreateFicheFsPssn(item: any): FS_PSSN {\r\n let newItem: FS_PSSN = new FS_PSSN();\r\n\r\n newItem.id = item.id;\r\n newItem.numero = item.numero;\r\n newItem.date_saisie = new Date();\r\n newItem.date_saisie = item.date_saisie;\r\n newItem.localisation = item.localisation;\r\n newItem.localisation_id = item.arrondissement_id;\r\n newItem.structure = item.structure;\r\n newItem.structure_id = item.structure_id;\r\n\r\n newItem.date_debut_periode = new Date();\r\n newItem.date_debut_periode = item.date_debut_periode;\r\n\r\n newItem.date_fin_periode = new Date();\r\n newItem.date_fin_periode = item.date_fin_periode;\r\n\r\n newItem.statut_fiche_id = item.statut_fiche_id;\r\n newItem.statut_fiche_name = item.statut_fiche_name;\r\n\r\n newItem.utilisateur = item.utilisateur;\r\n newItem.utilisateur_id = item.utilisateur_id;\r\n newItem.service = item.service;\r\n newItem.motif_rejet = item.motif_rejet;\r\n\r\n newItem.type_donnee_collectee = item.type_donnee_collectee;\r\n newItem.FS_PSSN_Detail = item.FS_PSSN_Detail;\r\n\r\n newItem.ou = item.ou;\r\n newItem.quand = item.quand;\r\n newItem.qui = item.qui;\r\n\r\n return newItem;\r\n }//end recreateFicheFsPssn\r\n\r\n\r\n //recreate fiche fspe\r\n public recreateFicheFsPe(item: any): FS_PE {\r\n let newItem: FS_PE = new FS_PE();\r\n\r\n newItem.id = item.id;\r\n newItem.numero = item.numero;\r\n newItem.date_saisie = new Date();\r\n newItem.date_saisie = item.date_saisie;\r\n newItem.localisation = item.localisation;\r\n newItem.localisation_id = item.localisation_id;\r\n newItem.structure = item.structure;\r\n newItem.structure_id = item.structure_id;\r\n\r\n newItem.date_debut_periode = new Date();\r\n newItem.date_debut_periode = item.date_debut_periode;\r\n\r\n newItem.date_fin_periode = new Date();\r\n newItem.date_fin_periode = item.date_fin_periode;\r\n\r\n newItem.statut_fiche_id = item.statut_fiche_id;\r\n newItem.statut_fiche_name = item.statut_fiche_name;\r\n\r\n newItem.utilisateur = item.utilisateur;\r\n newItem.utilisateur_id = item.utilisateur_id;\r\n newItem.service = item.service;\r\n newItem.motif_rejet = item.motif_rejet;\r\n\r\n newItem.type_donnee_collectee = item.type_donnee_collectee;\r\n newItem.FS_PE_Detail = item.FS_PE_Detail;\r\n\r\n newItem.ou = item.ou;\r\n newItem.quand = item.quand;\r\n newItem.qui = item.qui;\r\n\r\n return newItem;\r\n }//end recreateFicheFsPe\r\n\r\n //recreate fiche fspffg\r\n public recreateFicheFsPffg(item: any): FS_PF_FG {\r\n let newItem: FS_PF_FG = new FS_PF_FG();\r\n\r\n newItem.id = item.id;\r\n newItem.numero = item.numero;\r\n newItem.date_saisie = new Date();\r\n newItem.date_saisie = item.date_saisie;\r\n newItem.localisation = item.localisation;\r\n newItem.localisation_id = item.arrondissement_id;\r\n newItem.structure = item.structure;\r\n newItem.structure_id = item.structure_id;\r\n\r\n newItem.date_debut_periode = new Date();\r\n newItem.date_debut_periode = item.date_debut_periode;\r\n\r\n newItem.date_fin_periode = new Date();\r\n newItem.date_fin_periode = item.date_fin_periode;\r\n\r\n newItem.statut_fiche_id = item.statut_fiche_id;\r\n newItem.statut_fiche_name = item.statut_fiche_name;\r\n\r\n newItem.utilisateur = item.utilisateur;\r\n newItem.utilisateur_id = item.utilisateur_id;\r\n newItem.service = item.service;\r\n newItem.motif_rejet = item.motif_rejet;\r\n\r\n newItem.type_donnee_collectee = item.type_donnee_collectee;\r\n newItem.FS_PF_FG_Detail = item.FS_PF_FG_Detail;\r\n\r\n newItem.ou = item.ou;\r\n newItem.quand = item.quand;\r\n newItem.qui = item.qui;\r\n\r\n return newItem;\r\n }//end recreateFicheFsPffg\r\n\r\n\r\n //genere des lignes de donnees collectees pour PSSN\r\n generateDonneesCollecteesPSSNDetailsLines(items: donnee_collectee[]): FS_PSSN_Detail[] {\r\n if(items === null || items === undefined) return [];\r\n\r\n let finalResult: FS_PSSN_Detail[] = [];\r\n\r\n for (let i: number = 0; i < items.length; i++) {\r\n let item: FS_PSSN_Detail = new FS_PSSN_Detail();\r\n item.donnee_collectee = items[i];\r\n item.donnees_collectees_id = items[i].id;\r\n\r\n //check values on sexe masculin\r\n if( item.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_10.trim() || item.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_11.trim()\r\n || item.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_12.trim() || item.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_13.trim()){\r\n item.TA_SUP_60 = 0; //item.TA_SUP_70 = 0;\r\n }\r\n\r\n if(item.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_14.trim() || item.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_15.trim()){\r\n item.TA_0_17 = 0; item.TA_18_59 = 0; //item.TA_18_34 = 0;\r\n // item.TA_35_59 = 0; item.TA_55_69 = 0;\r\n }\r\n\r\n //default all values to 0\r\n item.Sexe_H = 0; item.Sexe_F = 0; item.TA_0_17 = 0; item.TA_18_59 = 0; item.TA_SUP_60 = 0;\r\n //item.TA_18_34 = 0; item.TA_35_59 = 0; item.TA_55_69 = 0; item.TA_SUP_70 = 0;\r\n item.Type_Secours_Enfance_Malheureuse = 0; item.Type_Secours_Indigent = 0; item.Type_Secours_Sinistre = 0; item.Type_Secours_Immediat = 0;\r\n item.Type_Filet_Social_Transfert_Monetaire_Conditionnel = 0; item.Type_Filet_Social_Transfert_Monetaire_Inconditionnel = 0;\r\n item.Type_Appui_Formation = 0; item.Type_Appui_Installation = 0;\r\n item.Type_Appui_Nutritionnel = 0; item.Type_Appui_Materiel = 0; item.Type_Appui_Ludique = 0; item.Type_Appui_Medical = 0;\r\n item.Handicap = 0;\r\n item.Total = 0;\r\n\r\n //defaul values for handicap\r\n\r\n item.HMI = 0; item.HMS = 0; item.HA = 0; item.HV = 0; item.HM = 0; item.AFH= 0; \r\n \r\n\r\n finalResult.push(item)\r\n }\r\n return finalResult;\r\n }//end generateDonneesCollecteesPSSNDetailsLines\r\n\r\n\r\n //genere des lignes de donnees collectees pour PSSN\r\n generateExistingPSSNDetailsLines(items: FS_PSSN_Detail[]): FS_PSSN_Detail[] {\r\n if(items === null || items === undefined) return [];\r\n\r\n for (let i: number = 0; i < items.length; i++) {\r\n let item: FS_PSSN_Detail = items[i]; // new FS_PSSN_Detail();\r\n\r\n //check values on sexe masculin\r\n if( item.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_10.trim() || item.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_11.trim()\r\n || item.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_12.trim() || item.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_13.trim()){\r\n item.TA_SUP_60 = 0; //item.TA_SUP_70 = 0;\r\n }\r\n if(item.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_14.trim() || item.donnee_collectee.designation.trim() === ConstantsService.DESIGNATION_INDICATEUR_PSSN_15.trim()){\r\n item.TA_0_17 = 0; item.TA_18_59 = 0;\r\n //item.TA_18_34 = 0; item.TA_35_59 = 0; item.TA_55_69 = 0;\r\n }\r\n\r\n //default all values to 0, if null\r\n if(item.Sexe_H===null) item.Sexe_H = 0;\r\n if(item.Sexe_F===null) item.Sexe_F = 0;\r\n if(item.TA_0_17===null) item.TA_0_17 = 0;\r\n if(item.TA_18_59===null) item.TA_18_59 = 0;\r\n\r\n // if(item.TA_18_34===null) item.TA_18_34 = 0;\r\n // if(item.TA_35_59===null) item.TA_35_59 = 0;\r\n // if(item.TA_55_69===null) item.TA_55_69 = 0;\r\n\r\n if(item.TA_SUP_60===null) item.TA_SUP_60 = 0;\r\n //if(item.TA_SUP_70===null) item.TA_SUP_70 = 0;\r\n\r\n if(item.Type_Secours_Enfance_Malheureuse===null) item.Type_Secours_Enfance_Malheureuse = 0;\r\n if(item.Type_Secours_Indigent===null) item.Type_Secours_Indigent = 0;\r\n if(item.Type_Secours_Sinistre===null) item.Type_Secours_Sinistre = 0;\r\n if(item.Type_Secours_Immediat===null) item.Type_Secours_Immediat = 0;\r\n if(item.Type_Filet_Social_Transfert_Monetaire_Conditionnel===null) item.Type_Filet_Social_Transfert_Monetaire_Conditionnel = 0;\r\n if(item.Type_Filet_Social_Transfert_Monetaire_Inconditionnel===null) item.Type_Filet_Social_Transfert_Monetaire_Inconditionnel = 0;\r\n if(item.Type_Appui_Formation===null) item.Type_Appui_Formation = 0;\r\n if(item.Type_Appui_Installation===null) item.Type_Appui_Installation = 0;\r\n if(item.Type_Appui_Nutritionnel===null) item.Type_Appui_Nutritionnel = 0;\r\n if(item.Type_Appui_Materiel===null) item.Type_Appui_Materiel = 0;\r\n if(item.Type_Appui_Ludique===null) item.Type_Appui_Ludique = 0;\r\n if(item.Type_Appui_Medical===null) item.Type_Appui_Medical = 0;\r\n\r\n if(item.Handicap===null) item.Handicap = 0;\r\n\r\n if(item.Total === null) item.Total = 0;//test\r\n\r\n //details handicap\r\n if(item.HMI===null) item.HMI = 0;\r\n if(item.HMS===null) item.HMS = 0;\r\n if(item.HA===null) item.HA = 0;\r\n if(item.HV===null) item.HV = 0;\r\n if(item.HM===null) item.HM = 0;\r\n if(item.AFH===null) item.AFH = 0;\r\n\r\n items[i] = item;\r\n }\r\n return items;\r\n }//end generateExistingPSSNDetailsLines\r\n\r\n\r\n\r\n\r\n //genere des lignes de donnees collectees pour fiche PE\r\n generateDonneesCollecteesPEDetailsLines(items: donnee_collectee[]): FS_PE_Detail[] {\r\n if(items === null || items === undefined) return [];\r\n\r\n let finalResult: FS_PE_Detail[] = [];\r\n\r\n for (let i: number = 0; i < items.length; i++) {\r\n let item: FS_PE_Detail = new FS_PE_Detail();\r\n item.donnee_collectee = items[i];\r\n item.donnees_collectees_id = items[i].id;\r\n\r\n //default all values to 0\r\n item.Sexe_H = 0; item.Sexe_F = 0; item.TA_0_4 = 0; item.TA_5_9 = 0; item.TA_10_14 = 0; item.TA_15_17 = 0;\r\n item.TA_15_24 = 0; item.Handicap = 0;\r\n item.Total = 0;\r\n\r\n //defaul values for handicap\r\n\r\n item.HMI = 0; item.HMS = 0; item.HA = 0; item.HV = 0; item.HM = 0; item.AFH= 0; \r\n\r\n finalResult.push(item)\r\n }\r\n return finalResult;\r\n }//end generateDonneesCollecteesPEDetailsLines\r\n\r\n //genere des lignes de donnees collectees pour fiche PE\r\n generateExistingPEDetailsLines(items: FS_PE_Detail[]): FS_PE_Detail[] {\r\n if(items === null || items === undefined) return [];\r\n\r\n for (let i: number = 0; i < items.length; i++) {\r\n let item: FS_PE_Detail = items[i];\r\n\r\n //default all values to 0\r\n if(item.Sexe_H === null) item.Sexe_H = 0;\r\n if(item.Sexe_F === null) item.Sexe_F = 0;\r\n if(item.TA_0_4 === null) item.TA_0_4 = 0;\r\n if(item.TA_5_9 === null) item.TA_5_9 = 0;\r\n if(item.TA_10_14 === null) item.TA_10_14 = 0;\r\n if(item.TA_15_17 === null) item.TA_15_17 = 0;\r\n if(item.TA_15_24 === null) item.TA_15_24 = 0;\r\n if(item.Handicap === null) item.Handicap = 0;\r\n if(item.Total === null) item.Total = 0;\r\n\r\n //details handicap\r\n if(item.HMI===null) item.HMI = 0;\r\n if(item.HMS===null) item.HMS = 0;\r\n if(item.HA===null) item.HA = 0;\r\n if(item.HV===null) item.HV = 0;\r\n if(item.HM===null) item.HM = 0;\r\n if(item.AFH===null) item.AFH = 0;\r\n\r\n items[i] = item;\r\n }\r\n return items;\r\n }//end generateExistingPEDetailsLines\r\n\r\n\r\n\r\n //genere des lignes de donnees collectees pour fiche PFFG\r\n generateDonneesCollecteesPFFGDetailsLines(items: donnee_collectee[]): FS_PF_FG_Detail[] {\r\n if(items === null || items === undefined) return [];\r\n\r\n let finalResult: FS_PF_FG_Detail[] = [];\r\n\r\n for (let i: number = 0; i < items.length; i++) {\r\n let item: FS_PF_FG_Detail = new FS_PF_FG_Detail();\r\n item.donnee_collectee = items[i];\r\n item.donnees_collectees_id = items[i].id;\r\n\r\n //check values on sexe masculin\r\n if(item.donnee_collectee.designation.trim() === ConstantsService.LABEL_GROSSESSES_PRECOCES_CHARGE.trim() || item.donnee_collectee.designation.trim() === ConstantsService.LABEL_GROSSESSES_PRECOCES_ENREGISTREES.trim() ){\r\n item.Sexe_H = 0;\r\n }\r\n\r\n //check values on cape and groupements feminins\r\n if(item.donnee_collectee.designation.trim() === ConstantsService.LABEL_CAPE_ENREGISTRES.trim() || item.donnee_collectee.designation.trim() === ConstantsService.LABEL_CAPE_SUIVIS.trim() ||\r\n item.donnee_collectee.designation.trim() === ConstantsService.LABEL_GROUPEMENTS_FEMININS_APPUYES.trim() || item.donnee_collectee.designation.trim() === ConstantsService.LABEL_GROUPEMENTS_FEMININS_ENREGISTRES.trim() ){\r\n item.Sexe_H = 0; item.Sexe_F = 0; //item.TA_0_4 = 0; item.TA_5_9 = 0; item.TA_10_14 = 0; item.TA_15_17 = 0;\r\n //item.TA_0_17 = 0; item.TA_18_59 = 0;\r\n item.TA_18_34 = 0; item.TA_35_59 = 0; item.TA_SUP_60 = 0;\r\n }\r\n\r\n\r\n //default all values to 0\r\n item.Sexe_H = 0; item.Sexe_F = 0; //item.TA_0_4 = 0; item.TA_5_9 = 0; item.TA_10_14 = 0; item.TA_15_17 = 0;\r\n item.TA_0_17 = 0; item.TA_18_59 = 0;\r\n //item.TA_18_34 = 0; item.TA_35_59 = 0; \r\n item.TA_SUP_60 = 0; item.Handicap = 0; item.Total = 0;\r\n\r\n //defaul values for handicap\r\n\r\n item.HMI = 0; item.HMS = 0; item.HA = 0; item.HV = 0; item.HM = 0; item.AFH= 0; \r\n\r\n finalResult.push(item)\r\n }\r\n return finalResult;\r\n }//end generateDonneesCollecteesPFFGDetailsLines\r\n\r\n\r\n //genere des lignes de donnees collectees pour fiche PFFG\r\n generateExistingPFFGDetailsLines(items: FS_PF_FG_Detail[]): FS_PF_FG_Detail[] {\r\n if(items === null || items === undefined) return [];\r\n\r\n for (let i: number = 0; i < items.length; i++) {\r\n let item: FS_PF_FG_Detail = items[i];\r\n\r\n //check values on sexe masculin\r\n if(item.donnee_collectee.designation.trim() === ConstantsService.LABEL_GROSSESSES_PRECOCES_CHARGE.trim() || item.donnee_collectee.designation.trim() === ConstantsService.LABEL_GROSSESSES_PRECOCES_ENREGISTREES.trim() ){\r\n item.Sexe_H = 0;\r\n }\r\n\r\n //check values on cape and groupements feminins\r\n if(item.donnee_collectee.designation.trim() === ConstantsService.LABEL_CAPE_ENREGISTRES.trim() || item.donnee_collectee.designation.trim() === ConstantsService.LABEL_CAPE_SUIVIS.trim() ||\r\n item.donnee_collectee.designation.trim() === ConstantsService.LABEL_GROUPEMENTS_FEMININS_APPUYES.trim() || item.donnee_collectee.designation.trim() === ConstantsService.LABEL_GROUPEMENTS_FEMININS_ENREGISTRES.trim() ){\r\n item.Sexe_H = 0; item.Sexe_F = 0; //item.TA_0_4 = 0; item.TA_5_9 = 0; item.TA_10_14 = 0; item.TA_15_17 = 0;\r\n item.TA_0_17 = 0; item.TA_18_59 = 0; item.TA_18_34 = 0; item.TA_35_59 = 0; item.TA_SUP_60 = 0;\r\n }\r\n\r\n //default all values to 0\r\n if(item.Sexe_H === null) item.Sexe_H = 0;\r\n if(item.Sexe_F === null) item.Sexe_F = 0;\r\n // if(item.TA_0_4 === null) item.TA_0_4 = 0;\r\n // if(item.TA_5_9 === null) item.TA_5_9 = 0;\r\n // if(item.TA_10_14 === null) item.TA_10_14 = 0;\r\n // if(item.TA_15_17 === null) item.TA_15_17 = 0;\r\n if(item.TA_0_17 === null || item.TA_0_17 === undefined) item.TA_0_17 = 0;\r\n if(item.TA_18_59 === null || item.TA_18_59 === undefined) item.TA_18_59 = 0;\r\n //if(item.TA_18_34 === null) item.TA_18_34 = 0;\r\n //if(item.TA_35_59 === null || item.TA_35_59 === undefined) item.TA_35_59 = 0;\r\n\r\n if(item.TA_SUP_60 === null || item.TA_SUP_60 === undefined) item.TA_SUP_60 = 0;\r\n if(item.Handicap === null) item.Handicap = 0;\r\n if(item.Total === null) item.Total = 0;\r\n\r\n if(item.HMI===null) item.HMI = 0;\r\n if(item.HMS===null) item.HMS = 0;\r\n if(item.HA===null) item.HA = 0;\r\n if(item.HV===null) item.HV = 0;\r\n if(item.HM===null) item.HM = 0;\r\n if(item.AFH===null) item.AFH = 0;\r\n\r\n items[i] = item;\r\n\r\n }\r\n return items;\r\n }//end generateExistingPFFGDetailsLines\r\n\r\n\r\n\r\n\r\n //format a date\r\n formatDate(_date: Date, format: string): string\r\n {\r\n let date: Date = new Date(_date);\r\n if (!format)\r\n format=\"MM/dd/yyyy\";\r\n\r\n let month: number = date.getMonth() + 1;\r\n let year: number = date.getFullYear();\r\n\r\n format = format.replace(\"MM\", this.padL(month.toString(), 2,\"0\"));\r\n\r\n if (format.indexOf(\"yyyy\") > -1)\r\n format = format.replace(\"yyyy\",year.toString());\r\n else if (format.indexOf(\"yy\") > -1)\r\n format = format.replace(\"yy\", year.toString().substr(2,2));\r\n\r\n format = format.replace(\"dd\", this.padL(date.getDate().toString(), 2,\"0\"));\r\n\r\n var hours = date.getHours();\r\n if (format.indexOf(\"t\") > -1)\r\n {\r\n if (hours > 11)\r\n format = format.replace(\"t\",\"pm\")\r\n else\r\n format = format.replace(\"t\",\"am\")\r\n }\r\n if (format.indexOf(\"HH\") > -1)\r\n format = format.replace(\"HH\",this.padL(hours.toString(), 2,\"0\"));\r\n if (format.indexOf(\"hh\") > -1) {\r\n if (hours > 12) hours - 12;\r\n if (hours == 0) hours = 12;\r\n format = format.replace(\"hh\",this.padL(hours.toString(), 2,\"0\"));\r\n }\r\n if (format.indexOf(\"mm\") > -1)\r\n format = format.replace(\"mm\",this.padL(date.getMinutes().toString(), 2,\"0\"));\r\n if (format.indexOf(\"ss\") > -1)\r\n format = format.replace(\"ss\",this.padL(date.getSeconds().toString(), 2,\"0\"));\r\n return format;\r\n }//end formatDate\r\n\r\n //padR\r\n padR(str: string, width: number, pad: string): string\r\n {\r\n if (!width || width<1)\r\n return str;\r\n\r\n if (!pad) pad=\" \";\r\n var length = width - str.length\r\n if (length < 1) str.substr(0,width);\r\n\r\n return (str + this.repeat(pad,length)).substr(0,width);\r\n }//end padR\r\n\r\n //padL\r\n padL(str: string, width: number, pad: string)\r\n {\r\n if (!width ||width<1)\r\n return str;\r\n\r\n if (!pad) pad=\" \";\r\n var length = width - str.length\r\n if (length < 1) return str.substr(0,width);\r\n\r\n return (this.repeat(pad,length) + str).substr(0,width);\r\n }//end padL\r\n\r\n //repeat\r\n repeat(chr: string, count: number): string\r\n {\r\n var str = \"\";\r\n for(var x=0;x x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isDisabledOnPssn\r\n\r\n //is disabled on pe screen\r\n isDisabledOnPe(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_PE_ALL_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isDisabledOnPe\r\n\r\n //is disabled on pffg screen\r\n isDisabledOnPffg(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_PFFG_ALL_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isDisabledOnPffg\r\n\r\n //is grossesse disabled on pffg screen\r\n isGrossesseDisabledOnPffg(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_GROSSESSES_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isGrossesseDisabledOnPffg\r\n\r\n //is insertion socio professionnelle disabled on pssn screen\r\n isInsertionSocioProDisabledOnPssn(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_SOCIO_PRO_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isInsertionSocioProDisabledOnPssn\r\n\r\n //is naissance multiple disabled on pssn screen\r\n isNaissanceMultipleDisabledOnPssn(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_NAISSANCES_MULTIPLES_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isNaissanceMultipleDisabledOnPssn\r\n\r\n //is filet sociaux disabled on pssn screen\r\n isFiletsSociauxMenagesPauvresDisabledOnPssn(lib: string): boolean {\r\n let labelDisabled: string[] = [ ConstantsService.DESIGNATION_INDICATEUR_PSSN_4 ];\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isFiletsSociauxMenagesPauvresDisabledOnPssn\r\n\r\n //is traite adulte column disabled on pssn screen\r\n isTraiteAdulteItemDisabledOnPssn(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_TRAITE_ADULTES_DISABLED;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isTraiteAdulteItemDisabledOnPssn\r\n\r\n //is consultations sociales column disabled on pssn screen\r\n isConsultationsSocialesCpsDisabledOnPssn(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_CONSULTATION_CPS_DISABLED;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isConsultationsSocialesCpsDisabledOnPssn\r\n\r\n //is pta disabled on pssn screen\r\n isAppuiPtaDisabledOnPssn(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_APPUI_PTA_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isAppuiPtaDisabledOnPssn\r\n\r\n\r\n //is mutilation genitale disabled on pe screen\r\n isMutilationGenitaleHDisabledOnPe(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_MUTILATIONS_GENITALES_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isMutilationGenitaleHDisabledOnPe\r\n\r\n //is grossesse h disabled on pe screen\r\n isGrossesseHDisabledOnPe(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_PE_GROSSESSE_H_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isGrossesseHDisabledOnPe\r\n\r\n //is mutilation genitale on age disabled on pe screen\r\n isMutilationGenitaleOnAgeDisabledOnPe(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_PE_GROSSESSE_AGE_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isMutilationGenitaleOnAgeDisabledOnPe\r\n\r\n\r\n //is violence basee sur le genre disabled on pe screen\r\n isVbgDisabledOnPffg(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_PFFG_VBG_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isVbgDisabledOnPffg\r\n\r\n //is violence levirat basee sur le genre disabled on pe screen\r\n isVbgLeviratDisabledOnPffg(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_PFFG_VBG_LEVIRAT_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isVbgLeviratDisabledOnPffg\r\n\r\n //is violence mutilation genitale disabled on pe screen\r\n isMutilationGenitaleDisabledOnPffg(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_PFFG_MUTILATIONS_GENITALES_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isMutilationGenitaleDisabledOnPffg\r\n\r\n //is ado contraception disabled on pffg screen\r\n isAdoContraceptionDisabledOnPffg(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_PFFG_ADO_CONTRACEPTION_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isAdoContraceptionDisabledOnPffg\r\n\r\n //is pssaj sexe handi disabled on pffg screen\r\n isPssajSexeHandiDisabledOnPffg(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_PFFG_PSSAJ_SEXE_HANDICAP_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isPssajSexeHandiDisabledOnPffg\r\n\r\n //is pssaj age disabled on pffg screen\r\n isPssajAgeDisabledOnPffg(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_PFFG_PSSAJ_AGE_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isPssajAgeDisabledOnPffg\r\n\r\n //is femme leadership h disabled on pffg screen\r\n isFemmesLeaderHDisabledOnPffg(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_PFFG_FEMME_LEADER_H_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isFemmesLeaderHDisabledOnPffg\r\n\r\n //is femme prison h disabled on pffg screen\r\n isFemmesPrisonHDisabledOnPffg(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_PFFG_PRISON_H_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isFemmesPrisonHDisabledOnPffg\r\n\r\n //is promo dialogue parent enfant disabled on pffg screen\r\n isPromoDialogueParentEnfantDisabledOnPffg(lib: string): boolean {\r\n let labelDisabled: string[] = ConstantsService.LABEL_INDICATEURS_PFFG_PROMO_DIALOGUE_PARENT_ENFANT_DISABLED ;\r\n let searchLabel: string[] = labelDisabled.filter(x => x.trim() === lib.trim());\r\n if(searchLabel.length == 0) return false;\r\n return true;\r\n }//end isPromoDialogueParentEnfantDisabledOnPffg\r\n\r\n\r\n\r\n //recreate fiche fspssn details\r\n public recreateFicheFsPssnDetails(item: any): FS_PSSN_Detail {\r\n let newItem: FS_PSSN_Detail = new FS_PSSN_Detail();\r\n\r\n newItem.id = item.id;\r\n newItem.fs_pssn_id = item.fs_pssn_id;\r\n newItem.donnees_collectees_id = item.donnees_collectees_id;\r\n newItem.donnee_collectee = item.donnee_collectee;\r\n newItem.Sexe_H = item.Sexe_H;\r\n newItem.Sexe_F = item.Sexe_F;\r\n\r\n newItem.Type_Secours_Enfance_Malheureuse = item.Type_Secours_Enfance_Malheureuse;\r\n newItem.Type_Secours_Indigent = item.Type_Secours_Indigent;\r\n newItem.Type_Secours_Sinistre = item.Type_Secours_Sinistre;\r\n newItem.Type_Secours_Immediat = item.Type_Secours_Immediat;\r\n\r\n newItem.Type_Filet_Social_Transfert_Monetaire_Conditionnel = item.Type_Filet_Social_Transfert_Monetaire_Conditionnel;\r\n newItem.Type_Filet_Social_Transfert_Monetaire_Inconditionnel = item.Type_Filet_Social_Transfert_Monetaire_Inconditionnel;\r\n\r\n newItem.Type_Appui_Formation = item.Type_Appui_Formation;\r\n newItem.Type_Appui_Installation = item.Type_Appui_Installation;\r\n\r\n newItem.Type_Appui_Nutritionnel = item.Type_Appui_Nutritionnel;\r\n newItem.Type_Appui_Materiel = item.Type_Appui_Materiel;\r\n newItem.Type_Appui_Ludique = item.Type_Appui_Ludique;\r\n newItem.Type_Appui_Medical = item.Type_Appui_Medical;\r\n\r\n newItem.TA_0_17 = item.TA_0_17;\r\n newItem.TA_18_59 = item.TA_18_59;\r\n // newItem.TA_18_34 = item.TA_18_34;\r\n // newItem.TA_35_59 = item.TA_35_59;\r\n // newItem.TA_55_69 = item.TA_55_69;\r\n\r\n newItem.TA_SUP_60 = item.TA_SUP_60;\r\n\r\n //newItem.TA_SUP_70 = item.TA_SUP_70;\r\n\r\n newItem.Total = item.Total;\r\n\r\n newItem.Handicap = item.Handicap;\r\n newItem.HMI = item.HMI;\r\n newItem.HMS = item.HMS;\r\n newItem.HA = item.HA;\r\n newItem.HV = item.HV;\r\n newItem.HM = item.HM;\r\n newItem.AFH = item.AFH;\r\n\r\n \r\n\r\n newItem.ou = item.ou;\r\n newItem.quand = item.quand;\r\n newItem.qui = item.qui;\r\n\r\n return newItem;\r\n }//end recreateFicheFsPssnDetails\r\n\r\n //recreate fiche fspe details\r\n public recreateFicheFsPeDetails(item: any): FS_PE_Detail {\r\n let newItem: FS_PE_Detail = new FS_PE_Detail();\r\n\r\n newItem.id = item.id;\r\n newItem.fs_pe_id = item.fs_pe_id;\r\n newItem.donnees_collectees_id = item.donnees_collectees_id;\r\n newItem.donnee_collectee = item.donnee_collectee;\r\n newItem.Sexe_H = item.Sexe_H;\r\n newItem.Sexe_F = item.Sexe_F;\r\n\r\n newItem.TA_0_4 = item.TA_0_4;\r\n newItem.TA_5_9 = item.TA_5_9;\r\n newItem.TA_10_14 = item.TA_10_14;\r\n newItem.TA_15_17 = item.TA_15_17;\r\n newItem.TA_15_24 = item.TA_15_24;\r\n\r\n newItem.Total = item.Total;\r\n\r\n newItem.Handicap = item.Handicap;\r\n newItem.HMI = item.HMI;\r\n newItem.HMS = item.HMS;\r\n newItem.HA = item.HA;\r\n newItem.HV = item.HV;\r\n newItem.HM = item.HM;\r\n newItem.AFH = item.AFH;\r\n\r\n\r\n newItem.ou = item.ou;\r\n newItem.quand = item.quand;\r\n newItem.qui = item.qui;\r\n\r\n return newItem;\r\n }//end recreateFicheFsPeDetails\r\n\r\n\r\n //recreate fiche fspffg details\r\n public recreateFicheFsPffgDetails(item: any): FS_PF_FG_Detail {\r\n let newItem: FS_PF_FG_Detail = new FS_PF_FG_Detail();\r\n\r\n newItem.id = item.id;\r\n newItem.fs_pf_fg_id = item.fs_pf_fg_id;\r\n newItem.donnees_collectees_id = item.donnees_collectees_id;\r\n newItem.donnee_collectee = item.donnee_collectee;\r\n newItem.Sexe_H = item.Sexe_H;\r\n newItem.Sexe_F = item.Sexe_F;\r\n\r\n newItem.TA_0_17 = item.TA_0_17;\r\n newItem.TA_18_59 = item.TA_18_59;\r\n newItem.TA_18_34 = item.TA_18_34;\r\n newItem.TA_35_59 = item.TA_35_59;\r\n\r\n newItem.TA_SUP_60 = item.TA_SUP_60;\r\n\r\n // newItem.TA_0_4 = item.TA_0_4;\r\n // newItem.TA_5_9 = item.TA_5_9;\r\n // newItem.TA_10_14 = item.TA_10_14;\r\n // newItem.TA_15_17 = item.TA_15_17;\r\n\r\n newItem.Total = item.Total;\r\n\r\n newItem.Handicap = item.Handicap;\r\n newItem.HMI = item.HMI;\r\n newItem.HMS = item.HMS;\r\n newItem.HA = item.HA;\r\n newItem.HV = item.HV;\r\n newItem.HM = item.HM;\r\n newItem.AFH = item.AFH;\r\n\r\n\r\n newItem.ou = item.ou;\r\n newItem.quand = item.quand;\r\n newItem.qui = item.qui;\r\n\r\n return newItem;\r\n }//end recreateFicheFsPffgDetails\r\n\r\n\r\n //recreate parametre\r\n public recreateParametre(item: parametre): parametre {\r\n let newItem: parametre = new parametre();\r\n newItem.id = item.id;\r\n newItem.designation = item.designation;\r\n newItem.valeur = item.valeur;\r\n return newItem;\r\n }//end recreateParametre\r\n\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { Observable, of } from 'rxjs';\r\nimport {AppService} from \"../app/app.service\";\r\nimport {domaine} from \"../../model/domaine\";\r\nimport {thematique} from \"../../model/thematique\";\r\nimport {type_donnee_collectee} from \"../../model/type_donnee_collectee\";\r\nimport {donnee_collectee} from \"../../model/donnee_collectee\";\r\nimport {type_structure} from \"../../model/type_structure\";\r\nimport {structure} from \"../../model/structure\";\r\nimport {groupe} from \"../../model/groupe\";\r\nimport {FS_PSSN} from \"../../model/FS_PSSN\";\r\nimport {utilisateur} from \"../../model/utilisateur\";\r\nimport {FS_PE} from \"../../model/FS_PE\";\r\nimport {FS_PF_FG} from \"../../model/FS_PF_FG\";\r\nimport {localisation} from \"../../model/localisation\";\r\n\r\n\r\n@Injectable()\r\nexport class OperationService {\r\n\r\n constructor(private http: HttpClient, private appService: AppService) {\r\n }\r\n\r\n ///////////////////////////////////////options fiches de synthese fspssn/////////////////////////////////\r\n\r\n //create fiche fspssn\r\n createFicheFsPssn(item: FS_PSSN) : Observable {\r\n // item.localisation_id = item.localisation.id;\r\n // item.structure_id = item.structure.id;\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/createfichefspssn`,\r\n item, this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin createFicheFsPssn\r\n\r\n //create fiche fspssn\r\n updateFicheFsPssn(item: FS_PSSN) : Observable {\r\n // item.localisation_id = item.localisation.id;\r\n // item.structure_id = item.structure.id;\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/updatefichefspssn`,\r\n item, this.appService.httpOptions )\r\n .pipe( //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin updateFicheFsPssn\r\n\r\n // get fichefspssn list\r\n getFichesFsPssn(item: any) : Observable {\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/fichesfspssn`, item,\r\n this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getFichesFsPssn\r\n\r\n // search fiches fspssn list\r\n searchFichesFsPssn(item: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/searchfichesfspssn`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin searchFichesFsPssn\r\n\r\n // search fiches fspssn list\r\n consultFichesFsPssn(item: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/consultfichesfspssn`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin consultFichesFsPssn\r\n\r\n\r\n //delete fiche\r\n deleteFicheFsPssn(item: FS_PSSN) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/deletefichefspssn`, item,\r\n this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin deleteFicheFsPssn\r\n\r\n // get fiche details list by typedonnee\r\n getFicheDetailsPssnByTypeDonnee(item: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/donneescollecteespssnedit`,\r\n item, this.appService.httpOptions)\r\n .pipe( //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n ) )\r\n }//fin getFicheDetailsPssnByTypeDonnee\r\n\r\n\r\n //ask fiche fspssn validation\r\n askFicheFsPssnEditValidation(item: FS_PSSN) : Observable {\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/askfichefspssneditvalidation`,\r\n item, this.appService.httpOptions )\r\n .pipe( //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin askFicheFsPssnValidation\r\n\r\n //ask fiche fspssn validation\r\n validateFicheFsPssn(item: FS_PSSN) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/validatefichefspssn`,\r\n item, this.appService.httpOptions )\r\n .pipe( //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin validateFicheFsPssn\r\n\r\n\r\n ///////////////////////////////////////options structures area fspssn/////////////////////////////////\r\n\r\n\r\n ///////////////////////////////////////options fiches de synthese fspe/////////////////////////////////\r\n\r\n //create fiche fspe\r\n createFicheFsPe(item: FS_PE) : Observable {\r\n // item.localisation_id = item.localisation.id;\r\n // item.structure_id = item.structure.id;\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/createfichefspe`,\r\n item, this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin createFicheFsPe\r\n\r\n //create fiche fspssn\r\n updateFicheFsPe(item: FS_PE) : Observable {\r\n // item.localisation_id = item.localisation.id;\r\n // item.structure_id = item.structure.id;\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/updatefichefspe`,\r\n item, this.appService.httpOptions )\r\n .pipe( //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin updateFicheFsPe\r\n\r\n // get fichefspssn list\r\n getFichesFsPe(item: any) : Observable {\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/fichesfspe`, item,\r\n this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getFichesFsPe\r\n\r\n // search fiches fspe list\r\n searchFichesFsPe(item: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/searchfichesfspe`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin searchFichesFsPe\r\n\r\n // consult fiches fspe list\r\n consultFichesFsPe(item: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/consultfichesfspe`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin consultFichesFsPe\r\n\r\n\r\n //delete fiche pe\r\n deleteFicheFsPe(item: FS_PE) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/deletefichefspe`, item,\r\n this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin deleteFicheFsPe\r\n\r\n // get fiche details list by typedonnee\r\n getFicheDetailsPeByTypeDonnee(item: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/donneescollecteespeedit`,\r\n item, this.appService.httpOptions)\r\n .pipe( //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n ) )\r\n }//fin getFicheDetailsPeByTypeDonnee\r\n\r\n\r\n //ask fiche fspssn validation\r\n askFicheFsPeEditValidation(item: FS_PE) : Observable {\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/askfichefspeeditvalidation`,\r\n item, this.appService.httpOptions )\r\n .pipe( //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin askFicheFsPeValidation\r\n\r\n //ask fiche fspe validation\r\n validateFicheFsPe(item: FS_PE) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/validatefichefspe`,\r\n item, this.appService.httpOptions )\r\n .pipe( //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin validateFicheFsPssn\r\n\r\n\r\n ///////////////////////////////////////options structures area fspe/////////////////////////////////\r\n\r\n\r\n\r\n\r\n ///////////////////////////////////////options fiches de synthese fspffg/////////////////////////////////\r\n\r\n //create fiche fspffg\r\n createFicheFsPfFg(item: FS_PF_FG) : Observable {\r\n // item.localisation_id = item.localisation.id;\r\n // item.structure_id = item.structure.id;\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/createfichefspffg`,\r\n item, this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin createFicheFsPfFg\r\n\r\n //create fiche fspffg\r\n updateFicheFsPfFg(item: FS_PF_FG) : Observable {\r\n // item.localisation_id = item.localisation.id;\r\n // item.structure_id = item.structure.id;\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/updatefichefspffg`,\r\n item, this.appService.httpOptions )\r\n .pipe( //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin updateFicheFsPfFg\r\n\r\n // get fspffg list\r\n getFichesFsPfFg(item: any) : Observable {\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/fichesfspffg`, item,\r\n this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getFichesFsPfFg\r\n\r\n // search fiches fspffg list\r\n searchFichesFsPfFg(item: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/searchfichesfspffg`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin searchFichesFsPfFg\r\n\r\n // consult fiches fspffg list\r\n consultFichesFsPfFg(item: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/consultfichesfspffg`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin consultFichesFsPfFg\r\n\r\n\r\n //delete fiche fspffg\r\n deleteFicheFsPfFg(item: FS_PF_FG) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/deletefichefspffg`, item,\r\n this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin deleteFicheFsPfFg\r\n\r\n // get fspffg details list by typedonnee\r\n getFicheDetailsPfFgByTypeDonnee(item: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/donneescollecteespffgedit`,\r\n item, this.appService.httpOptions)\r\n .pipe( //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n ) )\r\n }//fin getFicheDetailsPfFgByTypeDonnee\r\n\r\n\r\n //ask fiche fspffg validation\r\n askFicheFsPfFgEditValidation(item: FS_PF_FG) : Observable {\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/askfichefspffgeditvalidation`,\r\n item, this.appService.httpOptions )\r\n .pipe( //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin askFicheFsPfFgValidation\r\n\r\n //ask fiche fspffg validation\r\n validateFicheFsPfFg(item: FS_PF_FG) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}operation/validatefichefspffg`,\r\n item, this.appService.httpOptions )\r\n .pipe( //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin validateFicheFsPfFg\r\n\r\n\r\n ///////////////////////////////////////options structures area fspffg /////////////////////////////////\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n","import { glossaire } from './../../model/glossaire';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { Observable, of } from 'rxjs';\r\nimport {AppService} from \"../app/app.service\";\r\nimport {domaine} from \"../../model/domaine\";\r\nimport {thematique} from \"../../model/thematique\";\r\nimport {type_donnee_collectee} from \"../../model/type_donnee_collectee\";\r\nimport {donnee_collectee} from \"../../model/donnee_collectee\";\r\nimport {type_structure} from \"../../model/type_structure\";\r\nimport {structure} from \"../../model/structure\";\r\nimport {utilisateur} from \"../../model/utilisateur\";\r\nimport {localisation} from \"../../model/localisation\";\r\n\r\n\r\n@Injectable()\r\nexport class ParamService {\r\n\r\n constructor(private http: HttpClient, private appService: AppService) {\r\n }\r\n\r\n //get departements list\r\n getDepartements() : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}params/departements`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getDepartements\r\n\r\n // search departements list\r\n searchDepartements(item: any) : Observable {\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}params/searchdepartements`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin searchDepartements\r\n\r\n //get communes par departements list\r\n getCommunesByDepartement(item: localisation) : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}params/communes/${item.id}`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getCommunesByDepartement\r\n\r\n //get arrond par communes list\r\n getArrondByCommunes(item: localisation) : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}params/arrondissements/${item.id}`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getArrondByCommunes\r\n\r\n //get communes list\r\n getCommunes() : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}params/communesall`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getCommunes\r\n\r\n // search communes list\r\n searchCommunes(item: any) : Observable {\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}params/searchcommunes`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin searchCommunes\r\n\r\n // get arrondissements list\r\n getArrondissements() : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}params/arrondissementsall`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getArrondissements\r\n\r\n // search arrondissements list\r\n searchArrondissements(item: any) : Observable {\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}params/searcharrondissements`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin searchArrondissements\r\n\r\n\r\n ///////////////////fiche des synthese//////////////////\r\n //get domaines list\r\n getDomaines() : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}params/domaines`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getDomaines\r\n\r\n //get thematique par domaine list\r\n getThematiquesByDomaine(itemId: number) : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}params/thematiques/${itemId}`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getThematiquesByDomaine\r\n\r\n\r\n //get typedonnee par thematique list\r\n getTypeDonneeCollecteeByThematique(item: thematique) : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}params/typesdonneescollectees/${item.id}`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getTypeDonneeCollecteeByThematique\r\n\r\n //get donneecollectee par typedonneecollectee list\r\n getDonneeCollecteeByTypeDonneeCollecte(item: type_donnee_collectee) : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}params/donneescollectees/${item.id}`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getTypeDonneeCollecteeByThematique\r\n \r\n //get statuts list\r\n getStatuts() : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}params/statuts`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getStatuts\r\n\r\n\r\n //create glossaire\r\n createGlossaire(item: glossaire) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}params/createGlossaire`, item)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin create glossaire\r\n\r\n // search glossaire list\r\n SearchLinesInGlossaire(item: any) : Observable {\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}params/SearchLinesInGlossaire`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n}//fin searchInGlossaire\r\n\r\n //get glossaire list\r\n getListGlossaire() : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}params/getListGlossaire`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin glossaire list\r\n\r\n //update glossaire \r\n updateGlossaire(item: glossaire) : Observable {\r\n return this.http.put(`${this.appService.getBaseUrl()}params/updateGlossaire`, item)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin update glossaire\r\n\r\n //delete glossaire\r\n deleteGlossaire(item : glossaire) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}params/deleteGlossaire`, item)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin delete glossaire\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, } from '@angular/common/http';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { Observable, of } from 'rxjs';\r\nimport {AppService} from \"../app/app.service\";\r\n\r\n\r\n\r\n@Injectable()\r\nexport class ReportService {\r\n\r\n constructor(private http: HttpClient, private appService: AppService) {\r\n }\r\n\r\n //get pssn stats list\r\n getPssnStats(param: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}stats/pssn`,\r\n param, this.appService.httpOptions)\r\n .pipe(\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin getPssnStats\r\n\r\n // print pssn pdf report\r\n printPssnPdfReport(item: any) : Observable {\r\n\r\n this.appService.pdfOptions.responseType = 'blob';\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}reports/printpdfglobalpssn`,\r\n item, this.appService.pdfOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n //catchError(this.appService.handleError(``)\r\n //)\r\n )\r\n }//fin printPssnPdfReport\r\n\r\n // print pssn excel report\r\n printPssnExcelReport(item: any) : Observable {\r\n\r\n this.appService.pdfOptions.responseType = 'blob';\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}reports/printexcelglobalpssn`,\r\n item, this.appService.pdfOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n //catchError(this.appService.handleError(``)\r\n //)\r\n )\r\n }//fin printPssnExcelReport\r\n\r\n\r\n // print pssn excel detailled report\r\n printPssnExcelDetailledReport(item: any) : Observable {\r\n\r\n this.appService.pdfOptions.responseType = 'blob';\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}reports/printexceldetailledpssn`,\r\n item, this.appService.pdfOptions )\r\n .pipe(\r\n )\r\n }//fin printPssnExcelDetailledReport\r\n\r\n\r\n\r\n //get pe stats list\r\n getPeStats(param: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}stats/pe`,\r\n param, this.appService.httpOptions)\r\n .pipe(\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin getPeStats\r\n\r\n // print pe pdf report\r\n printPePdfReport(item: any) : Observable {\r\n\r\n this.appService.pdfOptions.responseType = 'blob';\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}reports/printpdfglobalpe`,\r\n item, this.appService.pdfOptions )\r\n .pipe(\r\n )\r\n }//fin printPePdfReport\r\n\r\n // print pe excel report\r\n printPeExcelReport(item: any) : Observable {\r\n\r\n this.appService.pdfOptions.responseType = 'blob';\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}reports/printexcelglobalpe`,\r\n item, this.appService.pdfOptions )\r\n .pipe(\r\n )\r\n }//fin printPeExcelReport\r\n\r\n // print pffg excel detailled report\r\n printPeExcelDetailledReport(item: any) : Observable {\r\n\r\n this.appService.pdfOptions.responseType = 'blob';\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}reports/printexceldetailledpe`,\r\n item, this.appService.pdfOptions )\r\n .pipe(\r\n )\r\n }//fin printPeExcelDetailledReport\r\n\r\n\r\n //get pssn stats list\r\n getPffgStats(param: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}stats/pffg`,\r\n param, this.appService.httpOptions)\r\n .pipe(\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin getPffgStats\r\n\r\n // print pffg pdf report\r\n printPffgPdfReport(item: any) : Observable {\r\n\r\n this.appService.pdfOptions.responseType = 'blob';\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}reports/printpdfglobalpffg`,\r\n item, this.appService.pdfOptions )\r\n .pipe(\r\n )\r\n }//fin printPffgPdfReport\r\n\r\n\r\n // print pffg excel report\r\n printPffgExcelReport(item: any) : Observable {\r\n\r\n this.appService.pdfOptions.responseType = 'blob';\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}reports/printexcelglobalpffg`,\r\n item, this.appService.pdfOptions )\r\n .pipe(\r\n )\r\n }//fin printPffgExcelReport\r\n\r\n\r\n // print pffg excel detailled report\r\n printPffgExcelDetailledReport(item: any) : Observable {\r\n\r\n this.appService.pdfOptions.responseType = 'blob';\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}reports/printexceldetailledpffg`,\r\n item, this.appService.pdfOptions )\r\n .pipe(\r\n )\r\n }//fin priprintPffgExcelDetailledReportntPffgExcelReport\r\n\r\n\r\n /////////////////////////////////////// area preview and others /////////////////////////////////\r\n\r\n\r\n // preview pssn file\r\n previewPssnFiche(item: any) : Observable {\r\n this.appService.pdfOptions.responseType = 'blob';\r\n return this.http.post(`${this.appService.getBaseUrl()}reports/printpssnfiche`,\r\n item, this.appService.pdfOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)), //catchError(this.appService.handleError(``) //)\r\n )\r\n }//fin previewPssnFiche\r\n\r\n // preview pe file\r\n previewPeFiche(item: any) : Observable {\r\n this.appService.pdfOptions.responseType = 'blob';\r\n return this.http.post(`${this.appService.getBaseUrl()}reports/printpefiche`,\r\n item, this.appService.pdfOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)), //catchError(this.appService.handleError(``) //)\r\n )\r\n }//fin previewPeFiche\r\n\r\n // preview pffg file\r\n previewPffgFiche(item: any) : Observable {\r\n this.appService.pdfOptions.responseType = 'blob';\r\n return this.http.post(`${this.appService.getBaseUrl()}reports/printpffgfiche`,\r\n item, this.appService.pdfOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)), //catchError(this.appService.handleError(``) //)\r\n )\r\n }//fin previewPffgFiche\r\n\r\n //get dashboard stats list\r\n getDashboardStats(param: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}stats/dashboardstats`,\r\n param, this.appService.httpOptions)\r\n .pipe(\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin getDashboardStats\r\n\r\n //get departements stats list\r\n getDepartementsStats(param: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}stats/departementsstats`,\r\n param, this.appService.httpOptions)\r\n .pipe(\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin getDepartementsStats\r\n\r\n\r\n /////////////////////////////////////// area detailled stats /////////////////////////////////\r\n\r\n\r\n //get pe detailled stats list\r\n getDetailledPeStats(param: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}stats/pedetailled`,\r\n param, this.appService.httpOptions)\r\n .pipe(\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin getDetailledPeStats\r\n\r\n //get pssn detailled stats list\r\n getDetailledPssnStats(param: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}stats/pssndetailled`,\r\n param, this.appService.httpOptions)\r\n .pipe(\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin getDetailledPssnStats\r\n\r\n //get pffg detailled stats list\r\n getDetailledPffgStats(param: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}stats/pffgdetailled`,\r\n param, this.appService.httpOptions)\r\n .pipe(\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin getDetailledPffgStats\r\n\r\n // print pe report\r\n printDetailledPeReport(item: any) : Observable {\r\n\r\n this.appService.pdfOptions.responseType = 'blob';\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}reports/printglobalpe`,\r\n item, this.appService.pdfOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n //catchError(this.appService.handleError(``)\r\n //)\r\n )\r\n }//fin printDetailledPeReport\r\n\r\n\r\n}\r\n\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { Observable, of } from 'rxjs';\r\nimport {AppService} from \"../app/app.service\";\r\nimport {domaine} from \"../../model/domaine\";\r\nimport {thematique} from \"../../model/thematique\";\r\nimport {type_donnee_collectee} from \"../../model/type_donnee_collectee\";\r\nimport {donnee_collectee} from \"../../model/donnee_collectee\";\r\nimport {type_structure} from \"../../model/type_structure\";\r\nimport { glossaire } from '../../model/glossaire';\r\nimport {structure} from \"../../model/structure\";\r\nimport {groupe} from \"../../model/groupe\";\r\nimport {utilisateur} from \"../../model/utilisateur\";\r\nimport {droit} from \"../../model/droit\";\r\nimport {groupe_droit} from \"../../model/groupe_droit\";\r\nimport {localisation} from \"../../model/localisation\";\r\nimport {niveau_hierarchique} from \"../../model/niveau_hierarchique\";\r\nimport {parametre} from \"../../model/parametre\";\r\nimport {commentaire} from \"../../model/commentaire\";\r\n\r\n\r\n@Injectable()\r\nexport class SecuService {\r\n\r\n \r\n constructor(private http: HttpClient, private appService: AppService) {\r\n }\r\n\r\n\r\n ///////////////////////////////////////niveaux hierarchiques area /////////////////////////////////\r\n\r\n // get niveaux_hierarchiques list\r\n getNiveauxHierarchiques() : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}secu/niveauxhierarchiques`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getNiveauxHierarchiques\r\n\r\n\r\n\r\n ///////////////////////////////////////options typesstructures area /////////////////////////////////\r\n\r\n // get typestsructure list\r\n getTypesStructure() : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}secu/typesstructures`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getTypesStructure\r\n\r\n //create typestructure\r\n createTypeStructure(item: type_structure) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}secu/createtypestructure`,\r\n item, this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin createTypeStructure\r\n\r\n //update typestructure\r\n updateTypeStructure(item: type_structure) : Observable {\r\n return this.http.put(`${this.appService.getBaseUrl()}secu/updatetypestructure`,\r\n item, this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin updateTypeStructure\r\n\r\n //delete typestructure\r\n deleteTypeStructure(item: type_structure) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}secu/deletetypestructure`, item,\r\n this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin deleteTypeStructure\r\n\r\n\r\n\r\n ///////////////////////////////////////options structures area /////////////////////////////////\r\n\r\n // get structure list\r\n getStructures() : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}secu/structures`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getStructures\r\n\r\n // search structure list\r\n searchStructures(item: any) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}secu/searchstructures`,\r\n item, this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin searchStructures\r\n\r\n // get structure list by commune\r\n getStructuresByCommune(item: localisation) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}secu/structuresbycommune`,\r\n item, this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getStructuresByCommune\r\n\r\n //create structure\r\n createStructure(item: structure) : Observable {\r\n item.localisation_id = item.localisation.id;\r\n item.type_structure_id = item.type_structure.id;\r\n item.niveau_hierarchique_id = item.niveau_hierarchique.id;\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}secu/createstructure`,\r\n item, this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin createStructure\r\n\r\n //update structure\r\n updateStructure(item: structure) : Observable {\r\n item.localisation_id = item.localisation.id;\r\n item.type_structure_id = item.type_structure.id;\r\n item.niveau_hierarchique_id = item.niveau_hierarchique.id;\r\n\r\n return this.http.put(`${this.appService.getBaseUrl()}secu/updatestructure`,\r\n item, this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin updateStructure\r\n\r\n //delete structure\r\n deleteStructure(item: structure) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}secu/deletestructure`, item,\r\n this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin deleteStructure\r\n\r\n\r\n ///////////////////////////////////////options groupes area /////////////////////////////////\r\n\r\n // get groupe list\r\n getGroupes() : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}secu/groupes`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getGroupes\r\n\r\n //create groupe\r\n createGroupe(item: groupe) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}secu/creategroupe`,\r\n item, this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin createGroupe\r\n\r\n //update groupe\r\n updateGroupe(item: groupe) : Observable {\r\n return this.http.put(`${this.appService.getBaseUrl()}secu/updategroupe`,\r\n item, this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin updateGroupe\r\n\r\n //delete groupe\r\n deleteGroupe(item: groupe) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}secu/deletegroupe`, item,\r\n this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin deleteGroupe\r\n\r\n\r\n ///////////////////////////////////////options users area /////////////////////////////////\r\n\r\n // get user list\r\n getUsers() : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}secu/utilisateurs`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getUsers\r\n\r\n // search user list\r\n searchUsers(item: any) : Observable {\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}secu/searchutilisateurs`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin searchUsers\r\n\r\n //create user\r\n createUser(item: utilisateur) : Observable {\r\n item.groupe_id = item.groupe.id;\r\n item.structure_id = item.structure.id;\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}secu/createutilisateur`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin createUser\r\n\r\n //update user\r\n updateUser(item: utilisateur) : Observable {\r\n item.groupe_id = item.groupe.id;\r\n item.structure_id = item.structure.id;\r\n\r\n return this.http.put(`${this.appService.getBaseUrl()}secu/updateutilisateur`,\r\n item, this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin updateUser\r\n\r\n //delete user\r\n deleteUser(item: utilisateur) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}secu/deleteutilisateur`, item,\r\n this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin deleteUser\r\n\r\n ///////////////////////////////////////options droits listing /////////////////////////////////\r\n\r\n // get droits list\r\n getDroits() : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}secu/droits`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getDroits\r\n\r\n // get droits by groupe\r\n getDroitsByGroupe(item: any) : Observable {\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}secu/droitsbygroupe`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin getDroitsByGroupe\r\n\r\n //enregistre les droits du groupe\r\n saveUserRights(item: any) : Observable {\r\n\r\n return this.http.post(`${this.appService.getBaseUrl()}secu/createdroitsgroupe`,\r\n item, this.appService.httpOptions)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``)\r\n )\r\n )\r\n }//fin saveUserRights\r\n\r\n\r\n\r\n\r\n ///////////////////////////////////////options typesstructures area /////////////////////////////////\r\n\r\n // get parametre list\r\n getParametres() : Observable {\r\n return this.http.get(`${this.appService.getBaseUrl()}params/parametres`)\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin getParametres\r\n\r\n //update parametre\r\n updateParametre(item: parametre) : Observable {\r\n return this.http.put(`${this.appService.getBaseUrl()}params/updateparametre`,\r\n item, this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin updateParametre\r\n\r\n\r\n //create comment\r\n createComment(item: commentaire) : Observable {\r\n return this.http.post(`${this.appService.getBaseUrl()}secu/createcomment`,\r\n item, this.appService.httpOptions )\r\n .pipe(\r\n //tap(_ => console.log(``)),\r\n catchError(this.appService.handleError(``))\r\n )\r\n }//fin createComment\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n"," export const environment = {\r\n production: true,\r\n \r\n\t \r\n //LIENS VISUALISATION STATS\r\n lien_visualisation_pssn : \"https://datastudio.google.com/embed/reporting/44e7fb15-0ee4-4e89-818c-b5d6d8d4b88a/page/p_5l7oc955pc\",\r\n lien_visualisation_pe : \"https://datastudio.google.com/embed/reporting/44e7fb15-0ee4-4e89-818c-b5d6d8d4b88a/page/p_w427hva5pc\",\r\n lien_visualisation_pffg : \"https://datastudio.google.com/embed/reporting/44e7fb15-0ee4-4e89-818c-b5d6d8d4b88a/page/p_me7p2955pc\",\r\n\r\n \r\n\t //production params https \r\n\t apiUrl: 'https://apisidoffe-ng.social.gouv.bj/api/'\r\n\r\n\t//'https://apisidoffe-ng.social.gouv.bj:4443/api/'\r\n\r\n };\r\n\r\n // ng build --prod --aot --vc --cc --dop --buildOptimizer\r\n // ng build --prod --aot --build-optimizer\r\n\r\n // ng build --aot --prod --build-optimizer --output-hashing none\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n\r\n\r\n //LIENS VISUALISATION STATS\r\n lien_visualisation_pssn : \"https://datastudio.google.com/embed/reporting/44e7fb15-0ee4-4e89-818c-b5d6d8d4b88a/page/p_5l7oc955pc\",\r\n lien_visualisation_pe : \"https://datastudio.google.com/embed/reporting/44e7fb15-0ee4-4e89-818c-b5d6d8d4b88a/page/p_w427hva5pc\",\r\n lien_visualisation_pffg : \"https://datastudio.google.com/embed/reporting/44e7fb15-0ee4-4e89-818c-b5d6d8d4b88a/page/p_me7p2955pc\",\r\n\r\n \r\n\t //dev param\r\n // apiUrl: 'https://localhost:5001/api/',\r\n\t\r\n\t//apiUrl: 'https://apisidoffe-ng.social.gouv.bj:4443/api/'\r\n\r\n\t\t\t\t\t\t\r\n\t //demo param\r\n apiUrl: \"https://api2019a2024.sidoffe-ng.social.gouv.bj/api/\" \r\n\t \r\n\t \r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment.prod';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":""}