From 64bab8232694b905bfcfe9ba275667e960448c33 Mon Sep 17 00:00:00 2001 From: "Doux.niang" Date: Sat, 12 Nov 2022 23:11:47 +0000 Subject: [PATCH] security commit --- Flight-Managment-System/pom.xml | 14 +- .../controller/BookingController.java | 82 +- .../controller/FlightController.java | 7 + .../controller/PassengerController.java | 6 +- .../controller/ScheduleController.java | 42 +- .../controller/ScheduleFlightController.java | 19 +- .../flightmanagmentsystem/model/Airport.java | 13 +- .../flightmanagmentsystem/model/Booking.java | 18 +- .../model/BookingDto.java | 11 +- .../flightmanagmentsystem/model/Flight.java | 5 +- .../model/Passenger.java | 8 +- .../flightmanagmentsystem/model/Schedule.java | 6 +- .../model/ScheduleFlight.java | 6 +- .../flightmanagmentsystem/model/Users.java | 4 - .../repository/AirportRepository.java | 3 +- .../repository/BookingRepository.java | 8 +- .../repository/FlightRepository.java | 8 +- .../repository/ScheduleRepository.java | 7 + .../security/SecurityConfig.java | 111 +- .../security/jwt/AuthTokenFilter.java | 2 +- .../UserDetailsServiceImpl.java | 1 + .../service/BookingService.java | 35 +- .../service/FlightService.java | 7 + .../service/PassengerService.java | 2 +- .../service/ScheduleFlightService.java | 3 +- .../assets/css/bootstrap.min.css | 6 + FlightSystemManagement/assets/css/style.css | 174 + .../assets/img/background.jpg | Bin 0 -> 227555 bytes FlightSystemManagement/package-lock.json | 3052 ++++++++++++++++- FlightSystemManagement/package.json | 3 + .../add-airport/add-airport.component.html | 1 + .../add-booking-admin.component.css | 0 .../add-booking-admin.component.html | 1 + .../add-booking-admin.component.spec.ts | 25 + .../add-booking-admin.component.ts | 15 + .../add-booking/add-booking.component.html | 101 +- .../add-booking/add-booking.component.ts | 47 +- .../add-flight/add-flight.component.html | 11 +- .../add-passenger.component.html | 68 +- .../add-passenger/add-passenger.component.ts | 39 +- .../add-schedule-flight.component.html | 2 +- .../add-schedule-flight.component.ts | 4 +- .../add-schedule/add-schedule.component.css | 0 .../add-schedule/add-schedule.component.html | 62 + .../add-schedule.component.spec.ts | 25 + .../add-schedule/add-schedule.component.ts | 57 + .../airport-list/airport-list.component.html | 24 +- .../booking-list/booking-list.component.html | 55 +- .../flight-list/flight-list.component.html | 25 +- .../passenger-list-user.component.css | 0 .../passenger-list-user.component.html | 65 + .../passenger-list-user.component.spec.ts | 25 + .../passenger-list-user.component.ts | 59 + .../passenger-list.component.html | 7 +- .../schedule-flight-list.component.html | 111 +- .../schedule-flight-list.component.ts | 21 +- .../app/List/schedule/schedule.component.html | 52 +- .../app/List/schedule/schedule.component.ts | 37 +- .../airport-modified.component.ts | 1 + .../flight-modified.component.ts | 1 + .../passenger-modified.component.html | 8 +- .../passenger-modified.component.ts | 7 +- .../schedule-modified.component.css | 0 .../schedule-modified.component.html | 29 + .../schedule-modified.component.spec.ts | 25 + .../schedule-modified.component.ts | 59 + .../aiport-details.component.html | 2 + .../booking-details.component.html | 84 +- .../passenger-details.component.html | 2 +- .../schedule-details.component.css | 0 .../schedule-details.component.html | 363 ++ .../schedule-details.component.spec.ts | 25 + .../schedule-details.component.ts | 37 + .../src/app/about-us/about-us.component.css | 0 .../src/app/about-us/about-us.component.html | 549 +++ .../app/about-us/about-us.component.spec.ts | 25 + .../src/app/about-us/about-us.component.ts | 15 + FlightSystemManagement/src/app/app.module.ts | 26 +- .../booking-conformed.component.css | 0 .../booking-conformed.component.html | 75 + .../booking-conformed.component.spec.ts | 25 + .../booking-conformed.component.ts | 82 + .../src/app/flight-booking-routing.module.ts | 30 +- .../src/app/footer/footer.component.css | 0 .../src/app/footer/footer.component.html | 68 + .../src/app/footer/footer.component.spec.ts | 25 + .../src/app/footer/footer.component.ts | 15 + .../src/app/login/login.component.html | 78 +- .../src/app/login/login.component.ts | 9 +- .../src/app/logout/logout.component.html | 2 +- .../src/app/model/booking.ts | 4 +- .../src/app/model/passenger.ts | 2 +- .../src/app/navbar/navbar.component.html | 50 +- .../src/app/pipes/filter.pipe.spec.ts | 8 + .../src/app/pipes/filter.pipe.ts | 12 + .../src/app/profiles/profiles.component.html | 27 +- .../src/app/profiles/profiles.component.ts | 7 +- .../search-flight/search-flight.component.css | 0 .../search-flight.component.html | 38 + .../search-flight.component.spec.ts | 25 + .../search-flight/search-flight.component.ts | 48 + .../src/app/services/debug.service.spec.ts | 16 + .../src/app/services/debug.service.ts | 9 + .../src/app/services/flight.service.ts | 11 + .../app/services/schedule-flight.service.ts | 63 +- .../src/app/services/schedule.service.ts | 2 +- .../src/app/sign-up/sign-up.component.html | 4 +- .../src/app/sign-up/sign-up.component.ts | 1 + .../welcom-admin/welcom-admin.component.html | 45 +- .../welcom-admin/welcom-admin.component.ts | 16 +- .../welcom-user/welcom-user.component.html | 111 +- .../app/welcom-user/welcom-user.component.ts | 23 +- FlightSystemManagement/src/index.html | 26 +- 113 files changed, 6080 insertions(+), 737 deletions(-) create mode 100644 FlightSystemManagement/assets/css/bootstrap.min.css create mode 100644 FlightSystemManagement/assets/css/style.css create mode 100644 FlightSystemManagement/assets/img/background.jpg create mode 100644 FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.css create mode 100644 FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.html create mode 100644 FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.spec.ts create mode 100644 FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.ts create mode 100644 FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.css create mode 100644 FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.html create mode 100644 FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.spec.ts create mode 100644 FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.ts create mode 100644 FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.css create mode 100644 FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.html create mode 100644 FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.spec.ts create mode 100644 FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.ts create mode 100644 FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.css create mode 100644 FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.html create mode 100644 FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.spec.ts create mode 100644 FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.ts create mode 100644 FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.css create mode 100644 FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.html create mode 100644 FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.spec.ts create mode 100644 FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.ts create mode 100644 FlightSystemManagement/src/app/about-us/about-us.component.css create mode 100644 FlightSystemManagement/src/app/about-us/about-us.component.html create mode 100644 FlightSystemManagement/src/app/about-us/about-us.component.spec.ts create mode 100644 FlightSystemManagement/src/app/about-us/about-us.component.ts create mode 100644 FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.css create mode 100644 FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.html create mode 100644 FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.spec.ts create mode 100644 FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.ts create mode 100644 FlightSystemManagement/src/app/footer/footer.component.css create mode 100644 FlightSystemManagement/src/app/footer/footer.component.html create mode 100644 FlightSystemManagement/src/app/footer/footer.component.spec.ts create mode 100644 FlightSystemManagement/src/app/footer/footer.component.ts create mode 100644 FlightSystemManagement/src/app/pipes/filter.pipe.spec.ts create mode 100644 FlightSystemManagement/src/app/pipes/filter.pipe.ts create mode 100644 FlightSystemManagement/src/app/search-flight/search-flight.component.css create mode 100644 FlightSystemManagement/src/app/search-flight/search-flight.component.html create mode 100644 FlightSystemManagement/src/app/search-flight/search-flight.component.spec.ts create mode 100644 FlightSystemManagement/src/app/search-flight/search-flight.component.ts create mode 100644 FlightSystemManagement/src/app/services/debug.service.spec.ts create mode 100644 FlightSystemManagement/src/app/services/debug.service.ts diff --git a/Flight-Managment-System/pom.xml b/Flight-Managment-System/pom.xml index 046904e..d8e90df 100644 --- a/Flight-Managment-System/pom.xml +++ b/Flight-Managment-System/pom.xml @@ -20,19 +20,23 @@ org.springframework.boot spring-boot-starter-actuator + 2.7.5 org.springframework.boot spring-boot-starter-data-jpa + 2.7.5 org.springframework.boot spring-boot-starter-web + 2.7.5 org.springframework.boot spring-boot-devtools + 2.7.5 runtime true @@ -49,6 +53,7 @@ org.springframework.boot spring-boot-starter-test + 2.7.5 test @@ -59,17 +64,12 @@ org.springframework.boot spring-boot-starter-security + 2.7.5 - - org.springframework.boot - spring-boot-starter-test - test - org.springframework.security - spring-security-test - test + spring-security-web diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/BookingController.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/BookingController.java index d9fdf50..2360527 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/BookingController.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/BookingController.java @@ -1,13 +1,17 @@ package com.saraya.flightmanagmentsystem.controller; +import com.saraya.flightmanagmentsystem.exception.ResourceNotFoundException; import com.saraya.flightmanagmentsystem.model.*; +import com.saraya.flightmanagmentsystem.repository.BookingRepository; +import com.saraya.flightmanagmentsystem.repository.FlightRepository; +import com.saraya.flightmanagmentsystem.repository.PassengerRepository; import com.saraya.flightmanagmentsystem.service.BookingService; -import lombok.Data; import org.modelmapper.ModelMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import javax.transaction.Transactional; import java.util.Optional; @CrossOrigin(origins = "http://localhost:4200") @@ -18,11 +22,25 @@ public class BookingController { @Autowired private final BookingService service; + @Autowired + private final BookingRepository repo; + + @Autowired + private final FlightRepository flightRepository; + + @Autowired + private final PassengerRepository passengerRepository; + + + @Autowired private final ModelMapper mapper; - public BookingController(BookingService service, ModelMapper mapper) { + public BookingController(BookingService service, BookingRepository repo, FlightRepository flightRepository, PassengerRepository passengerRepository, ModelMapper mapper) { this.service = service; + this.repo = repo; + this.flightRepository = flightRepository; + this.passengerRepository = passengerRepository; this.mapper = mapper; } @@ -38,21 +56,13 @@ public ResponseEntity> getBooking(@PathVariable Long bookingId return new ResponseEntity<>(booking,HttpStatus.OK); } - @PostMapping("/add") - public ResponseEntity createBooking(@RequestBody Booking booking) { - Booking b = service.create(booking); + +@PostMapping("/add/{bookingId}") + public ResponseEntity createBooking( @PathVariable Long bookingId,@RequestBody Booking booking) { + Booking b = service.create(booking, bookingId); return new ResponseEntity<>(b,HttpStatus.CREATED); } -//@PostMapping("/add/{bookingId}") -// public ResponseEntity createBooking(@RequestBody Booking booking, @PathVariable Long bookingId) { -// Booking b = service.create(booking,bookingId); -// return new ResponseEntity<>(b,HttpStatus.CREATED); -// } -// @PostMapping("/add/booking/toPassenger") -// public ResponseEntity addRoleToUser(@RequestBody BookingToPassengerForm form){ -// service.addRoleToUser(form.getBookingId(), form.getPassengerId()); -// return ResponseEntity.ok().build(); -// } + @PutMapping("/update/{bookingId}") public ResponseEntity updateBooking(@RequestBody Booking booking, @PathVariable Long bookingId) { booking = service.updateBooking(bookingId, booking); @@ -64,6 +74,48 @@ public ResponseEntity updateBooking(@RequestBody Booking booking, @Pat return new ResponseEntity<>(HttpStatus.OK); } + + + @PostMapping("/add") + @Transactional + public ResponseEntity createBooking( @RequestBody Booking request) { + BookingDto dto = mapper.map(request,BookingDto.class); + Booking booking = repo.save(request); + + Passenger passenger = request.getPassenger(); + passenger.setBooking(booking); + passengerRepository.save(passenger); + + Flight flight = request.getFlights(); + flight.setBooking(booking); + flightRepository.save(flight); + + + return new ResponseEntity<>(booking, HttpStatus.CREATED); + } + + @GetMapping("/booking/{passengerId}/booking") + @Transactional + public ResponseEntity getBookingByPassengerId(@PathVariable(value = "passengerId") Long passengerId) { + + Passenger passenger = passengerRepository.findById(passengerId) + .orElseThrow(() -> new ResourceNotFoundException("Not found Branch with id = " + passengerId)); + + Booking booking = repo.findByPassenger(passengerId); + return new ResponseEntity<>(booking, HttpStatus.OK); + } + + @GetMapping("/booking/{flightId}/booking") + @Transactional + public ResponseEntity getBookingByFlightId(@PathVariable(value = "flightId") Long flightId) { + + Flight flight = flightRepository.findById(flightId) + .orElseThrow(() -> new ResourceNotFoundException("Not found Branch with id = " + flightId)); + + Booking booking = repo.findByFlights(flightId); + return new ResponseEntity<>(booking, HttpStatus.OK); + } + } //@Data diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/FlightController.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/FlightController.java index 6561c1e..bcf19de 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/FlightController.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/FlightController.java @@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Optional; @CrossOrigin("http://localhost:4200") @@ -46,4 +47,10 @@ public Flight updateFlight(@RequestBody Flight flight){ public void DeleteById(@PathVariable Long flightId){ service.DeleteById(flightId); } + + @GetMapping("/search/{from}/{to}/flight") + public List search( @PathVariable String from, @PathVariable String to){ + return service.search(from, to); + } + } diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/PassengerController.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/PassengerController.java index 6361fbd..136df18 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/PassengerController.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/PassengerController.java @@ -35,12 +35,12 @@ public Passenger create(@RequestBody Passenger passenger) { return service.create(passenger); } @PutMapping("/update") - public Passenger updateAirport(@RequestBody Passenger passenger){ - return service.updateAirport(passenger); + public Passenger update(@RequestBody Passenger passenger){ + return service.updatePassenger(passenger); } @DeleteMapping("/delete/{passengerId}") - public void deleteById(Long passengerId){ + public void deleteById(@PathVariable Long passengerId){ service.DeleteById(passengerId); } diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/ScheduleController.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/ScheduleController.java index 41fa3e0..2c80daf 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/ScheduleController.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/ScheduleController.java @@ -1,12 +1,20 @@ package com.saraya.flightmanagmentsystem.controller; +import com.saraya.flightmanagmentsystem.exception.ResourceNotFoundException; +import com.saraya.flightmanagmentsystem.model.Airport; import com.saraya.flightmanagmentsystem.model.Schedule; +import com.saraya.flightmanagmentsystem.model.ScheduleDto; +import com.saraya.flightmanagmentsystem.repository.AirportRepository; +import com.saraya.flightmanagmentsystem.repository.ScheduleRepository; import com.saraya.flightmanagmentsystem.service.ScheduleService; import org.modelmapper.ModelMapper; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.transaction.Transactional; import java.util.List; @@ -17,11 +25,18 @@ public class ScheduleController { @Autowired private final ScheduleService service; + @Autowired + private final ScheduleRepository repo; + + @Autowired + private final AirportRepository airportRepository; @Autowired private ModelMapper mapper; - public ScheduleController(ScheduleService service, ModelMapper mapper) { + public ScheduleController(ScheduleService service, ScheduleRepository repo, AirportRepository airportRepository, ModelMapper mapper) { this.service = service; + this.repo = repo; + this.airportRepository = airportRepository; this.mapper = mapper; } @GetMapping("/viewAll") @@ -52,4 +67,29 @@ public Schedule getByIdSchedule(@PathVariable long scheduleId) { } + + @PostMapping("/add") + @Transactional + public ResponseEntity createSchedule( @RequestBody Schedule scheduleRequest) { + ScheduleDto scheduleDto = mapper.map(scheduleRequest,ScheduleDto.class); + Schedule schedule = repo.save(scheduleRequest); + + Airport airport = scheduleRequest.getAirport(); + airport.setSchedule(schedule); + airportRepository.save(airport); + + return new ResponseEntity<>(schedule, HttpStatus.CREATED); + } + + @GetMapping("/schedule/{airportId}/schedule") + @Transactional + public ResponseEntity getScheduleByAirportId(@PathVariable(value = "airportId") Long airportId) { + + Airport airport= airportRepository.findById(airportId) + .orElseThrow(() -> new ResourceNotFoundException("Not found Branch with id = " + airportId)); + + Schedule schedule = repo.findByAirport(airportId); + return new ResponseEntity<>(schedule, HttpStatus.OK); + } + } diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/ScheduleFlightController.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/ScheduleFlightController.java index 317da42..f72c803 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/ScheduleFlightController.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/controller/ScheduleFlightController.java @@ -1,12 +1,12 @@ package com.saraya.flightmanagmentsystem.controller; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.saraya.flightmanagmentsystem.model.*; import com.saraya.flightmanagmentsystem.service.ScheduleFlightService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.lang.reflect.Type; import java.util.List; import java.util.Optional; @@ -23,13 +23,13 @@ public ScheduleFlightController( ScheduleFlightService scheduleFlightService) { } @GetMapping("/viewAll") - @ResponseStatus(code = HttpStatus.OK) +// @ResponseStatus(code = HttpStatus.OK) public List getAll(){ return scheduleFlightService.getAll(); } @GetMapping("/viewById/{scheduleFlightId}") -@ResponseStatus(code = HttpStatus.OK) +//@ResponseStatus(code = HttpStatus.OK) public Optional getById(@PathVariable Long scheduleFlightId){ return scheduleFlightService.getById(scheduleFlightId); @@ -38,21 +38,20 @@ public Optional getById(@PathVariable Long scheduleFlightId){ @PutMapping("/update/{scheduleFlightId}") - @ResponseStatus(code = HttpStatus.OK) - public ScheduleFlight UpdateScheduleFlight( @RequestBody ScheduleFlight scheduleFlight,@PathVariable Long scheduleFlightId){ + public ScheduleFlight UpdateScheduleFlight(@PathVariable(value = "scheduleFlightId") Long scheduleFlightId, @RequestBody ScheduleFlight scheduleFlight){ return scheduleFlightService.UpdateScheduleFlight(scheduleFlight,scheduleFlightId); } @DeleteMapping("/delete/{scheduleFlightId}") - @ResponseStatus(code = HttpStatus.OK) +// @ResponseStatus(code = HttpStatus.OK) public void DeleteById(@PathVariable Long scheduleFlightId){ scheduleFlightService.DeleteById(scheduleFlightId); } - @PostMapping("/add/{scheduleFlightId}") - @ResponseStatus(code = HttpStatus.CREATED) - public ScheduleFlight create(@RequestBody ScheduleFlight scheduleFlight,@PathVariable Long scheduleFlightId) { + @PostMapping ("/add/{scheduleFlightId}") +// @ResponseStatus(code = HttpStatus.CREATED) + public ScheduleFlight create( @RequestBody ScheduleFlight scheduleFlight, @PathVariable("scheduleFlightId") Long scheduleFlightId) { return scheduleFlightService.create(scheduleFlight, scheduleFlightId); } diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Airport.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Airport.java index 7a0b3e7..cc7a8ec 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Airport.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Airport.java @@ -1,6 +1,7 @@ package com.saraya.flightmanagmentsystem.model; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.*; import javax.persistence.*; @@ -23,8 +24,16 @@ public class Airport { private String airportCode; private String airportLocation; private String airportName; -// private String srcAirport; -// private String dstAirport; + + @OneToOne + @JoinColumn(name = "sk_schedule_id") + @JsonIgnore + private Schedule schedule; + +// @OneToOne(cascade = CascadeType.ALL) + + // @JoinColumn(name = "sk_schedule_id") + } diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Booking.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Booking.java index a19d171..fc4afcc 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Booking.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Booking.java @@ -26,16 +26,14 @@ public class Booking { private Long bookingId; private LocalDate bookingDate; private int noOfPassenger; -// @OneToOne ( cascade = CascadeType.ALL,fetch = FetchType.LAZY) -// @ToString.Exclude -// @JoinColumn(name = "flight_booking_id") -// @JsonIgnore -// private Flight flights; -// @ManyToMany(cascade = CascadeType.ALL,fetch = FetchType.LAZY) -// @ToString.Exclude -// @JsonIgnore -// @JoinColumn(name = "passenger_booking_id") -// private List PassengerList = new ArrayList<>(); + @OneToOne (fetch = FetchType.LAZY) + @ToString.Exclude + @JoinColumn(name = "flight_booking_id") + private Flight flights; + @OneToOne (fetch = FetchType.LAZY) + @ToString.Exclude + @JoinColumn(name = "passenger_booking_id") + private Passenger passenger; private Double ticketCost; diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/BookingDto.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/BookingDto.java index cba59c9..dc46a07 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/BookingDto.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/BookingDto.java @@ -10,10 +10,11 @@ @Data @ToString public class BookingDto implements Serializable { - private Long bookingId; - private LocalDate bookingDate; - - private List PassengerList; - private FlightDto flights; + private String bookingDate; + private Long flightId; + private String passengerName; + private int passengerAge; + private int passengerUIN; + private Double luggage; private int noOfPassenger; } diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Flight.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Flight.java index 2dfeeed..a3674c8 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Flight.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Flight.java @@ -1,6 +1,7 @@ package com.saraya.flightmanagmentsystem.model; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import lombok.*; @@ -26,6 +27,8 @@ public class Flight { private String from; private String to; - + @OneToOne + @JsonIgnore + private Booking booking; } diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Passenger.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Passenger.java index 997d3bd..dd15a25 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Passenger.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Passenger.java @@ -1,8 +1,10 @@ package com.saraya.flightmanagmentsystem.model; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.*; import javax.persistence.*; +import java.time.LocalDate; @Entity @Table(name = "Passenger") @@ -17,9 +19,11 @@ public class Passenger { @GeneratedValue(strategy = GenerationType.IDENTITY) private Long passengerId; private String passengerName; - private int passengerAge; + private LocalDate passengerBirthday; private int passengerUIN; private Double luggage; - + @OneToOne + @JsonIgnore + private Booking booking; } diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Schedule.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Schedule.java index 8732818..e50e864 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Schedule.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Schedule.java @@ -32,8 +32,10 @@ public class Schedule { private LocalDateTime arrDateTime; - @ManyToOne(targetEntity = Airport.class,cascade = CascadeType.ALL,fetch = FetchType.LAZY) - private Airport Airport; + + @OneToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "sc_airportId") + private Airport airport; diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/ScheduleFlight.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/ScheduleFlight.java index 34dacd1..f6ab024 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/ScheduleFlight.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/ScheduleFlight.java @@ -19,19 +19,19 @@ public class ScheduleFlight { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name ="schedule_flight_id", nullable = false) private Long scheduleFlightId; private int availableSeats; @OneToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY) @ToString.Exclude @NotNull - @JoinColumn(name = "fk_flight_id") - @JsonIgnore +// @JoinColumn(name = "fk_flight_id") private Flight flight; @OneToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY) @ToString.Exclude @NotNull - @JoinColumn(name = "sk_schedule_id") + // @JoinColumn(name = "sk_schedule_id") private Schedule schedule; diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Users.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Users.java index 9dcce2d..d34e863 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Users.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/model/Users.java @@ -25,10 +25,6 @@ public class Users { private String password; private Integer userPhone; private String userEmail; -// @ManyToMany(fetch = FetchType.LAZY,cascade = CascadeType.ALL) -// @ToString.Exclude -// private Collection roles = new ArrayList<>(); -// @ManyToMany(fetch = FetchType.LAZY) @ToString.Exclude private Set roles = new HashSet<>(); diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/AirportRepository.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/AirportRepository.java index 30eee0d..e823406 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/AirportRepository.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/AirportRepository.java @@ -3,13 +3,14 @@ import com.saraya.flightmanagmentsystem.model.Airport; import com.saraya.flightmanagmentsystem.model.Booking; +import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; import java.util.List; @Repository -public interface AirportRepository extends CrudRepository { +public interface AirportRepository extends JpaRepository { // Airport findBySrcAirport(String srcAirport); // Airport findByDstAirport(String DstAirport); } diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/BookingRepository.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/BookingRepository.java index 11a4079..1efc686 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/BookingRepository.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/BookingRepository.java @@ -2,12 +2,18 @@ import com.saraya.flightmanagmentsystem.model.Booking; +import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; +import javax.transaction.Transactional; import java.math.BigInteger; @Repository -public interface BookingRepository extends CrudRepository { +@Transactional +public interface BookingRepository extends JpaRepository { + + Booking findByPassenger(Long passengerId); + Booking findByFlights(Long flightId); } diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/FlightRepository.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/FlightRepository.java index da7ff28..fde7261 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/FlightRepository.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/FlightRepository.java @@ -1,11 +1,15 @@ package com.saraya.flightmanagmentsystem.repository; import com.saraya.flightmanagmentsystem.model.Flight; -import org.springframework.data.repository.CrudRepository; +import org.springframework.data.domain.Sort; +import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; import java.math.BigInteger; +import java.util.List; + @Repository -public interface FlightRepository extends CrudRepository{ +public interface FlightRepository extends JpaRepository { + List findFlightsByFromAndTo( String from, String to); } diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/ScheduleRepository.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/ScheduleRepository.java index a4444e3..891a453 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/ScheduleRepository.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/repository/ScheduleRepository.java @@ -1,10 +1,17 @@ package com.saraya.flightmanagmentsystem.repository; +import com.saraya.flightmanagmentsystem.model.Airport; import com.saraya.flightmanagmentsystem.model.Schedule; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.stereotype.Repository; +import javax.transaction.Transactional; + + @Repository +@Transactional public interface ScheduleRepository extends JpaRepository { + Schedule findByAirport(Long airportId); } diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/security/SecurityConfig.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/security/SecurityConfig.java index 3913b13..5ac58ab 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/security/SecurityConfig.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/security/SecurityConfig.java @@ -8,23 +8,26 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.http.HttpMethod; import org.springframework.security.authentication.AuthenticationManager; -import org.springframework.security.authentication.dao.DaoAuthenticationProvider; -import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration; +import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import org.springframework.security.web.firewall.StrictHttpFirewall; + @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) -//@SuppressWarnings("deprecation") -public class SecurityConfig { +@SuppressWarnings("deprecation") +public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired @@ -41,73 +44,87 @@ public AuthTokenFilter authenticationJwtTokenFilter() { return new AuthTokenFilter(); } -// @Override -// public void configure(AuthenticationManagerBuilder) throws Exception { -// authenticationManagerBuilder.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder()); -// } - - public DaoAuthenticationProvider authenticationProvider() { - DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider(); + @Override + public void configure(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception { + authenticationManagerBuilder.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder()); + } - authProvider.setUserDetailsService(userDetailsService); - authProvider.setPasswordEncoder(passwordEncoder()); +// public DaoAuthenticationProvider authenticationProvider() { +// DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider(); +// +// authProvider.setUserDetailsService(userDetailsService); +// authProvider.setPasswordEncoder(passwordEncoder()); +// +// return authProvider; +// } - return authProvider; + @Bean + @Override + public AuthenticationManager authenticationManagerBean() throws Exception { + return super.authenticationManagerBean(); } // @Bean -// @Override -// public AuthenticationManager authenticationManagerBean() throws Exception { -// return super.authenticationManagerBean(); +// public AuthenticationManager authenticationManager(AuthenticationConfiguration authConfig) throws Exception { +// return authConfig.getAuthenticationManager(); // } - @Bean - public AuthenticationManager authenticationManager(AuthenticationConfiguration authConfig) throws Exception { - return authConfig.getAuthenticationManager(); - } - @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } - @Bean - public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { - http.cors().and().csrf().disable() - .exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and() - .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and() - .authorizeRequests().antMatchers("/api/auth/signup","/api/auth/login").permitAll() - .antMatchers("/api/test/**", "/airport/**","/booking/**","/flight/**", - "/schedule/**","/passenger/**","/scheduleFlight/**").permitAll() -// .antMatchers("/admin/**").hasRole("admin") - .anyRequest().authenticated(); - - http.authenticationProvider(authenticationProvider()); - - http.addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class); - - return http.build(); - } - -// -// protected void configure(HttpSecurity http) throws Exception { +// @Bean +// public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { // http.cors().and().csrf().disable() // .exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and() // .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and() // .authorizeRequests().antMatchers("/api/auth/signup","/api/auth/login").permitAll() // .antMatchers("/api/test/**", "/airport/**","/booking/**","/flight/**", // "/schedule/**","/passenger/**","/scheduleFlight/**").permitAll() -// .antMatchers("/admin/**").hasRole("admin") +//// .antMatchers("/admin/**").hasRole("admin") +//// .antMatchers(HttpMethod.POST, "/scheduleFlight/add/**").hasRole("Role_Admin") // .anyRequest().authenticated(); -// -// +// httpFirewall(); // http.headers().frameOptions().sameOrigin(); -// +// http.authenticationProvider(authenticationProvider()); // http.addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class); +// return http.build(); // } + @Override + protected void configure(HttpSecurity http) throws Exception { + http.cors().and().csrf().disable() + .exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and() + .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and() + .authorizeRequests().antMatchers("/api/auth/signup","/api/auth/login").permitAll() + .antMatchers("/api/test/**", "/airport/**","/booking/**","/flight/**", + "/scheduleFlight/**", "/schedule/**","/passenger/**").permitAll() +// .antMatchers("/admin/**").hasRole("admin") + .antMatchers(HttpMethod.GET,"/scheduleFlight/viewAll").permitAll() + .antMatchers(HttpMethod.GET,"/scheduleFlight/add/**").permitAll() + .anyRequest().authenticated(); + + + http.headers().frameOptions().sameOrigin(); + + http.addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class); + } + + @Bean + public StrictHttpFirewall getHttpFirewall() { + StrictHttpFirewall strictHttpFirewall = new StrictHttpFirewall(); + strictHttpFirewall.setAllowSemicolon(true); + return strictHttpFirewall; + } + + @Override + public void configure(WebSecurity web) throws Exception { + super.configure(web); + web.httpFirewall(new StrictHttpFirewall()); + } } diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/security/jwt/AuthTokenFilter.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/security/jwt/AuthTokenFilter.java index e3f6c41..2f0bc11 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/security/jwt/AuthTokenFilter.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/security/jwt/AuthTokenFilter.java @@ -57,7 +57,7 @@ private String parseJwt(HttpServletRequest request) { String headerAuth = request.getHeader("Authorization"); if (StringUtils.hasText(headerAuth) && headerAuth.startsWith("Bearer ")) { - return headerAuth.substring(7, headerAuth.length()); + return headerAuth.substring(7); } return null; diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/security/servicesSecurity/UserDetailsServiceImpl.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/security/servicesSecurity/UserDetailsServiceImpl.java index 830396f..03f0359 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/security/servicesSecurity/UserDetailsServiceImpl.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/security/servicesSecurity/UserDetailsServiceImpl.java @@ -11,6 +11,7 @@ import javax.transaction.Transactional; @Service +@Transactional public class UserDetailsServiceImpl implements UserDetailsService { @Autowired UserRepository userRepository; diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/BookingService.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/BookingService.java index ca9f2a3..3fcc795 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/BookingService.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/BookingService.java @@ -44,32 +44,21 @@ public Optional getById(Long bookingId){ return repo.findById(bookingId); } -// public Booking create(Booking booking,Long bookingId ) { -// BookingDto bookingDto = mapper.map(booking, BookingDto.class); -// -//// UsersDto users = new UsersDto(); -//// bookingDto.setUser(users); -// Optional passenger = passengerRepository.findById(bookingId); -//// booking.getPassengerList().add(passenger.get()); -// booking.setPassengerList(passenger.stream().toList()); -// Optional flights = flightRepository.findById(bookingId); -// booking.setFlights(flights.get()); -// booking = repo.save(booking); -// return booking; -// } - - public Booking create(Booking booking ) { - BookingDto bookingDto = mapper.map(booking, BookingDto.class); + public Booking create(Booking booking,Long bookingId ) { + BookingDto bookingDto = mapper.map(booking, BookingDto.class); - return repo.save(booking); +// UsersDto users = new UsersDto(); +// bookingDto.setUser(users); + Optional passenger = passengerRepository.findById(bookingId); +// booking.getPassengerList().add(passenger.get()); + booking.setPassenger(passenger.get()); + Optional flights = flightRepository.findById(bookingId); + booking.setFlights(flights.get()); + booking = repo.save(booking); + return booking; } -// public void addRoleToUser(Long bookingId, Long passengerId) { -// -// Optional booking = repo.findById(bookingId); -// Optional passenger = passengerRepository.findById(passengerId); -// booking.get().getPassengerList().add(passenger.get()); -// } + public Booking updateBooking( Long bookingId, Booking booking) { return repo.findById(bookingId).map(booking1 -> { diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/FlightService.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/FlightService.java index 0568941..053392d 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/FlightService.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/FlightService.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Service; import javax.transaction.Transactional; +import java.util.List; import java.util.Optional; @@ -48,4 +49,10 @@ public Flight updateFlight(Flight flight){ public void DeleteById(Long flightId){ repo.deleteById(flightId); } + + public List search(String from, String to){ + return repo.findFlightsByFromAndTo(from, to); + } + } + diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/PassengerService.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/PassengerService.java index 52282aa..d99ed03 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/PassengerService.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/PassengerService.java @@ -40,7 +40,7 @@ public Passenger create(Passenger passenger) { return passenger; } - public Passenger updateAirport(Passenger passenger){ + public Passenger updatePassenger(Passenger passenger){ return repo.save(passenger); } diff --git a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/ScheduleFlightService.java b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/ScheduleFlightService.java index 83e7273..8907eaf 100644 --- a/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/ScheduleFlightService.java +++ b/Flight-Managment-System/src/main/java/com/saraya/flightmanagmentsystem/service/ScheduleFlightService.java @@ -8,6 +8,7 @@ import org.modelmapper.ModelMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestBody; import javax.transaction.Transactional; import java.util.List; @@ -61,7 +62,7 @@ public void DeleteById(Long scheduleFlightId){ repo.deleteById(scheduleFlightId); } - public ScheduleFlight create(ScheduleFlight scheduleFlight, Long scheduleFlightId) { + public ScheduleFlight create( ScheduleFlight scheduleFlight, Long scheduleFlightId) { Optional flight = flightRepository.findById(scheduleFlightId); scheduleFlight.setFlight(flight.get()); diff --git a/FlightSystemManagement/assets/css/bootstrap.min.css b/FlightSystemManagement/assets/css/bootstrap.min.css new file mode 100644 index 0000000..ed3905e --- /dev/null +++ b/FlightSystemManagement/assets/css/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/FlightSystemManagement/assets/css/style.css b/FlightSystemManagement/assets/css/style.css new file mode 100644 index 0000000..5d17e76 --- /dev/null +++ b/FlightSystemManagement/assets/css/style.css @@ -0,0 +1,174 @@ +.section { + position: relative; + height: 100vh; +} + +.section .section-center { + position: absolute; + top: 50%; + left: 0; + right: 0; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} + +#booking { + font-family: 'PT Sans', sans-serif; + background-image: url('../img/background.jpg'); + background-size: cover; + background-position: center; +} + +.booking-form { + background: rgba(0, 0, 0, 0.7); + padding: 40px; + border-radius: 6px; +} + +.booking-form .form-group { + position: relative; + margin-bottom: 20px; +} + +.booking-form .form-control { + background-color: #fff; + height: 50px; + color: #191a1e; + border: none; + font-size: 16px; + font-weight: 400; + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 40px; + padding: 0px 25px; +} + +.booking-form .form-control::-webkit-input-placeholder { + color: rgba(82, 82, 84, 0.4); +} + +.booking-form .form-control:-ms-input-placeholder { + color: rgba(82, 82, 84, 0.4); +} + +.booking-form .form-control::placeholder { + color: rgba(82, 82, 84, 0.4); +} + +.booking-form input[type="date"].form-control:invalid { + color: rgba(82, 82, 84, 0.4); +} + +.booking-form select.form-control { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.booking-form select.form-control+.select-arrow { + position: absolute; + right: 10px; + bottom: 6px; + width: 32px; + line-height: 32px; + height: 32px; + text-align: center; + pointer-events: none; + color: rgba(0, 0, 0, 0.3); + font-size: 14px; +} + +.booking-form select.form-control+.select-arrow:after { + content: '\279C'; + display: block; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} + +.booking-form .form-label { + display: block; + margin-left: 20px; + margin-bottom: 5px; + font-weight: 400; + text-transform: uppercase; + line-height: 24px; + height: 24px; + font-size: 12px; + color: #fff; +} + +.booking-form .form-checkbox input { + position: absolute !important; + margin-left: -9999px !important; + visibility: hidden !important; +} + +.booking-form .form-checkbox label { + position: relative; + padding-top: 4px; + padding-left: 30px; + font-weight: 400; + color: #fff; +} + +.booking-form .form-checkbox label+label { + margin-left: 15px; +} + +.booking-form .form-checkbox input+span { + position: absolute; + left: 2px; + top: 4px; + width: 20px; + height: 20px; + background: #fff; + border-radius: 50%; +} + +.booking-form .form-checkbox input+span:after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 0px; + height: 0px; + border-radius: 50%; + background-color: #f23e3e; + -webkit-transition: 0.2s all; + transition: 0.2s all; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} + +.booking-form .form-checkbox input:not(:checked)+span:after { + opacity: 0; +} + +.booking-form .form-checkbox input:checked+span:after { + opacity: 1; + width: 10px; + height: 10px; +} + +.booking-form .form-btn { + margin-top: 27px; +} + +.booking-form .submit-btn { + color: #fff; + background-color: #f23e3e; + font-weight: 400; + height: 50px; + font-size: 14px; + border: none; + width: 100%; + border-radius: 40px; + text-transform: uppercase; + -webkit-transition: 0.2s all; + transition: 0.2s all; +} + +.booking-form .submit-btn:hover, +.booking-form .submit-btn:focus { + opacity: 0.9; +} \ No newline at end of file diff --git a/FlightSystemManagement/assets/img/background.jpg b/FlightSystemManagement/assets/img/background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..330b44c02925b50567051c8e41eb02599dfef5b0 GIT binary patch literal 227555 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

UQClgH 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

1cvU|(Co#qf6|i?RTPr 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

A)*Wuxw)@=!r1 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 z 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 literal 0 HcmV?d00001 diff --git a/FlightSystemManagement/package-lock.json b/FlightSystemManagement/package-lock.json index 3c8e0e4..19b9b5c 100644 --- a/FlightSystemManagement/package-lock.json +++ b/FlightSystemManagement/package-lock.json @@ -19,9 +19,12 @@ "@angular/platform-browser-dynamic": "~13.3.0", "@angular/router": "~13.3.0", "bootstrap": "^5.2.2", + "bootstrap-icons": "^1.9.1", "cors": "^2.8.5", "jquery": "^3.6.1", "material": "^0.4.3", + "ng2-filter-pipe": "^0.1.10", + "ngx-filter-pipe": "^2.1.2", "rxjs": "~7.5.0", "tslib": "^2.3.0", "zone.js": "~0.11.4" @@ -3501,8 +3504,7 @@ "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "node_modules/accepts": { "version": "1.3.8", @@ -3646,6 +3648,53 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha512-TdlOggdA/zURfMYa7ABC66j+oqfMew58KpJMbUlH3bcZP1b+cBHIHDDn5uH9INsxrHBPjsqM0tDB4jPTF/vgJA==", + "dependencies": { + "string-width": "^2.0.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-align/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -3686,7 +3735,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -3695,7 +3743,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -3703,6 +3750,11 @@ "node": ">=4" } }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, "node_modules/anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", @@ -3722,6 +3774,11 @@ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", "dev": true }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==" + }, "node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", @@ -3762,6 +3819,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/async": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", @@ -3771,6 +3836,11 @@ "lodash": "^4.17.14" } }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "node_modules/atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -3916,8 +3986,7 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base64-js": { "version": "1.5.1", @@ -3983,6 +4052,11 @@ "readable-stream": "^3.4.0" } }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, "node_modules/body-parser": { "version": "1.20.1", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", @@ -4060,11 +4134,79 @@ "@popperjs/core": "^2.11.6" } }, + "node_modules/bootstrap-icons": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.9.1.tgz", + "integrity": "sha512-d4ZkO30MIkAhQ2nNRJqKXJVEQorALGbLWTuRxyCTJF96lRIV6imcgMehWGJUiJMJhglN0o2tqLIeDnMdiQEE9g==" + }, + "node_modules/boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dependencies": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/boxen/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/boxen/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/boxen/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/boxen/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/boxen/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4137,8 +4279,7 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/buffer-indexof": { "version": "1.1.1", @@ -4237,11 +4378,21 @@ } ] }, + "node_modules/capture-stack-trace": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.2.tgz", + "integrity": "sha512-X/WM2UQs6VMHUtjUDnZTRI+i1crWteJySFzr9UpGoQa4WQffXVTTXuekjl7TjZRlcF2XfjgITT0HxZ9RnxeT0w==", + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -4302,6 +4453,11 @@ "node": ">=6.0" } }, + "node_modules/ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + }, "node_modules/circular-dependency-plugin": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", @@ -4323,6 +4479,14 @@ "node": ">=6" } }, + "node_modules/cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha512-3Fo5wu8Ytle8q9iCzS4D2MWVL2X7JVWRiS1BnXbTFDhS9c/REkM9vd1AmabsoZoY5/dGi5TT9iKL8Kb6DeBRQg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -4347,6 +4511,57 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-truncate": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", + "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", + "dependencies": { + "slice-ansi": "^1.0.0", + "string-width": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/cli-width": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", @@ -4374,7 +4589,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, "engines": { "node": ">=0.8" } @@ -4397,7 +4611,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -4405,8 +4618,7 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/color-support": { "version": "1.1.3", @@ -4423,6 +4635,29 @@ "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, + "node_modules/columnify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", + "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", + "dependencies": { + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -4498,8 +4733,83 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/configstore": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.5.tgz", + "integrity": "sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA==", + "dependencies": { + "dot-prop": "^4.2.1", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/configstore/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/configstore/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } }, "node_modules/connect": { "version": "3.7.0", @@ -4711,8 +5021,7 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/cors": { "version": "2.8.5", @@ -4742,6 +5051,17 @@ "node": ">=10" } }, + "node_modules/create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==", + "dependencies": { + "capture-stack-trace": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/critters": { "version": "0.0.16", "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", @@ -4855,6 +5175,14 @@ "node": ">= 8" } }, + "node_modules/crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==", + "engines": { + "node": ">=4" + } + }, "node_modules/css": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", @@ -5056,6 +5384,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/default-gateway": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", @@ -5072,7 +5408,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, "dependencies": { "clone": "^1.0.2" }, @@ -5165,6 +5500,14 @@ "node": ">=8" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -5199,6 +5542,14 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-indent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==", + "engines": { + "node": ">=4" + } + }, "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", @@ -5321,6 +5672,22 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/dot-prop": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", + "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "dependencies": { + "is-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -5333,6 +5700,14 @@ "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", "dev": true }, + "node_modules/elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", + "integrity": "sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -5470,7 +5845,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } @@ -5839,7 +6213,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -5962,6 +6335,14 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/express": { "version": "4.18.2", "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", @@ -6064,8 +6445,7 @@ "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "node_modules/external-editor": { "version": "3.1.0", @@ -6258,6 +6638,19 @@ } } }, + "node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -6324,8 +6717,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.2", @@ -6344,8 +6736,7 @@ "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "node_modules/functions-have-names": { "version": "1.2.3", @@ -6432,7 +6823,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6466,6 +6856,22 @@ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -6495,11 +6901,47 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha512-Y/K3EDuiQN9rTZhBvPRWMLXIKdeD1Rj0nzunfoi0Yyn5WBEbzxXKU9Ub2X41oZBagVWOBU3MuDonFMgPWQFnwg==", + "dependencies": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/got/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/got/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "node_modules/handle-thing": { "version": "2.0.1", @@ -6511,7 +6953,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -6519,11 +6960,29 @@ "node": ">= 0.4.0" } }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -6570,8 +7029,7 @@ "node_modules/has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, "node_modules/hdr-histogram-js": { "version": "2.0.3", @@ -6891,11 +7349,18 @@ "node": ">=4" } }, + "node_modules/import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", + "engines": { + "node": ">=4" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, "engines": { "node": ">=0.8.19" } @@ -6919,7 +7384,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -6928,8 +7392,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "2.0.0", @@ -7035,6 +7498,14 @@ "node": ">=8" } }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/ip": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", @@ -7050,6 +7521,18 @@ "node": ">= 10" } }, + "node_modules/is-absolute": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz", + "integrity": "sha512-7Kr05z5LkcOpoMvxHN1PC11WbPabdNFmMYYo0eZvWu3BfVS0T03yoqYDczoCBx17xqk2x1XAZrcKiFVL88jxlQ==", + "dependencies": { + "is-relative": "^0.2.1", + "is-windows": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -7069,8 +7552,7 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-binary-path": { "version": "2.1.0", @@ -7084,6 +7566,17 @@ "node": ">=8" } }, + "node_modules/is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dependencies": { + "ci-info": "^1.5.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, "node_modules/is-core-module": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", @@ -7156,6 +7649,29 @@ "node": ">=0.10.0" } }, + "node_modules/is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha512-ERNhMg+i/XgDwPIPF3u24qpajVreaiSuvpb1Uu0jugw7KKcxGyCX8cgp8P5fwTmAuXku6beDHHECdKArjlg7tw==", + "dependencies": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-installed-globally/node_modules/is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", + "dependencies": { + "path-is-inside": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", @@ -7171,6 +7687,14 @@ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "dev": true }, + "node_modules/is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha512-9r39FIr3d+KD9SbX0sfMsHzb5PP3uimOiwr3YupUaUFG4W0l1U57Rx3utpttV7qz5U3jmrO5auUa04LU9pyHsg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -7180,6 +7704,14 @@ "node": ">=0.12.0" } }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-path-cwd": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", @@ -7222,6 +7754,14 @@ "node": ">=0.10.0" } }, + "node_modules/is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -7238,6 +7778,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-relative": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz", + "integrity": "sha512-9AMzjRmLqcue629b4ezEVSK6kJsYJlUIhMcygmYORUgwUNJiavHcC3HkaGx0XYpyVKQSOqFbMEZmW42cY87sYw==", + "dependencies": { + "is-unc-path": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -7250,6 +7809,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-unc-path": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz", + "integrity": "sha512-HhLc5VDMH4pu3oMtIuunz/DFQUIoR561kMME3U3Afhj8b7vH085vkIkemrz1kLXCEIuoMAmO3yVmafWdSbGW8w==", + "dependencies": { + "unc-path-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -7268,6 +7838,14 @@ "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", "dev": true }, + "node_modules/is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -7283,8 +7861,7 @@ "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/isbinaryfile": { "version": "4.0.10", @@ -7301,14 +7878,12 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7470,8 +8045,7 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "3.14.1", @@ -7552,6 +8126,33 @@ "node >= 0.2.0" ] }, + "node_modules/jspm-config": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/jspm-config/-/jspm-config-0.3.4.tgz", + "integrity": "sha512-NuRJyYXOKLNoSPy+jYVt7LUbGmss/wgw2OjmtWrLx5bFxlIQ7Bvbeeo3U2tNHhzbewOikU5YZYS7uYNY/u651w==", + "dependencies": { + "any-promise": "^1.3.0", + "graceful-fs": "^4.1.4", + "make-error-cause": "^1.2.1", + "object.pick": "^1.1.2", + "parse-json": "^2.2.0", + "strip-bom": "^3.0.0", + "thenify": "^3.2.0", + "throat": "^3.0.0", + "xtend": "^4.0.1" + } + }, + "node_modules/jspm-config/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/karma": { "version": "6.3.20", "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.20.tgz", @@ -7770,6 +8371,17 @@ "node": ">= 8" } }, + "node_modules/latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha512-Be1YRHWWlZaSsrz2U+VInk+tO0EwLIyV+23RhWLINJYwg/UIikxjlj3MhH37/6/EDCAusjajvMkMMUXRaMWl/w==", + "dependencies": { + "package-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/license-webpack-plugin": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", @@ -7793,6 +8405,17 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "node_modules/listify": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/listify/-/listify-1.0.3.tgz", + "integrity": "sha512-083swF7iH7bx8666zdzBColpgEuy46HjN3r1isD4zV6Ix7FuHfb/2/WVnl4CH8hjuoWeFF7P5KkKNXUnJCFEJg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -7823,6 +8446,14 @@ "node": ">=8" } }, + "node_modules/lockfile": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", + "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", + "dependencies": { + "signal-exit": "^3.0.2" + } + }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -7921,6 +8552,57 @@ "node": ">=8" } }, + "node_modules/log-update": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", + "integrity": "sha512-4vSow8gbiGnwdDNrpy1dyNaXWKSCIPop0EHdE8GrnngHoJujM3QhvHUN/igsYCgPoHo7pFOezlJ61Hlln0KHyA==", + "dependencies": { + "ansi-escapes": "^1.0.0", + "cli-cursor": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==", + "dependencies": { + "restore-cursor": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-update/node_modules/onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==", + "dependencies": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/log4js": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.7.0.tgz", @@ -7954,6 +8636,25 @@ } } }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -7999,6 +8700,19 @@ "semver": "bin/semver.js" } }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "node_modules/make-error-cause": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz", + "integrity": "sha512-4TO2Y3HkBnis4c0dxhAgD/jprySYLACf7nwN6V0HAHDx59g12WlRpUmFy1bRHamjGUEEBrEvCq6SUpsEE2lhUg==", + "dependencies": { + "make-error": "^1.2.0" + } + }, "node_modules/make-fetch-happen": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", @@ -8111,7 +8825,6 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -8120,7 +8833,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -8213,7 +8925,6 @@ "version": "3.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -8225,7 +8936,6 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8428,6 +9138,34 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "node_modules/ng2-filter-pipe": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/ng2-filter-pipe/-/ng2-filter-pipe-0.1.10.tgz", + "integrity": "sha512-ovrK/1R9VN3qw+r5GiKo6MQXkvvINrqWCgOBAecB7bl6avSampEiGxdLMG4jwVvgBtrTf2VkuBgEYxLZ0Og3Qw==", + "deprecated": "Use ngx-filter-pipe instead.", + "dependencies": { + "typings": "^2.0.0" + }, + "peerDependencies": { + "@angular/core": ">=2.2.3" + } + }, + "node_modules/ngx-filter-pipe": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ngx-filter-pipe/-/ngx-filter-pipe-2.1.2.tgz", + "integrity": "sha512-YEXvjEw+Mpg5jL+yqSnFWKiY0P9XtRAJ2Dk3n9sC4stnsuhPzPRwIkF58aBvqYfoi3vrb7KQFImgbmfFAQqnFw==", + "dependencies": { + "tslib": "^1.7.1" + }, + "peerDependencies": { + "@angular/core": ">=5.0.0" + } + }, + "node_modules/ngx-filter-pipe/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/nice-napi": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", @@ -8939,6 +9677,17 @@ "node": ">= 0.4" } }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -8970,7 +9719,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, "dependencies": { "wrappy": "1" } @@ -9109,6 +9857,14 @@ "node": ">=0.10.0" } }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "engines": { + "node": ">=4" + } + }, "node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -9182,6 +9938,28 @@ "node": ">=6" } }, + "node_modules/package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha512-q/R5GrMek0vzgoomq6rm9OX+3PQve8sLwTirmK30YB3Cu0Bbt9OX9M/SIUnroN5BGJkzwGsFwDaRGD9EwBOlCA==", + "dependencies": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/package-json/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, "node_modules/pacote": { "version": "12.0.3", "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz", @@ -9316,11 +10094,15 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -9404,13 +10186,103 @@ "node": ">=8" } }, - "node_modules/portfinder": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", - "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", - "dev": true, + "node_modules/popsicle": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/popsicle/-/popsicle-9.2.0.tgz", + "integrity": "sha512-petRj39w05GvH1WKuGFmzxR9+k+R9E7zX5XWTFee7P/qf88hMuLT7aAO/RsmldpQMtJsWQISkTQlfMRECKlxhw==", "dependencies": { - "async": "^2.6.4", + "concat-stream": "^1.4.7", + "form-data": "^2.0.0", + "make-error-cause": "^1.2.1", + "tough-cookie": "^2.0.0" + } + }, + "node_modules/popsicle-proxy-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/popsicle-proxy-agent/-/popsicle-proxy-agent-3.0.0.tgz", + "integrity": "sha512-+0MhWUYhHbBWWIdKT4sO5cwgEMXPDskC3mGpgiCMLUdJt3mV3OuEFXubSjsiF4UDuiK6XNEst8oasZe9ZCUs8Q==", + "deprecated": "Use `agent` option with `popsicle` directly", + "dependencies": { + "http-proxy-agent": "^1.0.0", + "https-proxy-agent": "^1.0.0" + } + }, + "node_modules/popsicle-proxy-agent/node_modules/agent-base": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz", + "integrity": "sha512-oDtZV740o3fr5oJtPLOsgH2hl2TRPscNXIx4VzzBwVlXVkv8RHm7XXqGAYg8t20+Gwu6LNDnx8HRMGqVGPZ8Vw==", + "dependencies": { + "extend": "~3.0.0", + "semver": "~5.0.1" + } + }, + "node_modules/popsicle-proxy-agent/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/popsicle-proxy-agent/node_modules/http-proxy-agent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz", + "integrity": "sha512-6YMslTZtuupu4irnNBi1bM6dG0UqHBHqObHQn3awavmNXe9CGkmw7KZ68EyAnJk3yBlLpbLwux5+bY1lneDFmg==", + "dependencies": { + "agent-base": "2", + "debug": "2", + "extend": "3" + } + }, + "node_modules/popsicle-proxy-agent/node_modules/https-proxy-agent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", + "integrity": "sha512-OZhm7//JDnQthMVqlPAfkZyPO2fMhfHY6gY+jZcX8rLfFiGtHiIQrfD80WvCDHNMQ77Ak3r5CiPRDD2rNzo2OQ==", + "dependencies": { + "agent-base": "2", + "debug": "2", + "extend": "3" + } + }, + "node_modules/popsicle-proxy-agent/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/popsicle-proxy-agent/node_modules/semver": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", + "integrity": "sha512-5OkOBiw69xqmxOFIXwXsiY1HlE+om8nNptg1ZIf95fzcnfgOv2fLm7pmmGbRJsjJIqPpW5Kwy4wpDBTz5wQlUw==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/popsicle-retry": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/popsicle-retry/-/popsicle-retry-3.2.1.tgz", + "integrity": "sha512-AOKZJrHLXZMaMQtQcQW03tDZSgknkFOdoeAv5YuXuE1HqJH3D1oobHYmVIIjmdyBdHsqBnCX1inq2lRX1zocxQ==", + "dependencies": { + "any-promise": "^1.1.0", + "xtend": "^4.0.1" + } + }, + "node_modules/popsicle-rewrite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/popsicle-rewrite/-/popsicle-rewrite-1.0.0.tgz", + "integrity": "sha512-ySNEf50wDXcSr89LCsAb00dYItQ/Cnisb1aGleYFnc69pmSzFDB090pDvLwptgWWaokvFDiLCAjUWRWZyZku/w==" + }, + "node_modules/popsicle-status": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/popsicle-status/-/popsicle-status-2.0.1.tgz", + "integrity": "sha512-jMzDnC9xEmyF624Fq4kfjWkFZuK4fOiCHKtr9MthCwpmQXRT+Eck1yEXbRwOEoS9qEWQGbi3THsBfC1Bzk7R/A==" + }, + "node_modules/portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", + "dev": true, + "dependencies": { + "async": "^2.6.4", "debug": "^3.2.7", "mkdirp": "^0.5.6" }, @@ -10042,6 +10914,14 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -10057,8 +10937,12 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise-finally": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/promise-finally/-/promise-finally-3.0.1.tgz", + "integrity": "sha512-hsF8r05ZnypT00IZTC71Ejiu9A7kyyVfHpdl3faasOHNJX62sNPfE8vDAz6P27RJ31i2O5ruhc6JV5xWR6GElQ==" }, "node_modules/promise-inflight": { "version": "1.0.1", @@ -10108,11 +10992,20 @@ "dev": true, "optional": true }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, "engines": { "node": ">=6" } @@ -10194,6 +11087,25 @@ "node": ">= 0.8" } }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -10321,6 +11233,26 @@ "node": ">=4" } }, + "node_modules/registry-auth-token": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/regjsgen": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", @@ -10534,7 +11466,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, "funding": [ { "type": "github", @@ -10644,6 +11575,25 @@ "node": ">=10" } }, + "node_modules/semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha512-gL8F8L4ORwsS0+iQ34yCYv///jsOq0ZL7WP55d1HnJ32o7tyFYEFQZQA22mrLIacZdU6xecaBBZ+uEiffGNyXw==", + "dependencies": { + "semver": "^5.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/semver-diff/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, "node_modules/send": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", @@ -10865,8 +11815,7 @@ "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/slash": { "version": "4.0.0", @@ -10880,6 +11829,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -10965,6 +11933,25 @@ "node": ">= 10" } }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -11149,6 +12136,11 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string-template": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-1.0.0.tgz", + "integrity": "sha512-SLqR3GBUXuoPP5MmYtD7ompvXiG87QjT6lzOszyXjTM86Uu7At7vNnt2xgyTLq5o9T4IxTYFyGxcULqpsmsfdg==" + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -11167,7 +12159,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11175,6 +12166,22 @@ "node": ">=8" } }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -11184,6 +12191,14 @@ "node": ">=6" } }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/stylus": { "version": "0.56.0", "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.56.0.tgz", @@ -11239,7 +12254,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -11294,6 +12308,112 @@ "node": ">= 10" } }, + "node_modules/term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ==", + "dependencies": { + "execa": "^0.7.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/term-size/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/term-size/node_modules/execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/term-size/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/term-size/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/term-size/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/term-size/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/term-size/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/term-size/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/term-size/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/term-size/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + }, "node_modules/terser": { "version": "5.14.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", @@ -11415,6 +12535,19 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/throat": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-3.2.0.tgz", + "integrity": "sha512-/EY8VpvlqJ+sFtLPeOgc8Pl7kQVOWv0woD87KTXVHPIAE842FGT+rokxIhe8xIUP1cfgrkt0as0vDLjDiMtr8w==" + }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -11427,6 +12560,14 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, + "node_modules/timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -11469,6 +12610,46 @@ "node": ">=0.6" } }, + "node_modules/touch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-1.0.0.tgz", + "integrity": "sha512-7PLLVW4cfMVYXtMgX0ynJvyZDiupF2rzGzzf0yATTzgCgNK98DHjRSTm5zU1bFUtRjFdXNrEynn9+vhflVpC0A==", + "dependencies": { + "nopt": "~1.0.10" + }, + "bin": { + "touch": "bin/touch.js" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/touch/node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -11514,6 +12695,11 @@ "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", "dev": true }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, "node_modules/typescript": { "version": "4.6.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", @@ -11527,28 +12713,209 @@ "node": ">=4.2.0" } }, - "node_modules/ua-parser-js": { - "version": "0.7.32", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", - "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "engines": { - "node": "*" + "node_modules/typings": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/typings/-/typings-2.1.1.tgz", + "integrity": "sha512-ABFg64N1Vb0qHSIyks4kq1P02bWuwRmvCoD6d03Gmha1B5tl4uuz4w/bCCITW1rzC0+IYRGZ5PI0e2G7kqXGfw==", + "deprecated": "Typings is deprecated in favor of NPM @types -- see README for more information", + "dependencies": { + "archy": "^1.0.0", + "bluebird": "^3.1.1", + "chalk": "^1.0.0", + "cli-truncate": "^1.0.0", + "columnify": "^1.5.2", + "elegant-spinner": "^1.0.1", + "has-unicode": "^2.0.1", + "listify": "^1.0.0", + "log-update": "^1.0.2", + "minimist": "^1.2.0", + "promise-finally": "^3.0.0", + "typings-core": "^2.3.3", + "update-notifier": "^2.0.0", + "wordwrap": "^1.0.0", + "xtend": "^4.0.1" + }, + "bin": { + "typings": "dist/bin.js" } }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "node_modules/typings-core": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/typings-core/-/typings-core-2.3.3.tgz", + "integrity": "sha512-FI/cwKyu9t84BXf83aIhGYzitfhEdo02l09xZaqdwQo9Xj4RjWpS1m+m7vljz373zcx6rudgVuESuo/dY1N4cw==", + "dependencies": { + "array-uniq": "^1.0.2", + "configstore": "^3.0.0", + "debug": "^2.2.0", + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.2", + "has": "^1.0.1", + "invariant": "^2.2.0", + "is-absolute": "^0.2.3", + "jspm-config": "^0.3.0", + "listify": "^1.0.0", + "lockfile": "^1.0.1", + "make-error-cause": "^1.2.1", + "mkdirp": "^0.5.1", + "object.pick": "^1.1.1", + "parse-json": "^2.2.0", + "popsicle": "^9.0.0", + "popsicle-proxy-agent": "^3.0.0", + "popsicle-retry": "^3.2.0", + "popsicle-rewrite": "^1.0.0", + "popsicle-status": "^2.0.0", + "promise-finally": "^3.0.0", + "rc": "^1.1.5", + "rimraf": "^2.4.4", + "sort-keys": "^1.0.0", + "string-template": "^1.0.0", + "strip-bom": "^3.0.0", + "thenify": "^3.1.0", + "throat": "^3.0.0", + "touch": "^1.0.0", + "typescript": "^2.1.4", + "xtend": "^4.0.0", + "zip-object": "^0.1.0" + } + }, + "node_modules/typings-core/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/typings-core/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/typings-core/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/typings-core/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/typings-core/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/typings-core/node_modules/typescript": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/typings/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/typings/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/typings/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/typings/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/typings/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", + "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true, "engines": { @@ -11604,6 +12971,17 @@ "imurmurhash": "^0.1.4" } }, + "node_modules/unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==", + "dependencies": { + "crypto-random-string": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -11622,6 +13000,14 @@ "node": ">= 0.8" } }, + "node_modules/unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha512-N0XH6lqDtFH84JxptQoZYmloF4nzrQqqrAymNj+/gW60AO2AZgOcf4O/nUXJcYfyQkqvMo9lSupBZmmgvuVXlw==", + "engines": { + "node": ">=4" + } + }, "node_modules/update-browserslist-db": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", @@ -11648,6 +13034,26 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dependencies": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -11657,11 +13063,21 @@ "punycode": "^2.1.0" } }, + "node_modules/url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", + "dependencies": { + "prepend-http": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/utils-merge": { "version": "1.0.1", @@ -11733,7 +13149,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, "dependencies": { "defaults": "^1.0.3" } @@ -12099,7 +13514,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, "dependencies": { "isexe": "^2.0.0" }, @@ -12116,12 +13530,67 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "node_modules/widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dependencies": { + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/wildcard": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -12175,8 +13644,17 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } }, "node_modules/ws": { "version": "8.2.3", @@ -12199,6 +13677,22 @@ } } }, + "node_modules/xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -12250,6 +13744,11 @@ "node": ">=12" } }, + "node_modules/zip-object": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/zip-object/-/zip-object-0.1.0.tgz", + "integrity": "sha512-eujiZK9Z3F/WuswEIWqlaNUwUj67oRw4Op5a1VeKw4n9XBkV7EdxtgblroWBYvLmD7XqZ1cjqsbmE3jU43prTA==" + }, "node_modules/zone.js": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.8.tgz", @@ -14809,8 +16308,7 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "accepts": { "version": "1.3.8", @@ -14919,6 +16417,43 @@ } } }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha512-TdlOggdA/zURfMYa7ABC66j+oqfMew58KpJMbUlH3bcZP1b+cBHIHDDn5uH9INsxrHBPjsqM0tDB4jPTF/vgJA==", + "requires": { + "string-width": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -14943,18 +16478,21 @@ "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, "anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", @@ -14971,6 +16509,11 @@ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", "dev": true }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==" + }, "are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", @@ -15002,6 +16545,11 @@ "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", "dev": true }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==" + }, "async": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", @@ -15011,6 +16559,11 @@ "lodash": "^4.17.14" } }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -15110,8 +16663,7 @@ "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base64-js": { "version": "1.5.1", @@ -15154,6 +16706,11 @@ "readable-stream": "^3.4.0" } }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, "body-parser": { "version": "1.20.1", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", @@ -15217,11 +16774,63 @@ "integrity": "sha512-dEtzMTV71n6Fhmbg4fYJzQsw1N29hJKO1js5ackCgIpDcGid2ETMGC6zwSYw09v05Y+oRdQ9loC54zB1La3hHQ==", "requires": {} }, + "bootstrap-icons": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.9.1.tgz", + "integrity": "sha512-d4ZkO30MIkAhQ2nNRJqKXJVEQorALGbLWTuRxyCTJF96lRIV6imcgMehWGJUiJMJhglN0o2tqLIeDnMdiQEE9g==" + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -15261,8 +16870,7 @@ "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "buffer-indexof": { "version": "1.1.1", @@ -15336,11 +16944,15 @@ "integrity": "sha512-hSesn02u1QacQHhaxl/kNMZwqVG35Sz/8DgvmgedxSH8z9UUpcDYSPYgsj3x5dQNRcNp6BwpSfQfVzYUTm+fog==", "dev": true }, + "capture-stack-trace": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.2.tgz", + "integrity": "sha512-X/WM2UQs6VMHUtjUDnZTRI+i1crWteJySFzr9UpGoQa4WQffXVTTXuekjl7TjZRlcF2XfjgITT0HxZ9RnxeT0w==" + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -15381,6 +16993,11 @@ "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + }, "circular-dependency-plugin": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", @@ -15394,6 +17011,11 @@ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha512-3Fo5wu8Ytle8q9iCzS4D2MWVL2X7JVWRiS1BnXbTFDhS9c/REkM9vd1AmabsoZoY5/dGi5TT9iKL8Kb6DeBRQg==" + }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -15409,28 +17031,65 @@ "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", "dev": true }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, + "cli-truncate": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", + "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } + "slice-ansi": "^1.0.0", + "string-width": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } }, "clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" }, "clone-deep": { "version": "4.0.1", @@ -15447,7 +17106,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -15455,8 +17113,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "color-support": { "version": "1.1.3", @@ -15470,6 +17127,23 @@ "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, + "columnify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", + "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", + "requires": { + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -15538,8 +17212,75 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "configstore": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.5.tgz", + "integrity": "sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA==", + "requires": { + "dot-prop": "^4.2.1", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" + } + } }, "connect": { "version": "3.7.0", @@ -15700,8 +17441,7 @@ "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "cors": { "version": "2.8.5", @@ -15725,6 +17465,14 @@ "yaml": "^1.10.0" } }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==", + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, "critters": { "version": "0.0.16", "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", @@ -15812,6 +17560,11 @@ } } }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==" + }, "css": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", @@ -15944,6 +17697,11 @@ "regexp.prototype.flags": "^1.2.0" } }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, "default-gateway": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", @@ -15957,7 +17715,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, "requires": { "clone": "^1.0.2" } @@ -16022,6 +17779,11 @@ } } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -16046,6 +17808,11 @@ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, + "detect-indent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==" + }, "detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", @@ -16149,6 +17916,19 @@ "domhandler": "^4.2.0" } }, + "dot-prop": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", + "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "requires": { + "is-obj": "^1.0.0" + } + }, + "duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -16161,6 +17941,11 @@ "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", "dev": true }, + "elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", + "integrity": "sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==" + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -16273,7 +18058,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -16460,8 +18244,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "eslint-scope": { "version": "5.1.1", @@ -16549,6 +18332,11 @@ "strip-final-newline": "^2.0.0" } }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==" + }, "express": { "version": "4.18.2", "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", @@ -16641,8 +18429,7 @@ "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "external-editor": { "version": "3.1.0", @@ -16790,6 +18577,16 @@ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "dev": true }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -16837,8 +18634,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { "version": "2.3.2", @@ -16850,8 +18646,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "functions-have-names": { "version": "1.2.3", @@ -16914,7 +18709,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -16939,6 +18733,21 @@ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "requires": { + "ini": "^1.3.4" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + } + } + }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -16959,11 +18768,40 @@ "slash": "^4.0.0" } }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha512-Y/K3EDuiQN9rTZhBvPRWMLXIKdeD1Rj0nzunfoi0Yyn5WBEbzxXKU9Ub2X41oZBagVWOBU3MuDonFMgPWQFnwg==", + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + } + } + }, "graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "handle-thing": { "version": "2.0.1", @@ -16975,16 +18813,29 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + } + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "has-property-descriptors": { "version": "1.0.0", @@ -17013,8 +18864,7 @@ "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, "hdr-histogram-js": { "version": "2.0.3", @@ -17265,11 +19115,15 @@ } } }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==" + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" }, "indent-string": { "version": "4.0.0", @@ -17287,7 +19141,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -17296,8 +19149,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "2.0.0", @@ -17378,6 +19230,14 @@ } } }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, "ip": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", @@ -17390,6 +19250,15 @@ "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", "dev": true }, + "is-absolute": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz", + "integrity": "sha512-7Kr05z5LkcOpoMvxHN1PC11WbPabdNFmMYYo0eZvWu3BfVS0T03yoqYDczoCBx17xqk2x1XAZrcKiFVL88jxlQ==", + "requires": { + "is-relative": "^0.2.1", + "is-windows": "^0.2.0" + } + }, "is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -17403,8 +19272,7 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "is-binary-path": { "version": "2.1.0", @@ -17415,6 +19283,14 @@ "binary-extensions": "^2.0.0" } }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "requires": { + "ci-info": "^1.5.0" + } + }, "is-core-module": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", @@ -17460,6 +19336,25 @@ "is-extglob": "^2.1.1" } }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha512-ERNhMg+i/XgDwPIPF3u24qpajVreaiSuvpb1Uu0jugw7KKcxGyCX8cgp8P5fwTmAuXku6beDHHECdKArjlg7tw==", + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + }, + "dependencies": { + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", + "requires": { + "path-is-inside": "^1.0.1" + } + } + } + }, "is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", @@ -17472,12 +19367,22 @@ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "dev": true }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha512-9r39FIr3d+KD9SbX0sfMsHzb5PP3uimOiwr3YupUaUFG4W0l1U57Rx3utpttV7qz5U3jmrO5auUa04LU9pyHsg==" + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + }, "is-path-cwd": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", @@ -17505,6 +19410,11 @@ "isobject": "^3.0.1" } }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==" + }, "is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -17515,12 +19425,33 @@ "has-tostringtag": "^1.0.0" } }, + "is-relative": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz", + "integrity": "sha512-9AMzjRmLqcue629b4ezEVSK6kJsYJlUIhMcygmYORUgwUNJiavHcC3HkaGx0XYpyVKQSOqFbMEZmW42cY87sYw==", + "requires": { + "is-unc-path": "^0.1.1" + } + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" + }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, + "is-unc-path": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz", + "integrity": "sha512-HhLc5VDMH4pu3oMtIuunz/DFQUIoR561kMME3U3Afhj8b7vH085vkIkemrz1kLXCEIuoMAmO3yVmafWdSbGW8w==", + "requires": { + "unc-path-regex": "^0.1.0" + } + }, "is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -17533,6 +19464,11 @@ "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", "dev": true }, + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==" + }, "is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -17545,8 +19481,7 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "isbinaryfile": { "version": "4.0.10", @@ -17557,14 +19492,12 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" }, "istanbul-lib-coverage": { "version": "3.2.0", @@ -17692,8 +19625,7 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "3.14.1", @@ -17756,6 +19688,32 @@ "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true }, + "jspm-config": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/jspm-config/-/jspm-config-0.3.4.tgz", + "integrity": "sha512-NuRJyYXOKLNoSPy+jYVt7LUbGmss/wgw2OjmtWrLx5bFxlIQ7Bvbeeo3U2tNHhzbewOikU5YZYS7uYNY/u651w==", + "requires": { + "any-promise": "^1.3.0", + "graceful-fs": "^4.1.4", + "make-error-cause": "^1.2.1", + "object.pick": "^1.1.2", + "parse-json": "^2.2.0", + "strip-bom": "^3.0.0", + "thenify": "^3.2.0", + "throat": "^3.0.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "requires": { + "error-ex": "^1.2.0" + } + } + } + }, "karma": { "version": "6.3.20", "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.20.tgz", @@ -17934,6 +19892,14 @@ "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", "dev": true }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha512-Be1YRHWWlZaSsrz2U+VInk+tO0EwLIyV+23RhWLINJYwg/UIikxjlj3MhH37/6/EDCAusjajvMkMMUXRaMWl/w==", + "requires": { + "package-json": "^4.0.0" + } + }, "license-webpack-plugin": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", @@ -17949,6 +19915,11 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "listify": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/listify/-/listify-1.0.3.tgz", + "integrity": "sha512-083swF7iH7bx8666zdzBColpgEuy46HjN3r1isD4zV6Ix7FuHfb/2/WVnl4CH8hjuoWeFF7P5KkKNXUnJCFEJg==" + }, "loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -17970,6 +19941,14 @@ "p-locate": "^4.1.0" } }, + "lockfile": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", + "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", + "requires": { + "signal-exit": "^3.0.2" + } + }, "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -18043,6 +20022,44 @@ } } }, + "log-update": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", + "integrity": "sha512-4vSow8gbiGnwdDNrpy1dyNaXWKSCIPop0EHdE8GrnngHoJujM3QhvHUN/igsYCgPoHo7pFOezlJ61Hlln0KHyA==", + "requires": { + "ansi-escapes": "^1.0.0", + "cli-cursor": "^1.0.2" + }, + "dependencies": { + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==" + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==", + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==" + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==", + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + } + } + }, "log4js": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.7.0.tgz", @@ -18067,6 +20084,19 @@ } } }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -18102,6 +20132,19 @@ } } }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "make-error-cause": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz", + "integrity": "sha512-4TO2Y3HkBnis4c0dxhAgD/jprySYLACf7nwN6V0HAHDx59g12WlRpUmFy1bRHamjGUEEBrEvCq6SUpsEE2lhUg==", + "requires": { + "make-error": "^1.2.0" + } + }, "make-fetch-happen": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", @@ -18189,14 +20232,12 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "requires": { "mime-db": "1.52.0" } @@ -18261,7 +20302,6 @@ "version": "3.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -18269,8 +20309,7 @@ "minimist": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "dev": true + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" }, "minipass": { "version": "3.3.4", @@ -18425,6 +20464,29 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "ng2-filter-pipe": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/ng2-filter-pipe/-/ng2-filter-pipe-0.1.10.tgz", + "integrity": "sha512-ovrK/1R9VN3qw+r5GiKo6MQXkvvINrqWCgOBAecB7bl6avSampEiGxdLMG4jwVvgBtrTf2VkuBgEYxLZ0Og3Qw==", + "requires": { + "typings": "^2.0.0" + } + }, + "ngx-filter-pipe": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ngx-filter-pipe/-/ngx-filter-pipe-2.1.2.tgz", + "integrity": "sha512-YEXvjEw+Mpg5jL+yqSnFWKiY0P9XtRAJ2Dk3n9sC4stnsuhPzPRwIkF58aBvqYfoi3vrb7KQFImgbmfFAQqnFw==", + "requires": { + "tslib": "^1.7.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, "nice-napi": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", @@ -18820,6 +20882,14 @@ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "requires": { + "isobject": "^3.0.1" + } + }, "obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -18845,7 +20915,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, "requires": { "wrappy": "1" } @@ -18944,6 +21013,11 @@ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" + }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -18995,6 +21069,24 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha512-q/R5GrMek0vzgoomq6rm9OX+3PQve8sLwTirmK30YB3Cu0Bbt9OX9M/SIUnroN5BGJkzwGsFwDaRGD9EwBOlCA==", + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, "pacote": { "version": "12.0.3", "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz", @@ -19104,8 +21196,12 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" }, "path-key": { "version": "3.1.1", @@ -19170,6 +21266,94 @@ "find-up": "^4.0.0" } }, + "popsicle": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/popsicle/-/popsicle-9.2.0.tgz", + "integrity": "sha512-petRj39w05GvH1WKuGFmzxR9+k+R9E7zX5XWTFee7P/qf88hMuLT7aAO/RsmldpQMtJsWQISkTQlfMRECKlxhw==", + "requires": { + "concat-stream": "^1.4.7", + "form-data": "^2.0.0", + "make-error-cause": "^1.2.1", + "tough-cookie": "^2.0.0" + } + }, + "popsicle-proxy-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/popsicle-proxy-agent/-/popsicle-proxy-agent-3.0.0.tgz", + "integrity": "sha512-+0MhWUYhHbBWWIdKT4sO5cwgEMXPDskC3mGpgiCMLUdJt3mV3OuEFXubSjsiF4UDuiK6XNEst8oasZe9ZCUs8Q==", + "requires": { + "http-proxy-agent": "^1.0.0", + "https-proxy-agent": "^1.0.0" + }, + "dependencies": { + "agent-base": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz", + "integrity": "sha512-oDtZV740o3fr5oJtPLOsgH2hl2TRPscNXIx4VzzBwVlXVkv8RHm7XXqGAYg8t20+Gwu6LNDnx8HRMGqVGPZ8Vw==", + "requires": { + "extend": "~3.0.0", + "semver": "~5.0.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "http-proxy-agent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz", + "integrity": "sha512-6YMslTZtuupu4irnNBi1bM6dG0UqHBHqObHQn3awavmNXe9CGkmw7KZ68EyAnJk3yBlLpbLwux5+bY1lneDFmg==", + "requires": { + "agent-base": "2", + "debug": "2", + "extend": "3" + } + }, + "https-proxy-agent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", + "integrity": "sha512-OZhm7//JDnQthMVqlPAfkZyPO2fMhfHY6gY+jZcX8rLfFiGtHiIQrfD80WvCDHNMQ77Ak3r5CiPRDD2rNzo2OQ==", + "requires": { + "agent-base": "2", + "debug": "2", + "extend": "3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "semver": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", + "integrity": "sha512-5OkOBiw69xqmxOFIXwXsiY1HlE+om8nNptg1ZIf95fzcnfgOv2fLm7pmmGbRJsjJIqPpW5Kwy4wpDBTz5wQlUw==" + } + } + }, + "popsicle-retry": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/popsicle-retry/-/popsicle-retry-3.2.1.tgz", + "integrity": "sha512-AOKZJrHLXZMaMQtQcQW03tDZSgknkFOdoeAv5YuXuE1HqJH3D1oobHYmVIIjmdyBdHsqBnCX1inq2lRX1zocxQ==", + "requires": { + "any-promise": "^1.1.0", + "xtend": "^4.0.1" + } + }, + "popsicle-rewrite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/popsicle-rewrite/-/popsicle-rewrite-1.0.0.tgz", + "integrity": "sha512-ySNEf50wDXcSr89LCsAb00dYItQ/Cnisb1aGleYFnc69pmSzFDB090pDvLwptgWWaokvFDiLCAjUWRWZyZku/w==" + }, + "popsicle-status": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/popsicle-status/-/popsicle-status-2.0.1.tgz", + "integrity": "sha512-jMzDnC9xEmyF624Fq4kfjWkFZuK4fOiCHKtr9MthCwpmQXRT+Eck1yEXbRwOEoS9qEWQGbi3THsBfC1Bzk7R/A==" + }, "portfinder": { "version": "1.0.32", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", @@ -19550,6 +21734,11 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==" + }, "pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -19559,8 +21748,12 @@ "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise-finally": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/promise-finally/-/promise-finally-3.0.1.tgz", + "integrity": "sha512-hsF8r05ZnypT00IZTC71Ejiu9A7kyyVfHpdl3faasOHNJX62sNPfE8vDAz6P27RJ31i2O5ruhc6JV5xWR6GElQ==" }, "promise-inflight": { "version": "1.0.1", @@ -19603,11 +21796,20 @@ "dev": true, "optional": true }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "qjobs": { "version": "1.2.0", @@ -19657,6 +21859,24 @@ "unpipe": "1.0.0" } }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + } + } + }, "read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -19763,6 +21983,23 @@ "unicode-match-property-value-ecmascript": "^2.0.0" } }, + "registry-auth-token": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "requires": { + "rc": "^1.0.1" + } + }, "regjsgen": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", @@ -19916,8 +22153,7 @@ "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safer-buffer": { "version": "2.1.2", @@ -19993,6 +22229,21 @@ "lru-cache": "^6.0.0" } }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha512-gL8F8L4ORwsS0+iQ34yCYv///jsOq0ZL7WP55d1HnJ32o7tyFYEFQZQA22mrLIacZdU6xecaBBZ+uEiffGNyXw==", + "requires": { + "semver": "^5.0.3" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, "send": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", @@ -20184,8 +22435,7 @@ "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "slash": { "version": "4.0.0", @@ -20193,6 +22443,21 @@ "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", "dev": true }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "requires": { + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + } + } + }, "smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -20261,6 +22526,21 @@ "socks": "^2.6.2" } }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "requires": { + "is-plain-obj": "^1.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" + } + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -20408,6 +22688,11 @@ "safe-buffer": "~5.2.0" } }, + "string-template": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-1.0.0.tgz", + "integrity": "sha512-SLqR3GBUXuoPP5MmYtD7ompvXiG87QjT6lzOszyXjTM86Uu7At7vNnt2xgyTLq5o9T4IxTYFyGxcULqpsmsfdg==" + }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -20423,17 +22708,31 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "requires": { "ansi-regex": "^5.0.1" } }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==" + }, "strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" + }, "stylus": { "version": "0.56.0", "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.56.0.tgz", @@ -20471,7 +22770,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -20508,6 +22806,90 @@ "yallist": "^4.0.0" } }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ==", + "requires": { + "execa": "^0.7.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + } + } + }, "terser": { "version": "5.14.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", @@ -20588,6 +22970,19 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "requires": { + "any-promise": "^1.0.0" + } + }, + "throat": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-3.2.0.tgz", + "integrity": "sha512-/EY8VpvlqJ+sFtLPeOgc8Pl7kQVOWv0woD87KTXVHPIAE842FGT+rokxIhe8xIUP1cfgrkt0as0vDLjDiMtr8w==" + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -20600,6 +22995,11 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==" + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -20630,6 +23030,33 @@ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, + "touch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-1.0.0.tgz", + "integrity": "sha512-7PLLVW4cfMVYXtMgX0ynJvyZDiupF2rzGzzf0yATTzgCgNK98DHjRSTm5zU1bFUtRjFdXNrEynn9+vhflVpC0A==", + "requires": { + "nopt": "~1.0.10" + }, + "dependencies": { + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "requires": { + "abbrev": "1" + } + } + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, "tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -20663,18 +23090,170 @@ "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", "dev": true }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, "typescript": { "version": "4.6.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", "dev": true }, + "typings": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/typings/-/typings-2.1.1.tgz", + "integrity": "sha512-ABFg64N1Vb0qHSIyks4kq1P02bWuwRmvCoD6d03Gmha1B5tl4uuz4w/bCCITW1rzC0+IYRGZ5PI0e2G7kqXGfw==", + "requires": { + "archy": "^1.0.0", + "bluebird": "^3.1.1", + "chalk": "^1.0.0", + "cli-truncate": "^1.0.0", + "columnify": "^1.5.2", + "elegant-spinner": "^1.0.1", + "has-unicode": "^2.0.1", + "listify": "^1.0.0", + "log-update": "^1.0.2", + "minimist": "^1.2.0", + "promise-finally": "^3.0.0", + "typings-core": "^2.3.3", + "update-notifier": "^2.0.0", + "wordwrap": "^1.0.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" + } + } + }, + "typings-core": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/typings-core/-/typings-core-2.3.3.tgz", + "integrity": "sha512-FI/cwKyu9t84BXf83aIhGYzitfhEdo02l09xZaqdwQo9Xj4RjWpS1m+m7vljz373zcx6rudgVuESuo/dY1N4cw==", + "requires": { + "array-uniq": "^1.0.2", + "configstore": "^3.0.0", + "debug": "^2.2.0", + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.2", + "has": "^1.0.1", + "invariant": "^2.2.0", + "is-absolute": "^0.2.3", + "jspm-config": "^0.3.0", + "listify": "^1.0.0", + "lockfile": "^1.0.1", + "make-error-cause": "^1.2.1", + "mkdirp": "^0.5.1", + "object.pick": "^1.1.1", + "parse-json": "^2.2.0", + "popsicle": "^9.0.0", + "popsicle-proxy-agent": "^3.0.0", + "popsicle-retry": "^3.2.0", + "popsicle-rewrite": "^1.0.0", + "popsicle-status": "^2.0.0", + "promise-finally": "^3.0.0", + "rc": "^1.1.5", + "rimraf": "^2.4.4", + "sort-keys": "^1.0.0", + "string-template": "^1.0.0", + "strip-bom": "^3.0.0", + "thenify": "^3.1.0", + "throat": "^3.0.0", + "touch": "^1.0.0", + "typescript": "^2.1.4", + "xtend": "^4.0.0", + "zip-object": "^0.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "requires": { + "error-ex": "^1.2.0" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "typescript": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==" + } + } + }, "ua-parser-js": { "version": "0.7.32", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==", "dev": true }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==" + }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -20721,6 +23300,14 @@ "imurmurhash": "^0.1.4" } }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==", + "requires": { + "crypto-random-string": "^1.0.0" + } + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -20733,6 +23320,11 @@ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha512-N0XH6lqDtFH84JxptQoZYmloF4nzrQqqrAymNj+/gW60AO2AZgOcf4O/nUXJcYfyQkqvMo9lSupBZmmgvuVXlw==" + }, "update-browserslist-db": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", @@ -20743,6 +23335,23 @@ "picocolors": "^1.0.0" } }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -20752,11 +23361,18 @@ "punycode": "^2.1.0" } }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", + "requires": { + "prepend-http": "^1.0.1" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "utils-merge": { "version": "1.0.1", @@ -20813,7 +23429,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, "requires": { "defaults": "^1.0.3" } @@ -21069,7 +23684,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, "requires": { "isexe": "^2.0.0" } @@ -21083,12 +23697,54 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "wildcard": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -21129,8 +23785,17 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } }, "ws": { "version": "8.2.3", @@ -21139,6 +23804,16 @@ "dev": true, "requires": {} }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -21178,6 +23853,11 @@ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true }, + "zip-object": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/zip-object/-/zip-object-0.1.0.tgz", + "integrity": "sha512-eujiZK9Z3F/WuswEIWqlaNUwUj67oRw4Op5a1VeKw4n9XBkV7EdxtgblroWBYvLmD7XqZ1cjqsbmE3jU43prTA==" + }, "zone.js": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.8.tgz", diff --git a/FlightSystemManagement/package.json b/FlightSystemManagement/package.json index 496178f..9cf5808 100644 --- a/FlightSystemManagement/package.json +++ b/FlightSystemManagement/package.json @@ -21,9 +21,12 @@ "@angular/platform-browser-dynamic": "~13.3.0", "@angular/router": "~13.3.0", "bootstrap": "^5.2.2", + "bootstrap-icons": "^1.9.1", "cors": "^2.8.5", "jquery": "^3.6.1", "material": "^0.4.3", + "ng2-filter-pipe": "^0.1.10", + "ngx-filter-pipe": "^2.1.2", "rxjs": "~7.5.0", "tslib": "^2.3.0", "zone.js": "~0.11.4" diff --git a/FlightSystemManagement/src/app/Create/add-airport/add-airport.component.html b/FlightSystemManagement/src/app/Create/add-airport/add-airport.component.html index 2accb0c..f982c2e 100644 --- a/FlightSystemManagement/src/app/Create/add-airport/add-airport.component.html +++ b/FlightSystemManagement/src/app/Create/add-airport/add-airport.component.html @@ -56,3 +56,4 @@

SARAYA-TRAVELER

+ \ No newline at end of file diff --git a/FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.css b/FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.css new file mode 100644 index 0000000..e69de29 diff --git a/FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.html b/FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.html new file mode 100644 index 0000000..389f58a --- /dev/null +++ b/FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.html @@ -0,0 +1 @@ +

add-booking-admin works!

diff --git a/FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.spec.ts b/FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.spec.ts new file mode 100644 index 0000000..00ac0b8 --- /dev/null +++ b/FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AddBookingAdminComponent } from './add-booking-admin.component'; + +describe('AddBookingAdminComponent', () => { + let component: AddBookingAdminComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ AddBookingAdminComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(AddBookingAdminComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.ts b/FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.ts new file mode 100644 index 0000000..afafc50 --- /dev/null +++ b/FlightSystemManagement/src/app/Create/add-booking-admin/add-booking-admin.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-add-booking-admin', + templateUrl: './add-booking-admin.component.html', + styleUrls: ['./add-booking-admin.component.css'] +}) +export class AddBookingAdminComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/FlightSystemManagement/src/app/Create/add-booking/add-booking.component.html b/FlightSystemManagement/src/app/Create/add-booking/add-booking.component.html index 8f87588..3cdd8e5 100644 --- a/FlightSystemManagement/src/app/Create/add-booking/add-booking.component.html +++ b/FlightSystemManagement/src/app/Create/add-booking/add-booking.component.html @@ -1,67 +1,48 @@ - -
- + + + +
- -
-
+ +
+ + +
+ + + passengerName is required +
+ +
+ + + required +
- -
- - - -
- -
- - - Name is required -
-
- - - Name is required -
+ - - - -
- -
- -
+
+ + + CNI is between 1 to 9 required
- \ No newline at end of file + +
+ + + Model is required +
+
+ +
+ + + +
+
+ + + \ No newline at end of file diff --git a/FlightSystemManagement/src/app/Create/add-booking/add-booking.component.ts b/FlightSystemManagement/src/app/Create/add-booking/add-booking.component.ts index 299fd4a..b5918d3 100644 --- a/FlightSystemManagement/src/app/Create/add-booking/add-booking.component.ts +++ b/FlightSystemManagement/src/app/Create/add-booking/add-booking.component.ts @@ -1,10 +1,8 @@ import { Component, OnInit } from '@angular/core'; -import { Booking } from '../../model/booking'; -import { BookingService } from '../../services/booking.service'; -import { Router } from '@angular/router'; -import { Flight } from '../../model/flight'; +import { Router, ActivatedRoute } from '@angular/router'; import { Passenger } from '../../model/passenger'; -import { FlightService } from '../../services/flight.service'; + +import { PassengerService } from '../../services/passenger.service'; @Component({ selector: 'app-add-booking', @@ -12,48 +10,49 @@ import { FlightService } from '../../services/flight.service'; styleUrls: ['./add-booking.component.css'] }) export class AddBookingComponent implements OnInit { - // PassengerList : Passenger[]; - // flights: Flight []; - // booking: Booking = {bookingId:null,bookingDate: null,noOfPassenger:null,ticketCost:null,flights:null}; - booking : Booking = new Booking(); + passenger: Passenger =new Passenger(); submitted=false; - constructor(private bookingService: BookingService,private router: Router) { } + passengerId:number; + constructor(private passengerService: PassengerService,private router: Router, private route:ActivatedRoute) { } ngOnInit(){ this.reloadData(); + } reloadData() { - this.bookingService. getBookingsList(); + this.passengerService.viewAllPassenger(); } newEmployee(): void { this.submitted = false; - this.booking = new Booking(); + this.passenger = new Passenger(); } - save() { - this.bookingService.createBooking(this.booking).subscribe({ + this.passengerService.addPassenger(this.passenger).subscribe({ next:(res)=>{ - alert("Booking successfully") - this.booking = new Booking(); - this.gotoList(); - this.reloadData(); + alert("Passenge is added successfully") + this.passenger = new Passenger(); + this.gotoList(); + + + }, error:(err)=>{ - alert("Error while Adding the Airport") - this.reloadData(); + alert("Error while Adding the Flight") } }) + + } + onSubmit() { this.submitted = true; this.save(); - } gotoList() { - this.router.navigate(['/booking-list']); - + this.router.navigate(['/passenger-list-user']); + } - } + diff --git a/FlightSystemManagement/src/app/Create/add-flight/add-flight.component.html b/FlightSystemManagement/src/app/Create/add-flight/add-flight.component.html index 5499051..9dc03f5 100644 --- a/FlightSystemManagement/src/app/Create/add-flight/add-flight.component.html +++ b/FlightSystemManagement/src/app/Create/add-flight/add-flight.component.html @@ -16,11 +16,9 @@

SARAYA-TRAVELER

Home Add Airport Add Flight - Add Booking Add ScheduleFlight + Add Booking + Add ScheduleFlight - About Us - Login - Sign-Up @@ -30,7 +28,8 @@

SARAYA-TRAVELER

-
+
+
@@ -72,4 +71,4 @@

SARAYA-TRAVELER

- \ No newline at end of file + \ No newline at end of file diff --git a/FlightSystemManagement/src/app/Create/add-passenger/add-passenger.component.html b/FlightSystemManagement/src/app/Create/add-passenger/add-passenger.component.html index 5e18fbb..af3fc2b 100644 --- a/FlightSystemManagement/src/app/Create/add-passenger/add-passenger.component.html +++ b/FlightSystemManagement/src/app/Create/add-passenger/add-passenger.component.html @@ -1 +1,67 @@ -

add-passenger works!

+ + + + + + + +
+ +
+ +
+ + + passengerName is required +
+ +
+ + + passengerAge is required +
+ + + +
+ + + From is required +
+ +
+ + + Model is required +
+
+ +
+ + + +
+ + + \ No newline at end of file diff --git a/FlightSystemManagement/src/app/Create/add-passenger/add-passenger.component.ts b/FlightSystemManagement/src/app/Create/add-passenger/add-passenger.component.ts index 2685c5c..b036e88 100644 --- a/FlightSystemManagement/src/app/Create/add-passenger/add-passenger.component.ts +++ b/FlightSystemManagement/src/app/Create/add-passenger/add-passenger.component.ts @@ -1,4 +1,7 @@ import { Component, OnInit } from '@angular/core'; +import { PassengerService } from '../../services/passenger.service'; +import { Router } from '@angular/router'; +import { Passenger } from '../../model/passenger'; @Component({ selector: 'app-add-passenger', @@ -7,9 +10,41 @@ import { Component, OnInit } from '@angular/core'; }) export class AddPassengerComponent implements OnInit { - constructor() { } + passenger: Passenger =new Passenger(); + submitted=false; + constructor(private passengerService: PassengerService,private router: Router) { } - ngOnInit(): void { + ngOnInit(){ + this.reloadData(); + } + reloadData() { + this.passengerService.viewAllPassenger(); + } + newEmployee(): void { + this.submitted = false; + this.passenger = new Passenger(); + } + + save() + { + this.passengerService.addPassenger(this.passenger).subscribe({ + next:(res)=>{ + alert("Passenge is added successfully") + this.passenger = new Passenger(); + this.gotoList(); + this.reloadData(); + }, + error:(err)=>{ + alert("Error while Adding the Flight") + } + }) } + onSubmit() { + this.submitted = true; + this.save(); + } + gotoList() { + this.router.navigate(['/passenger-list']); + } } diff --git a/FlightSystemManagement/src/app/Create/add-schedule-flight/add-schedule-flight.component.html b/FlightSystemManagement/src/app/Create/add-schedule-flight/add-schedule-flight.component.html index bc015bb..ef57ff5 100644 --- a/FlightSystemManagement/src/app/Create/add-schedule-flight/add-schedule-flight.component.html +++ b/FlightSystemManagement/src/app/Create/add-schedule-flight/add-schedule-flight.component.html @@ -70,4 +70,4 @@

SARAYA-TRAVELER

- \ No newline at end of file + \ No newline at end of file diff --git a/FlightSystemManagement/src/app/Create/add-schedule-flight/add-schedule-flight.component.ts b/FlightSystemManagement/src/app/Create/add-schedule-flight/add-schedule-flight.component.ts index 232bdc5..9fe6326 100644 --- a/FlightSystemManagement/src/app/Create/add-schedule-flight/add-schedule-flight.component.ts +++ b/FlightSystemManagement/src/app/Create/add-schedule-flight/add-schedule-flight.component.ts @@ -47,7 +47,7 @@ export class AddScheduleFlightComponent implements OnInit { } reloadData() { - this.scheduleFlightService. getAll(); + this.scheduleFlightService.getAll(); } newEmployee(): void { this.submitted = false; @@ -79,7 +79,7 @@ export class AddScheduleFlightComponent implements OnInit { save() { - this.scheduleFlightService.addScheduleFlight(this.scheduleFlightId, this.scheduleFlight).subscribe({ + this.scheduleFlightService.addScheduleFlight( this.scheduleFlight,this.scheduleFlightId).subscribe({ next:(res)=>{ alert("ScheduleFlight successfully") this.gotoList(); diff --git a/FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.css b/FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.css new file mode 100644 index 0000000..e69de29 diff --git a/FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.html b/FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.html new file mode 100644 index 0000000..75fb8d7 --- /dev/null +++ b/FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.html @@ -0,0 +1,62 @@ + + + + + + + +
+ +
+
+ + + +
Please fill out this field.
+
+ + +
Please fill out this field.
+
+ + + +
+ + + +
+ +
+ +
+ +
+
+ + + \ No newline at end of file diff --git a/FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.spec.ts b/FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.spec.ts new file mode 100644 index 0000000..60dc16f --- /dev/null +++ b/FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AddScheduleComponent } from './add-schedule.component'; + +describe('AddScheduleComponent', () => { + let component: AddScheduleComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ AddScheduleComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(AddScheduleComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.ts b/FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.ts new file mode 100644 index 0000000..826ffc8 --- /dev/null +++ b/FlightSystemManagement/src/app/Create/add-schedule/add-schedule.component.ts @@ -0,0 +1,57 @@ +import { Component, OnInit } from '@angular/core'; +import { Schedule } from '../../model/schedule'; +import { ScheduleService } from '../../services/schedule.service'; +import { Router } from '@angular/router'; +import { AirportService } from '../../services/airport.service'; +import { Airport } from '../../model/airport'; + +@Component({ + selector: 'app-add-schedule', + templateUrl: './add-schedule.component.html', + styleUrls: ['./add-schedule.component.css'] +}) +export class AddScheduleComponent implements OnInit { + airport: Airport[]=[]; + schedule: Schedule =new Schedule(); + submitted=false; + constructor(private scheduleService: ScheduleService, private airportService :AirportService, private router: Router) {} + + ngOnInit(){ + this.reloadData(); + this.airportService.viewAllAirport().subscribe(arg => { + this.airport = arg; + }); + } + reloadData() { + this.scheduleService.viewAllSchedule(); + } + newEmployee(): void { + this.submitted = false; + this.schedule = new Schedule(); + } + + save() + { + this.scheduleService.addSchedule(this.schedule).subscribe({ + next:(res)=>{ + alert("Schedule is added successfully") + this.schedule = new Schedule(); + this.gotoList(); + this.reloadData(); + }, + error:(err)=>{ + alert("Error while Adding the Scchedule") + } + }) + } + onSubmit() { + this.submitted = true; + this.save(); + + } + gotoList() { + this.router.navigate(['/schedule-list']); + + } + +} diff --git a/FlightSystemManagement/src/app/List/airport-list/airport-list.component.html b/FlightSystemManagement/src/app/List/airport-list/airport-list.component.html index d712686..78b3fd0 100644 --- a/FlightSystemManagement/src/app/List/airport-list/airport-list.component.html +++ b/FlightSystemManagement/src/app/List/airport-list/airport-list.component.html @@ -10,16 +10,16 @@

SARAYA-TRAVELER

@@ -30,6 +30,9 @@

SARAYA-TRAVELER

List of Airports

+
+ +
@@ -54,3 +57,4 @@

List of Airports

+ \ No newline at end of file diff --git a/FlightSystemManagement/src/app/List/booking-list/booking-list.component.html b/FlightSystemManagement/src/app/List/booking-list/booking-list.component.html index 4c02292..9ad6c8f 100644 --- a/FlightSystemManagement/src/app/List/booking-list/booking-list.component.html +++ b/FlightSystemManagement/src/app/List/booking-list/booking-list.component.html @@ -1,44 +1,23 @@ - - - -
+ +

Booking List

+
+ +
+ - + - + + @@ -47,21 +26,21 @@

Booking List

- - - - - + + + + -
Booking ID Booking DateNo of PassengersNumber Passengers Tickets Cost Passenger IDFlight Id Action
{{booking.bookingId}} {{booking.bookingDate}}{{booking.noOfPassenger | number}}{{booking.ticketCost | number}}{{booking.noOfPassenger }}{{booking.ticketCost }} {{booking.passenger.passengerId}}{{booking.flights.flightId}} - - + +
+
+ \ No newline at end of file diff --git a/FlightSystemManagement/src/app/List/flight-list/flight-list.component.html b/FlightSystemManagement/src/app/List/flight-list/flight-list.component.html index 755f64d..4236d06 100644 --- a/FlightSystemManagement/src/app/List/flight-list/flight-list.component.html +++ b/FlightSystemManagement/src/app/List/flight-list/flight-list.component.html @@ -10,16 +10,16 @@

SARAYA-TRAVELER

@@ -30,6 +30,9 @@

SARAYA-TRAVELER

List of Flight

+
+ +
@@ -61,4 +64,4 @@

List of Flight

- \ No newline at end of file + \ No newline at end of file diff --git a/FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.css b/FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.css new file mode 100644 index 0000000..e69de29 diff --git a/FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.html b/FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.html new file mode 100644 index 0000000..fadf029 --- /dev/null +++ b/FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.html @@ -0,0 +1,65 @@ + + + + +
+
+

List of Passenger

+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + +
PassengerIDPassenger NamePassenger BirthdayPassenger CNILuggageAction
{{p.passengerId}}{{p.passengerName}}{{p.passengerBirthday}}{{p.passengerUIN}}{{p.luggage}} + + + +
+
+
+ diff --git a/FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.spec.ts b/FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.spec.ts new file mode 100644 index 0000000..c4e2bc3 --- /dev/null +++ b/FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PassengerListUserComponent } from './passenger-list-user.component'; + +describe('PassengerListUserComponent', () => { + let component: PassengerListUserComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ PassengerListUserComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(PassengerListUserComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.ts b/FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.ts new file mode 100644 index 0000000..9df5a57 --- /dev/null +++ b/FlightSystemManagement/src/app/List/passenger-list-user/passenger-list-user.component.ts @@ -0,0 +1,59 @@ +import { Component, OnInit } from '@angular/core'; +import { Passenger } from '../../model/passenger'; +import { PassengerService } from '../../services/passenger.service'; +import { Router } from '@angular/router'; +import { Observable } from 'rxjs'; +import { AuthGuardService } from '../../services/auth-guard.service'; + + +@Component({ + selector: 'app-passenger-list-user', + templateUrl: './passenger-list-user.component.html', + styleUrls: ['./passenger-list-user.component.css'] +}) +export class PassengerListUserComponent implements OnInit { + + passenger: Observable; + constructor(private passengerService: PassengerService, + private router: Router, private tokenStorageService: AuthGuardService) { } + + ngOnInit(){ + this.reloadData() + } + + reloadData() + { + this.passenger= this.passengerService.viewAllPassenger(); + } + + logout(): void { + this.tokenStorageService.signOut(); + // window.location.reload(); + } + removePassenger(passengerId: number) + { + this.passengerService.removePassenger(passengerId).subscribe({ + next:(res)=>{ + alert("Passenger is deleted successfully") + this.reloadData(); + }, + error:(err)=>{ + alert("Error while deleting the Passenger") + } + }) + } + + viewPassengerDetails(passengerId: number) + { + this.router.navigate(['/booking-confirmed',passengerId]); + } + + modifyPassenger(passengerId:number) + { + this.router.navigate(['/passenger-modified',passengerId]) + .then(() => { + this.reloadData(); + }); + } + +} diff --git a/FlightSystemManagement/src/app/List/passenger-list/passenger-list.component.html b/FlightSystemManagement/src/app/List/passenger-list/passenger-list.component.html index d4b3461..b538a53 100644 --- a/FlightSystemManagement/src/app/List/passenger-list/passenger-list.component.html +++ b/FlightSystemManagement/src/app/List/passenger-list/passenger-list.component.html @@ -30,13 +30,14 @@

SARAYA-TRAVELER

List of Passenger

+
- + @@ -46,7 +47,7 @@

List of Passenger

- +
PassengerID Passenger NamePassenger AgeBirthday Passenger CNI Luggage Action
{{p.passengerId}} {{p.passengerName}}{{p.passengerAge}}{{p.passengerBirthday}} {{p.passengerUIN}} {{p.luggage}} @@ -58,4 +59,4 @@

List of Passenger

-

passenger-list works!

+ diff --git a/FlightSystemManagement/src/app/List/schedule-flight-list/schedule-flight-list.component.html b/FlightSystemManagement/src/app/List/schedule-flight-list/schedule-flight-list.component.html index e99ca67..a2f00c4 100644 --- a/FlightSystemManagement/src/app/List/schedule-flight-list/schedule-flight-list.component.html +++ b/FlightSystemManagement/src/app/List/schedule-flight-list/schedule-flight-list.component.html @@ -1,6 +1,47 @@ + - - \ No newline at end of file + + +
+
+

List of Schedule

+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Schedule IdDeparture TimeArrival TimeID AirportCode AirportAirport LocationAirport NameAction
{{sf.scheduleId}}{{sf.deptDateTime | date:'dd-MM-yyyy HH:mm:ss' }}{{sf.arrDateTime | date:'dd-MM-yyyy HH:mm:ss' }}{{sf.airport.airportId}}{{sf.airport.airportCode}}{{sf.airport.airportLocation}}{{sf.airport.airportName}} + + +
+
+
+ + \ No newline at end of file diff --git a/FlightSystemManagement/src/app/List/schedule/schedule.component.ts b/FlightSystemManagement/src/app/List/schedule/schedule.component.ts index 38c1634..e10b531 100644 --- a/FlightSystemManagement/src/app/List/schedule/schedule.component.ts +++ b/FlightSystemManagement/src/app/List/schedule/schedule.component.ts @@ -1,6 +1,9 @@ import { Component, OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { AuthGuardService } from '../../services/auth-guard.service'; +import { Schedule } from '../../model/schedule'; +import { ScheduleFlightService } from '../../services/schedule-flight.service'; +import { ScheduleService } from '../../services/schedule.service'; @Component({ selector: 'app-schedule', @@ -9,9 +12,13 @@ import { AuthGuardService } from '../../services/auth-guard.service'; }) export class ScheduleComponent implements OnInit { - constructor( private router: Router, private tokenStorageService: AuthGuardService) { } + schedule: Schedule[]; + constructor( private router: Router, + private service:ScheduleService, private tokenStorageService: AuthGuardService) { } ngOnInit(): void { + this.service.viewAllSchedule() + .subscribe(data => this.schedule = data); } @@ -21,4 +28,32 @@ export class ScheduleComponent implements OnInit { this.tokenStorageService.signOut(); // window.location.reload(); } + + + removeSchedule(scheduleId: number) + { + this.service.removeSchedule(scheduleId).subscribe({ + next:(res)=>{ + alert("Schedule is deleted successfully") + window.location.reload(); + }, + error:(err)=>{ + alert("Error while deleting the Schedule") + } + }) + } + + viewScheduleDetails(scheduleId: number) + { + this.router.navigate(['/schedule-details',scheduleId]); + } + + modifySchedule(scheduleId:number) + { + this.router.navigate(['/schedule-modified',scheduleId]) + .then(() => { + window.location.reload(); + }); + } + } diff --git a/FlightSystemManagement/src/app/Update/airport-modified/airport-modified.component.ts b/FlightSystemManagement/src/app/Update/airport-modified/airport-modified.component.ts index 5eed2b5..6c5917b 100644 --- a/FlightSystemManagement/src/app/Update/airport-modified/airport-modified.component.ts +++ b/FlightSystemManagement/src/app/Update/airport-modified/airport-modified.component.ts @@ -31,6 +31,7 @@ export class AirportModifiedComponent implements OnInit { .subscribe(data => console.log(data), error => console.log(error)); this.airport = new Airport(); this.gotoList(); + window.location.reload; } onSubmit() { diff --git a/FlightSystemManagement/src/app/Update/flight-modified/flight-modified.component.ts b/FlightSystemManagement/src/app/Update/flight-modified/flight-modified.component.ts index 4f7852a..6c41f43 100644 --- a/FlightSystemManagement/src/app/Update/flight-modified/flight-modified.component.ts +++ b/FlightSystemManagement/src/app/Update/flight-modified/flight-modified.component.ts @@ -29,6 +29,7 @@ export class FlightModifiedComponent implements OnInit { .subscribe(data => console.log(data), error => console.log(error)); this.flight = new Flight(); this.gotoList(); + window.location.reload; } onSubmit() { diff --git a/FlightSystemManagement/src/app/Update/passenger-modified/passenger-modified.component.html b/FlightSystemManagement/src/app/Update/passenger-modified/passenger-modified.component.html index 5dbfb36..fd6e9eb 100644 --- a/FlightSystemManagement/src/app/Update/passenger-modified/passenger-modified.component.html +++ b/FlightSystemManagement/src/app/Update/passenger-modified/passenger-modified.component.html @@ -1,10 +1,10 @@ -

Add a Airport

+

Update a Passenger

- +
@@ -12,8 +12,8 @@

Add a Airport

- - + +
diff --git a/FlightSystemManagement/src/app/Update/passenger-modified/passenger-modified.component.ts b/FlightSystemManagement/src/app/Update/passenger-modified/passenger-modified.component.ts index a4e2bfe..272ec2b 100644 --- a/FlightSystemManagement/src/app/Update/passenger-modified/passenger-modified.component.ts +++ b/FlightSystemManagement/src/app/Update/passenger-modified/passenger-modified.component.ts @@ -9,16 +9,14 @@ import { PassengerService } from '../../services/passenger.service'; styleUrls: ['./passenger-modified.component.css'] }) export class PassengerModifiedComponent implements OnInit { - passengerId:number; - passenger:Passenger; + passengerId: number; + passenger: Passenger; constructor(private route: ActivatedRoute,private router: Router, private passengerService: PassengerService) { } ngOnInit(){ this.passenger = new Passenger(); - this.passengerId= this.route.snapshot.params['passengerId']; - this.passengerService.viewPassenger(this.passengerId) .subscribe(data => { console.log(data) @@ -30,6 +28,7 @@ export class PassengerModifiedComponent implements OnInit { .subscribe(data => console.log(data), error => console.log(error)); this.passenger = new Passenger(); this.gotoList(); + window.location.reload; } onSubmit() { diff --git a/FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.css b/FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.css new file mode 100644 index 0000000..e69de29 diff --git a/FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.html b/FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.html new file mode 100644 index 0000000..799f512 --- /dev/null +++ b/FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.html @@ -0,0 +1,29 @@ + +

Update a Schedule

+
+ +
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ diff --git a/FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.spec.ts b/FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.spec.ts new file mode 100644 index 0000000..6ee67d8 --- /dev/null +++ b/FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ScheduleModifiedComponent } from './schedule-modified.component'; + +describe('ScheduleModifiedComponent', () => { + let component: ScheduleModifiedComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ScheduleModifiedComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ScheduleModifiedComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.ts b/FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.ts new file mode 100644 index 0000000..2882807 --- /dev/null +++ b/FlightSystemManagement/src/app/Update/schedule-modified/schedule-modified.component.ts @@ -0,0 +1,59 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { ScheduleService } from '../../services/schedule.service'; +import { Schedule } from '../../model/schedule'; +import { Airport } from '../../model/airport'; +import { AirportService } from '../../services/airport.service'; + +@Component({ + selector: 'app-schedule-modified', + templateUrl: './schedule-modified.component.html', + styleUrls: ['./schedule-modified.component.css'] +}) +export class ScheduleModifiedComponent implements OnInit { + schedule : Schedule; + scheduleId: number; + airport: Airport[]=[]; + constructor(private route: ActivatedRoute,private router: Router, + private scheduleService: ScheduleService, private airportService: AirportService) { + + } + + + ngOnInit(): void { + this.schedule = new Schedule(); + + this.scheduleId = this.route.snapshot.params['scheduleId']; + + this.scheduleService.viewSchedule(this.scheduleId) + .subscribe(data => { + console.log(data) + this.schedule = data; + }, error => console.log(error)); + + this.airportService.viewAllAirport().subscribe(arg => { + this.airport = arg; + }); + } + + updateSchedule() { + this.scheduleService.modifySchedule(this.scheduleId, this.schedule) + .subscribe(data => console.log(data), error => console.log(error)); + this.schedule = new Schedule(); + this.gotoList(); + window.location.reload; + ; + } + + onSubmit() { + this.updateSchedule(); + + } + + gotoList() { + this.router.navigate(['/schedule-list']); + window.location.reload; + } + + +} diff --git a/FlightSystemManagement/src/app/ViewDetails/aiport-details/aiport-details.component.html b/FlightSystemManagement/src/app/ViewDetails/aiport-details/aiport-details.component.html index 06bb9df..d9da711 100644 --- a/FlightSystemManagement/src/app/ViewDetails/aiport-details/aiport-details.component.html +++ b/FlightSystemManagement/src/app/ViewDetails/aiport-details/aiport-details.component.html @@ -15,6 +15,7 @@

SARAYA-TRAVELER

Booking Flight Schedule Flight + Schedule About Us LogOut
@@ -27,6 +28,7 @@

SARAYA-TRAVELER

Details of airport


+
{{airport.airportId}}
diff --git a/FlightSystemManagement/src/app/ViewDetails/booking-details/booking-details.component.html b/FlightSystemManagement/src/app/ViewDetails/booking-details/booking-details.component.html index 0d5870c..3f993b7 100644 --- a/FlightSystemManagement/src/app/ViewDetails/booking-details/booking-details.component.html +++ b/FlightSystemManagement/src/app/ViewDetails/booking-details/booking-details.component.html @@ -15,8 +15,6 @@

SARAYA-TRAVELER

Booking Flight Schedule Flight - About Us - LogOut
@@ -24,28 +22,72 @@

SARAYA-TRAVELER

-

Details of Booking

-
-
-
- {{booking.bookingId}} -
-
- {{booking.bookingDate}} -
-
- {{booking.noOfPassenger | number}} -
- {{booking.ticketCost | number}} +
+
+
+
+
    + +
    + +

    Details of Booking

    +
    + +
    +
    +
    + {{booking.bookingId}} +
    +
    + {{booking.bookingDate}} +
    +
    + {{booking.noOfPassenger | number}} + +
    + {{booking.flights.flightModel}} +
    +
    + {{booking.flights.carrierName}} +
    +
    + {{booking.flights.seatCapacity}} +
    +
    + {{booking.flights.from}} +
    +
    + {{booking.flights.to}} +
    + +
    + {{booking.passenger.passengerName}} +
    +
    + {{booking.passenger.passengerBirthday}} +
    +
    + {{booking.passenger.passengerUIN}} +
    +
    + {{booking.passenger.luggage}} +
    + +
    +
    +
    +
    +
    +
    +
    +
+
+
-
-
-
-
- -
diff --git a/FlightSystemManagement/src/app/ViewDetails/passenger-details/passenger-details.component.html b/FlightSystemManagement/src/app/ViewDetails/passenger-details/passenger-details.component.html index ac2af01..f966851 100644 --- a/FlightSystemManagement/src/app/ViewDetails/passenger-details/passenger-details.component.html +++ b/FlightSystemManagement/src/app/ViewDetails/passenger-details/passenger-details.component.html @@ -34,7 +34,7 @@

Details of Passenger

{{passenger.passengerName}}
- {{passenger.passengerAge}} + {{passenger.passengerBirthday}}
{{passenger.passengerUIN}} diff --git a/FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.css b/FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.css new file mode 100644 index 0000000..e69de29 diff --git a/FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.html b/FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.html new file mode 100644 index 0000000..f6fe1e9 --- /dev/null +++ b/FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.html @@ -0,0 +1,363 @@ + + + + +

Details of Schedule

+
+
+
+ {{schedule.scheduleId}} +
+
+ {{schedule.deptDateTime}} +
+
+ {{schedule.arrDateTime}} +
+
+ {{schedule.airport.airportId}} +
+
+ {{schedule.airport.airportCode}} +
+
+ {{schedule.airport.airportName}} +
+
+ {{schedule.airport.airportLocation}} +
+
+ +
+
+ + + + +
+
+
+
Services
+

Tours & Travel Services

+
+
+
+
+ +
Travel Guide
+

Justo sit justo eos amet tempor amet clita amet ipsum eos elitr. Amet lorem est amet labore

+
+
+
+
+ +
Ticket Booking
+

Justo sit justo eos amet tempor amet clita amet ipsum eos elitr. Amet lorem est amet labore

+
+
+ +
+
+
+ + + + --> + + + +
+
+
+
Guides
+

Our Travel Guides

+
+
+
+
+
+ + +
+
+
Guide Name
+

Designation

+
+
+
+
+
+
+ + +
+
+
Guide Name
+

Designation

+
+
+
+
+
+
+ + +
+
+
Guide Name
+

Designation

+
+
+
+
+
+
+ + +
+
+
Guide Name
+

Designation

+
+
+
+
+
+
+ + + + +
+
+
+
Testimonial
+

What Say Our Clients

+
+ +
+
+ + + + +
+
+
+
Our Blog
+

Latest From Our Blog

+
+
+
+
+
+ +
+
01
+ Jan +
+
+ +
+
+
+
+
+ +
+
01
+ Jan +
+
+ +
+
+
+
+
+ +
+
01
+ Jan +
+
+ +
+
+
+
+
+ + + + +
+
+
+ +

TRAVELER

+
+

Sed ipsum clita tempor ipsum ipsum amet sit ipsum lorem amet labore rebum lorem ipsum dolor. No sed vero lorem dolor dolor

+
Follow Us
+
+ + + + +
+
+
+
Our Services
+ +
+
+
Usefull Links
+ +
+
+
Contact Us
+

123 Street, New York, USA

+

+012 345 67890

+

info@example.com

+ +
+
+
+
+
+
+

Copyright © Domain All Rights Reserved. +

+
+
+

Designed by HTML Codex +

+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.spec.ts b/FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.spec.ts new file mode 100644 index 0000000..f6624a7 --- /dev/null +++ b/FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ScheduleDetailsComponent } from './schedule-details.component'; + +describe('ScheduleDetailsComponent', () => { + let component: ScheduleDetailsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ScheduleDetailsComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ScheduleDetailsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.ts b/FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.ts new file mode 100644 index 0000000..6aa055f --- /dev/null +++ b/FlightSystemManagement/src/app/ViewDetails/schedule-details/schedule-details.component.ts @@ -0,0 +1,37 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { ScheduleService } from '../../services/schedule.service'; +import { Schedule } from '../../model/schedule'; + +@Component({ + selector: 'app-schedule-details', + templateUrl: './schedule-details.component.html', + styleUrls: ['./schedule-details.component.css'] +}) +export class ScheduleDetailsComponent implements OnInit { + + + schedule : Schedule; + scheduleId: number; + constructor(private route: ActivatedRoute,private router: Router, + private scheduleService: ScheduleService) { + + } + + ngOnInit(): void { + this.schedule = new Schedule(); + + this.scheduleId = this.route.snapshot.params['scheduleId']; + + this.scheduleService.viewSchedule(this.scheduleId) + .subscribe(data => { + console.log(data) + this.schedule = data; + }, error => console.log(error)); + } + + list(){ + this.router.navigate(['/schedule-list']); + } + +} diff --git a/FlightSystemManagement/src/app/about-us/about-us.component.css b/FlightSystemManagement/src/app/about-us/about-us.component.css new file mode 100644 index 0000000..e69de29 diff --git a/FlightSystemManagement/src/app/about-us/about-us.component.html b/FlightSystemManagement/src/app/about-us/about-us.component.html new file mode 100644 index 0000000..e0bb2ca --- /dev/null +++ b/FlightSystemManagement/src/app/about-us/about-us.component.html @@ -0,0 +1,549 @@ + + + + + + + + + + + + +
+
+
+
+
+ +
+
+
+
+
About Us
+

We Provide Best Tour Packages In Your Budget

+

Dolores lorem lorem ipsum sit et ipsum. Sadip sea amet diam dolore sed et. Sit rebum labore sit sit ut vero no sit. Et elitr stet dolor sed sit et sed ipsum et kasd ut. Erat duo eos et erat sed diam duo

+
+
+ +
+
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+ +
+
+
Competitive Pricing
+

Magna sit magna dolor duo dolor labore rebum amet elitr est diam sea

+
+
+
+
+
+
+ +
+
+
Best Services
+

Magna sit magna dolor duo dolor labore rebum amet elitr est diam sea

+
+
+
+
+
+
+ +
+
+
Worldwide Coverage
+

Magna sit magna dolor duo dolor labore rebum amet elitr est diam sea

+
+
+
+
+
+
+ + + + +
+
+
+
Services
+

Tours & Travel Services

+
+
+
+
+ +
Travel Guide
+

Justo sit justo eos amet tempor amet clita amet ipsum eos elitr. Amet lorem est amet labore

+
+
+
+
+ +
Ticket Booking
+

Justo sit justo eos amet tempor amet clita amet ipsum eos elitr. Amet lorem est amet labore

+
+
+ +
+
+
+ + + +
+
+
+
+
+
Mega Offer
+

30% OFF For Honeymoon

+
+

Invidunt lorem justo sanctus clita. Erat lorem labore ea, justo dolor lorem ipsum ut sed eos, + ipsum et dolor kasd sit ea justo. Erat justo sed sed diam. Ea et erat ut sed diam sea ipsum est + dolor

+
    +
  • Labore eos amet dolor amet diam
  • +
  • Etsea et sit dolor amet ipsum
  • +
  • Diam dolor diam elitripsum vero.
  • +
+
+ +
+
+
+ + + +
+
+
+
Packages
+

Pefect Tour Packages

+
+
+
+
+ +
+
+ Thailand + 3 days + 2 Person +
+ Discover amazing places of the world with us +
+
+
4.5 (250)
+ +
+
+
+
+
+
+
+ +
+
+ Thailand + 3 days + 2 Person +
+ Discover amazing places of the world with us +
+
+
4.5 (250)
+ +
+
+
+
+
+
+
+ +
+
+ Thailand + 3 days + 2 Person +
+ Discover amazing places of the world with us +
+
+
4.5 (250)
+ +
+
+
+
+
+
+
+ +
+
+ Thailand + 3 days + 2 Person +
+ Discover amazing places of the world with us +
+
+
4.5 (250)
+ +
+
+
+
+
+
+
+ +
+
+ Thailand + 3 days + 2 Person +
+ Discover amazing places of the world with us +
+
+
4.5 (250)
+ +
+
+
+
+
+
+
+ +
+
+ Thailand + 3 days + 2 Person +
+ Discover amazing places of the world with us +
+
+
4.5 (250)
+ +
+
+
+
+
+
+
+
+ + + + +
+
+
+
Guides
+

Our Travel Guides

+
+
+
+
+
+ + +
+
+
Guide Name
+

Designation

+
+
+
+
+
+
+ + +
+
+
Guide Name
+

Designation

+
+
+
+
+
+
+ + +
+
+
Guide Name
+

Designation

+
+
+
+
+
+
+ + +
+
+
Guide Name
+

Designation

+
+
+
+
+
+
+ + + + +
+
+
+
Testimonial
+

What Say Our Clients

+
+ +
+
+ + + + +
+
+
+
Our Blog
+

Latest From Our Blog

+
+
+
+
+
+ +
+
01
+ Jan +
+
+ +
+
+
+
+
+ +
+
01
+ Jan +
+
+ +
+
+
+
+
+ +
+
01
+ Jan +
+
+ +
+
+
+
+
+ + + + +
+
+
+ +

TRAVELER

+
+

Sed ipsum clita tempor ipsum ipsum amet sit ipsum lorem amet labore rebum lorem ipsum dolor. No sed vero lorem dolor dolor

+
Follow Us
+
+ + + + +
+
+
+
Our Services
+ +
+
+
Usefull Links
+ +
+
+
Contact Us
+

123 Street, New York, USA

+

+012 345 67890

+

info@example.com

+ +
+
+
+
+
+
+

Copyright © Domain All Rights Reserved. +

+
+
+

Designed by HTML Codex +

+
+
+
+ + + + + + + + + + diff --git a/FlightSystemManagement/src/app/about-us/about-us.component.spec.ts b/FlightSystemManagement/src/app/about-us/about-us.component.spec.ts new file mode 100644 index 0000000..b1910ef --- /dev/null +++ b/FlightSystemManagement/src/app/about-us/about-us.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AboutUsComponent } from './about-us.component'; + +describe('AboutUsComponent', () => { + let component: AboutUsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ AboutUsComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(AboutUsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/FlightSystemManagement/src/app/about-us/about-us.component.ts b/FlightSystemManagement/src/app/about-us/about-us.component.ts new file mode 100644 index 0000000..d287527 --- /dev/null +++ b/FlightSystemManagement/src/app/about-us/about-us.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-about-us', + templateUrl: './about-us.component.html', + styleUrls: ['./about-us.component.css'] +}) +export class AboutUsComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/FlightSystemManagement/src/app/app.module.ts b/FlightSystemManagement/src/app/app.module.ts index 35f5a5c..45819d6 100644 --- a/FlightSystemManagement/src/app/app.module.ts +++ b/FlightSystemManagement/src/app/app.module.ts @@ -40,7 +40,17 @@ import { PassengerListComponent } from './List/passenger-list/passenger-list.com import { PassengerDetailsComponent } from './ViewDetails/passenger-details/passenger-details.component'; import { PassengerModifiedComponent } from './Update/passenger-modified/passenger-modified.component'; import { ProfilesComponent } from './profiles/profiles.component'; - +import { SearchFlightComponent } from './search-flight/search-flight.component'; +import { ReactiveFormsModule } from '@angular/forms'; +import { ScheduleDetailsComponent } from './ViewDetails/schedule-details/schedule-details.component'; +import { ScheduleModifiedComponent } from './Update/schedule-modified/schedule-modified.component'; +import { FooterComponent } from './footer/footer.component'; +import { AddScheduleComponent } from './Create/add-schedule/add-schedule.component'; +import { FilterPipe } from './pipes/filter.pipe'; +import { BookingConformedComponent } from './booking-conformed/booking-conformed.component'; +import { AddBookingAdminComponent } from './Create/add-booking-admin/add-booking-admin.component'; +import { PassengerListUserComponent } from './List/passenger-list-user/passenger-list-user.component'; +import { AboutUsComponent } from './about-us/about-us.component'; @NgModule({ declarations: [ @@ -77,7 +87,17 @@ import { ProfilesComponent } from './profiles/profiles.component'; PassengerListComponent, PassengerDetailsComponent, PassengerModifiedComponent, - ProfilesComponent + ProfilesComponent, + SearchFlightComponent, + ScheduleDetailsComponent, + ScheduleModifiedComponent, + FooterComponent, + AddScheduleComponent, + FilterPipe, + BookingConformedComponent, + AddBookingAdminComponent, + PassengerListUserComponent, + AboutUsComponent ], imports: [ BrowserModule, @@ -86,6 +106,8 @@ import { ProfilesComponent } from './profiles/profiles.component'; BrowserAnimationsModule, CommonModule, FormsModule, + ReactiveFormsModule, + ], providers: [HttpClientModule,HttpParams], diff --git a/FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.css b/FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.css new file mode 100644 index 0000000..e69de29 diff --git a/FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.html b/FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.html new file mode 100644 index 0000000..d8e1e8b --- /dev/null +++ b/FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.html @@ -0,0 +1,75 @@ + + +
+ + + +

Details of Passenger

+
+
+
+ {{passengers.passengerId}} +
+
+ {{passengers.passengerName}} +
+
+ {{passengers.passengerBirthday}} +
+
+ {{passengers.passengerUIN}} +
+
+ {{passengers.luggage}} +
+
+ + + +
+
+ + + + + + + + + + + Name is required + + + + +
+ + + +
+ + + + +
+ +
+
+
+ + + + \ No newline at end of file diff --git a/FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.spec.ts b/FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.spec.ts new file mode 100644 index 0000000..816c3a1 --- /dev/null +++ b/FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.spec.ts @@ -0,0 +1,25 @@ +import { async,ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BookingConformedComponent } from './booking-conformed.component'; + +describe('BookingConformedComponent', () => { + let component: BookingConformedComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ BookingConformedComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(BookingConformedComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.ts b/FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.ts new file mode 100644 index 0000000..37456df --- /dev/null +++ b/FlightSystemManagement/src/app/booking-conformed/booking-conformed.component.ts @@ -0,0 +1,82 @@ +import { Component, OnInit } from '@angular/core'; +import { Booking } from '../model/booking'; +import { Passenger } from '../model/passenger'; +import { Flight } from '../model/flight'; +import { PassengerService } from '../services/passenger.service'; +import { Router, ActivatedRoute } from '@angular/router'; +import { FlightService } from '../services/flight.service'; +import { BookingService } from '../services/booking.service'; + +@Component({ + selector: 'app-booking-conformed', + templateUrl: './booking-conformed.component.html', + styleUrls: ['./booking-conformed.component.css'] +}) +export class BookingConformedComponent implements OnInit { +passengers:Passenger; +passengerId: number; + passenger: Passenger[]=[]; + + flight:Flight[]=[]; + booking: Booking =new Booking(); + submitted=false; + constructor(private bookingService: BookingService,private flightService: FlightService, + private passengerService: PassengerService,private router: Router,private route: ActivatedRoute) { } + + ngOnInit(){ + this.passengers = new Passenger(); + + this.passengerId = this.route.snapshot.params['passengerId']; + + this.passengerService.viewPassenger(this.passengerId) + .subscribe(data => { + console.log(data) + this.passengers = data; + }, error => console.log(error)); + + this.reloadData(); + + this.flightService.viewAllFlight().subscribe(arg => { + this.flight = arg; + }); + + + this.passengerService.viewAllPassenger().subscribe(arg => { + this.passenger = arg; + }); + + } + reloadData() { + this.bookingService.getBookingsList(); + } + newEmployee(): void { + this.submitted = false; + this.booking = new Booking(); + } + + save() + { + this.bookingService.createBooking(this.booking).subscribe({ + next:(res)=>{ + alert("Your registration is successfully ") + this.booking = new Booking(); + this.gotoList(); + + }, + error:(err)=>{ + alert("Error review you Information") + window.location.reload; + } + }) + } + + gotoList() { + this.router.navigate(['/booking-list']); + } + onSubmit() { + this.submitted = true; + this.save(); + + } + +} diff --git a/FlightSystemManagement/src/app/flight-booking-routing.module.ts b/FlightSystemManagement/src/app/flight-booking-routing.module.ts index abf5244..a1905f7 100644 --- a/FlightSystemManagement/src/app/flight-booking-routing.module.ts +++ b/FlightSystemManagement/src/app/flight-booking-routing.module.ts @@ -31,6 +31,15 @@ import { AddPassengerComponent } from './Create/add-passenger/add-passenger.comp import { PassengerListComponent } from './List/passenger-list/passenger-list.component'; import { PassengerDetailsComponent } from './ViewDetails/passenger-details/passenger-details.component'; import { PassengerModifiedComponent } from './Update/passenger-modified/passenger-modified.component'; +import { SearchFlightComponent } from './search-flight/search-flight.component'; +import { ScheduleComponent } from './List/schedule/schedule.component'; +import { ScheduleDetailsComponent } from './ViewDetails/schedule-details/schedule-details.component'; +import { ScheduleModifiedComponent } from './Update/schedule-modified/schedule-modified.component'; +import { ProfilesComponent } from './profiles/profiles.component'; +import { BookingConformedComponent } from './booking-conformed/booking-conformed.component'; +import { PassengerListUserComponent } from './List/passenger-list-user/passenger-list-user.component'; +import { AddScheduleComponent } from './Create/add-schedule/add-schedule.component'; +import { AboutUsComponent } from './about-us/about-us.component'; @@ -41,22 +50,27 @@ const routes: Routes = [ {path: 'add-booking',component : AddBookingComponent}, {path: 'add-passenger',component : AddPassengerComponent}, {path: 'add-flight',component :AddFlightComponent }, - {path: 'add-schedule-flight/:scheduleFlightId',component : AddScheduleFlightComponent}, + {path: 'add-schedule-flight',component : AddScheduleFlightComponent}, + {path: 'add-schedule',component : AddScheduleComponent}, {path: 'add-user',component : AddUserComponent}, {path: 'airport-list',component : AirportListComponent}, + {path: 'schedule-list',component : ScheduleComponent}, {path: 'booking-list',component : BookingListComponent}, {path: 'flight-list',component : FlightListComponent}, {path: 'passenger-list',component : PassengerListComponent}, + {path: 'passenger-list-user',component : PassengerListUserComponent}, {path: 'schedule-flight-list',component : ScheduleFlightListComponent}, {path: 'user-list',component : UserListComponent}, {path: 'airport-details/:airportId',component : AiportDetailsComponent}, {path: 'passenger-details/:passengerId',component : PassengerDetailsComponent}, {path: 'booking-details/:bookingId',component : BookingDetailsComponent}, {path: 'flight-details/:flightId',component : FlightDetailsComponent}, + {path: 'schedule-details/:scheduleId',component : ScheduleDetailsComponent}, {path: 'schedule-flight-details/:scheduleFlightId',component : ScheduleFlightDetailsComponent}, {path: 'user-details/:userId',component : UserDetailsComponent}, {path: 'airport-modified/:airportId',component : AirportModifiedComponent}, {path: 'booking-modified/:bookingId',component : BookingModifiedComponent}, + {path: 'schedule-modified/:scheduleId',component : ScheduleModifiedComponent}, {path: 'passenger-modified/:passengerId',component : PassengerModifiedComponent}, {path: 'flight-modified/:flightId',component : FlightModifiedComponent}, {path: 'schedule-flight-modified/:scheduleFlightId',component : ScheduleFlightModifiedComponent}, @@ -66,16 +80,10 @@ const routes: Routes = [ {path: 'login',component : LoginComponent}, {path: 'logout',component : LogoutComponent}, {path: 'sign-up',component : SignUpComponent}, - -// {path: 'add-booking',component : AddBookingComponent}, -// {path: 'booking-details',component : BookingDetailsComponent}, -// {path: 'booking-list',component : BookingListComponent}, -// {path: 'booking-modified',component : BookingModifiedComponent}, -// {path: 'airport-list',component : AirportListComponent}, -// {path: 'flight-list',component : FlightListComponent}, -// {path: 'schedule-flight-list',component : ScheduleFlightListComponent}, -// {path: 'welcome-user',component : WelcomUserComponent}, -// { path: '', pathMatch: 'full', redirectTo: 'welcom-user' }, + {path: 'search',component : SearchFlightComponent}, + {path: 'booking-confirmed/:passengerId',component : BookingConformedComponent}, + {path: 'profile',component : ProfilesComponent}, + {path: 'about',component : AboutUsComponent}, ]; diff --git a/FlightSystemManagement/src/app/footer/footer.component.css b/FlightSystemManagement/src/app/footer/footer.component.css new file mode 100644 index 0000000..e69de29 diff --git a/FlightSystemManagement/src/app/footer/footer.component.html b/FlightSystemManagement/src/app/footer/footer.component.html new file mode 100644 index 0000000..c03dcc0 --- /dev/null +++ b/FlightSystemManagement/src/app/footer/footer.component.html @@ -0,0 +1,68 @@ + + +
+
+
+ +

TRAVELER

+
+

Sed ipsum clita tempor ipsum ipsum amet sit ipsum lorem amet labore rebum lorem ipsum dolor. No sed vero lorem dolor dolor

+
Follow Us
+
+ + + + +
+
+
+
Our Services
+ +
+
+
Usefull Links
+ +
+
+
Contact Us
+

123 Street, New York, USA

+

+012 345 67890

+

info@example.com

+ +
+
+
+
+
+
+

Copyright © Domain All Rights Reserved. +

+
+
+

Designed by HTML Codex +

+
+
+
+ + + + + + diff --git a/FlightSystemManagement/src/app/footer/footer.component.spec.ts b/FlightSystemManagement/src/app/footer/footer.component.spec.ts new file mode 100644 index 0000000..a3c4af9 --- /dev/null +++ b/FlightSystemManagement/src/app/footer/footer.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FooterComponent } from './footer.component'; + +describe('FooterComponent', () => { + let component: FooterComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ FooterComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(FooterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/FlightSystemManagement/src/app/footer/footer.component.ts b/FlightSystemManagement/src/app/footer/footer.component.ts new file mode 100644 index 0000000..a10f2a4 --- /dev/null +++ b/FlightSystemManagement/src/app/footer/footer.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-footer', + templateUrl: './footer.component.html', + styleUrls: ['./footer.component.css'] +}) +export class FooterComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/FlightSystemManagement/src/app/login/login.component.html b/FlightSystemManagement/src/app/login/login.component.html index 5d95a07..1d2a096 100644 --- a/FlightSystemManagement/src/app/login/login.component.html +++ b/FlightSystemManagement/src/app/login/login.component.html @@ -1,75 +1,3 @@ - - @@ -134,7 +62,8 @@

Signin Now

-
+
+ Don't have account? Sign Up
Signin Now Login failed: {{ errorMessage }}
+ -
+
Logged in as {{ roles }}.
diff --git a/FlightSystemManagement/src/app/login/login.component.ts b/FlightSystemManagement/src/app/login/login.component.ts index 5c2a214..f8beb65 100644 --- a/FlightSystemManagement/src/app/login/login.component.ts +++ b/FlightSystemManagement/src/app/login/login.component.ts @@ -1,6 +1,7 @@ import { Component, OnInit } from '@angular/core'; import { AuthentificationService } from '../services/authentification.service'; import { AuthGuardService } from '../services/auth-guard.service'; +import { Router } from '@angular/router'; @Component({ selector: 'app-login', @@ -18,13 +19,15 @@ export class LoginComponent implements OnInit { errorMessage = ''; roles: string[] = []; - constructor(private authService: AuthentificationService, private tokenStorage: AuthGuardService) { } + constructor(private authService: AuthentificationService, private tokenStorage: AuthGuardService, private router: Router) { } ngOnInit(): void { if (this.tokenStorage.getToken()) { this.isLoggedIn = true; this.roles = this.tokenStorage.getUser().roles; + } + } onSubmit(): void { @@ -38,7 +41,9 @@ export class LoginComponent implements OnInit { this.isLoginFailed = false; this.isLoggedIn = true; this.roles = this.tokenStorage.getUser().roles; - this.reloadPage(); + // this.reloadPage(); + this.router.navigate(['/home']); + }, err => { this.errorMessage = err.error.message; diff --git a/FlightSystemManagement/src/app/logout/logout.component.html b/FlightSystemManagement/src/app/logout/logout.component.html index c6ae40e..8b13789 100644 --- a/FlightSystemManagement/src/app/logout/logout.component.html +++ b/FlightSystemManagement/src/app/logout/logout.component.html @@ -1 +1 @@ -

logout works!

+ diff --git a/FlightSystemManagement/src/app/model/booking.ts b/FlightSystemManagement/src/app/model/booking.ts index 2b7cab7..5158479 100644 --- a/FlightSystemManagement/src/app/model/booking.ts +++ b/FlightSystemManagement/src/app/model/booking.ts @@ -1,5 +1,5 @@ import { Flight } from '../model/flight'; -// import { Passenger } from './passenger'; + import { Passenger } from './passenger'; export class Booking { bookingId!: number; @@ -7,6 +7,6 @@ export class Booking { noOfPassenger!: number; flights!: Flight; ticketCost!:number; - // PassengerList: Passenger; + passenger: Passenger; } diff --git a/FlightSystemManagement/src/app/model/passenger.ts b/FlightSystemManagement/src/app/model/passenger.ts index ba9ec1f..e67e798 100644 --- a/FlightSystemManagement/src/app/model/passenger.ts +++ b/FlightSystemManagement/src/app/model/passenger.ts @@ -2,7 +2,7 @@ export class Passenger { passengerId: number; passengerName: string; - passengerAge!: number; + passengerBirthday!: number; passengerUIN: number; luggage:number; diff --git a/FlightSystemManagement/src/app/navbar/navbar.component.html b/FlightSystemManagement/src/app/navbar/navbar.component.html index d029b0a..9ad110f 100644 --- a/FlightSystemManagement/src/app/navbar/navbar.component.html +++ b/FlightSystemManagement/src/app/navbar/navbar.component.html @@ -1,3 +1,40 @@ + + + + +
+
+
+
+
+

Straveler@example.com

+

|

+

+000 000 0000

+
+
+ +
+
+
+