Page MenuHomec4science

No OneTemporary

File Metadata

Created
Thu, May 2, 23:27
This file is larger than 256 KB, so syntax highlighting was skipped.
diff --git a/apps/meta-app/src/main/resources/reference.conf b/apps/meta-app/src/main/resources/reference.conf
index 372b0c89f..c05f7ad60 100644
--- a/apps/meta-app/src/main/resources/reference.conf
+++ b/apps/meta-app/src/main/resources/reference.conf
@@ -1,21 +1,25 @@
shrine {
metaData {
ping = "pong"
}
+
+ messagequeue {
+ receiveWaitTime = "15 seconds"
+ }
}
//todo typesafe config precedence seems to do the right thing, but I haven't found the rules that say this reference.conf should override others
// todo go with the actor system, whcih we will pull out later
akka {
loglevel = INFO
// log-config-on-start = on
loggers = ["akka.event.slf4j.Slf4jLogger"]
// logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
// Toggles whether the threads created by this ActorSystem should be daemons or not
daemonic = on
}
spray.servlet {
boot-class = "net.shrine.metadata.Boot"
request-timeout = 30s
}
diff --git a/apps/meta-app/src/main/scala/net/shrine/metadata/Boot.scala b/apps/meta-app/src/main/scala/net/shrine/metadata/Boot.scala
index 3bd57b509..54eedf397 100644
--- a/apps/meta-app/src/main/scala/net/shrine/metadata/Boot.scala
+++ b/apps/meta-app/src/main/scala/net/shrine/metadata/Boot.scala
@@ -1,45 +1,52 @@
package net.shrine.metadata
import akka.actor.{ActorRef, ActorSystem, Props}
import akka.routing.RoundRobinPool
+import net.shrine.log.Log
import net.shrine.problem.ProblemHandler
import net.shrine.source.ConfigSource
import spray.servlet.WebBoot
import scala.util.control.NonFatal
/**
* Created by ty on 11/8/16.
*/
// this class is instantiated by the servlet initializer
// it needs to have a default constructor and implement
// the spray.servlet.WebBoot trait
class Boot extends WebBoot {
// we need an ActorSystem to host our application in
override val system = startActorSystem()
// the service actor replies to incoming HttpRequests
override val serviceActor: ActorRef = startServiceActor()
def startActorSystem() = try ActorSystem("ShrineActors",ConfigSource.config)
catch {
case NonFatal(x) => CannotStartMetaData(x); throw x
case x: ExceptionInInitializerError => CannotStartMetaData(x); throw x
}
- def startServiceActor(): ActorRef = try {
+ def startServiceActor(): ActorRef = {
//TODO: create a common interface for Problems to hide behind, so that it doesn't exist anywhere in the code
//TODO: except for when brought into scope
- val handler:ProblemHandler = ConfigSource.getObject("shrine.problem.problemHandler", ConfigSource.config)
- handler.warmUp()
-
- // the service actor replies to incoming HttpRequests
- system.actorOf(RoundRobinPool(100).props(Props[MetaDataActor]), "MetaDataActors")
- }
- catch {
- case NonFatal(x) => CannotStartMetaData(x); throw x
- case x: ExceptionInInitializerError => CannotStartMetaData(x); throw x
+ try {
+ val handler: ProblemHandler = ConfigSource.getObject("shrine.problem.problemHandler", ConfigSource.config)
+ handler.warmUp()
+ }
+ catch {
+ case NonFatal(x) => Log.error("Exception during ProblemHandler warm up",x)
+ }
+ try {
+ // the service actor replies to incoming HttpRequests
+ system.actorOf(RoundRobinPool(100).props(Props[MetaDataActor]), "MetaDataActors")
+ }
+ catch {
+ case NonFatal(x) => CannotStartMetaData(x); throw x
+ case x: ExceptionInInitializerError => CannotStartMetaData(x); throw x
+ }
}
}
diff --git a/apps/meta-app/src/main/scala/net/shrine/metadata/QepReceiver.scala b/apps/meta-app/src/main/scala/net/shrine/metadata/QepReceiver.scala
index 86a89ccf7..f3925e6e9 100644
--- a/apps/meta-app/src/main/scala/net/shrine/metadata/QepReceiver.scala
+++ b/apps/meta-app/src/main/scala/net/shrine/metadata/QepReceiver.scala
@@ -1,207 +1,220 @@
package net.shrine.metadata
import java.util.concurrent.atomic.AtomicBoolean
import javax.servlet.{ServletContextEvent, ServletContextListener}
import com.typesafe.config.Config
import net.shrine.config.ConfigExtensions
import net.shrine.log.Log
import net.shrine.messagequeueservice.protocol.Envelope
import net.shrine.messagequeueservice.{CouldNotCreateQueueButOKToRetryException, Message, MessageQueueService, Queue}
import net.shrine.problem.{AbstractProblem, ProblemSources}
import net.shrine.protocol.{AggregatedRunQueryResponse, QueryResult, ResultOutputType, ResultOutputTypes}
import net.shrine.qep.querydb.{QepQueryDb, QueryResultRow}
import net.shrine.source.ConfigSource
import net.shrine.status.protocol.IncrementalQueryResult
import scala.concurrent.duration.Duration
import scala.util.control.NonFatal
import scala.util.{Failure, Success, Try}
/**
* Receives messages and writes the result to the QEP's cache
*
* @author david
* @since 8/18/17
*/
object QepReceiver {
val config: Config = ConfigSource.config
val nodeName = config.getString("shrine.humanReadableNodeName")
+ val pollDuration = config.get("shrine.messagequeue.receiveWaitTime",Duration(_))
+
//create a daemon thread that long-polls for messages forever
- val runner = QepReceiverRunner(nodeName)
+ val runner = QepReceiverRunner(nodeName,pollDuration)
val pollingThread = new Thread(runner,s"${getClass.getSimpleName} poller")
pollingThread.setDaemon(true)
- //todo pollingThread.setUncaughtExceptionHandler() SHRINE-2198
+ pollingThread.setUncaughtExceptionHandler(QepReceiverUncaughtExceptionHandler)
def start(): Unit = {
pollingThread.start()
Log.debug(s"Started the QepReceiver thread for $nodeName")
}
def stop(): Unit = {
runner.stop()
}
- case class QepReceiverRunner(nodeName:String) extends Runnable {
+ case class QepReceiverRunner(nodeName:String,pollDuration:Duration) extends Runnable {
val keepGoing = new AtomicBoolean(true)
def stop(): Unit = {
keepGoing.set(false)
Log.debug(s"${this.getClass.getSimpleName} keepGoing set to ${keepGoing.get()}. Will stop asking for messages after the current request.")
}
- val pollDuration = Duration("15 seconds") //todo from config SHRINE-2198
-
val breakdownTypes: Set[ResultOutputType] = ConfigSource.config.getOptionConfigured("shrine.breakdownResultOutputTypes", ResultOutputTypes.fromConfig).getOrElse(Set.empty)
override def run(): Unit = {
val queue = createQueue(nodeName)
while (keepGoing.get()) {
//forever
try {
- //todo only ask to receive a message if there are incomplete queries SHRINE-2196
Log.debug("About to call receive.")
receiveAMessage(queue)
Log.debug("Called receive.")
} catch {
case NonFatal(x) => ExceptionWhileReceivingMessage(queue,x)
//pass-through to blow up the thread, receive no more results, do something dramatic in UncaughtExceptionHandler.
case x => Log.error("Fatal exception while receiving a message", x)
throw x
}
}
Log.debug(s"QepReceiverRunner will stop. keepGoing is ${keepGoing.get()}")
}
def receiveAMessage(queue:Queue): Unit = {
- val maybeMessage: Try[Option[Message]] = MessageQueueService.service.receive(queue, pollDuration) //todo make pollDuration configurable (and testable) SHRINE-2198
+ val maybeMessage: Try[Option[Message]] = MessageQueueService.service.receive(queue, pollDuration)
maybeMessage.transform({m =>
m.map(interpretAMessage(_,queue)).getOrElse(Success())
},{x =>
x match {
case NonFatal(nfx) => ExceptionWhileReceivingMessage(queue,x)
case _ => //pass through
}
Failure(x)
})
}
def interpretAMessage(message: Message,queue: Queue): Try[Unit] = {
val unit = ()
Log.debug(s"Received a message from $queue of $message")
val envelopeJson = message.contents
Envelope.fromJson(envelopeJson).
flatMap{
case e:Envelope => e.checkVersionExactMatch
case notE => Failure(new IllegalArgumentException(s"Not an expected message Envelope but a ${notE.getClass}"))
}.
flatMap {
case Envelope(contentsType, contents, shrineVersion) if contentsType == AggregatedRunQueryResponse.getClass.getSimpleName =>
AggregatedRunQueryResponse.fromXmlString(breakdownTypes)(contents).flatMap{ rqr =>
QepQueryDb.db.insertQueryResult(rqr.queryId, rqr.results.head)
Log.debug(s"Inserted result from ${rqr.results.head.description} for query ${rqr.queryId}")
Success(unit)
}
case Envelope(contentsType, contents, shrineVersion) if contentsType == IncrementalQueryResult.incrementalQueryResultsEnvelopeContentsType =>
val changeDate = System.currentTimeMillis()
IncrementalQueryResult.seqFromJson(contents).flatMap { iqrs: Seq[IncrementalQueryResult] =>
val rows = iqrs.map(iqr => QueryResultRow(
resultId = -1L,
networkQueryId = iqr.networkQueryId,
instanceId = -1L,
adapterNode = iqr.adapterNodeName,
resultType = None,
size = 0L,
startDate = None,
endDate = None,
status = QueryResult.StatusType.valueOf(iqr.statusTypeName).get,
statusMessage = Some(iqr.statusMessage),
changeDate = changeDate
))
QepQueryDb.db.insertQueryResultRows(rows)
Log.debug(s"Inserted incremental results $iqrs")
Success(unit)
}
case e:Envelope => Failure(UnexpectedMessageContentsTypeException(e,queue))
case _ => Failure(new IllegalArgumentException(s"Received something other than an envelope from this queue: $envelopeJson"))
}.transform({ s =>
message.complete()
Success(unit)
},{ x =>
x match {
case NonFatal(nfx) => QepReceiverCouldNotDecodeMessage(envelopeJson,queue,x)
case throwable => throw throwable//blow something up
}
message.complete() //complete anyway. Can't be interpreted, so we don't want to see it again
Failure(x)
})
}
def createQueue(nodeName:String):Queue = {
//Either come back with the right exception to try again, or a Queue
def tryToCreateQueue():Try[Queue] =
MessageQueueService.service.createQueueIfAbsent(nodeName)
def keepGoing(attempt:Try[Queue]):Try[Boolean] = attempt.transform({queue => Success(false)}, {
case okIsh: CouldNotCreateQueueButOKToRetryException => Success(true)
case x => Failure(x)
})
//todo for fun figure out how to do this without the var. maybe a Stream ? SHRINE-2211
var lastAttempt:Try[Queue] = tryToCreateQueue()
while(keepGoing(lastAttempt).get) {
Log.debug(s"Last attempt to create a queue resulted in $lastAttempt. Sleeping $pollDuration before next attempt")
Thread.sleep(pollDuration.toMillis)
lastAttempt = tryToCreateQueue()
}
Log.info(s"Finishing createQueue with $lastAttempt")
lastAttempt.get
}
}
}
+object QepReceiverUncaughtExceptionHandler extends Thread.UncaughtExceptionHandler {
+ override def uncaughtException(thread: Thread, throwable: Throwable): Unit = QepReceiverThreadEndedByThrowable(thread,throwable)
+}
+
+class QueueReceiverContextListener extends ServletContextListener {
+
+
+ override def contextInitialized(servletContextEvent: ServletContextEvent): Unit = {
+ QepReceiver.start()
+ }
+
+ override def contextDestroyed(servletContextEvent: ServletContextEvent): Unit = {
+ QepReceiver.stop()
+ }
+}
+
case class UnexpectedMessageContentsTypeException(envelope: Envelope, queue: Queue) extends Exception(s"Could not interpret message with contents type of ${envelope.contentsType} from queue ${queue.name} from shrine version ${envelope.shrineVersion}")
case class ExceptionWhileReceivingMessage(queue:Queue, x:Throwable) extends AbstractProblem(ProblemSources.Qep) {
override val throwable = Some(x)
override def summary: String = s"The QEP encountered an exception while trying to receive a message from $queue"
override def description: String = s"The QEP encountered an exception while trying to receive a message from $queue on ${Thread.currentThread().getName}: ${x.getMessage}"
}
case class QepReceiverCouldNotDecodeMessage(messageString:String,queue:Queue, x:Throwable) extends AbstractProblem(ProblemSources.Qep) {
override val throwable = Some(x)
override def summary: String = s"The QEP could not decode a message from $queue"
override def description: String =
s"""The QEP encountered an exception while trying to decode a message from $queue on ${Thread.currentThread().getName}:
|${x.getMessage}
|$messageString""".stripMargin
}
-class QueueReceiverContextListener extends ServletContextListener {
+case class QepReceiverThreadEndedByThrowable(thread:Thread, x:Throwable) extends AbstractProblem(ProblemSources.Qep) {
+ override val throwable = Some(x)
- override def contextInitialized(servletContextEvent: ServletContextEvent): Unit = {
- QepReceiver.start()
- }
+ override def summary: String = s"The Qep Receiver's thread stopped because of an uncaught exception."
- override def contextDestroyed(servletContextEvent: ServletContextEvent): Unit = {
- QepReceiver.stop()
- }
+ override def description: String =
+ s"""The Qep Receiver's thread ${thread.getName} stopped because of an uncaught exception"""
}
\ No newline at end of file
diff --git a/apps/meta-war/src/main/resources/reference.conf b/apps/meta-war/src/main/resources/reference.conf
index 5b22fe2c1..3fb4a4788 100644
--- a/apps/meta-war/src/main/resources/reference.conf
+++ b/apps/meta-war/src/main/resources/reference.conf
@@ -1,21 +1,24 @@
shrine {
metaData {
ping = "pong"
}
+ messagequeue {
+ receiveWaitTime = "15 seconds"
+ }
}
//todo typesafe config precedence seems to do the right thing, but I haven't found the rules that say this reference.conf should override others
akka {
loglevel = INFO
// log-config-on-start = on
loggers = ["akka.event.slf4j.Slf4jLogger"]
// logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
// Toggles whether the threads created by this ActorSystem should be daemons or not
daemonic = on
}
spray.servlet {
boot-class = "net.shrine.metadata.Boot"
request-timeout = 30s
}
diff --git a/commons/util/src/main/scala/net/shrine/problem/DashboardProblemDatabase.scala b/commons/util/src/main/scala/net/shrine/problem/DashboardProblemDatabase.scala
index 6b7edcf3f..66f87f70c 100644
--- a/commons/util/src/main/scala/net/shrine/problem/DashboardProblemDatabase.scala
+++ b/commons/util/src/main/scala/net/shrine/problem/DashboardProblemDatabase.scala
@@ -1,195 +1,194 @@
package net.shrine.problem
import java.util.concurrent.TimeoutException
import javax.sql.DataSource
import com.typesafe.config.Config
import net.shrine.slick.{CouldNotRunDbIoActionException, NeedsWarmUp, TestableDataSourceCreator, TimeoutInDbIoActionException}
import net.shrine.source.ConfigSource
import slick.dbio.SuccessAction
import slick.driver.JdbcProfile
import slick.jdbc.meta.MTable
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.duration._
import scala.concurrent.{Await, Future}
import scala.util.control.NonFatal
import scala.xml.XML
/**
* Problems database object, defines the PROBLEMS table schema and related queries,
* as well as all interactions with the database.
* @author ty
* @since 07/16
*/
object Problems extends NeedsWarmUp {
val config:Config = ConfigSource.config.getConfig("shrine.problem.database")
val slickProfile:JdbcProfile = ConfigSource.getObject("slickProfileClassName", config)
val timeout: Duration = ConfigSource.config.getInt("shrine.problem.timeout").seconds
import slickProfile.api._
val dataSource: DataSource = TestableDataSourceCreator.dataSource(config)
lazy val db = {
val db = Database.forDataSource(dataSource)
val createTables: String = "createTablesOnStart"
if (config.hasPath(createTables) && config.getBoolean(createTables)) {
val duration = FiniteDuration(3, SECONDS)
Await.ready(db.run(IOActions.createIfNotExists), duration)
val testValues: String = "createTestValuesOnStart"
if (config.hasPath(testValues) && config.getBoolean(testValues)) {
def dumb(id: Int) = ProblemDigest(s"codec($id)", s"stamp($id)", s"sum($id)", s"desc($id)", <details>{id}</details>, id)
val dummyValues: Seq[ProblemDigest] = Seq(0, 1, 2, 3, 4, 5, 6).map(dumb)
Await.ready(db.run(Queries ++= dummyValues), duration)
}
}
db
}
-
- def warmUp = DatabaseConnector.runBlocking(Queries.map(_.xml).result)
+ def warmUp = DatabaseConnector.runBlocking(Queries.lastNProblems(10).result)
/**
* The Problems Table. This is the table schema.
*/
class ProblemsT(tag: Tag) extends Table[ProblemDigest](tag, Queries.tableName) {
def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
def codec = column[String]("codec")
def stampText = column[String]("stampText")
def summary = column[String]("summary")
def description = column[String]("description")
def xml = column[String]("detailsXml")
def epoch= column[Long]("epoch")
// projection between table row and problem digest
def * = (id, codec, stampText, summary, description, xml, epoch) <> (rowToProblem, problemToRow)
def idx = index("idx_epoch", epoch, unique=false)
/**
* Converts a table row into a ProblemDigest.
* @param args the table row, represented as a five-tuple string
* @return the corresponding ProblemDigest
*/
def rowToProblem(args: (Int, String, String, String, String, String, Long)): ProblemDigest = args match {
case (id, codec, stampText, summary, description, detailsXml, epoch) =>
ProblemDigest(codec, stampText, summary, description, XML.loadString(detailsXml), epoch)
}
/**
* Converts a ProblemDigest into an Option of a table row. For now there is no failure
* condition, ie a ProblemDigest can always be a table row, but this is a place for
* possible future error handling
* @param problem the ProblemDigest to convert
* @return an Option of a table row.
*/
def problemToRow(problem: ProblemDigest): Option[(Int, String, String, String, String, String, Long)] = problem match {
case ProblemDigest(codec, stampText, summary, description, detailsXml, epoch) =>
// 7 is ignored on insert and replaced with an auto incremented id
Some((7, codec, stampText, summary, description, detailsXml.toString, epoch))
}
}
/**
* Queries related to the Problems table.
*/
object Queries extends TableQuery(new ProblemsT(_)) {
/**
* The table name
*/
val tableName = "problems"
/**
* Equivalent to Select * from Problems;
*/
val selectAll = this
/**
* Selects all the details xml sorted by the problem's time stamp.
*/
val selectDetails = this.map(_.xml)
/**
* Sorts the problems in descending order
*/
val descending = this.sortBy(_.epoch.desc)
/**
* Selects the last N problems, after the offset
*/
def lastNProblems(n: Int, offset: Int = 0) = this.descending.drop(offset).take(n)
}
/**
* DBIO Actions. These are pre-defined IO actions that may be useful.
* Using it to centralize the location of DBIOs.
*/
object IOActions {
val problems = Queries
val tableExists = MTable.getTables(problems.tableName).map(_.nonEmpty)
val createIfNotExists = tableExists.flatMap(
if (_) SuccessAction(NoOperation) else problems.schema.create)
val dropIfExists = tableExists.flatMap(
if (_) problems.schema.drop else SuccessAction(NoOperation))
val resetTable = createIfNotExists >> problems.selectAll.delete
val selectAll = problems.result
def sizeAndProblemDigest(n: Int, offset: Int = 0) = problems.lastNProblems(n, offset).result.zip(problems.size.result)
def findIndexOfDate(date: Long) = (problems.size - problems.filter(_.epoch <= date).size).result
}
/**
* Entry point for interacting with the database. Runs IO actions.
*/
object DatabaseConnector {
val IO = IOActions
/**
* Executes a series of IO actions as a single transactions
*/
def executeTransaction(actions: DBIOAction[_, NoStream, _]*): Future[Unit] = {
db.run(DBIO.seq(actions:_*).transactionally)
}
/**
* Executes a series of IO actions as a single transaction, synchronous
*/
def executeTransactionBlocking(actions: DBIOAction[_, NoStream, _]*)(implicit timeout: Duration): Unit = {
try {
Await.ready(this.executeTransaction(actions: _*), timeout)
} catch {
case tx:TimeoutException => throw TimeoutInDbIoActionException(Problems.dataSource, timeout, tx)
case NonFatal(x) => throw CouldNotRunDbIoActionException(Problems.dataSource, x)
}
}
/**
* Straight copy of db.run
*/
def run[R](dbio: DBIOAction[R, NoStream, _]): Future[R] = {
db.run(dbio)
}
/**
* Synchronized copy of db.run
*/
def runBlocking[R](dbio: DBIOAction[R, NoStream, _], timeout: Duration = timeout): R = {
try {
Await.result(this.run(dbio), timeout)
} catch {
case tx:TimeoutException => throw TimeoutInDbIoActionException(Problems.dataSource, timeout, tx)
case NonFatal(x) => throw CouldNotRunDbIoActionException(Problems.dataSource, x)
}
}
def insertProblem(problem: ProblemDigest, timeout: Duration = timeout) = {
runBlocking(Queries += problem, timeout)
}
}
}
// For SuccessAction, just a no_op.
case object NoOperation
\ No newline at end of file
diff --git a/messagequeue/hornetqclient/src/main/resources/reference.conf b/messagequeue/hornetqclient/src/main/resources/reference.conf
index 232f1a047..1147a8d80 100644
--- a/messagequeue/hornetqclient/src/main/resources/reference.conf
+++ b/messagequeue/hornetqclient/src/main/resources/reference.conf
@@ -1,19 +1,24 @@
shrine {
messagequeue {
hornetq {
serverUrl = "https://localhost:6443/shrine-metadata/mom"
+ webClientTimeOutSecond = 10 seconds
+ }
+ httpClient {
+ defaultTimeOut = 10 seconds
+ timeOutWaitGap = 1 second
}
}
}
//todo typesafe config precedence seems to do the right thing, but I haven't found the rules that say this reference.conf should override others
// todo go with the actor system, also check other apps, possiblly they use it too
akka {
loglevel = INFO
// log-config-on-start = on
loggers = ["akka.event.slf4j.Slf4jLogger"]
// logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
// Toggles whether the threads created by this ActorSystem should be daemons or not
daemonic = on
}
\ No newline at end of file
diff --git a/messagequeue/hornetqclient/src/main/scala/net/shrine/hornetqclient/HornetQMomWebClient.scala b/messagequeue/hornetqclient/src/main/scala/net/shrine/hornetqclient/HornetQMomWebClient.scala
index e558cb3cd..6392fdb26 100644
--- a/messagequeue/hornetqclient/src/main/scala/net/shrine/hornetqclient/HornetQMomWebClient.scala
+++ b/messagequeue/hornetqclient/src/main/scala/net/shrine/hornetqclient/HornetQMomWebClient.scala
@@ -1,195 +1,205 @@
package net.shrine.hornetqclient
+import java.util.UUID
import akka.actor.ActorSystem
+import net.shrine.config.ConfigExtensions
+import net.shrine.hornetqmom.MessageContainer
import net.shrine.log.Loggable
-import net.shrine.messagequeueservice.{CouldNotCreateQueueButOKToRetryException, Message, MessageQueueService, MessageSerializer, Queue, QueueSerializer}
+import net.shrine.messagequeueservice.{Message, MessageQueueService, Queue}
import net.shrine.source.ConfigSource
+import org.json4s.NoTypeHints
import org.json4s.native.Serialization
-import org.json4s.native.Serialization.{read, write}
-import org.json4s.{Formats, NoTypeHints}
+import org.json4s.native.Serialization.read
import spray.http.{HttpEntity, HttpMethods, HttpRequest, HttpResponse, StatusCode, StatusCodes}
-
import scala.collection.immutable.Seq
-import scala.concurrent.duration.{Duration, DurationLong, FiniteDuration}
+import scala.concurrent.duration.Duration
import scala.language.postfixOps
import scala.util.control.NonFatal
import scala.util.{Failure, Success, Try}
/**
* A simple HornetQMomWebClient that uses HornetQMomWebApi to createQueue,
* deleteQueue, sendMessage, receiveMessage, getQueues, and sendReceipt
*
* @author yifan
* @since 8/10/17
*/
object HornetQMomWebClient extends MessageQueueService with Loggable {
// we need an ActorSystem to host our application in
implicit val system: ActorSystem = ActorSystem("momServer", ConfigSource.config)
+ val webClientTimeOutSecond: Duration = ConfigSource.config.get("shrine.messagequeue.hornetq.webClientTimeOutSecond", Duration(_))
// TODO in SHRINE-2167: Extract and share a SHRINE actor system
// the service actor replies to incoming HttpRequests
// implicit val serviceActor: ActorRef = startServiceActor()
// def startActorSystem(): ActorSystem = try {
// val actorSystem: ActorSystem = ActorSystem("momServer", ConfigSource.config)
// info(s"Starting ActorSystem: ${actorSystem.name} for HornetQMomWebClient at time: ${actorSystem.startTime}")
// actorSystem
// } catch {
// case NonFatal(x) => {
// debug(s"NonFatalException thrown while starting ActorSystem for HornetQMomWebClient: ${x.getMessage}")
// throw x
// }
// case x: ExceptionInInitializerError => {
// debug(s"ExceptionInInitializerError thrown while starting ActorSystem for HornetQMomWebClient: ${x.getMessage}")
// throw x
// }
// }
//
// def startServiceActor(): ActorRef = try {
// // the service actor replies to incoming HttpRequests
// val actor: ActorRef = system.actorOf(Props[HornetQMomWebClientServiceActor])
// info(s"Starting ServiceActor: ${actor.toString()} for HornetQMomWebClient")
// actor
// }
// catch {
// case NonFatal(x) => {
// debug(s"NonFatalException thrown while starting ServiceActor for HornetQMomWebClient: ${x.getMessage}")
// throw x
// }
// case x: ExceptionInInitializerError => {
// debug(s"ExceptionInInitializerError thrown while starting ServiceActor for HornetQMomWebClient: ${x.getMessage}")
// throw x
// }
// }
val momUrl: String = ConfigSource.config.getString("shrine.messagequeue.hornetq.serverUrl")
override def createQueueIfAbsent(queueName: String): Try[Queue] = {
val proposedQueue: Queue = Queue(queueName)
val createQueueUrl = momUrl + s"/createQueue/${proposedQueue.name}"
val request: HttpRequest = HttpRequest(HttpMethods.PUT, createQueueUrl)
for {
- response: HttpResponse <- Try(HttpClient.webApiCall(request))
+ response: HttpResponse <- Try(HttpClient.webApiCall(request, webClientTimeOutSecond))
queue: Queue <- queueFromResponse(response)
} yield queue
}
def queueFromResponse(response: HttpResponse):Try[Queue] = Try {
if(response.status == StatusCodes.Created) {
val queueString = response.entity.asString
- implicit val formats = Serialization.formats(NoTypeHints) + new QueueSerializer
+ implicit val formats = Serialization.formats(NoTypeHints)
read[Queue](queueString)(formats, manifest[Queue])
} else {
if((response.status == StatusCodes.NotFound) ||
(response.status == StatusCodes.RequestTimeout))throw new CouldNotCreateQueueButOKToRetryException(response.status,response.entity.asString)
else throw new IllegalStateException(s"Response status is ${response.status}, not Created. Cannot make a queue from this response: ${response.entity.asString}") //todo more specific custom exception SHRINE-2213
}
}.transform({ s =>
Success(s)
},{throwable =>
throwable match {
case NonFatal(x) => error(s"Unable to create a Queue from '${response.entity.asString}' due to exception",throwable) //todo probably want to wrap more information into a new Throwable here SHRINE-2213
case _ =>
}
Failure(throwable)
})
override def deleteQueue(queueName: String): Try[Unit] = {
val proposedQueue: Queue = Queue(queueName)
val deleteQueueUrl = momUrl + s"/deleteQueue/${proposedQueue.name}"
val request: HttpRequest = HttpRequest(HttpMethods.PUT, deleteQueueUrl)
- Try(HttpClient.webApiCall(request)) // StatusCodes.OK
+ Try(HttpClient.webApiCall(request, webClientTimeOutSecond)) // StatusCodes.OK
}
override def queues: Try[Seq[Queue]] = {
val getQueuesUrl = momUrl + s"/getQueues"
val request: HttpRequest = HttpRequest(HttpMethods.GET, getQueuesUrl)
for {
- response: HttpResponse <- Try(HttpClient.webApiCall(request))
+ response: HttpResponse <- Try(HttpClient.webApiCall(request, webClientTimeOutSecond))
allQueues: Seq[Queue] <- Try {
val allQueues: String = response.entity.asString
- implicit val formats = Serialization.formats(NoTypeHints) + new QueueSerializer
+ implicit val formats = Serialization.formats(NoTypeHints)
read[Seq[Queue]](allQueues)(formats, manifest[Seq[Queue]])
}
} yield allQueues
}
override def send(contents: String, to: Queue): Try[Unit] = {
debug(s"send to $to '$contents'")
val sendMessageUrl = momUrl + s"/sendMessage/${to.name}"
val request: HttpRequest = HttpRequest(
method = HttpMethods.PUT,
uri = sendMessageUrl,
entity = HttpEntity(contents) //todo set contents as XML or json SHRINE-2215
)
for {
- response: HttpResponse <- Try(HttpClient.webApiCall(request,3L seconds)) //todo configurable SHRINE-2214
+ response: HttpResponse <- Try(HttpClient.webApiCall(request, webClientTimeOutSecond))
} yield response
}
//todo test receiving no message SHRINE-2213
override def receive(from: Queue, timeout: Duration): Try[Option[Message]] = {
val seconds = timeout.toSeconds
val receiveMessageUrl = momUrl + s"/receiveMessage/${from.name}?timeOutSeconds=$seconds"
val request: HttpRequest = HttpRequest(HttpMethods.GET, receiveMessageUrl)
- val httpRequestTimeout: FiniteDuration = (timeout.toSeconds + 1) second //todo configurable SHRINE-2214
for {
- response: HttpResponse <- Try(HttpClient.webApiCall(request, httpRequestTimeout))
+ response: HttpResponse <- Try(HttpClient.webApiCall(request, webClientTimeOutSecond))
messageResponse: Option[Message] <- messageOptionFromResponse(response)
} yield messageResponse
}
def messageOptionFromResponse(response: HttpResponse):Try[Option[Message]] = Try {
if(response.status == StatusCodes.NotFound) None
else if (response.status == StatusCodes.OK) Some {
val responseString = response.entity.asString
- val formats = Serialization.formats(NoTypeHints) + new MessageSerializer
- read[Message](responseString)(formats, manifest[Message])
+ MessageContainer.fromJson(responseString)
} else {
throw new IllegalStateException(s"Response status is ${response.status}, not OK or NotFound. Cannot make a Message from this response: ${response.entity.asString}")
}
}.transform({ s =>
- Success(s)
+ val hornetQMessage = s.map(msg => HornetQClientMessage(UUID.fromString(msg.id), msg.contents))
+ Success(hornetQMessage)
},{throwable =>
throwable match {
case NonFatal(x) => error(s"Unable to create a Message from '${response.entity.asString}' due to exception",throwable) //todo probably want to report a Problem here SHRINE-2216
case _ =>
}
Failure(throwable)
})
-
- override def completeMessage(message: Message): Try[Unit] = {
- implicit val formats: Formats = Serialization.formats(NoTypeHints) + new MessageSerializer
- val messageString: String = write[Message](message)(formats)
-
- val entity: HttpEntity = HttpEntity(messageString)
- val completeMessageUrl: String = momUrl + s"/acknowledge" // HttpEntity
- val request: HttpRequest = HttpRequest(HttpMethods.PUT, completeMessageUrl).withEntity(entity)
- for {
- response: HttpResponse <- Try(HttpClient.webApiCall(request))
- } yield response
+ case class HornetQClientMessage private(messageID: UUID, messageContent: String) extends Message {
+
+ override def contents: String = messageContent
+
+ override def complete(): Try[Unit] = {
+ val entity: HttpEntity = HttpEntity(messageID.toString)
+ val completeMessageUrl: String = s"$momUrl/acknowledge"
+ val request: HttpRequest = HttpRequest(HttpMethods.PUT, completeMessageUrl).withEntity(entity)
+ for {
+ response: HttpResponse <- Try(HttpClient.webApiCall(request)).transform({r =>
+ info(s"Message ${this.messageID} completed with ${r.status}")
+ Success(r)
+ }, { throwable =>
+ debug(s"Message ${this.messageID} failed in its complete process due to ${throwable.getMessage}")
+ Failure(throwable)
+ })
+ } yield response
+ }
}
+
}
// TODO in SHRINE-2167: Extract and share a SHRINE actor system
//class HornetQMomWebClientServiceActor extends Actor with MetaDataService {
//
// // the HttpService trait defines only one abstract member, which
// // connects the services environment to the enclosing actor or test
// def actorRefFactory: ActorRefFactory = context
//
// // this actor only runs our route, but you could add
// // other things here, like request stream processing
// // or timeout handling
// def receive: Receive = runRoute(route)
//
// override implicit val ec: ExecutionContext = ExecutionContext.Implicits.global
//
// override def system: ActorSystem = context.system
//}
\ No newline at end of file
diff --git a/messagequeue/hornetqclient/src/main/scala/net/shrine/hornetqclient/HttpClient.scala b/messagequeue/hornetqclient/src/main/scala/net/shrine/hornetqclient/HttpClient.scala
index d977e8b16..a9c0d5823 100644
--- a/messagequeue/hornetqclient/src/main/scala/net/shrine/hornetqclient/HttpClient.scala
+++ b/messagequeue/hornetqclient/src/main/scala/net/shrine/hornetqclient/HttpClient.scala
@@ -1,98 +1,102 @@
package net.shrine.hornetqclient
import java.security.cert.X509Certificate
import javax.net.ssl.{SSLContext, X509TrustManager}
-
import akka.actor.{ActorRef, ActorSystem}
import akka.io.IO
import akka.pattern.ask
import net.shrine.log.Loggable
+import net.shrine.source.ConfigSource
+import net.shrine.config.ConfigExtensions
import spray.can.Http
import spray.can.Http.{ConnectionAttemptFailedException, HostConnectorSetup}
import spray.http.{HttpEntity, HttpRequest, HttpResponse, StatusCodes}
import spray.io.ClientSSLEngineProvider
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.duration.{Duration, DurationInt, DurationLong}
-import scala.concurrent.{Await, Future, TimeoutException, blocking}
+import scala.concurrent.{Await, Future, TimeoutException}
import scala.language.postfixOps
import scala.util.control.NonFatal
/**
* A simple HttpClient to use inside the HttpDirectives
*/
object HttpClient extends Loggable {
//todo hand back a Try, Failures with custom exceptions instead of a crappy response
//todo Really a Future would be even better
- def webApiCall(request:HttpRequest,timeout:Duration = 10 seconds)(implicit system: ActorSystem): HttpResponse = {
+ def webApiCall(request:HttpRequest,
+ timeout:Duration = ConfigSource.config.get("shrine.messagequeue.httpClient.defaultTimeOut", Duration(_)))
+ (implicit system: ActorSystem): HttpResponse = {
val deadline = System.currentTimeMillis() + timeout.toMillis
val transport: ActorRef = IO(Http)(system)
debug(s"Requesting $request uri is ${request.uri} path is ${request.uri.path}")
val future: Future[HttpResponse] = for {
Http.HostConnectorInfo(connector, _) <- transport.ask(createConnector(request))(deadline - System.currentTimeMillis() milliseconds)
response <- connector.ask(request)(deadline - System.currentTimeMillis() milliseconds).mapTo[HttpResponse]
} yield response
try {
//wait a second longer than the deadline before timing out the Await, to let the actors timeout
- Await.result(future, deadline + 1000 - System.currentTimeMillis() milliseconds) //todo make this time gap configurable SHRINE-2217
+ val timeOutWaitGap = ConfigSource.config.get("shrine.messagequeue.httpClient.timeOutWaitGap", Duration(_)).toMillis
+ Await.result(future, deadline + timeOutWaitGap - System.currentTimeMillis() milliseconds)
}
catch {
//todo definitely need the Try instead of this sloppy replacement of the HttpResponse.
case x: TimeoutException => {
debug(s"${request.uri} failed with ${x.getMessage}", x)
HttpResponse(status = StatusCodes.RequestTimeout, entity = HttpEntity(s"${request.uri} timed out after ${timeout}. ${x.getMessage}"))
}
//todo is there a better message? What comes up in real life?
case x: ConnectionAttemptFailedException => {
//no web service is there to respond
debug(s"${request.uri} failed with ${x.getMessage}", x)
HttpResponse(status = StatusCodes.NotFound, entity = HttpEntity(s"${request.uri} failed with ${x.getMessage}"))
}
case NonFatal(x) => {
debug(s"${request.uri} failed with ${x.getMessage}", x)
HttpResponse(status = StatusCodes.InternalServerError, entity = HttpEntity(s"${request.uri} failed with ${x.getMessage}"))
}
}
}
//from https://github.com/TimothyKlim/spray-ssl-poc/blob/master/src/main/scala/Main.scala
//trust all SSL contexts. We just want encrypted comms.
implicit val trustfulSslContext: SSLContext = {
class IgnoreX509TrustManager extends X509TrustManager {
def checkClientTrusted(chain: Array[X509Certificate], authType: String) {}
def checkServerTrusted(chain: Array[X509Certificate], authType: String) {}
def getAcceptedIssuers = null
}
val context = SSLContext.getInstance("TLS")
context.init(null, Array(new IgnoreX509TrustManager), null)
info("trustfulSslContex initialized")
context
}
implicit val clientSSLEngineProvider =
//todo lookup this constructor
ClientSSLEngineProvider {
_ =>
val engine = trustfulSslContext.createSSLEngine()
engine.setUseClientMode(true)
engine
}
def createConnector(request: HttpRequest) = {
val connector = new HostConnectorSetup(host = request.uri.authority.host.toString,
port = request.uri.effectivePort,
sslEncryption = request.uri.scheme == "https",
defaultHeaders = request.headers)
connector
}
}
diff --git a/messagequeue/hornetqclient/src/test/hornetQMomClientTest/HornetQMomWebClientTest.scala b/messagequeue/hornetqclient/src/test/hornetQMomClientTest/HornetQMomWebClientTest.scala
index c8c46d198..bb1bd15fd 100644
--- a/messagequeue/hornetqclient/src/test/hornetQMomClientTest/HornetQMomWebClientTest.scala
+++ b/messagequeue/hornetqclient/src/test/hornetQMomClientTest/HornetQMomWebClientTest.scala
@@ -1,28 +1,28 @@
/**
* A simple scala script that test HornetQMomWedClient
*
* Load the file in scala REPL to test HornetQMomWebClient
*
* Created by yifan on 8/14/17.
*/
// To Run the test, simply start the scala REPL and load the file
// Enter the following commands using the command line
// #1. Start scala REPL with 2.11.8 version
// mvn -Dscala-version="2.11.8" scala:console
// #2. Load file in REPL:
// :load <path-to-file>
import net.shrine.hornetqclient.HornetQMomWebClient
import net.shrine.messagequeueservice.{Message, Queue}
import scala.collection.immutable.Seq
val firstQueue: Queue = HornetQMomWebClient.createQueueIfAbsent("firstQueue").get
HornetQMomWebClient.send("firstMessage", firstQueue)
import scala.concurrent.duration.Duration
val firstDuration: Duration = Duration.create(1, "seconds")
val receivedMsg: Option[Message] = HornetQMomWebClient.receive(firstQueue, firstDuration).get
val msg: Message = receivedMsg.get
val allQueues: Seq[Queue] = HornetQMomWebClient.queues.get
-HornetQMomWebClient.completeMessage(msg)
+msg.complete()
HornetQMomWebClient.deleteQueue("q1")
\ No newline at end of file
diff --git a/messagequeue/hornetqmom/src/main/resources/reference.conf b/messagequeue/hornetqmom/src/main/resources/reference.conf
index f6c2ac407..216a2d455 100644
--- a/messagequeue/hornetqmom/src/main/resources/reference.conf
+++ b/messagequeue/hornetqmom/src/main/resources/reference.conf
@@ -1,9 +1,10 @@
shrine {
messagequeue {
hornetq {
}
hornetQWebApi {
enabled = false
+ messageTimeOutSeconds = 10 seconds
}
}
}
\ No newline at end of file
diff --git a/messagequeue/hornetqmom/src/main/scala/net/shrine/hornetqmom/HornetQMomWebApi.scala b/messagequeue/hornetqmom/src/main/scala/net/shrine/hornetqmom/HornetQMomWebApi.scala
index fd7805849..98840ca69 100644
--- a/messagequeue/hornetqmom/src/main/scala/net/shrine/hornetqmom/HornetQMomWebApi.scala
+++ b/messagequeue/hornetqmom/src/main/scala/net/shrine/hornetqmom/HornetQMomWebApi.scala
@@ -1,197 +1,320 @@
package net.shrine.hornetqmom
-import net.shrine.log.Loggable
-import net.shrine.messagequeueservice.{Message, MessageSerializer, Queue, QueueSerializer}
+import java.util.UUID
+
+import net.shrine.config.ConfigExtensions
+import net.shrine.hornetqmom.LocalHornetQMom.LocalHornetQMessage
+import net.shrine.log.{Log, Loggable}
+import net.shrine.messagequeueservice.{Message, Queue}
import net.shrine.problem.{AbstractProblem, ProblemSources}
import net.shrine.source.ConfigSource
import org.json4s.native.Serialization
-import org.json4s.native.Serialization.{read, write}
-import org.json4s.{Formats, NoTypeHints}
+import org.json4s.native.Serialization.write
+import org.json4s.{NoTypeHints, ShortTypeHints}
import spray.http.StatusCodes
import spray.routing.{HttpService, Route}
+import scala.collection.concurrent.TrieMap
import scala.collection.immutable.Seq
import scala.concurrent.duration.Duration
+import scala.util.control.NonFatal
import scala.util.{Failure, Success, Try}
/**
* A web API that provides access to the internal HornetQMom library.
* Allows client to createQueue, deleteQueue, sendMessage, receiveMessage, getQueues, and sendReceipt
*
* Created by yifan on 7/24/17.
*/
trait HornetQMomWebApi extends HttpService
with Loggable {
def enabled: Boolean = ConfigSource.config.getBoolean("shrine.messagequeue.hornetQWebApi.enabled")
val warningMessage: String = "If you intend for this node to serve as this SHRINE network's messaging hub " +
"set shrine.messagequeue.hornetQWebApi.enabled to true in your shrine.conf." +
" You do not want to do this unless you are the hub admin!"
+ // keep a map of messages and ids
+ private val idToMessages: TrieMap[UUID, (Message, Long)] = TrieMap.empty
+
+ case class MapSentinelRunner(timeOutInMillis: Long) extends Runnable {
+ // watches the map
+ override def run(): Unit = {
+ val currentTimeInMillis = System.currentTimeMillis()
+ try {
+ Log.debug("About to clean up outstanding messages.")
+ idToMessages.retain({ (uuid, localHornetQMessageAndCreatedTime) =>
+ (currentTimeInMillis - localHornetQMessageAndCreatedTime._2) < timeOutInMillis
+ })
+ Log.debug(s"Outstanding messages that exceed $timeOutInMillis milliseconds have been cleaned from the map.")
+ } catch {
+ case NonFatal(x) => ExceptionWhileCleaningUpMessageProblem(timeOutInMillis, x)
+ //pass-through to blow up the thread, receive no more results, do something dramatic in UncaughtExceptionHandler.
+ case x => Log.error("Fatal exception while cleaning up outstanding messages", x)
+ throw x
+ }
+ }
+ }
+
def momRoute: Route = pathPrefix("mom") {
if (!enabled) {
val configProblem: CannotUseHornetQMomWebApiProblem = CannotUseHornetQMomWebApiProblem(new UnsupportedOperationException)
warn(s"HornetQMomWebApi is not available to use due to configProblem ${configProblem.description}!")
respondWithStatus(StatusCodes.NotFound) {
complete(warningMessage)
}
} else {
put {
createQueue ~
sendMessage ~
acknowledge
} ~ receiveMessage ~ getQueues ~ deleteQueue
}
}
// SQS returns CreateQueueResult, which contains queueUrl: String
def createQueue: Route =
path("createQueue" / Segment) { queueName =>
detach() {
val createdQueueTry: Try[Queue] = LocalHornetQMom.createQueueIfAbsent(queueName)
createdQueueTry match {
case Success(queue) => {
- implicit val formats = Serialization.formats(NoTypeHints) + new QueueSerializer
+ implicit val formats = Serialization.formats(NoTypeHints)
val response: String = write[Queue](queue)(formats)
respondWithStatus(StatusCodes.Created) {
complete(response)
}
}
case Failure(x) => {
internalServerErrorOccured(x, "createQueue")
}
}
}
}
// SQS takes in DeleteMessageRequest, which contains a queueUrl: String and a ReceiptHandle: String
// returns a DeleteMessageResult, toString for debugging
def deleteQueue: Route = path("deleteQueue" / Segment) { queueName =>
put {
detach() {
val deleteQueueTry: Try[Unit] = LocalHornetQMom.deleteQueue(queueName)
deleteQueueTry match {
case Success(v) => {
complete(StatusCodes.OK)
}
case Failure(x) => {
internalServerErrorOccured(x, "deleteQueue")
}
}
}
}
}
// SQS sendMessage(String queueUrl, String messageBody) => SendMessageResult
def sendMessage: Route = path("sendMessage" / Segment) { toQueue =>
requestInstance { request =>
val messageContent = request.entity.asString
debug(s"sendMessage to $toQueue '$messageContent'")
detach() {
val sendTry: Try[Unit] = LocalHornetQMom.send(messageContent, Queue(toQueue))
sendTry match {
case Success(v) => {
complete(StatusCodes.Accepted)
}
case Failure(x) => {
internalServerErrorOccured(x, "sendMessage")
}
}
}
}
}
// SQS ReceiveMessageResult receiveMessage(String queueUrl)
def receiveMessage: Route =
get {
path("receiveMessage" / Segment) { fromQueue =>
parameter('timeOutSeconds ? 20) { timeOutSeconds =>
val timeout: Duration = Duration.create(timeOutSeconds, "seconds")
detach() {
val receiveTry: Try[Option[Message]] = LocalHornetQMom.receive(Queue(fromQueue), timeout)
receiveTry match {
- case Success(optMessage) => {
- optMessage.fold(complete(StatusCodes.NotFound)){msg =>
- implicit val formats = Serialization.formats(NoTypeHints) + new MessageSerializer
- val messageJson = write(msg)
- complete(messageJson)
+ case Success(optionMessage) => {
+ optionMessage.fold(complete(StatusCodes.NotFound)){localHornetQMessage =>
+ // add message in the map with an unique UUID
+ val msgID = UUID.randomUUID()
+ scheduleCleanupMessageMap(msgID, localHornetQMessage)
+ complete(MessageContainer(msgID.toString, localHornetQMessage.contents).toJson)
}
}
case Failure(x) => {
internalServerErrorOccured(x, "receiveMessage")
}
}
}
}
}
}
+ private def scheduleCleanupMessageMap(msgID: UUID, localHornetQMessage: Message) = {
+ import java.util.concurrent.Executors
+ import java.util.concurrent.ScheduledExecutorService
+ import java.util.concurrent.TimeUnit
+
+ idToMessages.update(msgID, (localHornetQMessage, System.currentTimeMillis()))
+ // a sentinel that monitors the hashmap of idToMessages, any message that has been outstanding for more than 3X or 10X
+ // time-to-live need to get cleaned out of this map
+ val messageTimeOutInMillis: Long = ConfigSource.config.get("shrine.messagequeue.hornetQWebApi.messageTimeOutSeconds", Duration(_)).toMillis
+ val sentinelRunner: MapSentinelRunner = MapSentinelRunner(messageTimeOutInMillis)
+ try {
+ Log.debug(s"Starting the sentinel scheduler that cleans outstanding messages exceeds 3 times $messageTimeOutInMillis")
+ val scheduler: ScheduledExecutorService = Executors.newScheduledThreadPool(1)
+ scheduler.schedule(sentinelRunner, messageTimeOutInMillis * 3, TimeUnit.MILLISECONDS)
+ } catch {
+ case NonFatal(x) => ExceptionWhileSchedulingSentinelProblem(messageTimeOutInMillis, x)
+ //pass-through to blow up the thread, receive no more results, do something dramatic in UncaughtExceptionHandler.
+ case x => Log.error("Fatal exception while scheduling a sentinel for cleaning up outstanding messages", x)
+ throw x
+ }
+ }
+
// SQS has DeleteMessageResult deleteMessage(String queueUrl, String receiptHandle)
def acknowledge: Route = path("acknowledge") {
- entity(as[String]) { messageJSON =>
- implicit val formats: Formats = Serialization.formats(NoTypeHints) + new MessageSerializer
+ entity(as[String]) { messageUUID =>
detach() {
- val msg: Message = read[Message](messageJSON)(formats, manifest[Message])
- val acknowledgeTry: Try[Unit] = LocalHornetQMom.completeMessage(msg)
- acknowledgeTry match {
- case Success(v) => {
- complete(StatusCodes.ResetContent)
+ val id: UUID = UUID.fromString(messageUUID)
+ // retrieve the localMessage from the concurrent hashmap
+ val getMessageTry: Try[Option[(Message, Long)]] = Try {
+ idToMessages.remove(id)
+ }.transform({ messageAndTime =>
+ Success(messageAndTime)
+ }, { throwable =>
+ Failure(MessageDoesNotExistException(id))
+ })
+
+ getMessageTry match {
+ case Success(messageAndTimeOption) => {
+ messageAndTimeOption.fold({
+ respondWithStatus(StatusCodes.NotFound) {
+ val noMessageProblem = MessageDoesNotExistInMapProblem(id)
+ complete(noMessageProblem.description)
+ }
+ }) { messageAndTime =>
+ messageAndTime._1.complete()
+ complete(StatusCodes.ResetContent)
+ }
}
case Failure(x) => {
- internalServerErrorOccured(x, "acknowledge")
+ x match {
+ case m: MessageDoesNotExistException => {
+ respondWithStatus(StatusCodes.NotFound) {
+ complete(m.getMessage)
+ }
+ }
+ case _ => internalServerErrorOccured(x, "acknowledge")
+ }
}
}
}
}
}
// Returns the names of the queues created on this server. Seq[Any]
def getQueues: Route = path("getQueues") {
get {
detach() {
- implicit val formats = Serialization.formats(NoTypeHints) + new QueueSerializer
+ implicit val formats = Serialization.formats(NoTypeHints)
respondWithStatus(StatusCodes.OK) {
val getQueuesTry: Try[Seq[Queue]] = LocalHornetQMom.queues
getQueuesTry match {
case Success(seqQueue) => {
complete(write[Seq[Queue]](LocalHornetQMom.queues.get)(formats))
}
case Failure(x) => {
internalServerErrorOccured(x, "getQueues")
}
}
}
}
}
}
def internalServerErrorOccured(x: Throwable, function: String): Route = {
respondWithStatus(StatusCodes.InternalServerError) {
val serverErrorProblem: HornetQMomServerErrorProblem = HornetQMomServerErrorProblem(x, function)
debug(s"HornetQ encountered a Problem during $function, Problem Details: $serverErrorProblem")
complete(s"HornetQ throws an exception while trying to $function. HornetQ Server response: ${x.getMessage}" +
s"Exception is from ${x.getClass}")
}
}
}
+
+case class MessageContainer(id: String, contents: String) {
+ def toJson: String = {
+ Serialization.write(this)(MessageContainer.messageFormats)
+ }
+}
+
+object MessageContainer {
+ val messageFormats = Serialization.formats(ShortTypeHints(List(classOf[MessageContainer])))
+
+ def fromJson(jsonString: String): MessageContainer = {
+ implicit val formats = messageFormats
+ Serialization.read[MessageContainer](jsonString)
+ }
+}
+
+
case class HornetQMomServerErrorProblem(x:Throwable, function:String) extends AbstractProblem(ProblemSources.Hub) {
override val throwable = Some(x)
override val summary: String = "SHRINE cannot use HornetQMomWebApi due to a server error occurred in hornetQ."
override val description: String = s"HornetQ throws an exception while trying to $function," +
s" the server's response is: ${x.getMessage} from ${x.getClass}."
}
case class CannotUseHornetQMomWebApiProblem(x:Throwable) extends AbstractProblem(ProblemSources.Hub) {
override val throwable = Some(x)
override val summary: String = "SHRINE cannot use HornetQMomWebApi due to configuration in shrine.conf."
override val description: String = "If you intend for this node to serve as this SHRINE network's messaging hub " +
"set shrine.messagequeue.hornetQWebApi.enabled to true in your shrine.conf." +
" You do not want to do this unless you are the hub admin!"
}
+
+case class MessageDoesNotExistException(id: UUID) extends Exception(s"Cannot match given ${id.toString} to any Message in HornetQ server! Message does not exist!")
+
+case class MessageDoesNotExistInMapProblem(id: UUID) extends AbstractProblem(ProblemSources.Hub) {
+
+ override def summary: String = s"The client expected message $id, but the server did not find it and could not complete() the message."
+
+ override def description: String = s"The client expected message $id, but the server did not find it and could not complete() the message." +
+ s" Message either has never been received or already been completed!"
+}
+
+case class ExceptionWhileCleaningUpMessageProblem(timeOutInMillis: Long, x:Throwable) extends AbstractProblem(ProblemSources.Hub) {
+
+ override val throwable = Some(x)
+
+ override def summary: String = s"The Hub encountered an exception while trying to " +
+ s"cleanup messages that has been outstanding for more than $timeOutInMillis milliseconds"
+
+ override def description: String = s"The Hub encountered an exception while trying to " +
+ s"cleanup messages that has been received for more than $timeOutInMillis milliseconds " +
+ s"on Thread ${Thread.currentThread().getName}: ${x.getMessage}"
+}
+
+case class ExceptionWhileSchedulingSentinelProblem(timeOutInMillis: Long, x:Throwable) extends AbstractProblem(ProblemSources.Hub) {
+ override val throwable = Some(x)
+
+ override def summary: String = s"The Hub encountered an exception while trying to " +
+ s"schedule a sentinel that cleans up outstanding messages exceed $timeOutInMillis milliseconds"
+
+ override def description: String = s"The Hub encountered an exception while trying to " +
+ s"schedule a sentinel that cleans up outstanding messages exceed $timeOutInMillis milliseconds " +
+ s"on Thread ${Thread.currentThread().getName}: ${x.getMessage}"
+}
\ No newline at end of file
diff --git a/messagequeue/hornetqmom/src/main/scala/net/shrine/hornetqmom/LocalHornetQMom.scala b/messagequeue/hornetqmom/src/main/scala/net/shrine/hornetqmom/LocalHornetQMom.scala
index ab57054f6..0fcbfab50 100644
--- a/messagequeue/hornetqmom/src/main/scala/net/shrine/hornetqmom/LocalHornetQMom.scala
+++ b/messagequeue/hornetqmom/src/main/scala/net/shrine/hornetqmom/LocalHornetQMom.scala
@@ -1,190 +1,197 @@
package net.shrine.hornetqmom
import com.typesafe.config.Config
import net.shrine.log.Log
import net.shrine.messagequeueservice.{Message, MessageQueueService, NoSuchQueueExistsInHornetQ, Queue}
import net.shrine.source.ConfigSource
import org.hornetq.api.core.{HornetQQueueExistsException, TransportConfiguration}
import org.hornetq.api.core.client.{ClientConsumer, ClientMessage, ClientProducer, ClientSession, ClientSessionFactory, HornetQClient, ServerLocator}
import org.hornetq.api.core.management.HornetQServerControl
import org.hornetq.core.config.impl.ConfigurationImpl
import org.hornetq.core.remoting.impl.invm.{InVMAcceptorFactory, InVMConnectorFactory}
import org.hornetq.core.server.{HornetQServer, HornetQServers}
import scala.collection.concurrent.{TrieMap, Map => ConcurrentMap}
import scala.collection.immutable.Seq
import scala.concurrent.blocking
import scala.concurrent.duration.Duration
import scala.util.Try
/**
* This object is the local version of the Message-Oriented Middleware API, which uses HornetQ service
*
* @author david
* @since 7/18/17
*/
object LocalHornetQMom extends MessageQueueService {
val config: Config = ConfigSource.config.getConfig("shrine.messagequeue.hornetq")
// todo use the config to set everything needed here that isn't hard-coded.
val hornetQConfiguration = new ConfigurationImpl()
// todo from config? What is the journal file about? If temporary, use a Java temp file.
hornetQConfiguration.setJournalDirectory("target/data/journal")
// todo want this. There are likely many other config bits
hornetQConfiguration.setPersistenceEnabled(false)
// todo maybe want this
hornetQConfiguration.setSecurityEnabled(false)
// todo probably just want the InVM version, but need to read up on options
hornetQConfiguration.getAcceptorConfigurations.add(new TransportConfiguration(classOf[InVMAcceptorFactory].getName))
// Create and start the server
val hornetQServer: HornetQServer = HornetQServers.newHornetQServer(hornetQConfiguration)
hornetQServer.start()
val serverLocator: ServerLocator = HornetQClient.createServerLocatorWithoutHA(new TransportConfiguration(classOf[InVMConnectorFactory].getName))
val sessionFactory: ClientSessionFactory = serverLocator.createSessionFactory()
//arguments are boolean xa, boolean autoCommitSends, boolean autoCommitAcks .
val session: ClientSession = sessionFactory.createSession(false, true, true)
session.start()
//keep a map of live queues to ClientConsumers to provide a path for completing messages
val queuesToConsumers: ConcurrentMap[Queue, ClientConsumer] = TrieMap.empty
- val propName = "contents"
-
/**
* Use HornetQMomStopper to stop the hornetQServer without unintentially starting it
*/
// todo drop this into a try
private[hornetqmom] def stop() = {
queuesToConsumers.values.foreach(_.close())
session.close()
sessionFactory.close()
hornetQServer.stop()
}
//queue lifecycle
def createQueueIfAbsent(queueName: String): Try[Queue] = {
val unit = ()
val proposedQueue: Queue = Queue(queueName)
for {
serverControl: HornetQServerControl <- Try{ hornetQServer.getHornetQServerControl }
queuesSoFar <- queues
queueToUse <- Try {
queuesSoFar.find(_.name == proposedQueue.name).fold{
try {
serverControl.createQueue(proposedQueue.name, proposedQueue.name, true)
} catch {
case hqqex:HornetQQueueExistsException => Log.debug(s"Caught and ignored a HornetQQueueExistsException in createQueueIfAbsent.",hqqex)
}
proposedQueue
}{
queue => queue}
}
consumer <- Try {
queuesToConsumers.getOrElseUpdate(proposedQueue, { session.createConsumer(proposedQueue.name) })
}
} yield queueToUse
}
def deleteQueue(queueName: String): Try[Unit] = {
val proposedQueue: Queue = Queue(queueName)
for {
deleteTry <- Try {
queuesToConsumers.remove(proposedQueue).foreach(_.close())
val serverControl: HornetQServerControl = hornetQServer.getHornetQServerControl
serverControl.destroyQueue(proposedQueue.name)
}
} yield deleteTry
}
override def queues: Try[Seq[Queue]] = {
for {
hornetQTry: HornetQServerControl <- Try {
hornetQServer.getHornetQServerControl
}
getQueuesTry: Seq[Queue] <- Try {
val queueNames: Array[String] = hornetQTry.getQueueNames
queueNames.map(Queue(_)).to[Seq]
}
} yield getQueuesTry
}
//send a message
def send(contents: String, to: Queue): Try[Unit] = {
for {
sendTry <- Try {
// check if the queue exists first
if (!this.queues.get.map(_.name).contains(to.name)) {
throw NoSuchQueueExistsInHornetQ(to)
}
}
producer: ClientProducer <- Try{ session.createProducer(to.name) }
- message <- Try{ session.createMessage(true).putStringProperty(propName, contents) }
+ message <- Try{
+ session.createMessage(true).putStringProperty(Message.contentsKey, contents)
+ }
sendMessage <- Try {
producer.send(message)
Log.debug(s"Message $message sent to $to in HornetQ")
producer.close()
}
} yield sendMessage
}
//receive a message
/**
* Always do AWS SQS-style long polling.
* Be sure your code can handle receiving the same message twice.
*
* @return Some message before the timeout, or None
*/
def receive(from: Queue, timeout: Duration): Try[Option[Message]] = {
for {
//todo handle the case where either stop or close has been called on something gracefully
messageConsumer: ClientConsumer <- Try {
if (!queuesToConsumers.contains(from)) {
throw new NoSuchElementException(s"Given Queue ${from.name} does not exist in HornetQ server! Please create the queue first!")
}
queuesToConsumers(from)
}
- message: Option[Message] <- Try {
+
+ message: Option[LocalHornetQMessage] <- Try {
blocking {
val messageReceived: Option[ClientMessage] = Option(messageConsumer.receive(timeout.toMillis))
- messageReceived.foreach(m => Log.debug(s"Received ${m} from $from in HornetQ"))
- messageReceived.map(Message(_))
+ messageReceived.foreach(m => Log.debug(s"Received $m from $from in HornetQ"))
+ messageReceived.map(clientMsg => LocalHornetQMessage(clientMsg))
}
}
} yield message
}
- //todo dead letter queue for all messages. See http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/examples-sqs-dead-letter-queues.html
-
- //complete a message
- override def completeMessage(message: Message): Try[Unit] = {
+ def getQueueConsumer(queue: Queue): Try[ClientConsumer] = {
for {
- completeMessageTry <- Try { message.complete() }
- } yield completeMessageTry
+ messageConsumer: ClientConsumer <- Try {
+ if (!queuesToConsumers.contains(queue)) {
+ throw new NoSuchElementException(s"Given Queue ${queue.name} does not exist in HornetQ server! Please create the queue first!")
+ }
+ queuesToConsumers(queue)
+ }
+ } yield messageConsumer
}
+ //todo dead letter queue for all messages SHRINE-2261
+
+ case class LocalHornetQMessage private(clientMessage: ClientMessage) extends Message {
+
+ override def contents: String = clientMessage.getStringProperty(Message.contentsKey)
+
+ //complete a message
+ override def complete(): Try[Unit] = Try { clientMessage.acknowledge() }
+ }
}
/**
* If the configuration is such that HornetQ should have been started use this object to stop it
*/
-//todo is this a good way to write this code?
object LocalHornetQMomStopper {
def stop(): Unit = {
- //todo fill in as part of SHIRINE-2128
- for {
- config: Config <- Try {
- ConfigSource.config.getConfig("shrine.messagequeue.hornetq")
- }
- } yield config
- LocalHornetQMom.stop()
+ if(ConfigSource.config.getBoolean("shrine.messagequeue.hornetQWebApi.enabled")) {
+ LocalHornetQMom.stop()
+ }
}
}
\ No newline at end of file
diff --git a/messagequeue/hornetqmom/src/test/scala/net/shrine/hornetqmom/HornetQMomWebApiConfigTest.scala b/messagequeue/hornetqmom/src/test/scala/net/shrine/hornetqmom/HornetQMomWebApiConfigTest.scala
new file mode 100644
index 000000000..f9e930750
--- /dev/null
+++ b/messagequeue/hornetqmom/src/test/scala/net/shrine/hornetqmom/HornetQMomWebApiConfigTest.scala
@@ -0,0 +1,31 @@
+package net.shrine.hornetqmom
+
+import akka.actor.ActorRefFactory
+import org.junit.runner.RunWith
+import org.scalatest.FlatSpec
+import org.scalatest.junit.JUnitRunner
+import spray.http.StatusCodes.NotFound
+import spray.testkit.ScalatestRouteTest
+
+/**
+ * Test to make sure hornetQMomWebApi is only available when correctly configured
+ * Created by yifan on 9/8/17.
+ */
+
+
+@RunWith(classOf[JUnitRunner])
+class HornetQMomWebApiConfigTest extends FlatSpec with ScalatestRouteTest with HornetQMomWebApi {
+ override def actorRefFactory: ActorRefFactory = system
+
+ private val queueName = "testQueue"
+
+ "HornetQMomWebApi" should "block user from using the API and return a 404 response" in {
+
+ Put(s"/mom/createQueue/$queueName") ~> momRoute ~> check {
+ val response = new String(body.data.toByteArray)
+
+ assertResult(warningMessage)(response)
+ assertResult(NotFound)(status)
+ }
+ }
+}
\ No newline at end of file
diff --git a/messagequeue/hornetqmom/src/test/scala/net/shrine/hornetqmom/HornetQMomWebApiTest.scala b/messagequeue/hornetqmom/src/test/scala/net/shrine/hornetqmom/HornetQMomWebApiTest.scala
index e38cc2fe4..87de86273 100644
--- a/messagequeue/hornetqmom/src/test/scala/net/shrine/hornetqmom/HornetQMomWebApiTest.scala
+++ b/messagequeue/hornetqmom/src/test/scala/net/shrine/hornetqmom/HornetQMomWebApiTest.scala
@@ -1,186 +1,114 @@
package net.shrine.hornetqmom
-
+import java.util.UUID
import akka.actor.ActorRefFactory
-import net.shrine.messagequeueservice.{Message, MessageSerializer, Queue, QueueSerializer}
+import net.shrine.messagequeueservice.Queue
import net.shrine.source.ConfigSource
import org.json4s.NoTypeHints
import org.json4s.native.Serialization
import org.json4s.native.Serialization.read
import org.junit.runner.RunWith
import org.scalatest.FlatSpec
import org.scalatest.junit.JUnitRunner
import spray.http.HttpEntity
import spray.http.StatusCodes._
import spray.testkit.ScalatestRouteTest
import scala.collection.immutable.Seq
/**
+ * Test basic functions of HornetQMomWebApi
* Created by yifan on 7/27/17.
*/
@RunWith(classOf[JUnitRunner])
class HornetQMomWebApiTest extends FlatSpec with ScalatestRouteTest with HornetQMomWebApi {
override def actorRefFactory: ActorRefFactory = system
private val proposedQueueName = "test Queue"
private val queue: Queue = Queue(proposedQueueName)
private val queueName: String = queue.name // "testQueue"
private val messageContent = "test Content"
"HornetQMomWebApi" should "create/delete the given queue, send/receive message, get queues" in {
- ConfigSource.atomicConfig.configForBlock("shrine.messagequeue.hornetQWebApi.enabled","true","HornetQMomWebApiTest") {
+ ConfigSource.atomicConfig.configForBlock("shrine.messagequeue.hornetQWebApi.enabled", "true", "HornetQMomWebApiTest") {
Put(s"/mom/createQueue/$queueName") ~> momRoute ~> check {
val response = new String(body.data.toByteArray)
- if (!enabled) {
- assertResult(NotFound)(status)
- assertResult(warningMessage)(response)
- } else {
- implicit val formats = Serialization.formats(NoTypeHints) + new QueueSerializer
- println(response)
- val jsonToQueue = read[Queue](response)(formats, manifest[Queue])
- val responseQueueName = jsonToQueue.name
- assertResult(Created)(status)
- assertResult(queueName)(responseQueueName)
- }
+ implicit val formats = Serialization.formats(NoTypeHints)
+ val jsonToQueue = read[Queue](response)(formats, manifest[Queue])
+ val responseQueueName = jsonToQueue.name
+ assertResult(Created)(status)
+ assertResult(queueName)(responseQueueName)
}
// should be OK to create a queue twice
Put(s"/mom/createQueue/$queueName") ~> momRoute ~> check {
val response = new String(body.data.toByteArray)
- if (!enabled) {
- assertResult(NotFound)(status)
- assertResult(warningMessage)(response)
- } else {
- implicit val formats = Serialization.formats(NoTypeHints) + new QueueSerializer
- val jsonToQueue = read[Queue](response)(formats, manifest[Queue])
- val responseQueueName = jsonToQueue.name
- assertResult(Created)(status)
- assertResult(queueName)(responseQueueName)
- }
+ implicit val formats = Serialization.formats(NoTypeHints)
+ val jsonToQueue = read[Queue](response)(formats, manifest[Queue])
+ val responseQueueName = jsonToQueue.name
+ assertResult(Created)(status)
+ assertResult(queueName)(responseQueueName)
}
Put(s"/mom/sendMessage/$queueName", HttpEntity(s"$messageContent")) ~> momRoute ~> check {
- val response = new String(body.data.toByteArray)
- if (!enabled) {
- assertResult(NotFound)(status)
- assertResult(warningMessage)(response)
- } else {
- assertResult(Accepted)(status)
- }
+ assertResult(Accepted)(status)
}
Get(s"/mom/getQueues") ~> momRoute ~> check {
val response: String = new String(body.data.toByteArray)
- if (!enabled) {
- assertResult(NotFound)(status)
- assertResult(warningMessage)(response)
- } else {
- implicit val formats = Serialization.formats(NoTypeHints) + new QueueSerializer
- val jsonToSeq: Seq[Queue] = read[Seq[Queue]](response, false)(formats, manifest[Seq[Queue]])
-
- assertResult(OK)(status)
- assertResult(queueName)(jsonToSeq.head.name)
- }
- }
+ implicit val formats = Serialization.formats(NoTypeHints)
+ val jsonToSeq: Seq[Queue] = read[Seq[Queue]](response)(formats, manifest[Seq[Queue]])
- var receivedMessage: String = ""
+ assertResult(OK)(status)
+ assertResult(queueName)(jsonToSeq.head.name)
+ }
+ var messageUUID: String = ""
// given timeout is 2 seconds
Get(s"/mom/receiveMessage/$queueName?timeOutSeconds=2") ~> momRoute ~> check {
val response = new String(body.data.toByteArray)
- receivedMessage = response
- if (!enabled) {
- assertResult(NotFound)(status)
- assertResult(warningMessage)(response)
- } else {
- implicit val formats = Serialization.formats(NoTypeHints) + new MessageSerializer
- val responseToMessage: Message = read[Message](response)(formats, manifest[Message])
-
- assertResult(OK)(status)
- assert(responseToMessage.isInstanceOf[Message])
- assertResult(messageContent)(responseToMessage.contents)
- }
+ assertResult(OK)(status)
+ val responseMsg = MessageContainer.fromJson(response)
+ messageUUID = responseMsg.id
+ assertResult(responseMsg.contents)(messageContent)
+ }
+
+ Put("/mom/acknowledge", HttpEntity(s"$messageUUID")) ~> momRoute ~> check {
+ assertResult(ResetContent)(status)
}
- Put("/mom/acknowledge", HttpEntity(s"$receivedMessage")) ~> momRoute ~> check {
+ val nonExistingUUID = UUID.randomUUID()
+ Put("/mom/acknowledge", HttpEntity(s"$nonExistingUUID")) ~> momRoute ~> check {
val response = new String(body.data.toByteArray)
- if (!enabled) {
- assertResult(NotFound)(status)
- assertResult(warningMessage)(response)
- } else {
- implicit val formats = Serialization.formats(NoTypeHints) + new MessageSerializer
- assertResult(ResetContent)(status)
- }
+ assertResult(NotFound)(status)
+ assertResult(MessageDoesNotExistInMapProblem(nonExistingUUID).description)(response)
}
Put(s"/mom/deleteQueue/$queueName") ~> momRoute ~> check {
- val response = new String(body.data.toByteArray)
- if (!enabled) {
- assertResult(NotFound)(status)
- assertResult(warningMessage)(response)
- } else {
- assertResult(OK)(status)
- }
+ assertResult(OK)(status)
}
}
}
- "HornetQMomWebApi" should "respond Internal server error with the corresponding error message when " +
- "failures occur while creating/deleting the given queue, sending/receiving message, getting queues" in {
+ "HornetQMomWebApi" should "respond InternalServerError with the corresponding error message when " +
+ "failures occur while creating/deleting the given queue, sending/receiving message, getting queues" in {
+
+ ConfigSource.atomicConfig.configForBlock("shrine.messagequeue.hornetQWebApi.enabled", "true", "HornetQMomWebApiTest") {
Put(s"/mom/deleteQueue/$queueName") ~> momRoute ~> check {
- val response = new String(body.data.toByteArray)
- if (!enabled) {
- assertResult(NotFound)(status)
- assertResult(warningMessage)(response)
- } else {
- assertResult(InternalServerError)(status)
- }
+ assertResult(InternalServerError)(status)
}
Put(s"/mom/sendMessage/$queueName", HttpEntity(s"$messageContent")) ~> momRoute ~> check {
- val response = new String(body.data.toByteArray)
- if (!enabled) {
- assertResult(NotFound)(status)
- assertResult(warningMessage)(response)
- } else {
- assertResult(InternalServerError)(status)
- }
+ assertResult(InternalServerError)(status)
}
// given timeout is 1 seconds
Get(s"/mom/receiveMessage/$queueName?timeOutSeconds=1") ~> momRoute ~> check {
- val response = new String(body.data.toByteArray)
- if (!enabled) {
- assertResult(NotFound)(status)
- assertResult(warningMessage)(response)
- } else {
- assertResult(InternalServerError)(status)
- }
+ assertResult(InternalServerError)(status)
}
}
-
-}
-
-@RunWith(classOf[JUnitRunner])
-class HornetQMomWebApiConfigTest extends FlatSpec with ScalatestRouteTest with HornetQMomWebApi {
- override def actorRefFactory: ActorRefFactory = system
-
- private val queueName = "testQueue"
-
-
- override val enabled: Boolean = ConfigSource.config.getString("shrine.messagequeue.hornetQWebApiTest.enabled").toBoolean
-
- "HornetQMomWebApi" should "block user from using the API and return a 404 response" in {
-
- Put(s"/mom/createQueue/$queueName") ~> momRoute ~> check {
- val response = new String(body.data.toByteArray)
-
- assertResult(warningMessage)(response)
- assertResult(NotFound)(status)
- }
}
}
\ No newline at end of file
diff --git a/messagequeue/hornetqmom/src/test/scala/net/shrine/hornetqmom/LocalHornetQMomTest.scala b/messagequeue/hornetqmom/src/test/scala/net/shrine/hornetqmom/LocalHornetQMomTest.scala
index 5834fdfe6..bdfeeb62b 100644
--- a/messagequeue/hornetqmom/src/test/scala/net/shrine/hornetqmom/LocalHornetQMomTest.scala
+++ b/messagequeue/hornetqmom/src/test/scala/net/shrine/hornetqmom/LocalHornetQMomTest.scala
@@ -1,156 +1,158 @@
package net.shrine.hornetqmom
import net.shrine.messagequeueservice.{Message, Queue}
import org.junit.runner.RunWith
import org.scalatest.concurrent.ScalaFutures
import org.scalatest.junit.JUnitRunner
import org.scalatest.{BeforeAndAfterAll, FlatSpec, Matchers}
import scala.collection.immutable.Seq
import scala.concurrent.duration._
import scala.language.postfixOps
+import scala.util.Try
/**
* Test create, delete queue, send, and receive message, getQueueNames, and acknoledge using HornetQ service
*/
@RunWith(classOf[JUnitRunner])
class LocalHornetQMomTest extends FlatSpec with BeforeAndAfterAll with ScalaFutures with Matchers {
"HornetQ" should "be able to send and receive just one message" in {
val queueName = "testQueue"
assert(LocalHornetQMom.queues.get.isEmpty)
val queue = LocalHornetQMom.createQueueIfAbsent(queueName).get
assert(LocalHornetQMom.queues.get == Seq(queue))
val testContents = "Test message"
val sendTry = LocalHornetQMom.send(testContents, queue)
assert(sendTry.isSuccess)
val message: Option[Message] = LocalHornetQMom.receive(queue,1 second).get
assert(message.isDefined)
assert(message.get.contents == testContents)
- LocalHornetQMom.completeMessage(message.get)
+ val completeTry: Try[Unit] = message.get.complete()
+ assert(completeTry.isSuccess)
val shouldBeNoMessage: Option[Message] = LocalHornetQMom.receive(queue,1 second).get
assert(shouldBeNoMessage.isEmpty)
val deleteTry = LocalHornetQMom.deleteQueue(queueName)
assert(deleteTry.isSuccess)
assert(LocalHornetQMom.queues.get.isEmpty)
}
"HornetQ" should "be able to send and receive a few messages" in {
val queueName = "testQueue"
assert(LocalHornetQMom.queues.get.isEmpty)
val queue = LocalHornetQMom.createQueueIfAbsent(queueName).get
assert(LocalHornetQMom.queues.get == Seq(queue))
val testContents1 = "Test message1"
val sendTry = LocalHornetQMom.send(testContents1,queue)
assert(sendTry.isSuccess)
val message1: Option[Message] = LocalHornetQMom.receive(queue,1 second).get
assert(message1.isDefined)
assert(message1.get.contents == testContents1)
- val completeTry = LocalHornetQMom.completeMessage(message1.get)
+ val completeTry = message1.get.complete()
assert(completeTry.isSuccess)
val shouldBeNoMessage1: Option[Message] = LocalHornetQMom.receive(queue,1 second).get
assert(shouldBeNoMessage1.isEmpty)
val testContents2 = "Test message2"
val sendTry2 = LocalHornetQMom.send(testContents2,queue)
assert(sendTry2.isSuccess)
val testContents3 = "Test message3"
val sendTry3 = LocalHornetQMom.send(testContents3,queue)
assert(sendTry3.isSuccess)
val message2: Option[Message] = LocalHornetQMom.receive(queue,1 second).get
assert(message2.isDefined)
assert(message2.get.contents == testContents2)
- val completeTry2 = LocalHornetQMom.completeMessage(message2.get)
+ val completeTry2 = message2.get.complete()
assert(completeTry2.isSuccess)
val message3: Option[Message] = LocalHornetQMom.receive(queue,1 second).get
assert(message3.isDefined)
assert(message3.get.contents == testContents3)
- val completeTry3 = LocalHornetQMom.completeMessage(message3.get)
+ val completeTry3 = message3.get.complete()
assert(completeTry3.isSuccess)
val shouldBeNoMessage4: Option[Message] = LocalHornetQMom.receive(queue,1 second).get
assert(shouldBeNoMessage4.isEmpty)
val deleteTry = LocalHornetQMom.deleteQueue(queueName)
assert(deleteTry.isSuccess)
assert(LocalHornetQMom.queues.get.isEmpty)
}
"HornetQ" should "be OK if asked to create the same queue twice " in {
val queueName = "testQueue"
val queue = LocalHornetQMom.createQueueIfAbsent(queueName)
assert(queue.isSuccess)
val sameQueue = LocalHornetQMom.createQueueIfAbsent(queueName)
assert(sameQueue.isSuccess)
assert(LocalHornetQMom.queues.get == Seq(sameQueue.get))
val deleteTry = LocalHornetQMom.deleteQueue(queueName)
assert(deleteTry.isSuccess)
assert(LocalHornetQMom.queues.get.isEmpty)
}
"HornetQ" should "return a failure if deleting a non-existing queue" in {
val queueName = "testQueue"
val deleteQueue = LocalHornetQMom.deleteQueue(queueName)
assert(deleteQueue.isFailure)
}
"HornetQ" should "return a failure if sending message to a non-existing queue" in {
val queueName = "non-existingQueue"
val sendTry = LocalHornetQMom.send("testContent", Queue(queueName))
assert(sendTry.isFailure)
}
"HornetQ" should "return a failure if receiving a message to a non-existing queue" in {
val queueName = "non-existingQueue"
val receiveTry = LocalHornetQMom.receive(Queue(queueName), Duration(1, "second"))
assert(receiveTry.isFailure)
}
"HornetQ" should "be able to filter the special characters in queue name" in {
val queueName = "test# Qu%eueFilter"
assert(LocalHornetQMom.queues.get.isEmpty)
val queue = LocalHornetQMom.createQueueIfAbsent(queueName).get
assert(LocalHornetQMom.queues.get == Seq(queue))
LocalHornetQMom.deleteQueue(queue.name)
}
override def afterAll() = LocalHornetQMomStopper.stop()
}
\ No newline at end of file
diff --git a/messagequeue/messagequeueservice/src/main/resources/reference.conf b/messagequeue/messagequeueservice/src/main/resources/reference.conf
index eb4525a52..572408a0a 100644
--- a/messagequeue/messagequeueservice/src/main/resources/reference.conf
+++ b/messagequeue/messagequeueservice/src/main/resources/reference.conf
@@ -1,5 +1,5 @@
shrine {
messagequeue {
- implementation = "net.shrine.hornetqclient.HornetQMomWebClient" //Fully-qualified class name of the MessaageQueueService to use //todo when there are two real implemetnations, maybe leave this out
+ implementation = "net.shrine.hornetqclient.HornetQMomWebClient" //Fully-qualified class name of the MessaageQueueService to use //todo when there are two real implemetnations, maybe leave this default out
}
}
\ No newline at end of file
diff --git a/messagequeue/messagequeueservice/src/main/scala/net/shrine/messagequeueservice/Message.scala b/messagequeue/messagequeueservice/src/main/scala/net/shrine/messagequeueservice/Message.scala
new file mode 100644
index 000000000..fddaf3cce
--- /dev/null
+++ b/messagequeue/messagequeueservice/src/main/scala/net/shrine/messagequeueservice/Message.scala
@@ -0,0 +1,17 @@
+package net.shrine.messagequeueservice
+
+import scala.util.Try
+
+/**
+ * A Message Trait that is implemented by LocalHornetQMessage and HornetQClientMessage
+ * Created by yifan on 9/8/17.
+ */
+
+trait Message {
+ def complete(): Try[Unit]
+ def contents: String
+}
+
+object Message {
+ val contentsKey = "contents"
+}
\ No newline at end of file
diff --git a/messagequeue/messagequeueservice/src/main/scala/net/shrine/messagequeueservice/MessageQueueService.scala b/messagequeue/messagequeueservice/src/main/scala/net/shrine/messagequeueservice/MessageQueueService.scala
index f934afa09..979d2ce1a 100644
--- a/messagequeue/messagequeueservice/src/main/scala/net/shrine/messagequeueservice/MessageQueueService.scala
+++ b/messagequeue/messagequeueservice/src/main/scala/net/shrine/messagequeueservice/MessageQueueService.scala
@@ -1,121 +1,54 @@
package net.shrine.messagequeueservice
import net.shrine.source.ConfigSource
import net.shrine.spray.DefaultJsonSupport
-import org.hornetq.api.core.client.ClientMessage
-import org.hornetq.core.client.impl.ClientMessageImpl
-import org.json4s.JsonAST.{JField, JObject}
-import org.json4s.{CustomSerializer, DefaultFormats, Formats, _}
-import spray.http.StatusCode
import scala.collection.immutable.Seq
import scala.concurrent.duration.Duration
import scala.util.Try
/**
* This object mostly imitates AWS SQS' API via an embedded HornetQ. See http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/examples-sqs.html
*
* @author david
* @since 7/18/17
*/
// in 1.23 all but the server side will use the client RemoteHornetQ implementation (which will call to the server at the hub)
//todo in 1.24, create an AwsSqs implementation of the trait
trait MessageQueueService {
def createQueueIfAbsent(queueName:String): Try[Queue]
def deleteQueue(queueName:String): Try[Unit]
def queues: Try[Seq[Queue]]
def send(contents:String,to:Queue): Try[Unit]
def receive(from:Queue,timeout:Duration): Try[Option[Message]]
- def completeMessage(message:Message): Try[Unit]
-
}
object MessageQueueService {
lazy val service:MessageQueueService = {
import scala.reflect.runtime.universe.runtimeMirror
val momClassName = ConfigSource.config.getString("shrine.messagequeue.implementation")
val classLoaderMirror = runtimeMirror(getClass.getClassLoader)
val module = classLoaderMirror.staticModule(momClassName)
classLoaderMirror.reflectModule(module).instance.asInstanceOf[MessageQueueService]
}
}
-case class Message(hornetQMessage:ClientMessage) extends DefaultJsonSupport {
- override implicit def json4sFormats: Formats = DefaultFormats
-
- def getClientMessage = hornetQMessage
-
- def contents = hornetQMessage.getStringProperty(Message.contentsKey)
-
- def getMessageID = hornetQMessage.getMessageID
-
- def complete() = hornetQMessage.acknowledge()
-}
-
-object Message {
- val contentsKey = "contents"
-}
case class Queue(var name:String) extends DefaultJsonSupport {
// filter all (Unicode) characters that are not letters
// filter neither letters nor (decimal) digits, replaceAll("[^\\p{L}]+", "")
name = name.filterNot(c => c.isWhitespace).replaceAll("[^\\p{L}\\p{Nd}]+", "")
if (name.length == 0) {
throw new IllegalArgumentException("ERROR: A valid Queue name must contain at least one letter!")
}
}
-class QueueSerializer extends CustomSerializer[Queue](format => (
- {
- case JObject(JField("name", JString(s)) :: Nil) => Queue(s)
- },
- {
- case queue: Queue =>
- JObject(JField("name", JString(queue.name)) :: Nil)
+case class NoSuchQueueExistsInHornetQ(proposedQueue: Queue) extends Exception {
+ override def getMessage: String = {
+ s"Given Queue ${proposedQueue.name} does not exist in HornetQ server! Please create the queue first!"
}
-))
-
-//todo make this an object SHRINE-2218
-//todo move to HornetQMomWebApi SHRINE-2218
-class MessageSerializer extends CustomSerializer[Message](format => (
- {
-
- //JObject(List((hornetQMessage,JObject(List((type,JInt(0)), (durable,JBool(true)), (expiration,JInt(0)), (timestamp,JInt(1504275142323)), (priority,JInt(4)), (contents,JString(test Content)))))))
- case JObject(
- JField("hornetQMessage", JObject(
- JField("type", JInt(s)) ::
- JField("durable", JBool(d)) ::
- JField("expiration", JInt(e)) ::
- JField("timestamp", JInt(t)) ::
- JField("priority", JInt(p)) ::
- JField(Message.contentsKey, JString(contents)) ::
- Nil)
- ) :: Nil ) => {
- val hornetQClientMessage = new ClientMessageImpl(s.toByte, d, e.toLong, t.toLong, p.toByte, 0)
- hornetQClientMessage.putStringProperty(Message.contentsKey,contents)
-
- Message(hornetQClientMessage)
- }
- },
- {
- case msg: Message =>
- JObject(
- JField("hornetQMessage",
- JObject(
- JField("type", JLong(msg.getClientMessage.getType)) ::
- JField("durable", JBool(msg.getClientMessage.isDurable)) ::
- JField("expiration", JLong(msg.getClientMessage.getExpiration)) ::
- JField("timestamp", JLong(msg.getClientMessage.getTimestamp)) ::
- JField("priority", JLong(msg.getClientMessage.getPriority)) ::
- JField(Message.contentsKey, JString(msg.contents)) ::
- Nil)) :: Nil)
- }
-))
-
-
-case class NoSuchQueueExistsInHornetQ(proposedQueue: Queue) extends Exception(s"Given Queue ${proposedQueue.name} does not exist in HornetQ server! Please create the queue first!")
case class CouldNotCreateQueueButOKToRetryException(status:StatusCode,contents:String) extends Exception(s"Could not create a queue due to status code $status with message '$contents'")
\ No newline at end of file
diff --git a/messagequeue/messagequeueservice/src/main/scala/net/shrine/messagequeueservice/protocol/Envelope.scala b/messagequeue/messagequeueservice/src/main/scala/net/shrine/messagequeueservice/protocol/Envelope.scala
index 7b708efaa..8e93c217e 100644
--- a/messagequeue/messagequeueservice/src/main/scala/net/shrine/messagequeueservice/protocol/Envelope.scala
+++ b/messagequeue/messagequeueservice/src/main/scala/net/shrine/messagequeueservice/protocol/Envelope.scala
@@ -1,46 +1,45 @@
package net.shrine.messagequeueservice.protocol
import net.shrine.util.Versions
import org.json4s.ShortTypeHints
import org.json4s.native.Serialization
import scala.util.{Failure, Success, Try}
-import org.json4s.native.Serialization
/**
* A json-friendly container for unpacking different messages of known types based on metadata.
*
* @author david
* @since 9/7/17
*/
//if you need to add fields to this case class they must be Options with default values of None to support serializing to and from JSON
case class Envelope(
contentsType:String,
contents:String,
shrineVersion:String = Versions.version) {
def decode[T](decoder:String => T):Try[T] = Try{
decoder(contents)
}
def toJson:String = {
Serialization.write(this)(Envelope.envelopeFormats)
}
def checkVersionExactMatch: Try[Envelope] = {
if(shrineVersion == Versions.version) Success(this)
else Failure(VersionMismatchException(shrineVersion))
}
}
case class VersionMismatchException(badVersion:String) extends Exception(s"Cannot use an Envelope with version $badVersion in ${Versions.version}")
object Envelope {
val envelopeFormats = Serialization.formats(ShortTypeHints(List(classOf[Envelope])))
def fromJson(jsonString:String):Try[Envelope] = Try{
implicit val formats = envelopeFormats
Serialization.read[Envelope](jsonString)
}
}
\ No newline at end of file
diff --git a/qep/service/src/main/scala/net/shrine/qep/querydb/QepQueryDb.scala b/qep/service/src/main/scala/net/shrine/qep/querydb/QepQueryDb.scala
index 9cb1bc663..33b5bb3bb 100644
--- a/qep/service/src/main/scala/net/shrine/qep/querydb/QepQueryDb.scala
+++ b/qep/service/src/main/scala/net/shrine/qep/querydb/QepQueryDb.scala
@@ -1,618 +1,634 @@
package net.shrine.qep.querydb
import java.sql.SQLException
import java.util.concurrent.TimeoutException
import javax.sql.DataSource
import com.typesafe.config.Config
import net.shrine.audit.{NetworkQueryId, QueryName, Time, UserName}
import net.shrine.log.Loggable
import net.shrine.problem.{AbstractProblem, ProblemDigest, ProblemSources}
import net.shrine.protocol.{DefaultBreakdownResultOutputTypes, DeleteQueryRequest, FlagQueryRequest, I2b2ResultEnvelope, QueryMaster, QueryResult, ReadPreviousQueriesRequest, ReadPreviousQueriesResponse, RenameQueryRequest, ResultOutputType, ResultOutputTypes, RunQueryRequest, UnFlagQueryRequest}
import net.shrine.slick.{CouldNotRunDbIoActionException, TestableDataSourceCreator, TimeoutInDbIoActionException}
import net.shrine.source.ConfigSource
import net.shrine.util.XmlDateHelper
import slick.driver.JdbcProfile
import scala.collection.immutable.Iterable
import scala.concurrent.duration.{Duration, DurationInt}
-import scala.concurrent.{Await, Future, blocking}
+import scala.concurrent.{Await, Future}
import scala.language.postfixOps
import scala.concurrent.ExecutionContext.Implicits.global
import scala.util.control.NonFatal
import scala.xml.XML
/**
* DB code for the QEP's query instances and query results.
*
* @author david
* @since 1/19/16
*/
case class QepQueryDb(schemaDef:QepQuerySchema,dataSource: DataSource,timeout:Duration) extends Loggable {
import schemaDef._
import jdbcProfile.api._
val database = Database.forDataSource(dataSource)
def createTables() = schemaDef.createTables(database)
def dropTables() = schemaDef.dropTables(database)
- def dbRun[R](action: DBIOAction[R, NoStream, Nothing]):R = {
- val future: Future[R] = database.run(action)
+ def run[R](dbio: DBIOAction[R, NoStream, _]): Future[R] = {
+ database.run(dbio)
+ }
+
+ def runBlocking[R](dbio: DBIOAction[R, NoStream, _], timeout: Duration = timeout): R = {
try {
- Await.result(future, timeout)
+ Await.result(this.run(dbio), timeout)
+ } catch {
+ case tx:TimeoutException => throw TimeoutInDbIoActionException(dataSource, timeout, tx)
+ case NonFatal(x) => throw CouldNotRunDbIoActionException(dataSource, x)
}
- catch {
+ }
+
+
+ def runTransaction[R](dbio: DBIOAction[R, NoStream, _]): Future[R] = {
+ database.run(dbio.transactionally)
+ }
+
+ def runTransactionBlocking[R](dbio: DBIOAction[R, NoStream, _], timeout: Duration = timeout): R = {
+ try {
+ Await.result(this.run(dbio.transactionally), timeout)
+ } catch {
case tx:TimeoutException => throw TimeoutInDbIoActionException(dataSource, timeout, tx)
- case NonFatal(x) => throw CouldNotRunDbIoActionException(dataSource,x)
+ case NonFatal(x) => throw CouldNotRunDbIoActionException(dataSource, x)
}
}
def insertQepQuery(runQueryRequest: RunQueryRequest):Unit = {
debug(s"insertQepQuery $runQueryRequest")
insertQepQuery(QepQuery(runQueryRequest))
}
def insertQepQuery(qepQuery: QepQuery):Unit = {
- dbRun(allQepQueryQuery += qepQuery)
+ runBlocking(allQepQueryQuery += qepQuery)
}
def selectAllQepQueries:Seq[QepQuery] = {
- dbRun(mostRecentVisibleQepQueries.result)
+ runBlocking(mostRecentVisibleQepQueries.result)
}
def selectPreviousQueries(request: ReadPreviousQueriesRequest):ReadPreviousQueriesResponse = {
val previousQueries: Seq[QepQuery] = selectPreviousQueriesByUserAndDomain(
request.authn.username,
request.authn.domain,
None,
Some(request.fetchSize))
val flags:Map[NetworkQueryId,QepQueryFlag] = selectMostRecentQepQueryFlagsFor(previousQueries.map(_.networkId).to[Set])
val queriesAndFlags = previousQueries.map(x => (x,flags.get(x.networkId)))
ReadPreviousQueriesResponse(queriesAndFlags.map(x => x._1.toQueryMaster(x._2)))
}
def countPreviousQueriesByUserAndDomain(userName: UserName, domain: String):Int = {
val q = mostRecentVisibleQepQueries.filter(r => r.userName === userName && r.userDomain === domain)
- dbRun(q.size.result)
+ runBlocking(q.size.result)
}
def selectQueryById(networkQueryId: NetworkQueryId): Option[QepQuery] =
- dbRun(mostRecentVisibleQepQueries.filter(_.networkId === networkQueryId).result).lastOption
+ runBlocking(mostRecentVisibleQepQueries.filter(_.networkId === networkQueryId).result).lastOption
def selectPreviousQueriesByUserAndDomain(userName: UserName, domain: String, skip:Option[Int] = None, limit:Option[Int] = None):Seq[QepQuery] = {
debug(s"start selectPreviousQueriesByUserAndDomain $userName $domain")
val q = mostRecentVisibleQepQueries.filter(r => r.userName === userName && r.userDomain === domain).sortBy(x => x.changeDate.desc)
val qWithSkip = skip.fold(q)(q.drop)
val qWithLimit = limit.fold(qWithSkip)(qWithSkip.take)
- val result = dbRun(qWithLimit.result)
+ val result = runBlocking(qWithLimit.result)
debug(s"finished selectPreviousQueriesByUserAndDomain with $result")
result
}
def renamePreviousQuery(request:RenameQueryRequest):Unit = {
val networkQueryId = request.networkQueryId
- dbRun(
+ runTransactionBlocking(
for {
queryResults <- mostRecentVisibleQepQueries.filter(_.networkId === networkQueryId).result
_ <- allQepQueryQuery ++= queryResults.map(_.copy(queryName = request.queryName,changeDate = System.currentTimeMillis()))
} yield queryResults
)
}
def markDeleted(request:DeleteQueryRequest):Unit = {
val networkQueryId = request.networkQueryId
- dbRun(
+ runTransactionBlocking(
for {
queryResults <- mostRecentVisibleQepQueries.filter(_.networkId === networkQueryId).result
_ <- allQepQueryQuery ++= queryResults.map(_.copy(deleted = true,changeDate = System.currentTimeMillis()))
} yield queryResults
)
}
def insertQepQueryFlag(flagQueryRequest: FlagQueryRequest):Unit = {
insertQepQueryFlag(QepQueryFlag(flagQueryRequest))
}
def insertQepQueryFlag(unflagQueryRequest: UnFlagQueryRequest):Unit = {
insertQepQueryFlag(QepQueryFlag(unflagQueryRequest))
}
def insertQepQueryFlag(qepQueryFlag: QepQueryFlag):Unit = {
- dbRun(allQepQueryFlags += qepQueryFlag)
+ runBlocking(allQepQueryFlags += qepQueryFlag)
}
def selectMostRecentQepQueryFlagsFor(networkIds:Set[NetworkQueryId]):Map[NetworkQueryId,QepQueryFlag] = {
- val flags:Seq[QepQueryFlag] = dbRun(mostRecentQueryFlags.filter(_.networkId inSet networkIds).result)
+ val flags:Seq[QepQueryFlag] = runBlocking(mostRecentQueryFlags.filter(_.networkId inSet networkIds).result)
flags.map(x => x.networkQueryId -> x).toMap
}
def selectMostRecentQepQueryFlagFor(networkQueryId: NetworkQueryId): Option[QepQueryFlag] =
- dbRun(mostRecentQueryFlags.filter(_.networkId === networkQueryId).result).lastOption
+ runBlocking(mostRecentQueryFlags.filter(_.networkId === networkQueryId).result).lastOption
def insertQepResultRow(qepQueryRow:QueryResultRow) = {
- dbRun(allQueryResultRows += qepQueryRow)
+ runBlocking(allQueryResultRows += qepQueryRow)
}
def insertQueryResult(networkQueryId:NetworkQueryId,result:QueryResult) = {
val adapterNode = result.description.getOrElse(throw new IllegalStateException("description is empty, does not have an adapter node"))
val queryResultRow = QueryResultRow(networkQueryId,result)
val breakdowns: Iterable[QepQueryBreakdownResultsRow] = result.breakdowns.flatMap(QepQueryBreakdownResultsRow.breakdownRowsFor(networkQueryId,adapterNode,result.resultId,_))
val problem: Seq[QepProblemDigestRow] = result.problemDigest.map(p => QepProblemDigestRow(networkQueryId,adapterNode,p.codec,p.stampText,p.summary,p.description,p.detailsXml.toString,System.currentTimeMillis())).to[Seq]
- dbRun(
+ runTransactionBlocking(
for {
_ <- allQueryResultRows += queryResultRow
_ <- allBreakdownResultsRows ++= breakdowns
_ <- allProblemDigestRows ++= problem
} yield ()
)
}
def insertQueryResultRow(queryResultRow: QueryResultRow) = {
- dbRun(allQueryResultRows += queryResultRow)
+ runBlocking(allQueryResultRows += queryResultRow)
}
def insertQueryResultRows(queryResultRows: Seq[QueryResultRow]) = {
- dbRun(allQueryResultRows ++= queryResultRows)
+ runBlocking(allQueryResultRows ++= queryResultRows)
}
//todo only used in tests. Is that OK?
def selectMostRecentQepResultRowsFor(networkId:NetworkQueryId): Seq[QueryResultRow] = {
- dbRun(mostRecentQueryResultRows.filter(_.networkQueryId === networkId).result)
+ runBlocking(mostRecentQueryResultRows.filter(_.networkQueryId === networkId).result)
}
def selectMostRecentFullQueryResultsFor(networkId:NetworkQueryId): Seq[FullQueryResult] = {
- val (queryResults, breakdowns,problems) = dbRun(
+ val (queryResults, breakdowns,problems) = runTransactionBlocking(
for {
queryResults <- mostRecentQueryResultRows.filter(_.networkQueryId === networkId).result
breakdowns: Seq[QepQueryBreakdownResultsRow] <- mostRecentBreakdownResultsRows.filter(_.networkQueryId === networkId).result
problems <- mostRecentProblemDigestRows.filter(_.networkQueryId === networkId).result
} yield (queryResults, breakdowns, problems)
)
val breakdownTypeToResults: Map[ResultOutputType, Seq[QepQueryBreakdownResultsRow]] = breakdowns.groupBy(_.resultType)
def seqOfOneProblemRowToProblemDigest(problemSeq:Seq[QepProblemDigestRow]):ProblemDigest = {
if(problemSeq.size == 1) problemSeq.head.toProblemDigest
else throw new IllegalStateException(s"problemSeq size was not 1. $problemSeq")
}
val adapterNodesToProblemDigests: Map[String, ProblemDigest] = problems.groupBy(_.adapterNode).map(nodeToProblem => nodeToProblem._1 -> seqOfOneProblemRowToProblemDigest(nodeToProblem._2) )
queryResults.map(r => FullQueryResult(
r,
breakdownTypeToResults,
adapterNodesToProblemDigests.get(r.adapterNode)
))
}
def selectMostRecentQepResultsFor(networkId:NetworkQueryId): Seq[QueryResult] = {
val fullQueryResults = selectMostRecentFullQueryResultsFor(networkId)
fullQueryResults.map(_.toQueryResult)
}
def insertQueryBreakdown(breakdownResultsRow:QepQueryBreakdownResultsRow) = {
- dbRun(allBreakdownResultsRows += breakdownResultsRow)
+ runBlocking(allBreakdownResultsRows += breakdownResultsRow)
}
def selectAllBreakdownResultsRows: Seq[QepQueryBreakdownResultsRow] = {
- dbRun(allBreakdownResultsRows.result)
+ runBlocking(allBreakdownResultsRows.result)
}
def selectDistinctAdaptersWithResults:Seq[String] = {
- dbRun(allQueryResultRows.map(_.adapterNode).distinct.result).sorted
+ runBlocking(allQueryResultRows.map(_.adapterNode).distinct.result).sorted
}
}
object QepQueryDb extends Loggable {
val dataSource:DataSource = TestableDataSourceCreator.dataSource(QepQuerySchema.config)
val timeout = QepQuerySchema.config.getInt("timeout") seconds
val db = QepQueryDb(QepQuerySchema.schema,dataSource,timeout)
val createTablesOnStart = QepQuerySchema.config.getBoolean("createTablesOnStart")
if(createTablesOnStart) QepQueryDb.db.createTables()
}
/**
* Separate class to support schema generation without actually connecting to the database.
*
* @param jdbcProfile Database profile to use for the schema
*/
case class QepQuerySchema(jdbcProfile: JdbcProfile,moreBreakdowns: Set[ResultOutputType]) extends Loggable {
import jdbcProfile.api._
def ddlForAllTables: jdbcProfile.DDL = {
allQepQueryQuery.schema ++ allQepQueryFlags.schema ++ allQueryResultRows.schema ++ allBreakdownResultsRows.schema ++ allProblemDigestRows.schema
}
//to get the schema, use the REPL
//println(QepQuerySchema.schema.ddlForAllTables.createStatements.mkString(";\n"))
def createTables(database:Database) = {
try {
val future = database.run(ddlForAllTables.create)
Await.result(future,10 seconds)
} catch {
//I'd prefer to check and create schema only if absent. No way to do that with Oracle.
case x:SQLException => info("Caught exception while creating tables. Recover by assuming the tables already exist.",x)
}
}
def dropTables(database:Database) = {
val future = database.run(ddlForAllTables.drop)
//Really wait forever for the cleanup
Await.result(future,Duration.Inf)
}
class QepQueries(tag:Tag) extends Table[QepQuery](tag,"previousQueries") {
def networkId = column[NetworkQueryId]("networkId")
def userName = column[UserName]("userName")
def userDomain = column[String]("domain")
def queryName = column[QueryName]("queryName")
def expression = column[Option[String]]("expression")
def dateCreated = column[Time]("dateCreated")
def deleted = column[Boolean]("deleted")
def queryXml = column[String]("queryXml")
def changeDate = column[Long]("changeDate")
def * = (networkId,userName,userDomain,queryName,expression,dateCreated,deleted,queryXml,changeDate) <> (QepQuery.tupled,QepQuery.unapply)
}
val allQepQueryQuery = TableQuery[QepQueries]
val mostRecentQepQueryQuery: Query[QepQueries, QepQuery, Seq] = for(
queries <- allQepQueryQuery if !allQepQueryQuery.filter(_.networkId === queries.networkId).filter(_.changeDate > queries.changeDate).exists
) yield queries
val mostRecentVisibleQepQueries = mostRecentQepQueryQuery.filter(_.deleted === false)
class QepQueryFlags(tag:Tag) extends Table[QepQueryFlag](tag,"queryFlags") {
def networkId = column[NetworkQueryId]("networkId")
def flagged = column[Boolean]("flagged")
def flagMessage = column[String]("flagMessage")
def changeDate = column[Long]("changeDate")
def * = (networkId,flagged,flagMessage,changeDate) <> (QepQueryFlag.tupled,QepQueryFlag.unapply)
}
val allQepQueryFlags = TableQuery[QepQueryFlags]
val mostRecentQueryFlags: Query[QepQueryFlags, QepQueryFlag, Seq] = for(
queryFlags <- allQepQueryFlags if !allQepQueryFlags.filter(_.networkId === queryFlags.networkId).filter(_.changeDate > queryFlags.changeDate).exists
) yield queryFlags
val qepQueryResultTypes = DefaultBreakdownResultOutputTypes.toSet ++ ResultOutputType.values ++ moreBreakdowns
val stringsToQueryResultTypes: Map[String, ResultOutputType] = qepQueryResultTypes.map(x => (x.name,x)).toMap
val queryResultTypesToString: Map[ResultOutputType, String] = stringsToQueryResultTypes.map(_.swap)
implicit val qepQueryResultTypesColumnType = MappedColumnType.base[ResultOutputType,String] ({
(resultType: ResultOutputType) => queryResultTypesToString(resultType)
},{
(string: String) => stringsToQueryResultTypes(string)
})
implicit val queryStatusColumnType = MappedColumnType.base[QueryResult.StatusType,String] ({
statusType => statusType.name
},{
name => QueryResult.StatusType.valueOf(name).getOrElse(throw new IllegalStateException(s"$name is not one of ${QueryResult.StatusType.values.map(_.name).mkString(", ")}"))
})
class QepQueryResults(tag:Tag) extends Table[QueryResultRow](tag,"queryResults") {
def resultId = column[Long]("resultId")
def networkQueryId = column[NetworkQueryId]("networkQueryId")
def instanceId = column[Long]("instanceId")
def adapterNode = column[String]("adapterNode")
def resultType = column[Option[ResultOutputType]]("resultType")
def size = column[Long]("size")
def startDate = column[Option[Long]]("startDate")
def endDate = column[Option[Long]]("endDate")
def status = column[QueryResult.StatusType]("status")
def statusMessage = column[Option[String]]("statusMessage")
def changeDate = column[Long]("changeDate")
def * = (resultId,networkQueryId,instanceId,adapterNode,resultType,size,startDate,endDate,status,statusMessage,changeDate) <> (QueryResultRow.tupled,QueryResultRow.unapply)
}
val allQueryResultRows = TableQuery[QepQueryResults]
//Most recent query result rows for each queryId from each adapter
val mostRecentQueryResultRows: Query[QepQueryResults, QueryResultRow, Seq] = for(
queryResultRows <- allQueryResultRows if !allQueryResultRows.filter(_.networkQueryId === queryResultRows.networkQueryId).filter(_.adapterNode === queryResultRows.adapterNode).filter(_.changeDate > queryResultRows.changeDate).exists
) yield queryResultRows
class QepQueryBreakdownResults(tag:Tag) extends Table[QepQueryBreakdownResultsRow](tag,"queryBreakdownResults") {
def networkQueryId = column[NetworkQueryId]("networkQueryId")
def adapterNode = column[String]("adapterNode")
def resultId = column[Long]("resultId")
def resultType = column[ResultOutputType]("resultType")
def dataKey = column[String]("dataKey")
def value = column[Long]("value")
def changeDate = column[Long]("changeDate")
def * = (networkQueryId,adapterNode,resultId,resultType,dataKey,value,changeDate) <> (QepQueryBreakdownResultsRow.tupled,QepQueryBreakdownResultsRow.unapply)
}
val allBreakdownResultsRows = TableQuery[QepQueryBreakdownResults]
//Most recent query result rows for each queryId from each adapter
val mostRecentBreakdownResultsRows: Query[QepQueryBreakdownResults, QepQueryBreakdownResultsRow, Seq] = for(
breakdownResultsRows <- allBreakdownResultsRows if !allBreakdownResultsRows.filter(_.networkQueryId === breakdownResultsRows.networkQueryId).filter(_.adapterNode === breakdownResultsRows.adapterNode).filter(_.resultId === breakdownResultsRows.resultId).filter(_.changeDate > breakdownResultsRows.changeDate).exists
) yield breakdownResultsRows
/*
case class ProblemDigest(codec: String, stampText: String, summary: String, description: String, detailsXml: NodeSeq) extends XmlMarshaller {
*/
class QepResultProblemDigests(tag:Tag) extends Table [QepProblemDigestRow](tag,"queryResultProblemDigests") {
def networkQueryId = column[NetworkQueryId]("networkQueryId")
def adapterNode = column[String]("adapterNode")
def codec = column[String]("codec")
def stamp = column[String]("stamp")
def summary = column[String]("summary")
def description = column[String]("description")
def details = column[String]("details")
def changeDate = column[Long]("changeDate")
def * = (networkQueryId,adapterNode,codec,stamp,summary,description,details,changeDate) <> (QepProblemDigestRow.tupled,QepProblemDigestRow.unapply)
}
val allProblemDigestRows = TableQuery[QepResultProblemDigests]
val mostRecentProblemDigestRows: Query[QepResultProblemDigests, QepProblemDigestRow, Seq] = for(
problemDigests <- allProblemDigestRows if !allProblemDigestRows.filter(_.networkQueryId === problemDigests.networkQueryId).filter(_.adapterNode === problemDigests.adapterNode).filter(_.changeDate > problemDigests.changeDate).exists
) yield problemDigests
}
object QepQuerySchema {
val allConfig:Config = ConfigSource.config
val config:Config = allConfig.getConfig("shrine.queryEntryPoint.audit.database")
val slickProfile:JdbcProfile = ConfigSource.getObject("slickProfileClassName", config)
import net.shrine.config.ConfigExtensions
val moreBreakdowns: Set[ResultOutputType] = config.getOptionConfigured("breakdownResultOutputTypes",ResultOutputTypes.fromConfig).getOrElse(Set.empty)
val schema = QepQuerySchema(slickProfile,moreBreakdowns)
}
case class QepQuery(
networkId:NetworkQueryId,
userName: UserName,
userDomain: String,
queryName: QueryName,
expression: Option[String],
dateCreated: Time,
deleted: Boolean,
queryXml: String,
changeDate: Time
){
def toQueryMaster(qepQueryFlag:Option[QepQueryFlag]):QueryMaster = {
QueryMaster(
queryMasterId = networkId.toString,
networkQueryId = networkId,
name = queryName,
userId = userName,
groupId = userDomain,
createDate = XmlDateHelper.toXmlGregorianCalendar(dateCreated),
flagged = qepQueryFlag.map(_.flagged),
flagMessage = qepQueryFlag.map(_.flagMessage)
)
}
}
object QepQuery extends ((NetworkQueryId,UserName,String,QueryName,Option[String],Time,Boolean,String,Time) => QepQuery) {
def apply(runQueryRequest: RunQueryRequest):QepQuery = {
new QepQuery(
networkId = runQueryRequest.networkQueryId,
userName = runQueryRequest.authn.username,
userDomain = runQueryRequest.authn.domain,
queryName = runQueryRequest.queryDefinition.name,
expression = runQueryRequest.queryDefinition.expr.map(_.toString),
dateCreated = System.currentTimeMillis(),
deleted = false,
queryXml = runQueryRequest.toXmlString,
changeDate = System.currentTimeMillis()
)
}
}
case class QepQueryFlag(
networkQueryId: NetworkQueryId,
flagged:Boolean,
flagMessage:String,
changeDate:Long
)
object QepQueryFlag extends ((NetworkQueryId,Boolean,String,Long) => QepQueryFlag) {
def apply(flagQueryRequest: FlagQueryRequest):QepQueryFlag = {
QepQueryFlag(
networkQueryId = flagQueryRequest.networkQueryId,
flagged = true,
flagMessage = flagQueryRequest.message.getOrElse(""),
changeDate = System.currentTimeMillis()
)
}
def apply(unflagQueryRequest: UnFlagQueryRequest):QepQueryFlag = {
QepQueryFlag(
networkQueryId = unflagQueryRequest.networkQueryId,
flagged = false,
flagMessage = "",
changeDate = System.currentTimeMillis()
)
}
}
//todo replace with a class per state
case class FullQueryResult(
resultId:Long,
networkQueryId:NetworkQueryId,
instanceId:Long,
adapterNode:String,
resultType:Option[ResultOutputType],
count:Long,
startDate:Option[Long],
endDate:Option[Long],
status:QueryResult.StatusType,
statusMessage:Option[String],
changeDate:Long,
breakdownTypeToResults:Map[ResultOutputType,Seq[QepQueryBreakdownResultsRow]],
problemDigest:Option[ProblemDigest]
) {
def toQueryResult = {
def resultEnvelopesFrom(breakdownTypeToResults:Map[ResultOutputType,Seq[QepQueryBreakdownResultsRow]]): Map[ResultOutputType, I2b2ResultEnvelope] = {
def resultEnvelopeFrom(resultType:ResultOutputType,breakdowns:Seq[QepQueryBreakdownResultsRow]):I2b2ResultEnvelope = {
val data = breakdowns.map(b => b.dataKey -> b.value).toMap
I2b2ResultEnvelope(resultType,data)
}
breakdownTypeToResults.map(r => r._1 -> resultEnvelopeFrom(r._1,r._2))
}
QueryResult(
resultId = resultId,
instanceId = instanceId,
resultType = resultType,
setSize = count,
startDate = startDate.map(XmlDateHelper.toXmlGregorianCalendar),
endDate = endDate.map(XmlDateHelper.toXmlGregorianCalendar),
description = Some(adapterNode),
statusType = status,
statusMessage = statusMessage,
breakdowns = resultEnvelopesFrom(breakdownTypeToResults),
problemDigest = problemDigest
)
}
}
object FullQueryResult {
def apply(row:QueryResultRow,
breakdownTypeToResults:Map[ResultOutputType,Seq[QepQueryBreakdownResultsRow]],
problemDigest:Option[ProblemDigest]):FullQueryResult = {
FullQueryResult(resultId = row.resultId,
networkQueryId = row.networkQueryId,
instanceId = row.instanceId,
adapterNode = row.adapterNode,
resultType = row.resultType,
count = row.size,
startDate = row.startDate,
endDate = row.endDate,
status = row.status,
statusMessage = row.statusMessage,
changeDate = row.changeDate,
breakdownTypeToResults = breakdownTypeToResults,
problemDigest = problemDigest
)
}
}
case class QueryResultRow(
resultId:Long,
networkQueryId:NetworkQueryId,
instanceId:Long,
adapterNode:String,
resultType:Option[ResultOutputType],
size:Long,
startDate:Option[Long],
endDate:Option[Long],
status:QueryResult.StatusType,
statusMessage:Option[String],
changeDate:Long
) {
}
object QueryResultRow extends ((Long,NetworkQueryId,Long,String,Option[ResultOutputType],Long,Option[Long],Option[Long],QueryResult.StatusType,Option[String],Long) => QueryResultRow)
{
def apply(networkQueryId:NetworkQueryId,result:QueryResult):QueryResultRow = {
new QueryResultRow(
resultId = result.resultId,
networkQueryId = networkQueryId,
instanceId = result.instanceId,
adapterNode = result.description.getOrElse(s"$result has None in its description field, instead of the name of an adapter node."),
resultType = result.resultType,
size = result.setSize,
startDate = result.startDate.map(_.toGregorianCalendar.getTimeInMillis),
endDate = result.endDate.map(_.toGregorianCalendar.getTimeInMillis),
status = result.statusType,
statusMessage = result.statusMessage,
changeDate = System.currentTimeMillis()
)
}
}
case class QepQueryBreakdownResultsRow(
networkQueryId: NetworkQueryId,
adapterNode:String,
resultId:Long,
resultType: ResultOutputType,
dataKey:String,
value:Long,
changeDate:Long
)
object QepQueryBreakdownResultsRow extends ((NetworkQueryId,String,Long,ResultOutputType,String,Long,Long) => QepQueryBreakdownResultsRow){
def breakdownRowsFor(networkQueryId:NetworkQueryId,
adapterNode:String,
resultId:Long,
breakdown:(ResultOutputType,I2b2ResultEnvelope)): Iterable[QepQueryBreakdownResultsRow] = {
breakdown._2.data.map(b => QepQueryBreakdownResultsRow(networkQueryId,adapterNode,resultId,breakdown._1,b._1,b._2,System.currentTimeMillis()))
}
}
case class QepProblemDigestRow(
networkQueryId: NetworkQueryId,
adapterNode: String,
codec: String,
stampText: String,
summary: String,
description: String,
details: String,
changeDate:Long
){
def toProblemDigest = {
ProblemDigest(
codec,
stampText,
summary,
description,
if(!details.isEmpty) XML.loadString(details)
else <details/>,
//TODO: FIGURE OUT HOW TO GET AN ACUTAL EPOCH INTO HERE
0
)
}
}
case class QepDatabaseProblem(x:Exception) extends AbstractProblem(ProblemSources.Qep){
override val summary = "A problem encountered while using a database."
override val throwable = Some(x)
override val description = x.getMessage
}
\ No newline at end of file
diff --git a/shrine-setup/src/main/resources/shrine.conf b/shrine-setup/src/main/resources/shrine.conf
index 79ab08192..3e2237709 100644
--- a/shrine-setup/src/main/resources/shrine.conf
+++ b/shrine-setup/src/main/resources/shrine.conf
@@ -1,358 +1,367 @@
shrine {
metaData {
ping = "pong"
}
pmEndpoint {
// url = "http://shrine-dev1.catalyst/i2b2/services/PMService/getServices" //use your i2b2 pm url
}
ontEndpoint {
// url = "http://shrine-dev1.catalyst/i2b2/rest/OntologyService/" //use your i2b2 ontology url
}
hiveCredentials {
//use your i2b2 hive credentials
// domain = "i2b2demo"
// username = "demo"
// password = "examplePassword"
// crcProjectId = "Demo"
// ontProjectId = "SHRINE"
}
messagequeue {
hornetq {
serverUrl = "https://localhost:6443/shrine-metadata/mom"
}
// If you intend for your node to serve as this SHRINE network's messaging hub,
// then set shrine.messagequeue.hornetQWebApi.enabled to true in your shrine.conf.
// You do not want to do this unless you are the hub admin
hornetQWebApi {
- // enabled = false
+ // enabled = false
+ // messageTimeOutSeconds = 10 seconds
+ // webClientTimeOutSecond = 10 seconds
+ }
+ httpClient {
+ defaultTimeOut = 10 seconds
+ timeOutWaitGap = 1 second
+ }
+ messagequeue {
+// receiveWaitTime = "15 seconds"
}
}
breakdownResultOutputTypes {
//use breakdown values appropriate for your shrine network
// PATIENT_AGE_COUNT_XML {
// description = "Age patient breakdown"
// }
// PATIENT_RACE_COUNT_XML {
// description = "Race patient breakdown"
// }
// PATIENT_VITALSTATUS_COUNT_XML {
// description = "Vital Status patient breakdown"
// }
// PATIENT_GENDER_COUNT_XML {
// description = "Gender patient breakdown"
// }
}
queryEntryPoint {
// create = true //false for no qep
// audit {
// collectQepAudit = true //false to not use the 1.20 audit db tables
// database {
// dataSourceFrom = "JNDI" //Can be JNDI or testDataSource . Use testDataSource for tests, JNDI everywhere else
// jndiDataSourceName = "java:comp/env/jdbc/qepAuditDB" //or leave out for tests
// slickProfileClassName = "slick.driver.MySQLDriver$" // Can be
// slick.driver.H2Driver$
// slick.driver.MySQLDriver$
// slick.driver.PostgresDriver$
// slick.driver.SQLServerDriver$
// slick.driver.JdbcDriver$
// freeslick.OracleProfile$
// freeslick.MSSQLServerProfile$
//
// (Yes, with the $ on the end)
// For testing without JNDI
// testDataSource {
//typical test settings for unit tests
//driverClassName = "org.h2.Driver"
//url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" //H2 embedded in-memory for unit tests
//url = "jdbc:h2:~/stewardTest.h2" //H2 embedded on disk at ~/test
// }
// timeout = 30 //time to wait before db gives up, in seconds.
// createTablesOnStart = false //for testing with H2 in memory, when not running unit tests. Set to false normally
// }
// }
// trustModelIsHub = true // true by default, false for P2P networks.
// authenticationType = "pm" //can be none, pm, or ecommons
// authorizationType = "shrine-steward" //can be none, shrine-steward, or hms-steward
//hms-steward config
// sheriffEndpoint {
// url = "http://localhost:8080/shrine-hms-authorization/queryAuthorization"
// timeout {
// seconds = 1
// }
// }
// sheriffCredentials {
// username = "sheriffUsername"
// password = "sheriffPassword"
// }
//shrine-steward config
// shrineSteward {
// qepUserName = "qep"
// qepPassword = "trustme"
// stewardBaseUrl = "https://localhost:6443"
// }
// includeAggregateResults = false
//
// maxQueryWaitTime {
// minutes = 5 //must be longer than the hub's maxQueryWaitTime
// }
// broadcasterServiceEndpoint {
// url = "http://example.com/shrine/rest/broadcaster/broadcast" //url for the hub
// acceptAllCerts = true
// timeout {
// seconds = 1
// }
// }
}
hub {
// create = false //change to true to start a hub
maxQueryWaitTime {
// minutes = 4.5 //Needs to be longer than the adapter's maxQueryWaitTime, but shorter than the qep's
}
// downstreamNodes { //Add your downstream nodes here
// shrine-dev2 = "https://shrine-dev2.catalyst:6443/shrine/rest/adapter/requests"
// }
shouldQuerySelf = false //true if there is an adapter at the hub , or just add a loopback address to downstreamNodes
}
adapter {
// create = true by default. False to not create an adapter.
// audit {
// collectAdapterAudit = true by default. False to not fill in the audit database
// database {
// dataSourceFrom = "JNDI" //Can be JNDI or testDataSource . Use testDataSource for tests, JNDI everywhere else
// jndiDataSourceName = "java:comp/env/jdbc/adapterAuditDB" //or leave out for tests
// slickProfileClassName = "slick.driver.MySQLDriver$" // Can be
// slick.driver.H2Driver$
// slick.driver.MySQLDriver$
// slick.driver.PostgresDriver$
// slick.driver.SQLServerDriver$
// slick.driver.JdbcDriver$
// freeslick.OracleProfile$
// freeslick.MSSQLServerProfile$
//
// (Yes, with the $ on the end)
// For testing without JNDI
// testDataSource {
//typical test settings for unit tests
//driverClassName = "org.h2.Driver"
//url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" //H2 embedded in-memory for unit tests
//url = "jdbc:h2:~/stewardTest.h2" //H2 embedded on disk at ~/test
// }
// createTablesOnStart = false //for testing with H2 in memory, when not running unit tests. Set to false normally
// }
// obfuscation {
// binSize = 5 by default //Round to the nearest binSize. Use 1 for no effect (to match SHRINE 1.21 and earlier).
// sigma = 6.5 by default //Noise to inject. Use 0 for no effect. (Use 1.33 to match SHRINE 1.21 and earlier).
// clamp = 10 by default //Maximum ammount of noise to inject. (Use 3 to match SHRINE 1.21 and earlier).
// }
// adapterLockoutAttemptsThreshold = 0 by default // Number of allowed queries with the same actual result that can exist before a researcher is locked out of the adapter. In 1.24 the lockout code and this config value will be removed
// botDefense {
// countsAndMilliseconds = [ //to turn off, use an empty json list
// {count = 10, milliseconds = 60000}, //allow up to 10 queries in one minute by default
// {count = 200, milliseconds = 36000000} //allow up to 4 queries in 10 hours by default
// ]
// }
crcEndpoint {
//must be filled in url = "http://shrine-dev1.catalyst/i2b2/services/QueryToolService/"
}
setSizeObfuscation = true //must be set. false turns off obfuscation
adapterMappingsFileName = "AdapterMappings.xml"
maxSignatureAge {
minutes = 5 //must be longer than the hub's maxQueryWaitTime
}
immediatelyRunIncomingQueries = true //false to queue them
//delayResponse = "0 seconds" //time to delay before responding to a query. Should be 0 except for testing in shrine-qa
}
networkStatusQuery = "\\\\SHRINE\\SHRINE\\Demographics\\Gender\\Male\\"
humanReadableNodeName = "shrine-dev1"
shrineDatabaseType = "mysql"
keystore {
file = "/opt/shrine/shrine.keystore"
password = "changeit"
privateKeyAlias = "shrine-dev1.catalyst"
keyStoreType = "JKS"
caCertAliases = [
"shrine-dev-ca"
]
}
problem {
// problemHandler = "net.shrine.problem.LogAndDatabaseProblemHandler$" Can be other specialized problemHandler implementations
// database {
// dataSourceFrom = "JNDI" //Can be JNDI or testDataSource . Use testDataSource for tests, JNDI everywhere else
// jndiDataSourceName = "java:comp/env/jdbc/problemDB"
// slickProfileClassName = "slick.driver.MySQLDriver$" // Can be
// slick.driver.H2Driver$
// slick.driver.MySQLDriver$
// slick.driver.PostgresDriver$
// slick.driver.SQLServerDriver$
// slick.driver.JdbcDriver$
// freeslick.OracleProfile$
// freeslick.MSSQLServerProfile$
//
// (Yes, with the $ on the end)
// For testing without JNDI
// testDataSource {
//typical test settings for unit tests
//driverClassName = "org.h2.Driver"
//url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" //H2 embedded in-memory for unit tests
//url = "jdbc:h2:~/stewardTest.h2" //H2 embedded on disk at ~/test
// }
// createTablesOnStart = false //for testing with H2 in memory, when not running unit tests. Set to false normally
// }
}
dashboard {
// gruntWatch = false //false for production, true for mvn tomcat7:run . Allows the client javascript and html files to be loaded via gruntWatch .
// happyBaseUrl = "https://localhost:6443/shrine/rest/happy" If the shine servlet is running on a different machime from the dashboard, change this URL to match
// statusBaseUrl = "https://localhost:6443/shrine/rest/internalstatus" If the shine servlet is running on a different machime from the dashboard, change this URL to match
// }
// status {
//permittedHostOfOrigin = "localhost" //If absent then get the host name via java.net.InetAddress.getLocalHost.getHostName . Override to control
}
//Get the older squerl-basd databases through JNDI (inside of tomcant, using tomcat's db connection pool) or directly via a db config here (for testing
squerylDataSource {
// database {
// dataSourceFrom = "JNDI" //Can be JNDI or testDataSource . Use testDataSource for tests, JNDI everywhere else
// jndiDataSourceName = "java:comp/env/jdbc/shrineDB" //or leave out for tests
// }
}
authenticate {
// realm = "SHRINE Researcher API" //todo figure out what this means. SHRINE-1978
usersource {
// domain = "i2b2demo" //you must provide your own domain
}
}
steward {
// createTopicsMode = Pending //Can be Pending, Approved, or TopcisIgnoredJustLog. Pending by default
//Pending - new topics start in the Pending state; researchers must wait for the Steward to approve them
//Approved - new topics start in the Approved state; researchers can use them immediately
//TopicsIgnoredJustLog - all queries are logged and approved; researchers don't need to create topics
emailDataSteward {
// sendAuditEmails = true //false to turn off the whole works of emailing the data steward
// interval = "1 day" //Audit researchers daily
// timeAfterMidnight = "6 hours" //Audit researchers at 6 am. If the interval is less than 1 day then this delay is ignored.
// maxQueryCountBetweenAudits = 30 //If a researcher runs more than this many queries since the last audit audit her
// minTimeBetweenAudits = "30 days" //If a researcher runs at least one query, audit those queries if this much time has passed
//You must provide the email address of the shrine node system admin, to handle bounces and invalid addresses
//from = "shrine-admin@example.com"
//You must provide the email address of the data steward
//to = "shrine-steward@example.com"
// subject = "Audit SHRINE researchers"
//The baseUrl for the data steward to be substituted in to email text. Must be supplied if it is used in the email text.
//stewardBaseUrl = "https://example.com:8443/steward/"
//Text to use for the email audit.
// AUDIT_LINES will be replaced by a researcherLine for each researcher to audit.
// STEWARD_BASE_URL will be replaced by the value in stewardBaseUrl if available.
// emailBody = """Please audit the following users at STEWARD_BASE_URL at your earliest convinience:
//
//AUDIT_LINES""" //note that this can be a multiline message
//Text to use per researcher to audit.
//FULLNAME, USERNAME, COUNT and LAST_AUDIT_DATE will be replaced with appropriate text.
// researcherLine = "FULLNAME (USERNAME) has run COUNT queries since LAST_AUDIT_DATE."
}
// database {
// dataSourceFrom = "JNDI" //Can be JNDI or testDataSource . Use testDataSource for tests, JNDI everywhere else
// jndiDataSourceName = "java:comp/env/jdbc/stewardDB" //or leave out for tests
// slickProfileClassName = "slick.driver.MySQLDriver$" // Can be
// slick.driver.H2Driver$
// slick.driver.MySQLDriver$
// slick.driver.PostgresDriver$
// slick.driver.SQLServerDriver$
// slick.driver.JdbcDriver$
// freeslick.OracleProfile$
// freeslick.MSSQLServerProfile$
//
// (Yes, with the $ on the end)
// For testing without JNDI
// testDataSource {
//typical test settings for unit tests
//driverClassName = "org.h2.Driver"
//url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" //H2 embedded in-memory for unit tests
//url = "jdbc:h2:~/stewardTest.h2" //H2 embedded on disk at ~/test
// }
// createTablesOnStart = false // true for testing with H2 in memory, when not running unit tests. Set to false normally
// }
// gruntWatch = false //false for production, true for mvn tomcat7:run . Allows the client javascript and html files to be loaded via gruntWatch .
}
email {
//add javax mail properties from https://www.tutorialspoint.com/javamail_api/javamail_api_smtp_servers.htm here
// javaxmail {
// mail {
// smtp {
//for postfix on localhost
// host = localhost
// port = 25
//for AWS SES - See http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-using-smtp-java.html
// host = email-smtp.us-east-1.amazonaws.com
// port = 25
// transport.protocol = smtps
// auth = true
// starttls.enable = true
// starttls.required = true
// }
// }
// }
//Must be set for AWS SES. See http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-using-smtp-java.html
// authenticator {
// username = yourUsername
// password = yourPassword
// }
}
}
//Default settings for akka
//akka {
// loglevel = INFO
// log-config-on-start = on
// loggers = ["akka.event.slf4j.Slf4jLogger"]
// Toggles whether the threads created by this ActorSystem should be daemons or not. Use daemonic inside of tomcat to support shutdown
// daemonic = on
//}
//You'll see these settings for spray, baked into the .war files.
//spray.servlet {
// boot-class = "net.shrine.dashboard.net.shrine.metadata.Boot" //Don't change this one. It'll start the wrong (or no) application if you change it.
// request-timeout = 30s
//}
diff --git a/shrine-webclient/src/main/js/client/js-i2b2/cells/CRC/CRC_ctrlr_QryTool.js b/shrine-webclient/src/main/js/client/js-i2b2/cells/CRC/CRC_ctrlr_QryTool.js
index f245f12db..ecc780c51 100644
--- a/shrine-webclient/src/main/js/client/js-i2b2/cells/CRC/CRC_ctrlr_QryTool.js
+++ b/shrine-webclient/src/main/js/client/js-i2b2/cells/CRC/CRC_ctrlr_QryTool.js
@@ -1,2970 +1,2969 @@
/**
* @projectDescription Event controller for CRC's Query Tool.
* @inherits i2b2.CRC.ctrlr
* @namespace i2b2.CRC.ctrlr.QT
* @author Nick Benik, Griffin Weber MD PhD
* @version 1.3
* ----------------------------------------------------------------------------------------
* updated 9-15-08: RC4 launch [Nick Benik]
*/
console.group('Load & Execute component file: CRC > ctrlr > QueryTool');
console.time('execute time');
i2b2.CRC.ctrlr.QT = new QueryToolController();
function QueryToolController() {
i2b2.CRC.model.queryCurrent = {};
this.queryIsDirty = true;
this.queryIsRunning = false;
this.queryNamePrompt = false;
this.queryTiming = 'ANY';
this.temporalGroup = 0;
this.tenporalBuilders = 0;
this.hasModifier = false;
this.queryNameDefault = 'New Query';
this.queryStatusDefaultText = 'Drag query items to one or more groups then click Run Query.';
this.panelControllers = [];
this.panelControllers[0] = new i2b2_PanelController(this);
this.panelControllers[1] = new i2b2_PanelController(this);
this.panelControllers[2] = new i2b2_PanelController(this);
// ================================================================================================== //
this.doSetQueryName = function(inName) {
this.queryIsDirty = true;
$('queryName').innerHTML = inName;
i2b2.CRC.model.queryCurrent.name = inName;
}
// ================================================================================================== //
this.doQueryClear = function() {
// function to clear query from memory
delete i2b2.CRC.model.queryCurrent;
delete i2b2.CRC.ctrlr.currentQueryResults;
i2b2.CRC.model.queryCurrent = {};
i2b2.CRC.ctrlr.QT.temporalGroup = 0;
var dm = i2b2.CRC.model.queryCurrent;
dm.panels = [];
dm.panels[0] = new Array();
dm.panels[1] = new Array();
dm.panels[2] = new Array();
this.doSetQueryName.call(this,'');
this.doShowFrom(0);
this._redrawPanelCount();
this.queryNamePrompt = false;
this.queryIsDirty = true;
this.hasModifier = false;
$('infoQueryStatusText').innerHTML = "";
$('infoQueryStatusChart').innerHTML = "";
$('infoQueryStatusReport').innerHTML = "";
$('infoDownloadStatusData').innerHTML = "";
$('crc.temoralBuilder').hide();
$('crc.innerQueryPanel').show();
this.panelControllers[0].refTitle.innerHTML = 'Group 1';
$("defineTemporal-button").innerHTML = "Population in which events occur";
i2b2.CRC.view.QT.setQueryTiming(0);
}
// ================================================================================================== //
this.doQueryLoad = function(qm_id) { // function to load query from history
// clear existing query
i2b2.CRC.ctrlr.QT.doQueryClear();
// show on GUI that work is being done
i2b2.h.LoadingMask.show();
// callback processor
var scopedCallback = new i2b2_scopedCallback();
scopedCallback.scope = this;
scopedCallback.callback = function(results) {
// -- run awaaaaay! --//
if(results.error) {
// redraw the Query Tool GUI
i2b2.CRC.ctrlr.QT._redrawPanelCount();
i2b2.CRC.ctrlr.QT.doScrollFirst();
// hide the loading mask
i2b2.h.LoadingMask.hide();
i2b2.CRC.ctrlr.QT.temporalGroup = 0;
i2b2.CRC.ctrlr.QT._redrawAllPanels();
alert(results.errorMsg);
return;
}
var cl_queryMasterId = qm_id;
// THIS function is used to process the AJAX results of the getChild call
// results data object contains the following attributes:
// refXML: xmlDomObject <--- for data processing
// msgRequest: xml (string)
// msgResponse: xml (string)
// error: boolean
// errorStatus: string [only with error=true]
// errorMsg: string [only with error=true]
i2b2.CRC.view.QT.queryRequest = results.msgRequest;
i2b2.CRC.view.QT.queryResponse = results.msgResponse;
// switch to status tab
i2b2.CRC.view.status.showDisplay();
// did we get a valid query definition back?
var qd = i2b2.h.XPath(results.refXML, 'descendant::query_name/..');
if (qd.length != 0) {
i2b2.CRC.ctrlr.QT.doQueryClear();
var dObj = {};
//1.17 dObj.name = i2b2.h.getXNodeVal(results.refXML,'name');
dObj.name = i2b2.h.getXNodeVal(results.refXML,'query_name');
$('queryName').innerHTML = dObj.name;
dObj.specificity = i2b2.h.getXNodeVal(qd[0],'specificity_scale');
dObj.panels = []; //1.17
for (var j=0; j <qd.length; j++) {
/* 1.17
qp variable initialization was if else for i2b2.
if (j==0)
var qp = i2b2.h.XPath(qd[j], 'panel');
else
*/
var qp = i2b2.h.XPath(qd[j], 'descendant::panel');//1.17
var total_panels = qp.length;
for (var i1=0; i1<total_panels; i1++) {
//1.17 i2b2.CRC.ctrlr.QT.temporalGroup = j;
i2b2.CRC.ctrlr.QT.temporalGroup = 0; //1.17
//1.17 i2b2.CRC.ctrlr.QT._redrawAllPanels();
// extract the data for each panel
var po = {};
po.panel_num = i2b2.h.getXNodeVal(qp[i1],'panel_number');
var t = i2b2.h.getXNodeVal(qp[i1],'invert');
po.exclude = (t=="1");
//po.timing = i2b2.h.getXNodeVal(qp[i1],'panel_timing');
// 1.4 queries don't have panel_timing, and undefined doesn't work
// so default to ANY
po.timing = i2b2.h.getXNodeVal(qp[i1],'panel_timing') || 'ANY';
i2b2.CRC.view.QT.setPanelTiming(po.panel_num, po.timing);
var t = i2b2.h.getXNodeVal(qp[i1],'total_item_occurrences');
po.occurs = (1*t)-1;
//1.17 var t = i2b2.h.getXNodeVal(qp[i1],'panel_accuracy_scale');
// 1.17 po.relevance = t;
var t = i2b2.h.getXNodeVal(qp[i1],'panel_date_from');
if (t) {
//section added for 1.17
t = t.replace('Z','');
t = t.split('-');
po.dateFrom = {};
po.dateFrom.Year = t[0];
po.dateFrom.Month = t[1];
po.dateFrom.Day = t[2];
/**
* Commented out for 1.17.
po.dateFrom = {};
po.dateFrom.Year = t.substring(0,4); //t[0];
po.dateFrom.Month = t.substring(5,7); //t[1];
po.dateFrom.Day = t.substring(8,10); //t[2];
**/
} else {
po.dateFrom = false;
}
var t = i2b2.h.getXNodeVal(qp[i1],'panel_date_to');
if (t) {
//added for 1.17
t = t.replace('Z','');
t = t.split('-');
po.dateTo = {};
po.dateTo.Year = t[0];
po.dateTo.Month = t[1];
po.dateTo.Day = t[2];
/**
* Commented out for 1.17.
po.dateTo = {};
po.dateTo.Year = t.substring(0,4); //t[0];
po.dateTo.Month = t.substring(5,7); // t[1];
po.dateTo.Day = t.substring(8,10);// t[2];
*/
} else {
po.dateTo = false;
}
//process query items.
po.items = [];
var pi = i2b2.h.XPath(qp[i1], 'descendant::item[item_key]');
for (i2=0; i2<pi.length; i2++) {
var item = {};
// get the item's details from the ONT Cell
var ckey = i2b2.h.getXNodeVal(pi[i2],'item_key');
//1.17 WE MUST QUERY THE ONT CELL TO BE ABLE TO DISPLAY THE TREE STRUCTURE CORRECTLY
var cdetails = i2b2.ONT.ajax.GetTermInfo("CRC:QueryTool", {concept_key_value:ckey, ont_synonym_records: true, ont_hidden_records: true} );
//1.17 this is what comes out of the old AJAX call
var c = i2b2.h.XPath(cdetails.refXML, 'descendant::concept');
//this entire if block is for 1.17.
if (c.length > 0) {
c = c[0];
var o = new Object;
o.xmlOrig = c;
o.table_name = i2b2.h.getXNodeVal(c,'tablename');
o.column_name = i2b2.h.getXNodeVal(c,'columnname');
o.operator = i2b2.h.getXNodeVal(c,'operator');
o.icd9 = i2b2.h.getXNodeVal(c,'basecode');
o.level = i2b2.h.getXNodeVal(c,'level');
o.name = i2b2.h.getXNodeVal(c,'name');
o.key = i2b2.h.getXNodeVal(c,'key');
o.tooltip = i2b2.h.getXNodeVal(c,'tooltip');
o.dim_code = i2b2.h.getXNodeVal(c,'dimcode');
o.visual_attribs = i2b2.h.getXNodeVal(c,'visualattributes');
o.hasChildren = i2b2.h.getXNodeVal(c,'visualattributes').substring(0,2);
// these are not needed?
o.fact_table_column = i2b2.h.getXNodeVal(c,'facttablecolumn');
o.column_name_datatype = i2b2.h.getXNodeVal(c,'columndatatype');
o.synonym_cd = i2b2.h.getXNodeVal(c,'synonym_cd');
o.totalnum = i2b2.h.getXNodeVal(c,'totalnum');
//1.17 process lab values.
var lvd = i2b2.h.XPath(pi[i2], 'descendant::constrain_by_value');
if (lvd.length>0){
lvd = lvd[0];
// pull the LabValue definition for concept
var lvdef = i2b2.h.XPath(c, "descendant::metadataxml/ValueMetadata[Loinc]");
if (lvdef.length > 0) {
lvdef = lvdef[0];
} else {
lvdef = false;
}
// extract & translate
var t = i2b2.h.getXNodeVal(lvd,"value_constraint");
o.LabValues = {};
o.LabValues.NumericOp = i2b2.h.getXNodeVal(lvd,"value_operator");
o.LabValues.GeneralValueType = i2b2.h.getXNodeVal(lvd,"value_type");
switch(o.LabValues.GeneralValueType) {
case "NUMBER":
o.LabValues.MatchBy = "VALUE";
if (t.indexOf(' and ')!=-1) {
// extract high and low values
t = t.split(' and ');
o.LabValues.ValueLow = t[0];
o.LabValues.ValueHigh = t[1];
} else {
o.LabValues.Value = t;
}
break;
case "STRING":
o.LabValues.MatchBy = "VALUE";
o.LabValues.ValueString = t;
break;
case "TEXT": // this means Enum?
o.LabValues.MatchBy = "VALUE";
try {
o.LabValues.ValueEnum = eval("(Array"+t+")");
} catch(e) {
console.error("Conversion Failed: Lab Value data = "+t);
}
break;
case "FLAG":
o.LabValues.MatchBy = "FLAG";
o.LabValues.ValueFlag = t
break;
default:
o.LabValues.Value = t;
}
}//1.17 end lab values section
var sdxDataNode = i2b2.sdx.Master.EncapsulateData('CONCPT',o);
if (o.LabValues) {
// We do want 2 copies of the Lab Values: one is original from server while the other one is for user manipulation
sdxDataNode.LabValues = o.LabValues;
}
//push item on po.
po.items.push(sdxDataNode);
} else {
console.error("CRC's ONT Handler could not get term details about '"+ckey+"'!");
}
}
dObj.panels[po.panel_num] = po;
}
// reindex the panels index (panel [1,3,5] should be [0,1,2])
dObj.panels = dObj.panels.compact();
i2b2.CRC.model.queryCurrent.panels[j] = dObj.panels;
var qpc = i2b2.CRC.ctrlr.QT.panelControllers[0];
var dm = i2b2.CRC.model.queryCurrent;
for (var k=0; k<dm.panels.length; k++) {
//length of panels should always be 1.
for (var pi=0; pi<dm.panels[k].length; pi++) {
// create a treeview root node and connect it to the treeview controller
dm.panels[k][pi].tvRootNode = new YAHOO.widget.RootNode(qpc.yuiTree);
qpc.yuiTree.root = dm.panels[k][pi].tvRootNode;
dm.panels[k][pi].tvRootNode.tree = qpc.yuiTree;
qpc.yuiTree.setDynamicLoad(i2b2.CRC.ctrlr.QT._loadTreeDataForNode,1);
// load the treeview with the data
var tvRoot = qpc.yuiTree.getRoot();
for (var pii=0; pii<dm.panels[k][pi].items.length; pii++) {
var withRenderData = qpc._addConceptVisuals(dm.panels[k][pi].items[pii], tvRoot, false);
if (dm.panels[k][pi].items[pii].ModValues)
{
withRenderData.ModValues = dm.panels[k][pi].items[pii].ModValues;
}
if (dm.panels[k][pi].items[pii].LabValues)
{
withRenderData.LabValues = dm.panels[k][pi].items[pii].LabValues;
}
dm.panels[k][pi].items[pii] = withRenderData;
}
}
}
// redraw the Query Tool GUI
i2b2.CRC.ctrlr.QT._redrawPanelCount();
i2b2.CRC.ctrlr.QT.doScrollFirst();
// hide the loading mask
i2b2.h.LoadingMask.hide();
}
i2b2.CRC.ctrlr.QT.temporalGroup = 0;
i2b2.CRC.ctrlr.QT._redrawAllPanels();
}
}
// AJAX CALL
i2b2.CRC.ajax.getRequestXml_fromQueryMasterId("CRC:QueryTool", { qm_key_value: qm_id }, scopedCallback);
}
// ================================================================================================== //
this.doQueryRun = function() {
- // function to build and run query
- if (i2b2.CRC.ctrlr.currentQueryStatus != false && i2b2.CRC.ctrlr.currentQueryStatus.isQueryRunning()) {
+
+ if (i2b2.CRC.ctrlr.currentQueryStatus != false && i2b2.CRC.ctrlr.currentQueryStatus.isQueryRunning()) {
i2b2.CRC.ctrlr.currentQueryStatus.cancelQuery();
i2b2.CRC.ctrlr.currentQueryStatus = false;
- //alert('A query is already running.\n Please wait until the currently running query has finished.');
return void(0);
}
-
+
/*
* Method added for edge case where
* dragging previous query does not add items to panel. Will occur when ontology
* @param panels
*/
function hasItems(panel) {
return panel.length > 0 && panel[0].items.length > 0;
}
if (i2b2.CRC.model.queryCurrent.panels[i2b2.CRC.ctrlr.QT.temporalGroup].length < 1) {
alert('You must enter at least one concept to run a query.');
return void(0);
}
// make sure a shrine topic has been selected
if (i2b2.PM.model.shrine_domain) {
var topicSELECT = $('queryTopicSelect');
//@pcori_webclient
if(topicSELECT){
if (topicSELECT.selectedIndex == null || topicSELECT.selectedIndex == 0) {
alert('You must select a Topic to run a SHRINE query.');
return void(0);
}
var topicid = topicSELECT.options[topicSELECT.selectedIndex].value;
}
}
// callback for dialog submission
var handleSubmit = function() {
// submit value(s)
if(this.submit()) {
// run the query
var t = $('dialogQryRun');
var queryNameInput = t.select('INPUT.inputQueryName')[0];
var options = {};
var t2 = t.select('INPUT.chkQueryType');
for (var i=0;i<t2.length; i++) {
if (t2[i].checked == true) {
options['chk_'+t2[i].value] = t2[i].checked;
}
}
$('queryName').innerHTML = queryNameInput.value;
i2b2.CRC.model.queryCurrent.name = queryNameInput.value;
i2b2.CRC.ctrlr.QT._queryRun(queryNameInput.value, options);
}
}
// display the query name input dialog
this._queryPromptRun(handleSubmit);
// autogenerate query name
var myDate=new Date();
var hours = myDate.getHours()
if (hours < 10){
hours = "0" + hours
}
var minutes = myDate.getMinutes()
if (minutes < 10){
minutes = "0" + minutes
}
var seconds = myDate.getSeconds()
if (seconds < 10){
seconds = "0" + seconds
}
//var ds = myDate.toLocaleString();
var ts = hours + ":" + minutes + ":" + seconds; //ds.substring(ds.length-5,ds.length-13);
var defQuery = this._getQueryXML.call(this);
var qn = defQuery.queryAutoName+'@'+ts;
// display name
var queryNameInput = $('dialogQryRun').select('INPUT.inputQueryName')[0];
queryNameInput.value = qn;
}
// ================================================================================================== //
this._queryRun = function(inQueryName, options) {
// make sure name is not blank
if (inQueryName.blank()) {
alert('Cannot run query with without providing a name!');
return;
}
// Query Parameters
var query_definition = this._getQueryXML(inQueryName);
var params = {
result_wait_time: i2b2.CRC.view.QT.params.queryTimeout,
psm_query_definition: query_definition.queryXML
}
// SHRINE topic if we are running SHRINE query
if (i2b2.h.isSHRINE()) {
var topicSELECT = $('queryTopicSelect');
//@pcori_webclient
if(topicSELECT){
if (topicSELECT.selectedIndex == null || topicSELECT.selectedIndex == 0) {
alert("Please select a Topic to run the query.");
return false;
}
params.shrine_topic = "<shrine><queryTopicID>"+topicSELECT.options[topicSELECT.selectedIndex].value+"</queryTopicID></shrine>";
}
}
// generate the result_output_list (for 1.3 backend)
var result_output = "";
for(var name in options)
{
if (name) {
i++;
result_output += '<result_output priority_index="'+i+'" name="' + name.substring(4).toLowerCase() + '"/>\n';
}
}
//@pcori_webclient
//result_output = '<result_output priority_index="11" name="patient_count_xml"/>';
params.psm_result_output = '<result_output_list>'+result_output+'</result_output_list>\n';
// create query object
$('runBoxText').innerHTML = "Cancel Query";
i2b2.CRC.ctrlr.currentQueryStatus = new i2b2.CRC.ctrlr.QueryStatus($('infoQueryStatusText'));
i2b2.CRC.ctrlr.currentQueryStatus.startQuery(inQueryName, params);
}
// ================================================================================================== //
this._queryRunningTime = function() {
if (i2b2.CRC.ctrlr.QT.queryIsRunning) {
var d = new Date();
var t = Math.floor((d.getTime() - queryStartTime)/100)/10;
var el = $('numSeconds');
if (el) {
var s = t.toString();
if (s.indexOf('.') < 0) {
s += '.0';
}
el.innerHTML = s;
window.setTimeout('i2b2.CRC.ctrlr.QT._queryRunningTime()',100);
}
}
}
// ================================================================================================== //
this._queryPromptRun = function(handleSubmit) {
if (!i2b2.CRC.view.dialogQryRun) {
var handleCancel = function() {
this.cancel();
};
var loopBackSubmit = function() {
i2b2.CRC.view.dialogQryRun.submitterFunction();
};
i2b2.CRC.view.dialogQryRun = new YAHOO.widget.SimpleDialog("dialogQryRun", {
width: "400px",
fixedcenter: true,
constraintoviewport: true,
modal: true,
zindex: 700,
buttons: [{
text: "OK",
handler: loopBackSubmit,
isDefault: true
}, {
text: "Cancel",
handler: handleCancel
}]
});
$('dialogQryRun').show();
i2b2.CRC.view.dialogQryRun.validate = function(){
// now process the form data
var msgError = '';
var queryNameInput = $('dialogQryRun').select('INPUT.inputQueryName')[0];
if (!queryNameInput || queryNameInput.value.blank()) {
alert('Please enter a name for this query.');
return false;
}
return true;
};
i2b2.CRC.view.dialogQryRun.render(document.body);
}
// manage the event handler for submit
delete i2b2.CRC.view.dialogQryRun.submitterFunction;
i2b2.CRC.view.dialogQryRun.submitterFunction = handleSubmit;
// display the dialoge
i2b2.CRC.view.dialogQryRun.center();
i2b2.CRC.view.dialogQryRun.show();
}
// ================================================================================================== //
this._queryPromptName = function(handleSubmit) {
if (!i2b2.CRC.view.dialogQmName) {
var handleCancel = function() {
this.cancel();
};
var loopBackSubmit = function() {
i2b2.CRC.view.dialogQmName.submitterFunction();
};
i2b2.CRC.view.dialogQmName = new YAHOO.widget.SimpleDialog("dialogQmName", {
width: "400px",
fixedcenter: true,
constraintoviewport: true,
modal: true,
zindex: 700,
buttons: [{
text: "OK",
handler: loopBackSubmit,
isDefault: true
}, {
text: "Cancel",
handler: handleCancel
}]
});
$('dialogQmName').show();
i2b2.CRC.view.dialogQmName.validate = function(){
// now process the form data
var msgError = '';
var queryNameInput = $('inputQueryName');
if (!queryNameInput || queryNameInput.value.blank()) {
alert('Please enter a name for this query.');
return false;
}
return true;
};
i2b2.CRC.view.dialogQmName.render(document.body);
}
// manage the event handler for submit
delete i2b2.CRC.view.dialogQmName.submitterFunction;
i2b2.CRC.view.dialogQmName.submitterFunction = handleSubmit;
// display the dialoge
i2b2.CRC.view.dialogQmName.center();
i2b2.CRC.view.dialogQmName.show();
}
// ================================================================================================== //
this._getQueryXML = function(queryName) {
var i;
var isTemporal = false;
var el;
var concept;
var panel_list = i2b2.CRC.model.queryCurrent.panels[0]; //i2b2.CRC.ctrlr.QT.temporalGroup];
var panel_cnt = panel_list.length;
var auto_query_name_len = 15;
var auto_query_name = '';
if (this.queryTiming == "TEMPORAL") {
isTemporal = true;
}
if (panel_cnt > 0) {
auto_query_name_len = Math.floor(15/panel_cnt);
if (auto_query_name_len < 1) {auto_query_name_len = 1;}
}
// build Query XML
var s = '<query_definition>\n';
if (isTemporal)
{
queryName = '(t) ' + queryName;
}
s += '\t<query_name>' + i2b2.h.Escape(queryName) + '</query_name>\n';
if (this.queryTiming == "SAMEVISIT")
{
s += '\t<query_timing>SAMEVISIT</query_timing>\n';
} else if (this.queryTiming == "ANY") {
s += '\t<query_timing>ANY</query_timing>\n';
} else if (this.queryTiming == "TEMPORAL") {
s += '\t<query_timing>ANY</query_timing>\n';
} else {
s += '\t<query_timing>SAMEINSTANCENUM</query_timing>\n';
}
s += '\t<specificity_scale>0</specificity_scale>\n';
if (i2b2.PM.model.shrine_domain) { s += '\t<use_shrine>1</use_shrine>\n'; }
for (var ip = 0; ip < i2b2.CRC.model.queryCurrent.panels.length; ip++)
{
panel_list = i2b2.CRC.model.queryCurrent.panels[ip]; //i2b2.CRC.ctrlr.QT.temporalGroup];
panel_cnt = panel_list.length;
if (isTemporal && ip > 0)
{
//if equal to one than add subquery_contraint
if (ip == 1)
{
for (var tb=0; tb <= this.tenporalBuilders; tb++) {
s += '\t<subquery_constraint>\n';
s += '\t\t<first_query>\n';
s += '\t\t\t<query_id>' + $('instancevent1[' + tb + ']').options[$('instancevent1[' + tb + ']').selectedIndex].value + '</query_id>\n';
s += '\t\t\t<join_column>' + $('preloc1[' + tb + ']').options[$('preloc1[' + tb + ']').selectedIndex].value + '</join_column>\n';
s += '\t\t\t<aggregate_operator>' + $('instanceopf1[' + tb + ']').options[$('instanceopf1[' + tb + ']').selectedIndex].value + '</aggregate_operator>\n';
s += '\t\t</first_query>\n';
s += '\t\t<operator>' + $('postloc[' + tb + ']').options[$('postloc[' + tb + ']').selectedIndex].value + '</operator>\n';
s += '\t\t<second_query>\n';
s += '\t\t\t<query_id>' + $('instancevent2[' + tb + ']').options[$('instancevent2[' + tb + ']').selectedIndex].value + '</query_id>\n';
s += '\t\t\t<join_column>' + $('preloc2[' + tb + ']').options[$('preloc2[' + tb + ']').selectedIndex].value + '</join_column>\n';
s += '\t\t\t<aggregate_operator>' + $('instanceopf2[' + tb + ']').options[$('instanceopf2[' + tb + ']').selectedIndex].value + '</aggregate_operator>\n';
s += '\t\t</second_query>\n';
if ( $('bytime1[' + tb + ']').checked)
{
s += '\t\t<span>\n';
s += '\t\t\t<operator>' + $('byspan1[' + tb + ']').options[$('byspan1[' + tb + ']').selectedIndex].value + '</operator>\n';
s += '\t\t\t<span_value>' + $('bytimevalue1[' + tb + ']').value + '</span_value>\n';
s += '\t\t\t<units>' + $('bytimeunit1[' + tb + ']').options[$('bytimeunit1[' + tb + ']').selectedIndex].value + '</units>\n';
s += '\t\t</span>\n';
}
if ( $('bytime2[' + tb + ']').checked)
{
s += '\t\t<span>\n';
s += '\t\t\t<operator>' + $('byspan2[' + tb + ']').options[$('byspan2[' + tb + ']').selectedIndex].value + '</operator>\n';
s += '\t\t\t<span_value>' + $('bytimevalue2[' + tb + ']').value + '</span_value>\n';
s += '\t\t\t<units>' + $('bytimeunit2[' + tb + ']').options[$('bytimeunit2[' + tb + ']').selectedIndex].value + '</units>\n';
s += '\t\t</span>\n';
}
s += '\t</subquery_constraint>\n';
}
}
if (panel_list[0].items.length == 0)
break;
s += '<subquery>\n ';
s += '<query_id>Event '+ ip +'</query_id>\n';
s += '<query_type>EVENT</query_type>\n';
s += '<query_name>Event '+ ip +'</query_name>\n';
s += '<query_timing>SAMEINSTANCENUM</query_timing>\n';
s += '<specificity_scale>0</specificity_scale>\n';
}
for (var p = 0; p < panel_cnt; p++) {
s += '\t<panel>\n';
s += '\t\t<panel_number>' + (p+1) + '</panel_number>\n';
// date range constraints
if (panel_list[p].dateFrom) {
s += '\t\t<panel_date_from>'+panel_list[p].dateFrom.Year+'-'+padNumber(panel_list[p].dateFrom.Month,2)+'-'+padNumber(panel_list[p].dateFrom.Day,2)+'T00:00:00.000-05:00</panel_date_from>\n';
}
if (panel_list[p].dateTo) {
s += '\t\t<panel_date_to>'+panel_list[p].dateTo.Year+'-'+padNumber(panel_list[p].dateTo.Month,2)+'-'+padNumber(panel_list[p].dateTo.Day,2)+'T00:00:00.000-05:00</panel_date_to>\n';
}
s += "\t\t<panel_accuracy_scale>" + panel_list[p].relevance + "</panel_accuracy_scale>\n";
// Exclude constraint (invert flag)
if (panel_list[p].exclude) {
s += '\t\t<invert>1</invert>\n';
} else {
s += '\t\t<invert>0</invert>\n';
}
// Panel Timing
s += '\t\t<panel_timing>' + panel_list[p].timing + '</panel_timing>\n';
// Occurs constraint
s += '\t\t<total_item_occurrences>'+((panel_list[p].occurs*1)+1)+'</total_item_occurrences>\n';
// Concepts
for (i=0; i < panel_list[p].items.length; i++) {
var sdxData = panel_list[p].items[i];
s += '\t\t<item>\n';
switch(sdxData.sdxInfo.sdxType) {
case "QM":
s += '\t\t\t<item_key>masterid:' + sdxData.origData.id + '</item_key>\n';
s += '\t\t\t<item_name>' + sdxData.origData.title + '</item_name>\n';
s += '\t\t\t<tooltip>' + sdxData.origData.name + '</tooltip>\n';
s += '\t\t\t<item_is_synonym>false</item_is_synonym>\n';
s += '\t\t\t<hlevel>0</hlevel>\n';
break;
case "PRS":
s += '\t\t\t<item_key>patient_set_coll_id:' + sdxData.sdxInfo.sdxKeyValue + '</item_key>\n';
s += '\t\t\t<item_name>' + sdxData.sdxInfo.sdxDisplayName + '</item_name>\n';
s += '\t\t\t<tooltip>' + sdxData.sdxInfo.sdxDisplayName + '</tooltip>\n';
s += '\t\t\t<item_is_synonym>false</item_is_synonym>\n';
s += '\t\t\t<hlevel>0</hlevel>\n';
break;
case "ENS":
s += '\t\t\t<item_key>patient_set_enc_id:' + sdxData.sdxInfo.sdxKeyValue + '</item_key>\n';
s += '\t\t\t<item_name>' + sdxData.sdxInfo.sdxDisplayName + '</item_name>\n';
s += '\t\t\t<tooltip>' + sdxData.sdxInfo.sdxDisplayName + '</tooltip>\n';
s += '\t\t\t<item_is_synonym>false</item_is_synonym>\n';
s += '\t\t\t<hlevel>0</hlevel>\n';
break;
default:
if (sdxData.origData.isModifier) {
var modParent = sdxData.origData.parent;
var level = sdxData.origData.level;
var key = sdxData.origData.parent.key;
var name = (sdxData.origData.parent.name != null ? i2b2.h.Escape(sdxData.origData.parent.name) : i2b2.h.Escape(sdxData.origData.name)) ;
var tooltip = sdxData.origData.tooltip;
var itemicon = sdxData.origData.hasChildren;
while (modParent != null)
{
if (modParent.isModifier)
{
modParent = modParent.parent;
} else {
level = modParent.level;
key = modParent.key;
name = modParent.name;
tooltip = modParent.tooltip;
itemicon = modParent.hasChildren;
break;
}
}
s += '\t\t\t<hlevel>' + level + '</hlevel>\n';
s += '\t\t\t<item_key>' + key + '</item_key>\n';
s += '\t\t\t<item_name>' + name + '</item_name>\n';
// (sdxData.origData.newName != null ? sdxData.origData.newName : sdxData.origData.name) + '</item_name>\n';
s += '\t\t\t<tooltip>' + tooltip + '</tooltip>\n';
s += '\t\t\t<item_icon>' + itemicon + '</item_icon>\n';
s += '\t\t\t<class>ENC</class>\n';
s += '\t\t\t\t<constrain_by_modifier>\n';
s += '\t\t\t\t\t<modifier_name>' + sdxData.origData.name + '</modifier_name>\n';
s += '\t\t\t\t\t<applied_path>' + sdxData.origData.applied_path + '</applied_path>\n';
s += '\t\t\t\t\t<modifier_key>' + sdxData.origData.key + '</modifier_key>\n';
if (sdxData.ModValues)
{
s += this.getValues( sdxData.ModValues);
}
s += '\t\t\t\t</constrain_by_modifier>\n';
} else {
sdxData.origData.key = (sdxData.origData.key).replace(/</g,"&lt;");
sdxData.origData.name = (sdxData.origData.name).replace(/</g,"&lt;");
if (undefined != sdxData.origData.tooltip)
sdxData.origData.tooltip = (sdxData.origData.tooltip).replace(/</g,"&lt;");
s += '\t\t\t<hlevel>' + sdxData.origData.level + '</hlevel>\n';
//s += '\t\t\t<item_name>' + (sdxData.origData.newName != null ? i2b2.h.Escape(sdxData.origData.newName) : i2b2.h.Escape(sdxData.origData.name)) + '</item_name>\n';
s += '\t\t\t<item_name>' + (sdxData.origData.name != null ? i2b2.h.Escape(sdxData.origData.name) : i2b2.h.Escape(sdxData.origData.newName)) + '</item_name>\n';
s += '\t\t\t<item_key>' + sdxData.origData.key + '</item_key>\n';
s += '\t\t\t<tooltip>' + sdxData.origData.tooltip + '</tooltip>\n';
s += '\t\t\t<class>ENC</class>\n';
s += '\t\t\t<item_icon>' + sdxData.origData.hasChildren + '</item_icon>\n';
}
try {
var t = i2b2.h.XPath(sdxData.origData.xmlOrig,'descendant::synonym_cd/text()');
t = (t[0].nodeValue=="Y");
} catch(e) {
var t = "false";
}
s += '\t\t\t<item_is_synonym>'+t+'</item_is_synonym>\n';
if (sdxData.LabValues) {
//s += '\t\t\t<constrain_by_value>\n';
s += this.getValues( sdxData.LabValues);
}
break;
}
//TODO add contraint to the item in the future
/*
s += '\t\t\t<constrain_by_date>\n';
if (panel_list[p].dateFrom) {
s += '\t\t\t\t<date_from>'+panel_list[p].dateFrom.Year+'-'+padNumber(panel_list[p].dateFrom.Month,2)+'-'+padNumber(panel_list[p].dateFrom.Day,2)+'Z</date_from>\n';
}
if (panel_list[p].dateTo) {
s += '\t\t\t\t<date_to>'+panel_list[p].dateTo.Year+'-'+padNumber(panel_list[p].dateTo.Month,2)+'-'+padNumber(panel_list[p].dateTo.Day,2)+'Z</date_to>\n';
}
s += '\t\t\t</constrain_by_date>\n';
*/
s += '\t\t</item>\n';
if (i==0) {
if (undefined != sdxData.origData.name) {
auto_query_name += sdxData.origData.name.substring(0,auto_query_name_len);
} else if (undefined != sdxData.origData.title) {
auto_query_name += sdxData.origData.title.substring(0,auto_query_name_len);
} else {
auto_query_name += "new query";
}
if (p < panel_cnt-1) {auto_query_name += '-';}
}
}
s += '\t</panel>\n';
}
if (isTemporal && ip > 0)
{
s += '</subquery>\n ';
}
if (isTemporal == false)
{
break;
}
}
s += '</query_definition>\n';
this.queryMsg = {};
this.queryMsg.queryAutoName = auto_query_name;
if (undefined===queryName) {
this.queryMsg.queryName = this.queryNameDefault;
} else {
this.queryMsg.queryName = queryName;
}
this.queryMsg.queryXML = s;
return(this.queryMsg);
}
this.getValues = function(lvd) {
var s = '\t\t\t<constrain_by_value>\n';
//var lvd = sdxData.LabValues;
switch(lvd.MatchBy) {
case "FLAG":
s += '\t\t\t\t<value_type>FLAG</value_type>\n';
s += '\t\t\t\t<value_operator>EQ</value_operator>\n';
s += '\t\t\t\t<value_constraint>'+i2b2.h.Escape(lvd.ValueFlag)+'</value_constraint>\n';
break;
case "VALUE":
if (lvd.GeneralValueType=="ENUM") {
var sEnum = [];
for (var i2=0;i2<lvd.ValueEnum.length;i2++) {
sEnum.push(i2b2.h.Escape(lvd.ValueEnum[i2]));
}
//sEnum = sEnum.join("\", \"");
sEnum = sEnum.join("\',\'");
sEnum = '(\''+sEnum+'\')';
s += '\t\t\t\t<value_type>TEXT</value_type>\n';
s += '\t\t\t\t<value_constraint>'+sEnum+'</value_constraint>\n';
s += '\t\t\t\t<value_operator>IN</value_operator>\n';
} else if (lvd.GeneralValueType=="STRING") {
s += '\t\t\t\t<value_type>TEXT</value_type>\n';
s += '\t\t\t\t<value_operator>'+lvd.StringOp+'</value_operator>\n';
s += '\t\t\t\t<value_constraint><![CDATA['+i2b2.h.Escape(lvd.ValueString)+']]></value_constraint>\n';
} else if (lvd.GeneralValueType=="LARGESTRING") {
if (lvd.DbOp) {
s += '\t\t\t\t<value_operator>CONTAINS[database]</value_operator>\n';
} else {
s += '\t\t\t\t<value_operator>CONTAINS</value_operator>\n';
}
s += '\t\t\t\t<value_type>LARGETEXT</value_type>\n';
s += '\t\t\t\t<value_constraint><![CDATA['+lvd.ValueString+']]></value_constraint>\n';
} else {
s += '\t\t\t\t<value_type>'+lvd.GeneralValueType+'</value_type>\n';
s += '\t\t\t\t<value_unit_of_measure>'+lvd.UnitsCtrl+'</value_unit_of_measure>\n';
s += '\t\t\t\t<value_operator>'+lvd.NumericOp+'</value_operator>\n';
if (lvd.NumericOp == 'BETWEEN') {
s += '\t\t\t\t<value_constraint>'+i2b2.h.Escape(lvd.ValueLow)+' and '+i2b2.h.Escape(lvd.ValueHigh)+'</value_constraint>\n';
} else {
s += '\t\t\t\t<value_constraint>'+i2b2.h.Escape(lvd.Value)+'</value_constraint>\n';
}
}
break;
case "":
break;
}
s += '\t\t\t</constrain_by_value>\n';
return s;
}
// ================================================================================================== //
this.panelAdd = function(yuiTree) {
// this function is used to create a new panel, it initializes the data structure in the
if (!i2b2.CRC.model.queryCurrent.panels) {
i2b2.CRC.model.queryCurrent.panels = [];
i2b2.CRC.model.queryCurrent.panels[0] = new Array();
i2b2.CRC.model.queryCurrent.panels[1] = new Array();
i2b2.CRC.model.queryCurrent.panels[2] = new Array();
// i2b2.CRC.model.queryCurrent.panels = new Array(new Array());
}
var dm = i2b2.CRC.model.queryCurrent;
var pi = dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup].length;
if (pi == undefined)
{
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup] = new Array();
pi = 0;
}
var tTiming = i2b2.CRC.ctrlr.QT.queryTiming;
if ((tTiming == "TEMPORAL") && (i2b2.CRC.ctrlr.QT.temporalGroup > 0))
tTiming = "SAMEINSTANCENUM";
if ((tTiming == "TEMPORAL") && (i2b2.CRC.ctrlr.QT.temporalGroup == 0))
tTiming = "ANY";
// setup the data model for this panel
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi] = {};
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].dateTo = false;
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].dateFrom = false;
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].exclude = false;
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].occurs = '0';
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].relevance = '100';
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].timing = tTiming; // i2b2.CRC.ctrlr.QT.queryTiming; //'ANY';
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].items = [];
// create a treeview root node and connect it to the treeview controller
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].tvRootNode = new YAHOO.widget.RootNode(this.yuiTree);
yuiTree.root = dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].tvRootNode;
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].tvRootNode.tree = yuiTree;
yuiTree.setDynamicLoad(i2b2.CRC.ctrlr.QT._loadTreeDataForNode,1);
if (dm.panels.length == 1)
{
var tTiming = i2b2.CRC.ctrlr.QT.queryTiming;
if (i2b2.CRC.ctrlr.QT.queryTiming == "TEMPORAL")
tTiming = "ANY";
i2b2.CRC.ctrlr.QT.temporalGroup = 1;
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup] = {};
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi] = {};
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].dateTo = false;
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].dateFrom = false;
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].exclude = false;
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].occurs = '0';
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].relevance = '100';
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].timing = tTiming; //i2b2.CRC.ctrlr.QT.queryTiming; //'ANY';
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].items = [];
// create a treeview root node and connect it to the treeview controller
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].tvRootNode = new YAHOO.widget.RootNode(this.yuiTree);
yuiTree.root = dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].tvRootNode;
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].tvRootNode.tree = yuiTree;
yuiTree.setDynamicLoad(i2b2.CRC.ctrlr.QT._loadTreeDataForNode,1);
i2b2.CRC.ctrlr.QT.temporalGroup = 2;
if (i2b2.CRC.ctrlr.QT.queryTiming == "TEMPORAL")
tTiming = "SAMEINSTANCENUM";
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup] = {};
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi] = {};
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].dateTo = false;
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].dateFrom = false;
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].exclude = false;
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].occurs = '0';
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].relevance = '100';
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].timing = tTiming; //i2b2.CRC.ctrlr.QT.queryTiming; //'ANY';
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].items = [];
// create a treeview root node and connect it to the treeview controller
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].tvRootNode = new YAHOO.widget.RootNode(this.yuiTree);
yuiTree.root = dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].tvRootNode;
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi].tvRootNode.tree = yuiTree;
yuiTree.setDynamicLoad(i2b2.CRC.ctrlr.QT._loadTreeDataForNode,1);
i2b2.CRC.ctrlr.QT.temporalGroup = 0;
}
// update the count on the GUI
this._redrawPanelCount();
// return a reference to the new panel object
this.doSetQueryName.call(this,'');
return dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup][pi];
}
// ================================================================================================== //
this._loadTreeDataForNode = function(node, onCompleteCallback) {
i2b2.sdx.Master.LoadChildrenFromTreeview(node, onCompleteCallback);
}
// ================================================================================================== //
this.ToggleNode = function(divTarg, divTreeID) {
// get the i2b2 data from the yuiTree node
var tvTree = YAHOO.widget.TreeView.findTreeByChildDiv(divTarg); // this is a custom extention found in "hive_helpers.js"
var tvNode = tvTree.getNodeByProperty('nodeid', divTarg.id);
tvNode.toggle();
}
// ================================================================================================== //
this.panelDelete = function(index) {
// alter the data model's panel elements
var dm = i2b2.CRC.model.queryCurrent;
if(index <0 || index>=dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup].length) { return false;}
dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup].splice(index,1);
// redraw the panels
this.doShowFrom(this.panelControllers[0].panelCurrentIndex);
// BUG FIX: force the panels to fully reattach the yuiRootNode to the controllers
for (var i=0; i<this.panelControllers.length; i++) {
this.panelControllers[i].doRedraw();
}
this._redrawPanelCount();
this.doSetQueryName.call(this,'');
}
// ================================================================================================== //
this.doShowFrom = function(index_offset) {
// have all panel controllers redraw using new index offest
$('infoQueryStatusText').innerHTML = "";
if (index_offset===false) { return true; }
if (index_offset < 0) { index_offset = 0; }
for (var i=0; i<3; i++) {
if ((i2b2.CRC.ctrlr.QT.queryTiming == "TEMPORAL") && (i==0))
{
var sText = defineTemporalButton.get("label");
if (sText != "Population in which events occur")
this.panelControllers[i].refTitle.innerHTML = 'Anchoring Observation';
else
this.panelControllers[i].refTitle.innerHTML = 'Group 1';
}
else
{
this.panelControllers[i].refTitle.innerHTML = "Group "+(index_offset+i+1);
}
this.panelControllers[i].setPanelRecord(index_offset+i, i);
if (i > 0) {
if (index_offset+i <= i2b2.CRC.model.queryCurrent.panels[i2b2.CRC.ctrlr.QT.temporalGroup].length) {
$('queryBalloonAnd'+(i)).style.display = 'block';
} else {
$('queryBalloonAnd'+(i)).style.display = 'none';
}
}
}
this._redrawScrollBtns();
}
// ================================================================================================== //
this._redrawAllPanels = function() {
$('infoQueryStatusText').innerHTML = "";
for (var i=0; i<3; i++) {
this.panelControllers[i].doRedraw();
if (i > 0) {//@pcori panel fix. for panels[i2b2.CRC.ctrlr.QT.temporalGroup]
if (this.panelControllers[i].panelCurrentIndex-1 < i2b2.CRC.model.queryCurrent.panels.length) {
$('queryBalloonAnd'+(i)).style.display = 'block';
} else {
$('queryBalloonAnd'+(i)).style.display = 'none';
}
}
}
}
// ================================================================================================== //
this._redrawPanelCount = function() {
var c = i2b2.CRC.model.queryCurrent.panels[i2b2.CRC.ctrlr.QT.temporalGroup].length;
if (c == 1) {
var s = '1 Group';
} else {
var s = c + ' Groups';
}
$('groupCount').innerHTML = s;
}
// ================================================================================================== //
this.laodQueryStatus = function( queryMasterId, queryName) {
var QRS = {};
var newHTML = "";
var qi_id = "";
$('infoQueryStatusText').innerHTML = "";
var scopedCallbackQI = new i2b2_scopedCallback();
scopedCallbackQI.scope = this;
scopedCallbackQI.callback = function(results) {
if (results.error) {
alert(results.errorMsg);
return;
} else {
// find our query instance
var qi_list = results.refXML.getElementsByTagName('query_instance');
var l = qi_list.length;
for (var i=0; i<l; i++) {
var temp = qi_list[i];
qi_id = i2b2.h.XPath(temp, 'descendant-or-self::query_instance_id')[0].firstChild.nodeValue;
var start_date = i2b2.h.XPath(temp, 'descendant-or-self::start_date')[0].firstChild.nodeValue;
if (!Object.isUndefined(start_date)) {
//alert(sDate.substring(0,4) + ":" + sDate.substring(5,7) + ":" + sDate.substring(8,10));
//012345678901234567890123
//2010-12-21T16:12:01.427
start_date = new Date(start_date.substring(0,4), start_date.substring(5,7)-1, start_date.substring(8,10), start_date.substring(11,13), start_date.substring(14,16),start_date.substring(17,19),start_date.substring(20,23));
}
var end_date = i2b2.h.XPath(temp, 'descendant-or-self::end_date')[0].firstChild.nodeValue;
if (!Object.isUndefined(end_date)) {
//alert(sDate.substring(0,4) + ":" + sDate.substring(5,7) + ":" + sDate.substring(8,10));
end_date = new Date(end_date.substring(0,4), end_date.substring(5,7)-1, end_date.substring(8,10), end_date.substring(11,13),end_date.substring(14,16), end_date.substring(17,19), end_date.substring(20,23));
}
$('infoQueryStatusText').innerHTML = '<div style="clear:both;"><div style="float:left; font-weight:bold">Finished Query: "'+queryName+'"</div>';
$('infoQueryStatusText').innerHTML += '<div style="float:right">['+ (Math.floor((end_date - start_date)/100))/10 +' secs]</div></div>';
// $('infoQueryStatusText').innerHTML += '<div style="clear:both;"><div style="float:left; font-weight:bold">Finished Query: "'+queryName+'"</div><div style="margin-left:20px; clear:both; height:16px; line-height:16px; "><div height:16px; line-height:16px; ">Compute Time: ' + (Math.floor((end_date - start_date)/100))/10 + ' secs</div></div>';
i2b2.CRC.ajax.getQueryResultInstanceList_fromQueryInstanceId("CRC:QueryTool", {qi_key_value: qi_id}, scopedCallbackQRS);
}
}
}
// this is a private function that is used by all QueryStatus object instances to check their status
// callback processor to check the Query Instance
var scopedCallbackQRSI = new i2b2_scopedCallback();
scopedCallbackQRSI.scope = this;
scopedCallbackQRSI.callback = function(results) {
if (results.error) {
alert(results.errorMsg);
return;
} else {
// find our query instance
var ri_list = results.refXML.getElementsByTagName('query_result_instance');
var l = ri_list.length;
for (var i=0; i<l; i++) {
var temp = ri_list[i];
var description = i2b2.h.XPath(temp, 'descendant-or-self::description')[0].firstChild.nodeValue;
$('infoQueryStatusText').innerHTML += "<div style=\"clear: both; padding-top: 10px; font-weight: bold;\">" + description + "</div>";
}
var crc_xml = results.refXML.getElementsByTagName('crc_xml_result');
l = crc_xml.length;
for (var i=0; i<l; i++) {
var temp = crc_xml[i];
var xml_value = i2b2.h.XPath(temp, 'descendant-or-self::xml_value')[0].firstChild.nodeValue;
var xml_v = i2b2.h.parseXml(xml_value);
i2b2.PM.model.userRoles.indexOf("DATA_LDS") == -1
// var proj_data = i2b2.PM.view.admin.currentProject;
var params = i2b2.h.XPath(xml_v, 'descendant::data[@column]/text()/..');
for (var i2 = 0; i2 < params.length; i2++) {
var name = params[i2].getAttribute("name");
// $('infoQueryStatusText').innerHTML += "<div style=\"margin-left: 20px; clear: both; height: 16px; line-height: 16px;\">";
$('infoQueryStatusText').innerHTML += "<div style=\"clear: both; margin-left: 20px; float: left; height: 16px; line-height: 16px;\">" + params[i2].getAttribute("column") + ": <font color=\"#0000dd\">" + params[i2].firstChild.nodeValue + "" + (i2b2.PM.model.userRoles.indexOf("DATA_LDS") == -1 ? "+-" + i2b2.h.getObfuscationValue() : "") + "</font></div>";
//$('infoQueryStatusText').innerHTML += "</div>"; //i2b2.h.XPath(newxml, 'descendant-or-self::result/data')[0].firstChild.nodeValue;
}
var ri_id = i2b2.h.XPath(temp, 'descendant-or-self::result_instance_id')[0].firstChild.nodeValue;
}
}
}
// callback processor to check the Query Result Set
var scopedCallbackQRS = new i2b2_scopedCallback();
scopedCallbackQRS.scope = this;
scopedCallbackQRS.callback = function(results) {
if (results.error) {
alert(results.errorMsg);
return;
} else {
// find our query instance
var qrs_list = results.refXML.getElementsByTagName('query_result_instance');
var l = qrs_list.length;
var resultStr = "";
for (var i=0; i<l; i++) {
var temp = qrs_list[i];
var qrs_id = i2b2.h.XPath(temp, 'descendant-or-self::result_instance_id')[0].firstChild.nodeValue;
if (QRS.hasOwnProperty(qrs_id)) {
var rec = QRS[qrs_id];
} else {
var rec = new Object();
rec.QRS_ID = qrs_id;
// resultStr += i2b2.h.getXNodeVal(temp, 'description');
// resultStr += i2b2.h.XPath(temp, 'descendant-or-self::query_status_type/name')[0].firstChild.nodeValue;
// resultStr += "<br/>";
rec.QRS_DisplayType = i2b2.h.XPath(temp, 'descendant-or-self::query_result_type/display_type')[0].firstChild.nodeValue;
rec.QRS_Type = i2b2.h.XPath(temp, 'descendant-or-self::query_result_type/name')[0].firstChild.nodeValue;
rec.QRS_Description = i2b2.h.XPath(temp, 'descendant-or-self::description')[0].firstChild.nodeValue;
rec.QRS_TypeID = i2b2.h.XPath(temp, 'descendant-or-self::query_result_type/result_type_id')[0].firstChild.nodeValue;
}
rec.QRS_Status = i2b2.h.XPath(temp, 'descendant-or-self::query_status_type/name')[0].firstChild.nodeValue;
rec.QRS_Status_ID = i2b2.h.XPath(temp, 'descendant-or-self::query_status_type/status_type_id')[0].firstChild.nodeValue;
// create execution time string
QRS[rec.QRS_ID] = rec;
if (rec.QRS_DisplayType == "CATNUM") {
i2b2.CRC.ajax.getQueryResultInstanceList_fromQueryResultInstanceId("CRC:QueryTool", {qr_key_value: rec.QRS_ID}, scopedCallbackQRSI);
} else if (rec.QRS_DisplayType == "LIST") {
$('infoQueryStatusText').innerHTML += "<div style=\"clear: both; padding-top: 10px; font-weight: bold;\">" + rec.QRS_Description + "</div>";
}
}
// $('infoQueryStatusText').innerHTML = resultStr;
}
}
//first get instance id
i2b2.CRC.ajax.getQueryInstanceList_fromQueryMasterId("CRC:QueryTool", {qm_key_value: queryMasterId}, scopedCallbackQI);
//if (qi_id != "") {
// i2b2.CRC.ajax.getQueryResultInstanceList_fromQueryInstanceId("CRC:QueryTool", {qi_key_value: qi_id}, scopedCallbackQRS);
// for (var q in QRS) {
// i2b2.CRC.ajax.getQueryResultInstanceList_fromQueryResultInstanceId("CRC:QueryTool", {qr_key_value: QRS[q].QRS_ID}, scopedCallbackQRSI);
// }
//}
}
// ================================================================================================== //
this.doAddTemporal = function() {
var html = $('temporalbuilders').innerHTML;
this.tenporalBuilders = this.tenporalBuilders + 1;
html = $('temporalbuilders').innerHTML
+ ' <div class="relationshipAmongEvents" id="temporalbuilder_' + this.tenporalBuilders + '"> '
+ ' <select id="preloc1[' + this.tenporalBuilders + ']" name="preloc1[' + this.tenporalBuilders + ']" style="width:100px;"><option value="STARTDATE">Start of</option><option value="ENDDATE">End of</option></select> '
+ ' <select id="instanceopf1[' + this.tenporalBuilders + ']" name="instanceopf1[' + this.tenporalBuilders + ']" style="width:150px;"><option value="FIRST">the First Ever</option><option value="LAST">the Last Ever</option><option value="ANY">any</option></select> '
+ ' <select id="instancevent1[' + this.tenporalBuilders + ']" name="instancevent1[' + this.tenporalBuilders + ']" style="width:100px;"><option selected="selected">Event 1</option><option>Event 2</option>';
for (var j =3; j < i2b2.CRC.model.queryCurrent.panels.length; j ++)
{
html += '<option>Event ' + j + '</option>';
}
html += ' </select> <br/> '
+ ' <select id="postloc[' + this.tenporalBuilders + ']" name="postloc[' + this.tenporalBuilders + ']" style="width:150px;"><option value="LESS">Occurs Before</option><option value="LESSEQUAL">On Or After</option> '
+ ' <option value="EQUAL">Equals</option> '
+ ' <option value="GREATER">Occurs On Or After</option> '
+ ' <option value="GREATEREQUAL">Occurs After</option> '
+ ' </select> '
+ ' <br/> '
+ ' <select id="preloc2[' + this.tenporalBuilders + ']" name="preloc2[' + this.tenporalBuilders + ']" style="width:100px;"><option value="STARTDATE">Start of</option><option value="ENDDATE">End of</option></select> '
+ ' <select id="instanceopf2[' + this.tenporalBuilders + ']" name="instanceopf2[' + this.tenporalBuilders + ']" style="width:150px;"><option value="FIRST">the First Ever</option><option value="LAST">the Last Ever</option><option value="ANY">any</option></select> '
+ ' <select id="instancevent2[' + this.tenporalBuilders + ']" name="instancevent2[' + this.tenporalBuilders + ']" style="width:100px;"><option>Event 1</option><option selected="selected">Event 2</option>';
for (var j =3; j < i2b2.CRC.model.queryCurrent.panels.length; j ++)
{
html += '<option>Event ' + j + '</option>';
}
html += ' </select> <br/> '
+ ' <input id="bytime1[' + this.tenporalBuilders + ']" name="bytime1[' + this.tenporalBuilders + ']" type="checkbox">By <select id="byspan1[' + this.tenporalBuilders + ']" name="byspan1[' + this.tenporalBuilders + ']" style="width:50px;"><option value="GREATER">&gt;</option><option value="GREATEREQUAL" selected="selected">&ge;</option><option value="EQUAL">=</option><option value="LESSEQUAL">&le;</option><option value="LESS">&lt;</option></select> '
+ ' <input id="bytimevalue1[' + this.tenporalBuilders + ']" name="bytimevalue1[' + this.tenporalBuilders + ']" style="width:50px;" type="text" value="1"> '
+ ' <select id="bytimeunit1[' + this.tenporalBuilders + ']" name="bytimeunit1[' + this.tenporalBuilders + ']" style="width:100px;"> '
+ ' <option value="HOUR">hour(s)</option> '
+ ' <option value="DAY" selected="selected">day(s)</option> '
+ ' <option value="MONTH">month(s)</option> '
+ ' <option value="YEAR">year(s)</option></select> '
+ ' <br/> '
+ ' <input id="bytime2[' + this.tenporalBuilders + ']" name="bytime2[' + this.tenporalBuilders + ']" type="checkbox">And <select id="byspan2[' + this.tenporalBuilders + ']" name="byspan2[' + this.tenporalBuilders + ']" style="width:50px;"><option value="GREATER">&gt;</option><option value="GREATEREQUAL">&ge;</option><option value="EQUAL">=</option><option value="LESSEQUAL" selected="selected">&le;</option><option value="LESS">&lt;</option></select> '
+ ' <input id="bytimevalue2[' + this.tenporalBuilders + ']" name="bytimevalue2[' + this.tenporalBuilders + ']" style="width:50px;" type="text" value="1"> '
+ ' <select id="bytimeunit2[' + this.tenporalBuilders + ']" name="bytimeunit2[' + this.tenporalBuilders + ']" style="width:100px;"> '
+ ' <option value="HOUR">hour(s)</option> '
+ ' <option value="DAY" selected="selected">day(s)</option> '
+ ' <option value="MONTH">month(s)</option> '
+ ' <option value="YEAR">year(s)</option></select> '
+ ' </div> ';
'<div class="relationshipAmongEvents" id="temporalbuilder_' + this.tenporalBuilders + '">' + html + '</div>';
$('temporalbuilders').innerHTML = html;
}
// ================================================================================================== //
this.doRemoveTemporal = function() { // nw096 - WEBCLIENT-155 Removes last temporal relationship
if(this.tenporalBuilders == 0){
alert('You must leave a minimum of one temporal relationship.');
} else {
if(jQuery("[id^='temporalbuilder_']").length > 1){
this.tenporalBuilders = this.tenporalBuilders - 1;
$('temporalbuilders').lastChild.remove();
}
}
}
// ================================================================================================== //
this.doScrollFirst = function() {
this.doShowFrom(0);
}
// ================================================================================================== //
this.doScrollPrev = function() {
var i = this.panelControllers[0].panelCurrentIndex - 1;
if (i<0) { i=0; }
this.doShowFrom(i);
}
// ================================================================================================== //
this.doScrollNext = function() {
var i = this.panelControllers[0].panelCurrentIndex + 1;
var dm = i2b2.CRC.model.queryCurrent;
if (i > (dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup].length-3)) { i=dm.panels[i2b2.CRC.ctrlr.QT.temporalGroup].length-3; }
this.doShowFrom(i);
}
// ================================================================================================== //
this.doScrollLast = function() {
var i = i2b2.CRC.model.queryCurrent.panels[i2b2.CRC.ctrlr.QT.temporalGroup].length - 3;
if (i<0) { i = 0; }
this.doShowFrom(i);
}
// ================================================================================================== //
this.doScrollNew = function() {
var i = i2b2.CRC.model.queryCurrent.panels[i2b2.CRC.ctrlr.QT.temporalGroup].length - 2;
if (i<0) { i = 0; }
this.doShowFrom(i);
}
// ================================================================================================== //
this._redrawScrollBtns = function() {
// enable & disable scroll buttons (at least the look of the buttons)
var dir = i2b2.hive.cfg.urlFramework + 'cells/CRC/assets/';
if (i2b2.CRC.ctrlr.QT.panelControllers[0].panelCurrentIndex == 0) {
$('panelScrollFirst').src = dir+"QryTool_b_first_hide.gif";
$('panelScrollPrev').src = dir+"QryTool_b_prev_hide.gif";
} else {
$('panelScrollFirst').src = dir+"QryTool_b_first.gif";
$('panelScrollPrev').src = dir+"QryTool_b_prev.gif";
}
if ((i2b2.CRC.model.queryCurrent.panels[i2b2.CRC.ctrlr.QT.temporalGroup].length - i2b2.CRC.ctrlr.QT.panelControllers[0].panelCurrentIndex) > 3) {
$('panelScrollNext').src = dir+"QryTool_b_next.gif";
$('panelScrollLast').src = dir+"QryTool_b_last.gif";
} else {
$('panelScrollNext').src = dir+"QryTool_b_next_hide.gif";
$('panelScrollLast').src = dir+"QryTool_b_last_hide.gif";
}
},
// =====================================================================================================//
/***************
* Print Query
****************/
this.doPrintQuery = function() {
var v_i2b2_quey_name = i2b2.CRC.model.queryCurrent.name;
var crc_bcgrnd1 = "<td style='border:1px solid #667788;'>";
var crc_bcgrnd2 = "<td style='border:1px solid #667788;background:#7FFFD4'>";
var crc_cur_bcgrnd = null;
if(
(v_i2b2_quey_name == null) ||
(v_i2b2_quey_name == undefined) ||
(v_i2b2_quey_name.length == 0)
){
v_i2b2_quey_name = 'No Query Name is currently provided.';
}
var v_cnt_panels = i2b2.CRC.model.queryCurrent.panels[0].length;
if(v_cnt_panels > 0){
var win_html_inner =
"<table style='border:1px solid #667788;width:700px;' cellpadding=3px>"+
"<tbody>";
//Get Query Name if available
win_html_inner +=
"<tr>"+
"<td style='background:#6677AA none repeat scroll 0%;border:1px solid #667788;'>"+
"<span style='color:#FFFFFF;font-weight:bold;font-family:arial,helvetica;font-size:13px;'>"+
"Query Name: "+ v_i2b2_quey_name + "<br>Temporal Constraint: ";
var v_querytiming = i2b2.CRC.ctrlr.QT.queryTiming;
if (v_querytiming == "ANY")
{
win_html_inner += "Treat all groups independently";
} else if (v_querytiming == "SAMEVISIT") {
win_html_inner += "Selected groups occur in the same financial encounter";
} else if (v_querytiming == "TEMPORAL") {
win_html_inner += "Define sequence of events";
} else {
win_html_inner += "Items Instance will be the same";
}
win_html_inner += "</span></td></tr>";
var isTemporal = false;
if (this.queryTiming == "TEMPORAL") {
isTemporal = true;
}
for (var ip = 0; ip < i2b2.CRC.model.queryCurrent.panels.length; ip++)
{
var v_cnt_panels = i2b2.CRC.model.queryCurrent.panels[ip].length;
//Get information for each query panel
for(x =0; x < v_cnt_panels; x++){
var v_dateTo = i2b2.CRC.model.queryCurrent.panels[ip][x].dateTo;
var v_dateFrom = i2b2.CRC.model.queryCurrent.panels[ip][x].dateFrom;
var v_exclude = i2b2.CRC.model.queryCurrent.panels[ip][x].exclude;
var v_occurs = i2b2.CRC.model.queryCurrent.panels[ip][x].occurs;
var v_relevance = i2b2.CRC.model.queryCurrent.panels[ip][x].relevance;
var v_timing = i2b2.CRC.model.queryCurrent.panels[ip][x].timing;
var v_items = i2b2.CRC.model.queryCurrent.panels[ip][x].items;
if((x % 2) == 0){
crc_cur_bcgrnd = crc_bcgrnd1;
}
else{
crc_cur_bcgrnd = crc_bcgrnd2;
}
var v_strDateTo = null;
var v_strDateFrom = null;
//Handle JS Dates
if((v_dateTo == null) ||
(v_dateTo == undefined) ||
(v_dateTo == false)
){
v_strDateTo = "none";
}
else{
v_strDateTo =
v_dateTo.Month +"/"+
v_dateTo.Day +"/" +
v_dateTo.Year;
}
//QueryTiming
if (v_querytiming == "ANY")
{
v_timing = "Treat Independently";
} else if (v_querytiming == "SAMEVISIT")
{
if (v_timing == "ANY")
{
v_timing = "Treat Independently";
} else {
v_timing = "Occurs in Same Encounter";
}
} else
{
if (v_timing == "ANY")
{
v_timing = "Treat Independently";
} else {
v_timing = "Items Instance will be the same";
}
}
//Handle JS Dates
if((v_dateFrom == null) ||
(v_dateFrom == undefined) ||
(v_dateFrom == false)
){
v_strDateFrom = "none";
}
else{
v_strDateFrom =
v_dateFrom.Month +"/"+
v_dateFrom.Day +"/" +
v_dateFrom.Year;
}
if (isTemporal)
{
var tempalTitle = "Population in which events occur";
if (ip > 0)
tempalTitle = "Event " + ip;
win_html_inner +=
"<tr>"+
crc_cur_bcgrnd;
win_html_inner +=
"<span style='color:black;font-weight:bold;font-family:arial,helvetica;font-size:12px;'>"+
tempalTitle
"</span></td></tr>";
}
win_html_inner +=
"<tr>"+
crc_cur_bcgrnd;
win_html_inner +=
"<span style='color:black;font-weight:bold;font-family:arial,helvetica;font-size:12px;'>"+
"Group "+ (x + 1)
"</span></td></tr>";
win_html_inner +=
"<tr><td style='border:1px solid #667788;'>"+
"<table width=100% cellpadding=2px cellspacing=0>"+
"<tbody>"+
"<tr style='border:1px solid #667788;'>"+
"<td colspan=3>"+
"<span style='color:black;font-weight:bold;font-family:arial,helvetica;font-size:11px;'>"+
"&nbsp; Date From: &nbsp;</span>"+
"<span style='color:black;font-weight:normal;font-family:arial,helvetica;font-size:11px;'>"+
v_strDateFrom +
"</span>"+
"<span style='color:black;font-weight:normal;font-family:arial,helvetica;font-size:11px;'> </span>"+
"<span style='color:black;font-weight:bold;font-family:arial,helvetica;font-size:11px;'>"+
"&nbsp; Date To: &nbsp;</span>"+
"<span style='color:black;font-weight:normal;font-family:arial,helvetica;font-size:11px;'>"+
v_strDateTo +
"</span>"+
"<span style='color:black;font-weight:normal;font-family:arial,helvetica;font-size:11px;'> </span>"+
"<!--Excluded-->"+
"<span style='color:black;font-weight:bold;font-family:arial,helvetica;font-size:11px;'>"+
"&nbsp; Excluded? &nbsp;</span>"+
"<span style='color:black;font-weight:normal;font-family:arial,helvetica;font-size:11px;'>"+
v_exclude +
"</span>"+
"<span style='color:black;font-weight:normal;font-family:arial,helvetica;font-size:11px;'> </span>"+
"<span style='color:black;font-weight:bold;font-family:arial,helvetica;font-size:11px;'>"+
"&nbsp; Occurs X times: &nbsp;</span>"+
"<span style='color:black;font-weight:normal;font-family:arial,helvetica;font-size:11px;'>&gt; "+
v_occurs +
"</span>"+
"<span style='color:black;font-weight:normal;font-family:arial,helvetica;font-size:11px;'> </span>"+
"<span style='color:black;font-weight:bold;font-family:arial,helvetica;font-size:11px;'>"+
"&nbsp; Relevance %: &nbsp;</span>"+
"<span style='color:black;font-weight:normal;font-family:arial,helvetica;font-size:11px;'> "+
v_relevance +
"</span>"+
"<span style='color:black;font-weight:normal;font-family:arial,helvetica;font-size:11px;'> </span>"+
"<span style='color:black;font-weight:bold;font-family:arial,helvetica;font-size:11px;'>"+
"&nbsp; Temporal Constraint: &nbsp;</span>"+
"<span style='color:black;font-weight:normal;font-family:arial,helvetica;font-size:11px;'>"+
v_timing +
"</span>"+
"</td>"+
"</tr>";
win_html_inner +=
"<!--Header Columns-->"+
"<tr>"+
"<!--Path-->"+
"<td width=40% style='background:#6677AA none repeat scroll 0%;align:center;border-left-style:solid;border-bottom-style:solid;border-top-style:solid;border-right-style:solid;'>"+
"<span style='color:#FFFFFF;font-weight:bold;font-family:arial,helvetica;font-size:11px;'>Path</span>"+
"</td>"+
"<!--Concept-->"+
"<td width=30% style='background:#6677AA none repeat scroll 0%;align:center;border-bottom-style:solid;border-top-style:solid;border-right-style:solid;'>"+
"<span style='color:#FFFFFF;font-weight:bold;font-family:arial,helvetica;font-size:11px;'>Concept/Term</span>"+
"</td>"+
"<!--Other Information-->"+
"<td width=30% style='background:#6677AA none repeat scroll 0%;align:center;border-bottom-style:solid;border-top-style:solid;border-right-style:solid;'>"+
"<span style='color:#FFFFFF;font-weight:bold;font-family:arial,helvetica;font-size:11px;'>Other Information</span>"+
"</td>"+
"</tr>";
win_html_inner +=
"<!--Data Columns-->";
for(n = 0; n < v_items.length; n++){
//str_shrine_path = v_items[n].sdxInfo.sdxKeyValue;
//Using tooltips
str_shrine_path = v_items[n].origData.tooltip;
win_html_inner += "<tr>";
win_html_inner +=
"<td width=40% style='align:center;border-left-style:solid;border-bottom-style:solid;border-right-style:solid;'>"+
"<span style='color:black;font-weight:normal;font-family:arial,helvetica;font-size:11px;'>"+
str_shrine_path +
"</span></td>";
win_html_inner +=
"<td width=30% style='align:center;solid;border-bottom-style:solid;border-right-style:solid;'>"+
"<span style='color:black;font-weight:normal;font-family:arial,helvetica;font-size:11px;'>"+
v_items[n].origData.name +
"</span></td>";
win_html_inner +=
"<td width=30% style='align:center;border-bottom-style:solid;border-right-style:solid;'>"+
"<span style='color:black;font-weight:normal;font-family:arial,helvetica;font-size:11px;'>";
if((v_items[n].LabValues == null) ||
(v_items[n].LabValues == undefined) ||
(v_items[n].LabValues.length <= 0)
){
win_html_inner += "&nbsp;";
}
else{
var v_lab_values = v_items[n].LabValues;
var str_lab_values = "";
if(v_lab_values.GeneralValueType == "NUMBER") {
str_lab_values =
v_lab_values.NumericOp +" : ";
if((v_lab_values.ValueLow != null) ||
(v_lab_values.ValueLow != undefined)
){
str_lab_values +=
v_lab_values.ValueLow + " - "+
v_lab_values.ValueHigh;
} else {
str_lab_values +=
v_lab_values.Value;
}
str_lab_values += " "+ v_lab_values.UnitsCtrl;
}
//String
else if((v_lab_values.ValueString != null) ||
(v_lab_values.ValueString != undefined)
){
str_lab_values =
"By String: "+
v_lab_values.ValueString;
}
//Flag
else if((v_lab_values.ValueFlag != null) ||
(v_lab_values.ValueFlag != undefined)
){
var v_flag = "Normal";
if(v_lab_values.ValueFlag == "H"){
v_flag = "High";
}
else if(v_lab_values.ValueFlag == "L"){
v_flag = "Low";
}
str_lab_values =
"By Flag: "+ v_flag;
}
win_html_inner += str_lab_values;
}
win_html_inner += "</span></td></tr>";
}
//end
if (isTemporal == false)
break;
}
win_html_inner += "</tbody></table>";
}
if (isTemporal)
{
win_html_inner +=
"<tr>"+
crc_cur_bcgrnd;
win_html_inner +=
"<span style='color:black;font-weight:bold;font-family:arial,helvetica;font-size:12px;'><center>"+
$('instancevent1[0]').options[$('instancevent1[0]').selectedIndex].value + " " +
$('preloc1[0]').options[$('preloc1[0]').selectedIndex].value +" " +
$('instanceopf1[0]').options[$('instanceopf1[0]').selectedIndex].value +"<br/>" +
$('postloc[0]').options[$('postloc[0]').selectedIndex].value + "<br/>" +
$('instancevent2[0]').options[$('instancevent2[0]').selectedIndex].value + " " +
$('preloc2[0]').options[$('preloc2[0]').selectedIndex].value + " " +
$('instanceopf2[0]').options[$('instanceopf2[0]').selectedIndex].value +" ";
if ( $('bytime1[0]').checked)
{
win_html_inner += "<br/>" + $('byspan1[0]').options[$('byspan1[0]').selectedIndex].value + " " +
$('bytimevalue1[0]').value + " " +
$('bytimeunit1[0]').options[$('bytimeunit1[0]').selectedIndex].value +" ";
}
if ( $('bytime2[0]').checked)
{
win_html_inner += "<br/>" + $('byspan2[0]').options[$('byspan2[0]').selectedIndex].value + " " +
$('bytimevalue2[0]').value + " " +
$('bytimeunit2[0]').options[$('bytimeunit2[0]').selectedIndex].value;
}
win_html_inner += "</center></span></td></tr>";
}
win_html_inner += "</tbody></table>";
//Query Status window
var self = i2b2.CRC.ctrlr.currentQueryStatus;
if(
(self != null) &&
(self != undefined) &&
(self.dispDIV != null) &&
(self.dispDIV != undefined)
){
win_html_inner += self.dispDIV.innerHTML;
}
var win =
window.open("",'shrinePrintWindow','width=800,height=750,menubar=yes,resizable=yes,scrollbars=yes');
win.document.writeln('<div id="shrinePrintQueryPage">');
win.document.writeln(win_html_inner);
win.document.writeln('</div>');
}
else{
alert("Currently no query is available for printing. \nPlease generate a query before clicking on [Print Query] button.");
}
},
// =====================================================================================================//
/**********************
* Query Report BG
**********************/
// Print Query variables
this.queryPanelObjForPrinting = {};
this.QI_Rec_ForPrinting = new Object();
this.QueryResultsForPrinting = {};
this.QueryResultsForPrintingIndex = 0;
this.QueryResultsNum = 0;
this.query_user_id=null;
this.XMLResultsStringForPrint = "";
var uniqueItems = $H();
var queryReportWin = null;
// End Print Query variables
this.ClearVariablesForPrinting = function()
{
this.queryPanelObjForPrinting = {};
this.QI_Rec_ForPrinting = new Object();
this.QueryResultsForPrinting = {};
this.QueryResultsForPrintingIndex = 0;
this.QueryResultsNum = 0;
this.query_user_id=null;
this.XMLResultsStringForPrint = "";
var uniqueItems = $H();
queryReportWin = null;
};
this.createQueryReport = function(queryNameInput,previewQueryOnly)
{
//This request is to populate the query report panel in the query results section
//If the status box is empty no need to proceed
if($('infoQueryStatusText').innerHTML=="") return;
//Clean the corresponding div before repopulating
$("infoQueryStatusReport").innerHTML="";
//Clean and populate the variables for printing
this.ClearVariablesForPrinting();
if(queryNameInput.length>0 || previewQueryOnly)
this.queryPanelObjForPrinting.name = queryNameInput;
else{
var nameObj = document.getElementById("queryName");
var v_i2b2_quey_name = i2b2.CRC.model.queryCurrent.name;
if(nameObj){
this.queryPanelObjForPrinting.name = nameObj.innerHTML;
}
}
var userIdElm = $("userIdElem");
if(userIdElm)
this.query_user_id = userIdElm.value;
var v_cnt_panels = i2b2.CRC.model.queryCurrent.panels[0].length;
if(v_cnt_panels > 0){
this.queryPanelObjForPrinting.timing = i2b2.CRC.ctrlr.QT.queryTiming;
var isTemporal = false;
if (this.queryTiming == "TEMPORAL") {
isTemporal = true;
}
this.queryPanelObjForPrinting.subQryRelationStructure = [];
this.queryPanelObjForPrinting.mainQryStructure = [];
this.queryPanelObjForPrinting.subQryStructure = [];
this.queryPanelObjForPrinting.hasSubquery = false;
for (var ip = 0; ip < i2b2.CRC.model.queryCurrent.panels.length; ip++)
{
var v_cnt_panels = i2b2.CRC.model.queryCurrent.panels[ip].length;
//Get information for each query panel
var panels = [];
for(x =0; x < v_cnt_panels; x++){
var po = {};
po.dateTo = i2b2.CRC.model.queryCurrent.panels[ip][x].dateTo;
po.dateFrom = i2b2.CRC.model.queryCurrent.panels[ip][x].dateFrom;
po.exclude = i2b2.CRC.model.queryCurrent.panels[ip][x].exclude;
po.occurs = i2b2.CRC.model.queryCurrent.panels[ip][x].occurs;
po.relevance = i2b2.CRC.model.queryCurrent.panels[ip][x].relevance;
po.timing = i2b2.CRC.model.queryCurrent.panels[ip][x].timing;
po.subquery = false;
if (isTemporal && ip>0){
po.name = "Event" + ip;
po.subquery = true;
}
var v_items = i2b2.CRC.model.queryCurrent.panels[ip][x].items;
var v_strDateTo = null;
var v_strDateFrom = null;
//Handle JS Dates
if((po.dateTo == null) ||
(po.dateTo == undefined) ||
(po.dateTo == false)
){
v_strDateTo = "none";
}
else{
v_strDateTo =
po.dateTo.Month +"/"+
po.dateTo.Day +"/" +
po.dateTo.Year;
}
po.dateTo = v_strDateTo
//Handle JS Dates
if((po.dateFrom == null) ||
(po.dateFrom == undefined) ||
(po.dateFrom == false)
){
po.strDateFrom = "none";
}
else{
v_strDateFrom =
po.dateFrom.Month +"/"+
po.dateFrom.Day +"/" +
po.dateFrom.Year;
}
po.dateFrom = v_strDateFrom;
po.items = [];
for(n = 0; n < v_items.length; n++){
var itemObj = {};
itemObj.tooltip = v_items[n].origData.tooltip? v_items[n].origData.tooltip:"";
itemObj.name = v_items[n].origData.result_instance_id ?
(v_items[n].origData.title ? v_items[n].origData.title :
(v_items[n].origData.titleCRC ? v_items[n].origData.titleCRC : ""))
:(v_items[n].origData.newName ? v_items[n].origData.newName
: (v_items[n].origData.name?v_items[n].origData.name:""));
itemObj.hasChildren = v_items[n].origData.hasChildren;
po.items.push(itemObj);
//itemObj.level =
}
panels[x] = po;
}
if(panels.length>0){
if (isTemporal)
{
if (ip > 0)
this.queryPanelObjForPrinting.subQryStructure.push(panels);
else
this.queryPanelObjForPrinting.mainQryStructure.push(panels);
}
else
this.queryPanelObjForPrinting.mainQryStructure.push(panels);
}
}
if(isTemporal)
{
var evntRelDiv = document.getElementById('temporalbuilders');
if(evntRelDiv)
{
var relationNodes = evntRelDiv.childNodes;
this.queryPanelObjForPrinting.subQryRelationStructure = [];
var subQryRelationStructureIndex = 0;
for(i=0; i < relationNodes.length; i++)
{
var thisRelNode = relationNodes[i];
var rel = {};
rel.spans = [];
var spanIndex = 0;
var spanObj = {};
var bytime1 = false;
var bytime2 = false;
var allChildren = thisRelNode.childNodes;
for(j=0; j < allChildren.length; j++)
{
var currentNode = allChildren[j];
if(currentNode.id){
if(currentNode.id.indexOf("preloc1") >= 0)
{
rel.firstQryJoinCol = getSelectedValueFromOptions(currentNode.options);
}
if(currentNode.id.indexOf("instanceopf1") >= 0)
{
rel.firstQryOp = getSelectedValueFromOptions(currentNode.options);
}
if(currentNode.id.indexOf("instancevent1") >= 0)
{
rel.firstQryEvntNm = getSelectedValueFromOptions(currentNode.options);
}
if(currentNode.id.indexOf("postloc") >= 0)
{
rel.operator = getSelectedValueFromOptions(currentNode.options);
}
if(currentNode.id.indexOf("preloc2") >= 0)
{
rel.secondQryJoinCol = getSelectedValueFromOptions(currentNode.options);
}
if(currentNode.id.indexOf("instanceopf2") >= 0)
{
rel.secondQryOp = getSelectedValueFromOptions(currentNode.options);
}
if(currentNode.id.indexOf("instancevent2") >= 0)
{
rel.secondQryEvntNm = getSelectedValueFromOptions(currentNode.options);
}
if((currentNode.id.indexOf('bytime1') >= 0) && currentNode.checked)
{
bytime1 = true;
}
if(currentNode.id.indexOf('byspan1') >= 0 && bytime1)
{
spanObj.oprator = getSelectedValueFromOptions(currentNode.options);
}
if(currentNode.id.indexOf('bytimevalue1') >= 0 && bytime1)
{
spanObj.value = currentNode.value;
}
if(currentNode.id.indexOf('bytimeunit1') >= 0 && bytime1)
{
spanObj.units = getSelectedValueFromOptions(currentNode.options);
rel.spans[spanIndex++] = spanObj;
}
if((currentNode.id.indexOf('bytime2') >= 0) && currentNode.checked)
{
bytime2 = true;
spanObj = {};
}
if(currentNode.id.indexOf('byspan2') >= 0 && bytime2)
{
spanObj.oprator = getSelectedValueFromOptions(currentNode.options);
}
if(currentNode.id.indexOf('bytimevalue2') >= 0 && bytime2)
{
spanObj.value = currentNode.value;
}
if(currentNode.id.indexOf('bytimeunit2') >= 0 && bytime2)
{
spanObj.units = getSelectedValueFromOptions(currentNode.options);
rel.spans[spanIndex++] = spanObj;
}
}
}
if(allChildren.length > 0)
this.queryPanelObjForPrinting.subQryRelationStructure[subQryRelationStructureIndex++] = rel ;
}
}
}
//All variables are ready to print.
var infoQueryStatusTextObj = $('infoQueryStatusText');
this.createHTMLForPrinting(previewQueryOnly);
}
else{
alert("Currently no query is available for printing. \nPlease generate a query before clicking on [Print Query] button.");
}
};
this.PrintQueryTemplate = "<head>"+
"<title>Query Report</title>"+
// "<script type=\"text/javascript\" src=\"js-i2b2/cells/CRC/CRC_ctrlr_Query_Report.js\"></script>"+
"<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>"+
"<link rel='stylesheet' TYPE='text/css' href='js-i2b2/cells/CRC/assets/query_report.css'>"+
"<link href='js-ext/c3code/c3.css' rel='stylesheet' type='text/css'>"+
"</head>"+
"<body>"+
"</body>";
this.PrintQueryBody =
"<div id=\"QueryReportLoading\"><img src=\"js-i2b2/cells/CRC/assets/loading.gif\" alt=\"Loading\"/></div>"+
"<div id='QueryReportContainer' class='no-show'>"+
"<span style='float:right;'><img src='assets/images/title.png'/></span>"+
"<span class='no-print' style='font-family:Arial'><img src=\"js-i2b2/cells/CRC/assets/print.png\"/> <a href='javascript:window.print()' title='Click here to print the report.'>Print Report</a></span>"+
"<div class='QRMainHeader'>Query Report</div>"+
"<table id='queryDetailsTable'></table>"+
"<div class='descHead'>Query Definition</div>"+
"<table id='qdHeaderTable'></table>"+
"<table id='qdContainerTable'></table><br>"+
"<table id='temporalQryEventsContainerTable'></table><br>"+
"<table id='temporalQryEventsRelationsTable'></table>"+
"<div id='qrsTitle' class='descHead'>Query Results</div>"+
"<br><div id='queryResultsContainer'><div id='tablesContainer'></div><div id='graphsContainer'></div></div>" +
"<span class='no-print' style='font-family:Arial'><img src=\"js-i2b2/cells/CRC/assets/print.png\"/> <a href='javascript:window.print()' title='Click here to print the report.'>Print Report</a></span>"+
"</div>";
this.createHTMLForPrinting = function(previewQueryOnly)
{
var QueryReportWin = null;
var QueryReportDiv = null;
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
var browserIsIE = false;
if (msie > 0)
browserIsIE = true;
if(!(window.ActiveXObject) && "ActiveXObject" in window)
browserIsIE = true;
var savedHTML = null;
if(this.queryPanelObjForPrinting.mainQryStructure.length > 0){
if( previewQueryOnly){
if(browserIsIE){
i2b2.CRC.ctrlr.QT.queryReportViewer.yuiPanel = null;
i2b2.CRC.ctrlr.QT.queryReportViewer.show();
QueryReportDiv = jQuery(i2b2.CRC.ctrlr.QT.queryReportViewer.yuiPanel.body)//.find('#queryReport-viewer-body');
}
else{ //Open a new window for printing query for non-IE browsers
QueryReportWin = window.open("",'shrinePrintWindow','width=800,height=750,menubar=yes,resizable=yes,scrollbars=yes');
//Request came for query preview generation. Need to load the child window with template
// if(previewQueryOnly){
var doc = QueryReportWin.document;
doc.write(this.PrintQueryTemplate);
doc.write(this.PrintQueryBody);
doc.close();
// }
}
}
else
{
QueryReportDiv = $('infoQueryStatusReport');
QueryReportDiv.innerHTML=this.PrintQueryBody;
var printLinks = $$('.no-print');
if(printLinks)
printLinks.each(function(printLink){
var link = printLink.down('a');
if(link)
link.href="javascript:i2b2.CRC.ctrlr.QT.PrintElem('infoQueryStatusReport')";
});
}
//Populate the query details section
try{
if(QueryReportWin)
this.getQueryDetails(this.queryPanelObjForPrinting,this.query_user_id,previewQueryOnly,QueryReportWin,"queryDetailsTable");
if(QueryReportDiv)
this.getQueryDetails(this.queryPanelObjForPrinting,this.query_user_id,previewQueryOnly,false,"queryDetailsTable");
}
catch(e)
{
console.error(e);
}
//Populate the query description section
try{
if(QueryReportWin)
this.getQrTiming(this.queryPanelObjForPrinting,QueryReportWin,"qdHeaderTable");
if(QueryReportDiv)
this.getQrTiming(this.queryPanelObjForPrinting,false,"qdHeaderTable");
}
catch(e)
{
console.error(e);
}
//Populate the query structure description section
var qdDescription = this.getQueryDescription(this.queryPanelObjForPrinting.mainQryStructure);
if(qdDescription)
{
try{
var Row = "<tr><td width=\"5px\"><div class=\"tabSpace\"></div></td>";
var Cell = "<td class=\"eventsRelHdr\">" + "All Groups" + "</td>";
Row = Row + Cell;
if(QueryReportWin)
jQuery("#qdContainerTable",QueryReportWin.document).append(Row);
if(QueryReportDiv)
jQuery("#qdContainerTable").append(Row);
if(QueryReportWin)
jQuery("#qdContainerTable",QueryReportWin.document).append(qdDescription);
if(QueryReportDiv)
jQuery("#qdContainerTable").append(qdDescription);
}
catch(e)
{
console.error(e);
}
}
//Populate temporal query events description section
var qdDescription = this.getQueryDescription(this.queryPanelObjForPrinting.subQryStructure);
if(qdDescription)
{
try{
var Row = "<tr><td width=\"5px\"><div class=\"tabSpace\"></div></td>";
var Cell = "<td class=\"eventsRelHdr\">" + "All Events" + "</td>";
Row = Row + Cell;
if(QueryReportWin)
jQuery("#temporalQryEventsContainerTable",QueryReportWin.document).append(Row);
if(QueryReportDiv)
jQuery("#temporalQryEventsContainerTable").append(Row);
if(QueryReportWin)
jQuery("#temporalQryEventsContainerTable",QueryReportWin.document).append(qdDescription);
if(QueryReportDiv)
jQuery("#temporalQryEventsContainerTable").append(qdDescription);
}
catch(e)
{
console.error(e);
}
}
//Populate temporal query events relation section
if(this.queryPanelObjForPrinting.subQryStructure && this.queryPanelObjForPrinting.subQryStructure.length>0){
var temporalQEventsRelTable = null;
if(QueryReportWin)
temporalQEventsRelTable = QueryReportWin.document.getElementById("temporalQryEventsRelationsTable");
if(QueryReportDiv)
temporalQEventsRelTable = $("temporalQryEventsRelationsTable");
try{
var qdDescription = this.getTemporalQueryEventRelations(temporalQEventsRelTable);
}
catch(e)
{
console.error(e);
}
}
if(!previewQueryOnly){
//Populate the query results section
var resultsArray = i2b2.CRC.view.graphs.parseInputIntoArray(i2b2.CRC.ctrlr.currentQueryResults.resultString, true);
if(resultsArray && resultsArray.length>0){
try{
if(QueryReportWin)
this.createResultsForPrint(resultsArray,QueryReportWin);
else{
this.createResultsForPrint(resultsArray,false);
}
}
catch(e)
{
console.error(e);
}
}
else // There is no results, so no need to show Query Results section
{
var resultTitleDiv = null;
if(QueryReportWin)
resultTitleDiv = QueryReportWin.document.getElementById("qrsTitle");
if(QueryReportDiv)
resultTitleDiv = $("qrsTitle");
if(resultTitleDiv){
resultTitleDiv.parentNode.removeChild(resultTitleDiv);
}
}
}
else // This window is to only show the query structure preview, so no need to show Query Results section
{
var resultTitleDiv = null;
if(QueryReportWin)
resultTitleDiv = QueryReportWin.document.getElementById("qrsTitle");
if(QueryReportDiv)
resultTitleDiv = $("qrsTitle");
if(resultTitleDiv){
resultTitleDiv.parentNode.removeChild(resultTitleDiv);
}
}
var loaderDiv = null;
if(QueryReportWin)
loaderDiv = QueryReportWin.document.getElementById("QueryReportLoading");
if(QueryReportDiv){
// if(browserIsIE && printFromId)
loaderDiv = jQuery(QueryReportDiv).find('#QueryReportLoading');
// else
// loaderDiv = jQuery("#infoQueryStatusReport #QueryReportLoading");
}
if(loaderDiv)
jQuery(loaderDiv).addClass("no-show");
var resultsDiv = null;
if(QueryReportWin)
resultsDiv = QueryReportWin.document.getElementById("QueryReportContainer");
if(QueryReportDiv){
// if(browserIsIE && printFromId)
resultsDiv = jQuery(QueryReportDiv).find('#QueryReportContainer');
// else
// resultsDiv = $("#infoQueryStatusReport #QueryReportContainer");
}
if(resultsDiv)
jQuery(resultsDiv).removeClass("no-show");
if(browserIsIE && previewQueryOnly)
{
// this.PrintElem();
// jQuery(resultsDiv).html(savedHTML);
}
}
else{
alert("Currently no query is available for printing. \nPlease generate a query before clicking on [Print Query] button.");
}
};
this.getQueryDetails = function(queryObj,query_user_id,previewQueryOnly,QueryReportWin,objId){
var username = this.getQueryUserFullName(query_user_id);
var instanceRec = this.QI_Rec_ForPrinting;
var dateInfoProvided = false;
var diff = "";
var text = "";
var qrNameNotProvided = false;
if(queryObj.name.length <= 0){
text = 'No Query Name is currently provided';
qrNameNotProvided = true;
}
else{
if(previewQueryOnly)
text = 'The query is entitled "' + queryObj.name + '"';
else
text = 'The query entitled "' + queryObj.name ;
}
var formattedResObj = i2b2.CRC.ctrlr.currentQueryResults;
var resString = formattedResObj.resultString;
var computeTime = null;
if(resString.toLowerCase().indexOf("compute time")>0)
{
var textCompTime = resString.match(new RegExp("Compute Time" + "(.*)" + "\n"));
if(textCompTime.length>0)
{
var compText = textCompTime[0];
var splitcompText = compText.split(":");
if(splitcompText && splitcompText.length>1)
computeTime = splitcompText[1];
}
}
text = (qrNameNotProvided ? 'The query "' : '') + text +
'" was completed in '+ computeTime + '. This query was performed by "'+ username +'".';
if(QueryReportWin)
jQuery("#" + objId,QueryReportWin.document).append('<tr><td>' + text.toString() + '</td></tr>');
else
jQuery("#" + objId).append('<tr><td>' + text.toString() + '</td></tr>');
};
this.getQrTiming = function(queryObj,QueryReportWin,objId){
var tdText = "";
if(queryObj.timing)
{
switch(queryObj.timing)
{
case "ANY":
tdText = " Temporal Constraint: Treat All Groups Independently";
break;
case "SAMEVISIT":
tdText = " Temporal Constraint: Selected groups occur in the same financial encounter";
break;
case "TEMPORAL": //Temporal query
query_order = "Groups occur in the same sequence from left to right";
tdText = " Temporal Constraint: Population in which events occur";
}
if(QueryReportWin)
jQuery("#" + objId,QueryReportWin.document).append('<tr><td>' + tdText + '</td></tr>');
else
jQuery("#" + objId).append('<tr><td>' + tdText + '</td></tr>');
}
};
this.getQueryDescription = function(queryObj) {
var elemToAppend = "";
if(queryObj.length > 0)
{
elemToAppend = "<tr>";
var panelNum = 0;
elemToAppend = elemToAppend + "<td width=\"5px\"><div class=\"tabSpace\"></div></td>";
var tdObj = "<td width=\"610px\">";
queryObj.each(function(queryData){
var andCounter = 0;
var subQryEventNameDisplayed = false;
queryData.each(function(panelData){
var orCounter = 0;
var numItemsInPanel = panelData.items.length;
var panelContdivObj = "<div class=\"panelContainer";
var PanelTableObj = "<table width=\"615px\" border=\"0\">";
var PanelTableTrObj = "<tr>";
var PanelTableTd1Obj = "<td width=\"5px\"><div class=\"tabSpace\"></div></td>";
PanelTableTrObj = PanelTableTrObj + PanelTableTd1Obj;
var PanelTableTd2Obj = "<td width=\"610px\">";
panelNum++ ;
var panelOperatorDivId = "PanelOp-" + panelNum;
var panelOperatorDiv = "<div id=\"" + panelOperatorDivId + "\" class=\"opDiv\">";
if(andCounter == 0){
andCounter++ ;
if (panelData.exclude)
{
panelOperatorDiv = panelOperatorDiv + "NOT";
panelContdivObj = panelContdivObj + " notOpPanel";
}
}
else
{
var text = "AND";
if (panelData.exclude)
{
text = "AND NOT";
panelContdivObj = panelContdivObj + " notOpPanel";
}
panelOperatorDiv = panelOperatorDiv + text;
andCounter++ ;
}
var panelItemDiv = "<div class=\"panelItem\">";
var panelTiming = "";
switch(panelData.timing)
{
case "ANY":
panelTiming = "Independent of Visit";
break;
case "SAMEVISIT":
panelTiming = "Occurs in Same Encounter";
break;
case "SAMEINSTANCENUM":
panelTiming = "Items Instance will be the same";
break;
}
var panelDateFrom = "";
if(panelData.dateFrom)
{
if(panelData.dateFrom.Month && panelData.dateFrom.Day && panelData.dateFrom.Year)
panelDateFrom = panelData.dateFrom.Month + "/" + panelData.dateFrom.Day + "/" + panelData.dateFrom.Year;
else
{
panelDateFrom = panelData.dateFrom;
}
}
var panelDateTo = "";
if(panelData.dateTo)
{
if(panelData.dateTo.Month && panelData.dateTo.Day && panelData.dateTo.Year)
panelDateTo = panelData.dateTo.Month + "/" + panelData.dateTo.Day + "/" + panelData.dateTo.Year;
else
{
panelDateTo = panelData.dateTo;
}
}
var panelDateRangeText = "From earliest date available to latest date available";
if(panelData.dateFrom && panelData.dateTo)
{
if(panelDateFrom == "none")
panelDateFrom = "earliest date available";
if(panelDateTo == "none")
panelDateTo = "latest date available";
panelDateRangeText = "From " + panelDateFrom + " to " + panelDateTo;
}
else
{
if(panelDateFrom == "none")
panelDateFrom = "earliest date available";
if(panelDateTo == "none")
panelDateTo = "latest date available";
if(panelData.dateFrom && !panelData.dateTo)
panelDateRangeText = "From " + panelDateFrom + " to latest date available";
if(!panelData.dateFrom && panelData.dateTo)
panelDateRangeText = "From earliest date available to " + panelDateTo;
}
var panelItemOccurrenceText = "# of times an item is recorded is > " + panelData.occurs;
panelData.items.each(function(itemData){
var data = itemData;
if(!(typeof itemData.origData == 'undefined'))
data = itemData.origData;
var qrPanelItemTableObj = "<table class=\"qrPanelItemTable\">";
var qrPanelItemTableTrObj = "<tr>";
var imageObj = null;
//Evaluate the lab values
var str_lab_values = "";
if(data.LabValues){
var v_lab_values = data.LabValues;
if(v_lab_values.GeneralValueType == "NUMBER") {
var labOp = "";
switch(v_lab_values.NumericOp)
{
case "LT":
labOp = " <";
break;
case "LE":
labOp = " <=";
break;
case "EQ":
labOp = " =";
break;
case "BETWEEN":
labOp = " Between";
break;
case "GE":
labOp = " >=";
break;
case "GT":
labOp = " >";
break;
}
str_lab_values =
labOp +" ";
if((v_lab_values.ValueLow != null) ||
(v_lab_values.ValueLow != undefined)
){
str_lab_values +=
v_lab_values.ValueLow + " - "+
v_lab_values.ValueHigh;
} else {
str_lab_values +=
v_lab_values.Value;
}
str_lab_values += " "+ v_lab_values.UnitsCtrl;
}
//String
else if((v_lab_values.ValueString != null) ||
(v_lab_values.ValueString != undefined)
){
str_lab_values =
"By String: "+
v_lab_values.ValueString;
}
//Flag
else if((v_lab_values.ValueFlag != null) ||
(v_lab_values.ValueFlag != undefined)
){
var v_flag = "Normal";
if(v_lab_values.ValueFlag == "H"){
v_flag = "High";
}
else if(v_lab_values.ValueFlag == "L"){
v_flag = "Low";
}
str_lab_values =
"By Flag: "+ v_flag;
}
// End evaluate lab values
}
if(data.hasChildren) //It is a previous query inside a query, so no item-icon provided
{
if( data.hasChildren.indexOf("LA") >=0 )
{
imageObj = "<img src=\"js-i2b2/cells/ONT/assets/sdx_ONT_CONCPT_leaf.gif\" style=\"float:left;margin-top:5px;margin-right:5px;\">";
}
else
{
imageObj = "<img src=\"js-i2b2/cells/ONT/assets/sdx_ONT_CONCPT_branch-exp.gif\" style=\"float:left;margin-top: 5px;margin-right: 5px;\">";
}
}
if(imageObj)
{
var nameText = "";
if(data.newName)
nameText = data.newName;
else
nameText = data.name;
var qrPanelItemTableTdObj = "<td width=\"610px\" style=\"font-weight:bold; font-size:18px;\"><div width=\"400px\" style=\"display:inline;\">" + imageObj + "<div>" + " " + nameText + str_lab_values + "</div></div>" + "</td>";
}
else
{
var qrPanelItemTableTdObj = "<td width=\"610px\" style=\"font-weight:bold; font-size:18px;\">" + data.name + str_lab_values + "</td>";
}
qrPanelItemTableTrObj = qrPanelItemTableTrObj + qrPanelItemTableTdObj;
qrPanelItemTableObj = qrPanelItemTableObj + qrPanelItemTableTrObj + "</tr>";
qrPanelItemTableTrObj = "<tr>";
qrPanelItemTableTdObj = "<td width=\"610px\" style=\"font-weight:bold; font-size:14px;\">" + data.tooltip + "</td>";
qrPanelItemTableTrObj = qrPanelItemTableTrObj + qrPanelItemTableTdObj + "</tr>";
qrPanelItemTableObj = qrPanelItemTableObj + qrPanelItemTableTrObj;
qrPanelItemTableTrObj = "<tr>";
qrPanelItemTableTdObj = "<td width=\"610px\" style=\"font-size:14px;\">" + panelTiming + "</td>" ;
qrPanelItemTableTrObj = qrPanelItemTableTrObj + qrPanelItemTableTdObj + "</tr>";
qrPanelItemTableObj = qrPanelItemTableObj + qrPanelItemTableTrObj;
qrPanelItemTableTrObj = "<tr>";
qrPanelItemTableTdObj = "<td width=\"610px\" style=\"font-size:14px;\">" + panelDateRangeText + "</td>" ;
qrPanelItemTableTrObj = qrPanelItemTableTrObj + qrPanelItemTableTdObj + "</tr>";
qrPanelItemTableObj = qrPanelItemTableObj + qrPanelItemTableTrObj;
qrPanelItemTableTrObj = "<tr>";
qrPanelItemTableTdObj = "<td width=\"610px\" style=\"font-size:14px;\">" + panelItemOccurrenceText + "</td>" ;
qrPanelItemTableTrObj = qrPanelItemTableTrObj + qrPanelItemTableTdObj + "</tr>";
qrPanelItemTableObj = qrPanelItemTableObj + qrPanelItemTableTrObj;
qrPanelItemTableObj = qrPanelItemTableObj + "</table>";
panelItemDiv = panelItemDiv + "<br>" + qrPanelItemTableObj + "<br>";
if(++orCounter < numItemsInPanel)
{
var orDiv = "<div style=\"font-size: 20px;font-style: italic;font-weight: bold;\">" + "OR" + "</div>";
panelItemDiv = panelItemDiv + orDiv;
}
});
panelItemDiv = panelItemDiv + "</div>";
PanelTableTd2Obj = PanelTableTd2Obj + panelItemDiv + "</td>";
PanelTableTrObj = PanelTableTrObj + PanelTableTd2Obj + "</tr>";
PanelTableObj = PanelTableObj + PanelTableTrObj + "</table>";
panelContdivObj = panelContdivObj + "\">" + PanelTableObj + "</div>";
panelOperatorDiv = panelOperatorDiv + "</div>";
if(panelData.subquery)
{
if(!subQryEventNameDisplayed){
var eventNameDiv = "<div class=\"opDiv\">" + panelData.name + "</div>";
tdObj = tdObj + eventNameDiv + panelOperatorDiv + panelContdivObj;
subQryEventNameDisplayed = true;
}
else
tdObj = tdObj + panelOperatorDiv + panelContdivObj;
}
else
tdObj = tdObj + panelOperatorDiv + panelContdivObj;
});
});
}
if(elemToAppend)
elemToAppend = elemToAppend + tdObj + "</td></tr>";
return elemToAppend;
};
this.getTemporalQueryEventRelations = function(eventsRelTable){
if(this.queryPanelObjForPrinting.subQryRelationStructure.length > 0 )
{
var Row = new Element('tr');
var Cell = new Element('td',{'width':'5px'});
var divInCell = new Element('div',{'class':'tabSpace'});
Row.insert(Cell.insert(divInCell));
Cell = new Element('td',{'class':'eventsRelHdr'}).update('Order of Events');
Row.insert(Cell);
var tempDiv = new Element('div');
tempDiv.insert(Row);
jQuery(eventsRelTable).append(jQuery(tempDiv).html());
}
this.queryPanelObjForPrinting.subQryRelationStructure.each(function(relation){
var Row = new Element('tr');
var Cell = new Element('td',{'width':'5px'});
var divInCell = new Element('div',{'class':'tabSpace'});
Row.insert(Cell.insert(divInCell));
Cell = new Element('td', {'class' : 'eventsRel'});
var mnSpan = new Element('span', {'class' : 'eventsRelSpan'});
var mainSpan = new Element('center');
var textFirst = relation.firstQryJoinCol + " " + relation.firstQryOp + " occurrence for " + relation.firstQryEvntNm;
var firstSpan = new Element('span').update(textFirst);
mainSpan.insert(firstSpan).insert(new Element('br'));
var relationOperator = "";
switch(relation.operator)
{
case "LESS":
relationOperator = "Occurs Before";
break;
case "LESSEQUAL":
relationOperator = "Occurs On Or Before";
break;
case "EQUAL":
relationOperator = "Occurs Simultaneously With";
break;
case "GREATER":
relationOperator = "Occurs After";
break;
case "GREATEREQUAL":
relationOperator = "Occurs On or After";
break;
default:
break;
}
var textOperator = relationOperator.length>0 ? relationOperator : relation.operator;
var opSpan = new Element('span').update(textOperator);
mainSpan.insert(opSpan).insert(new Element('br'));
var textSecond = relation.secondQryJoinCol + " of " + relation.secondQryOp + " occurrence of " + relation.secondQryEvntNm;
var secondSpan = new Element('span').update(textSecond);
mainSpan.insert(secondSpan).insert(new Element('br'));
var firstSpan = true;
relation.spans.each(function(thisSpan){
switch(thisSpan.oprator)
{
case "GREATER" :
thisSpan.oprator = ">";
break;
case "GREATEREQUAL" :
thisSpan.oprator = ">=";
break;
case "EQUAL" :
thisSpan.oprator = "=";
break;
case "LESSEQUAL" :
thisSpan.oprator = "<=";
break;
case "LESS" :
thisSpan.oprator = "<";
break;
default:
break;
}
var text = "";
if(firstSpan)
{
text = " By " + thisSpan.oprator + " " + thisSpan.value + " " + thisSpan.units;
firstSpan = false;
}
else
{
text = " And " + thisSpan.oprator + " " + thisSpan.value + " " + thisSpan.units;
}
mainSpan.insert((new Element('span')).update(text)).insert(new Element('br'));
});
mnSpan.insert(mainSpan);
Row.insert((Cell).insert(mnSpan));
var tempDiv = new Element('div');
tempDiv.insert(Row);
jQuery(eventsRelTable).append(jQuery(tempDiv).html());
});
};
this.createResultsForPrint = function(dataArray,child){
var _2DResultsArray = i2b2.CRC.view.downloadData.getFormattedResults(dataArray);
if(_2DResultsArray && _2DResultsArray.length>0)
{
//Populate the tables
var clonedArray = _2DResultsArray.slice(0);
var allSites = $H();
var allSitesRow = clonedArray[0];
if(allSitesRow && allSitesRow.length>0)
{
for(var x = 1; x < allSitesRow.length ; x++)
{
var siteName = allSitesRow[x];
allSites.set(siteName,x); //SiteName,Index pairs
}
}
clonedArray = _2DResultsArray.slice(0);
var allUniqueBreakDowns = $H();
for(var i = 0 ; i < clonedArray.length ; i++)
{
var brkDownEntry = clonedArray[i][0];
if(brkDownEntry.length>0)
{
var tmpBrkDown = brkDownEntry.split("|");
if(tmpBrkDown && tmpBrkDown.length>1)
{
thisBrkDown = tmpBrkDown[0];
allUniqueBreakDowns.set(thisBrkDown,thisBrkDown);
}
}
}
//Take care of the patient number element separately
//Create the data array for table creation
clonedArray = _2DResultsArray.slice(0);
var dataArray = new Array();
var thisRow = clonedArray[0].slice(0);
thisRow[0] = "";
dataArray.push(thisRow);
thisRow = clonedArray[1].slice(0);
thisRow[0] = "Total Patients Count";
dataArray.push(thisRow);
if(dataArray && dataArray.length>0)
{
jQuery('#tablesContainer').append("<br/>");
jQuery('#tablesContainer').append("<div class='subTitleDivs'>Total Number of Cases</div>" );
var sortArray = i2b2.CRC.ctrlr.QT.createShorterDataArray(dataArray);
if(sortArray && sortArray.length>0)
i2b2.CRC.ctrlr.QT.createTable(sortArray);
else
i2b2.CRC.ctrlr.QT.createTable(dataArray);
}
//Create tables for the breakdowns
allUniqueBreakDowns.each(function(brkDown)
{
clonedArray = _2DResultsArray.slice(0);
dataArray = new Array();
var thisRow = _2DResultsArray[0].slice(0);
thisRow[0] = "";
dataArray.push(thisRow);
var category = "";
for(var i = 1; i<clonedArray.length;i++)
{
var thisbrkDown = clonedArray[i][0];
if(thisbrkDown.toLowerCase().indexOf(brkDown.key.toLowerCase())>=0)
{
thisRow = clonedArray[i];
var tmpBrkDown = thisbrkDown.split("|");
if(tmpBrkDown && tmpBrkDown.length>1)
{
category = tmpBrkDown[0];
thisRow[0][0] = tmpBrkDown[1];
}
dataArray.push(thisRow);
}
}
if(dataArray && dataArray.length>0)
{
jQuery('#tablesContainer').append("<br/>");
jQuery('#tablesContainer').append("<div class='subTitleDivs'>Total Unique Patients by " + category +"</div>" );
var sortArray = i2b2.CRC.ctrlr.QT.createShorterDataArray(dataArray);
if(sortArray && sortArray.length>0)
i2b2.CRC.ctrlr.QT.createTable(sortArray);
else
i2b2.CRC.ctrlr.QT.createTable(dataArray);
}
});
//Populate charts
jQuery('#tablesContainer').append("<br/><br/>");
i2b2.CRC.view.graphs.createGraphs("graphsContainer", i2b2.CRC.ctrlr.currentQueryResults.resultString, true);
}
};
this.createShorterDataArray = function(dataArray)
{
try{
if(dataArray.length>0)
{
var siteRow = dataArray[0];
var totalNumOfSites = siteRow.length - 1;
if(totalNumOfSites > 10)
{
var finalArr = [];
var loopNum = 0;
var totalLoopsRequired = Math.floor(totalNumOfSites/10);
if(totalNumOfSites%10 >0)
totalLoopsRequired++;
while(loopNum<totalLoopsRequired){
var newRow = new Array(11);
for(var i = 0; i < dataArray.length; i++) {
newRow = new Array(11);
//Decide the first column entry for current row
var thisRow = dataArray[i];
newRow[0] = thisRow[0];
for(var j=1; j<=10; j++)
{
var actualCol = 10*loopNum + j;
if(actualCol < thisRow.length)
newRow[j] = thisRow[actualCol];
else
break;
}
finalArr.push(newRow);
}
loopNum++;
}
return finalArr;
}
else
return dataArray;
}
else
return dataArray;
}
catch(e)
{
console.error(e);
}
};
this.createTable = function(dataArray)
{
var content = "<table class='reultsTable'>";
for(var i = 0 ; i < dataArray.length ; i++)
{
var thisRow = dataArray[i];
if(i==0)
{
content += "<tr>";
for(var j = 0 ; j < thisRow.length ; j++)
{
content += "<th class='descResultshead'>" + thisRow[j] + "</th>";
}
content += "</tr>";
}
else
{
content += "<tr>";
var thisRowIsHeader = false;
for(var j = 0 ; j < thisRow.length ; j++)
{
var thisRowColItem = thisRow[j];
if(thisRowColItem)
{
if(i2b2.h.isMinObfuscation(thisRowColItem.trim())){
thisRowColItem = 0;
}
if(i==0 && j==0)
content += "<td class='descResults'>&nbsp;</td>";
else{
if(thisRowColItem==' '){
if(j == 0)
thisRowIsHeader = true;
if(thisRowIsHeader)
content += "<td class='descResults descResultshead'>&nbsp;</td>";
else
content += "<td class='descResults'>&nbsp;</td>";
}
else{
if(thisRowIsHeader)
content += "<td class='descResults descResultshead'>" + thisRowColItem + "</td>";
else
content += "<td class='descResults'>" + thisRowColItem + "</td>";
}
}
}
else{
if(j == 0)
thisRowIsHeader = true;
if(thisRowIsHeader)
content += "<td class='descResults descResultshead'>&nbsp;</td>";
else
content += "<td class='descResults'>&nbsp;</td>";
}
}
content += "</tr>";
}
}
content += "</table>";
jQuery('#tablesContainer').append(content);
}
this.getQueryUserFullName = function(query_user_id)
{
var returnValue = query_user_id;
if(query_user_id)
{
try {
var response = i2b2.PM.ajax.getUser("CRC:PrintQueryNew", {user_id:query_user_id});
response.parse();
var data = response.model[0];
if (data.full_name) { returnValue = data.full_name;}
}
catch (e) {}
}
return returnValue;
};
function getSelectedValueFromOptions(options)
{
var value = null;
for(k = 0; k < options.length; k++) {
var thisOption = options[k];
if(thisOption.selected == true)
{
value = options[k].innerHTML;
break;
}
}
return value;
};
this.PrintElem = function(divIdToPrint)
{
// Popup(jQuery("#" + divToPrint).html());
if(jQuery("#" + divIdToPrint)){
var contents = jQuery("#" + divIdToPrint).html();
var frame1 = jQuery("<iframe />");
frame1[0].name = "frame1";
frame1.css({ "position": "absolute", "top": "-1000000px" });
jQuery("body").append(frame1);
var frameDoc = frame1[0].contentWindow ? frame1[0].contentWindow : frame1[0].contentDocument.document ? frame1[0].contentDocument.document : frame1[0].contentDocument;
frameDoc.document.open();
//Create a new HTML document.
frameDoc.document.write("<html><head><title>Query Report</title>");
//Append the external CSS file.
frameDoc.document.write("<link rel=\"stylesheet\" href=\"js-i2b2/cells/CRC/assets/query_report.css\">");
frameDoc.document.write('<link href=\'js-ext/c3code/c3.css\' rel=\'stylesheet\' type=\'text/css\'></head><body>');
frameDoc.document.write("</head><body>");
//Append the DIV contents.
frameDoc.document.write(contents);
frameDoc.document.write('</body></html>');
frameDoc.document.close();
setTimeout(function () {
window.frames["frame1"].focus();
window.frames["frame1"].print();
frame1.remove();
}, 500);
}
else
alert("Query report can't be printed!");
};
/**********************
* End Query Report BG
**********************/
}
console.timeEnd('execute time');
console.groupEnd();
diff --git a/shrine-webclient/src/main/js/client/js-shrine/config.js b/shrine-webclient/src/main/js/client/js-shrine/config.js
index 8faa778d2..41785c1e0 100644
--- a/shrine-webclient/src/main/js/client/js-shrine/config.js
+++ b/shrine-webclient/src/main/js/client/js-shrine/config.js
@@ -1,758 +1,763 @@
System.config({
defaultJSExtensions: true,
transpiler: false,
paths: {
"*": "dist/*",
"github:*": "jspm_packages/github/*",
"npm:*": "jspm_packages/npm/*"
},
map: {
"aurelia-animator-css": "npm:aurelia-animator-css@1.0.1",
"aurelia-bootstrapper": "npm:aurelia-bootstrapper@1.0.0",
"aurelia-event-aggregator": "npm:aurelia-event-aggregator@1.0.1",
- "aurelia-fetch-client": "npm:aurelia-fetch-client@1.0.1",
+ "aurelia-fetch-client": "npm:aurelia-fetch-client@1.1.3",
"aurelia-framework": "npm:aurelia-framework@1.0.6",
"aurelia-history-browser": "npm:aurelia-history-browser@1.0.0",
+ "aurelia-http-client": "npm:aurelia-http-client@1.1.1",
"aurelia-loader-default": "npm:aurelia-loader-default@1.0.0",
"aurelia-logging-console": "npm:aurelia-logging-console@1.0.0",
"aurelia-pal-browser": "npm:aurelia-pal-browser@1.0.0",
"aurelia-polyfills": "npm:aurelia-polyfills@1.1.1",
"aurelia-router": "npm:aurelia-router@1.3.0",
"aurelia-templating-binding": "npm:aurelia-templating-binding@1.0.0",
"aurelia-templating-resources": "npm:aurelia-templating-resources@1.1.1",
"aurelia-templating-router": "npm:aurelia-templating-router@1.0.0",
"bluebird": "npm:bluebird@3.4.1",
"bootstrap": "github:twbs/bootstrap@3.3.7",
- "fetch": "github:github/fetch@1.0.0",
+ "fetch": "github:github/fetch@2.0.3",
"font-awesome": "npm:font-awesome@4.7.0",
"jquery": "npm:jquery@2.2.4",
"moment": "npm:moment@2.18.1",
"ramda": "npm:ramda@0.23.0",
"text": "github:systemjs/plugin-text@0.0.8",
"github:jspm/nodelibs-assert@0.1.0": {
"assert": "npm:assert@1.4.1"
},
"github:jspm/nodelibs-buffer@0.1.1": {
"buffer": "npm:buffer@5.0.6"
},
"github:jspm/nodelibs-process@0.1.2": {
"process": "npm:process@0.11.10"
},
"github:jspm/nodelibs-util@0.1.0": {
"util": "npm:util@0.10.3"
},
"github:jspm/nodelibs-vm@0.1.0": {
"vm-browserify": "npm:vm-browserify@0.0.4"
},
"github:twbs/bootstrap@3.3.7": {
"jquery": "npm:jquery@2.2.4"
},
"npm:assert@1.4.1": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"buffer": "github:jspm/nodelibs-buffer@0.1.1",
"process": "github:jspm/nodelibs-process@0.1.2",
"util": "npm:util@0.10.3"
},
"npm:aurelia-animator-css@1.0.1": {
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0",
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
"aurelia-templating": "npm:aurelia-templating@1.1.1"
},
"npm:aurelia-binding@1.0.9": {
"aurelia-logging": "npm:aurelia-logging@1.3.1",
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0",
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
"aurelia-task-queue": "npm:aurelia-task-queue@1.1.0"
},
"npm:aurelia-bootstrapper@1.0.0": {
"aurelia-event-aggregator": "npm:aurelia-event-aggregator@1.0.1",
"aurelia-framework": "npm:aurelia-framework@1.0.6",
"aurelia-history": "npm:aurelia-history@1.0.0",
"aurelia-history-browser": "npm:aurelia-history-browser@1.0.0",
"aurelia-loader-default": "npm:aurelia-loader-default@1.0.0",
"aurelia-logging-console": "npm:aurelia-logging-console@1.0.0",
- "aurelia-pal": "npm:aurelia-pal@1.3.0",
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
"aurelia-pal-browser": "npm:aurelia-pal-browser@1.0.0",
"aurelia-polyfills": "npm:aurelia-polyfills@1.1.1",
"aurelia-router": "npm:aurelia-router@1.3.0",
"aurelia-templating": "npm:aurelia-templating@1.1.1",
"aurelia-templating-binding": "npm:aurelia-templating-binding@1.0.0",
"aurelia-templating-resources": "npm:aurelia-templating-resources@1.1.1",
"aurelia-templating-router": "npm:aurelia-templating-router@1.0.0"
},
"npm:aurelia-dependency-injection@1.3.1": {
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0"
+ "aurelia-pal": "npm:aurelia-pal@1.4.0"
},
"npm:aurelia-event-aggregator@1.0.1": {
"aurelia-logging": "npm:aurelia-logging@1.3.1"
},
"npm:aurelia-framework@1.0.6": {
"aurelia-binding": "npm:aurelia-binding@1.0.9",
"aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1",
"aurelia-loader": "npm:aurelia-loader@1.0.0",
"aurelia-logging": "npm:aurelia-logging@1.3.1",
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0",
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
"aurelia-path": "npm:aurelia-path@1.1.1",
"aurelia-task-queue": "npm:aurelia-task-queue@1.1.0",
"aurelia-templating": "npm:aurelia-templating@1.1.1"
},
"npm:aurelia-history-browser@1.0.0": {
"aurelia-history": "npm:aurelia-history@1.0.0",
- "aurelia-pal": "npm:aurelia-pal@1.3.0"
+ "aurelia-pal": "npm:aurelia-pal@1.4.0"
+ },
+ "npm:aurelia-http-client@1.1.1": {
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
+ "aurelia-path": "npm:aurelia-path@1.1.1"
},
"npm:aurelia-loader-default@1.0.0": {
"aurelia-loader": "npm:aurelia-loader@1.0.0",
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0"
+ "aurelia-pal": "npm:aurelia-pal@1.4.0"
},
"npm:aurelia-loader@1.0.0": {
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
"aurelia-path": "npm:aurelia-path@1.1.1"
},
"npm:aurelia-logging-console@1.0.0": {
"aurelia-logging": "npm:aurelia-logging@1.3.1"
},
"npm:aurelia-metadata@1.0.3": {
- "aurelia-pal": "npm:aurelia-pal@1.3.0"
+ "aurelia-pal": "npm:aurelia-pal@1.4.0"
},
"npm:aurelia-pal-browser@1.0.0": {
- "aurelia-pal": "npm:aurelia-pal@1.3.0"
+ "aurelia-pal": "npm:aurelia-pal@1.4.0"
},
"npm:aurelia-polyfills@1.1.1": {
- "aurelia-pal": "npm:aurelia-pal@1.3.0"
+ "aurelia-pal": "npm:aurelia-pal@1.4.0"
},
"npm:aurelia-route-recognizer@1.1.0": {
"aurelia-path": "npm:aurelia-path@1.1.1"
},
"npm:aurelia-router@1.3.0": {
"aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1",
"aurelia-event-aggregator": "npm:aurelia-event-aggregator@1.0.1",
"aurelia-history": "npm:aurelia-history@1.0.0",
"aurelia-logging": "npm:aurelia-logging@1.3.1",
"aurelia-path": "npm:aurelia-path@1.1.1",
"aurelia-route-recognizer": "npm:aurelia-route-recognizer@1.1.0"
},
"npm:aurelia-task-queue@1.1.0": {
- "aurelia-pal": "npm:aurelia-pal@1.3.0"
+ "aurelia-pal": "npm:aurelia-pal@1.4.0"
},
"npm:aurelia-templating-binding@1.0.0": {
"aurelia-binding": "npm:aurelia-binding@1.0.9",
"aurelia-logging": "npm:aurelia-logging@1.3.1",
"aurelia-templating": "npm:aurelia-templating@1.1.1"
},
"npm:aurelia-templating-resources@1.1.1": {
"aurelia-binding": "npm:aurelia-binding@1.0.9",
"aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1",
"aurelia-loader": "npm:aurelia-loader@1.0.0",
"aurelia-logging": "npm:aurelia-logging@1.3.1",
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0",
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
"aurelia-path": "npm:aurelia-path@1.1.1",
"aurelia-task-queue": "npm:aurelia-task-queue@1.1.0",
"aurelia-templating": "npm:aurelia-templating@1.1.1"
},
"npm:aurelia-templating-router@1.0.0": {
"aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1",
"aurelia-logging": "npm:aurelia-logging@1.3.1",
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0",
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
"aurelia-path": "npm:aurelia-path@1.1.1",
"aurelia-router": "npm:aurelia-router@1.3.0",
"aurelia-templating": "npm:aurelia-templating@1.1.1"
},
"npm:aurelia-templating@1.1.1": {
"aurelia-binding": "npm:aurelia-binding@1.0.9",
"aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1",
"aurelia-loader": "npm:aurelia-loader@1.0.0",
"aurelia-logging": "npm:aurelia-logging@1.3.1",
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0",
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
"aurelia-path": "npm:aurelia-path@1.1.1",
"aurelia-task-queue": "npm:aurelia-task-queue@1.1.0"
},
"npm:bluebird@3.4.1": {
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:buffer@5.0.6": {
"base64-js": "npm:base64-js@1.2.0",
"ieee754": "npm:ieee754@1.1.8"
},
"npm:font-awesome@4.7.0": {
"css": "github:systemjs/plugin-css@0.1.33"
},
"npm:inherits@2.0.1": {
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:process@0.11.10": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"vm": "github:jspm/nodelibs-vm@0.1.0"
},
"npm:ramda@0.23.0": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2",
"util": "github:jspm/nodelibs-util@0.1.0",
"vm": "github:jspm/nodelibs-vm@0.1.0"
},
"npm:util@0.10.3": {
"inherits": "npm:inherits@2.0.1",
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:vm-browserify@0.0.4": {
"indexof": "npm:indexof@0.0.1"
}
},
+ depCache: {
+ "repository/qep.repository.js": [
+ "aurelia-fetch-client",
+ "fetch"
+ ],
+ "resources/converters/datetime.value.converter.js": [
+ "moment"
+ ],
+ "resources/custom/breakdown/breakdown.js": [
+ "aurelia-framework"
+ ],
+ "resources/custom/node-result/node-result.js": [
+ "aurelia-framework",
+ "services/pub-sub"
+ ],
+ "resources/custom/node-status/node-status.js": [
+ "aurelia-framework",
+ "services/pub-sub"
+ ],
+ "services/container.js": [
+ "ramda"
+ ],
+ "services/i2b2.pub-sub.js": [
+ "./pub-sub",
+ "./i2b2.service"
+ ],
+ "services/i2b2.service.js": [
+ "ramda",
+ "./container"
+ ],
+ "services/pub-sub.js": [
+ "aurelia-event-aggregator",
+ "./shrine.messages"
+ ],
+ "services/queries.model.js": [
+ "aurelia-event-aggregator",
+ "repository/qep.repository",
+ "./shrine.messages"
+ ],
+ "services/query-export.js": [
+ "./pub-sub"
+ ],
+ "services/query-status.model.js": [
+ "aurelia-event-aggregator",
+ "repository/qep.repository",
+ "./shrine.messages"
+ ],
+ "shell.js": [
+ "services/i2b2.pub-sub",
+ "services/query-export"
+ ],
+ "views/mailto/mailto.js": [
+ "views/mailto/mailto.service",
+ "views/mailto/mailto.config"
+ ],
+ "views/mailto/mailto.service.js": [
+ "repository/qep.repository"
+ ],
+ "views/query-status/query-status.js": [
+ "aurelia-framework",
+ "services/query-status.model",
+ "services/pub-sub"
+ ],
+ "views/query-viewer/context-menu/context-menu.js": [
+ "aurelia-framework",
+ "aurelia-event-aggregator",
+ "common/shrine.messages"
+ ],
+ "views/query-viewer/date.converter.js": [
+ "moment"
+ ],
+ "views/query-viewer/paginator/paginator.js": [
+ "aurelia-framework"
+ ],
+ "views/query-viewer/query-status/query-status.js": [
+ "aurelia-framework",
+ "ramda"
+ ],
+ "views/query-viewer/query-viewer.js": [
+ "aurelia-event-aggregator",
+ "common/queries.model",
+ "./scroll.service",
+ "common/shrine.messages"
+ ],
+ "views/query-viewer/result-row/loading-bar/loading-bar.js": [
+ "aurelia-framework"
+ ],
+ "views/query-viewer/scroll.service.js": [
+ "ramda",
+ "common/container"
+ ]
+ },
bundles: {
"app-build.js": [
"main.js",
"repository/qep.repository.js",
"resources/converters/box-style.converter.js",
"resources/converters/count-value-converter.js",
"resources/converters/datetime.value.converter.js",
"resources/converters/result-style.converter.js",
"resources/converters/result-value.converter.js",
"resources/converters/truncate.converter.js",
"resources/custom/breakdown/breakdown.html!github:systemjs/plugin-text@0.0.8.js",
"resources/custom/breakdown/breakdown.js",
"resources/custom/node-result/error.html!github:systemjs/plugin-text@0.0.8.js",
"resources/custom/node-result/node-result.html!github:systemjs/plugin-text@0.0.8.js",
"resources/custom/node-result/node-result.js",
"resources/custom/node-result/patient-count.html!github:systemjs/plugin-text@0.0.8.js",
"resources/custom/node-result/status-msg.html!github:systemjs/plugin-text@0.0.8.js",
"resources/custom/node-status/node-status.html!github:systemjs/plugin-text@0.0.8.js",
"resources/custom/node-status/node-status.js",
"resources/custom/node-status/temp.html!github:systemjs/plugin-text@0.0.8.js",
"resources/index.js",
"services/container.js",
"services/i2b2.pub-sub.js",
"services/i2b2.service.js",
"services/pub-sub.js",
"services/queries.model.js",
"services/query-export.js",
"services/query-status.model.js",
"services/shrine.messages.js",
"shell.html!github:systemjs/plugin-text@0.0.8.js",
"shell.js",
"views/index.js",
"views/mailto/mailto.config.js",
"views/mailto/mailto.html!github:systemjs/plugin-text@0.0.8.js",
"views/mailto/mailto.js",
"views/mailto/mailto.service.js",
"views/query-status/query-status.html!github:systemjs/plugin-text@0.0.8.js",
"views/query-status/query-status.js",
"views/query-viewer/context-menu/context-menu.html!github:systemjs/plugin-text@0.0.8.js",
"views/query-viewer/context-menu/context-menu.js",
"views/query-viewer/date.converter.js",
"views/query-viewer/paginator/paginator.html!github:systemjs/plugin-text@0.0.8.js",
"views/query-viewer/paginator/paginator.js",
"views/query-viewer/query-status/query-status.html!github:systemjs/plugin-text@0.0.8.js",
"views/query-viewer/query-status/query-status.js",
"views/query-viewer/query-viewer.config.js",
"views/query-viewer/query-viewer.html!github:systemjs/plugin-text@0.0.8.js",
"views/query-viewer/query-viewer.js",
"views/query-viewer/result-row/loading-bar/loading-bar.html!github:systemjs/plugin-text@0.0.8.js",
"views/query-viewer/result-row/loading-bar/loading-bar.js",
"views/query-viewer/result-row/loading-bar/row-loader.html!github:systemjs/plugin-text@0.0.8.js",
"views/query-viewer/scroll.service.js"
],
"aurelia.js": [
- "github:github/fetch@1.0.0.js",
- "github:github/fetch@1.0.0/fetch.js",
+ "github:github/fetch@2.0.3.js",
+ "github:github/fetch@2.0.3/fetch.js",
"github:jspm/nodelibs-process@0.1.2.js",
"github:jspm/nodelibs-process@0.1.2/index.js",
"npm:aurelia-binding@1.0.9.js",
"npm:aurelia-binding@1.0.9/aurelia-binding.js",
"npm:aurelia-bootstrapper@1.0.0.js",
"npm:aurelia-bootstrapper@1.0.0/aurelia-bootstrapper.js",
"npm:aurelia-dependency-injection@1.3.1.js",
"npm:aurelia-dependency-injection@1.3.1/aurelia-dependency-injection.js",
"npm:aurelia-event-aggregator@1.0.1.js",
"npm:aurelia-event-aggregator@1.0.1/aurelia-event-aggregator.js",
- "npm:aurelia-fetch-client@1.0.1.js",
- "npm:aurelia-fetch-client@1.0.1/aurelia-fetch-client.js",
+ "npm:aurelia-fetch-client@1.1.3.js",
+ "npm:aurelia-fetch-client@1.1.3/aurelia-fetch-client.js",
"npm:aurelia-framework@1.0.6.js",
"npm:aurelia-framework@1.0.6/aurelia-framework.js",
"npm:aurelia-history-browser@1.0.0.js",
"npm:aurelia-history-browser@1.0.0/aurelia-history-browser.js",
"npm:aurelia-history@1.0.0.js",
"npm:aurelia-history@1.0.0/aurelia-history.js",
"npm:aurelia-loader-default@1.0.0.js",
"npm:aurelia-loader-default@1.0.0/aurelia-loader-default.js",
"npm:aurelia-loader@1.0.0.js",
"npm:aurelia-loader@1.0.0/aurelia-loader.js",
"npm:aurelia-logging-console@1.0.0.js",
"npm:aurelia-logging-console@1.0.0/aurelia-logging-console.js",
"npm:aurelia-logging@1.3.1.js",
"npm:aurelia-logging@1.3.1/aurelia-logging.js",
"npm:aurelia-metadata@1.0.3.js",
"npm:aurelia-metadata@1.0.3/aurelia-metadata.js",
"npm:aurelia-pal-browser@1.0.0.js",
"npm:aurelia-pal-browser@1.0.0/aurelia-pal-browser.js",
- "npm:aurelia-pal@1.3.0.js",
- "npm:aurelia-pal@1.3.0/aurelia-pal.js",
+ "npm:aurelia-pal@1.4.0.js",
+ "npm:aurelia-pal@1.4.0/aurelia-pal.js",
"npm:aurelia-path@1.1.1.js",
"npm:aurelia-path@1.1.1/aurelia-path.js",
"npm:aurelia-polyfills@1.1.1.js",
"npm:aurelia-polyfills@1.1.1/aurelia-polyfills.js",
"npm:aurelia-route-recognizer@1.1.0.js",
"npm:aurelia-route-recognizer@1.1.0/aurelia-route-recognizer.js",
"npm:aurelia-router@1.3.0.js",
"npm:aurelia-router@1.3.0/aurelia-router.js",
"npm:aurelia-task-queue@1.1.0.js",
"npm:aurelia-task-queue@1.1.0/aurelia-task-queue.js",
"npm:aurelia-templating-binding@1.0.0.js",
"npm:aurelia-templating-binding@1.0.0/aurelia-templating-binding.js",
"npm:aurelia-templating-resources@1.1.1.js",
"npm:aurelia-templating-resources@1.1.1/abstract-repeater.js",
"npm:aurelia-templating-resources@1.1.1/analyze-view-factory.js",
"npm:aurelia-templating-resources@1.1.1/array-repeat-strategy.js",
"npm:aurelia-templating-resources@1.1.1/attr-binding-behavior.js",
"npm:aurelia-templating-resources@1.1.1/aurelia-hide-style.js",
"npm:aurelia-templating-resources@1.1.1/aurelia-templating-resources.js",
"npm:aurelia-templating-resources@1.1.1/binding-mode-behaviors.js",
"npm:aurelia-templating-resources@1.1.1/binding-signaler.js",
"npm:aurelia-templating-resources@1.1.1/compose.js",
"npm:aurelia-templating-resources@1.1.1/css-resource.js",
"npm:aurelia-templating-resources@1.1.1/debounce-binding-behavior.js",
"npm:aurelia-templating-resources@1.1.1/dynamic-element.js",
"npm:aurelia-templating-resources@1.1.1/focus.js",
"npm:aurelia-templating-resources@1.1.1/hide.js",
"npm:aurelia-templating-resources@1.1.1/html-resource-plugin.js",
"npm:aurelia-templating-resources@1.1.1/html-sanitizer.js",
"npm:aurelia-templating-resources@1.1.1/if.js",
"npm:aurelia-templating-resources@1.1.1/map-repeat-strategy.js",
"npm:aurelia-templating-resources@1.1.1/null-repeat-strategy.js",
"npm:aurelia-templating-resources@1.1.1/number-repeat-strategy.js",
"npm:aurelia-templating-resources@1.1.1/repeat-strategy-locator.js",
"npm:aurelia-templating-resources@1.1.1/repeat-utilities.js",
"npm:aurelia-templating-resources@1.1.1/repeat.js",
"npm:aurelia-templating-resources@1.1.1/replaceable.js",
"npm:aurelia-templating-resources@1.1.1/sanitize-html.js",
"npm:aurelia-templating-resources@1.1.1/set-repeat-strategy.js",
"npm:aurelia-templating-resources@1.1.1/show.js",
"npm:aurelia-templating-resources@1.1.1/signal-binding-behavior.js",
"npm:aurelia-templating-resources@1.1.1/throttle-binding-behavior.js",
"npm:aurelia-templating-resources@1.1.1/update-trigger-binding-behavior.js",
"npm:aurelia-templating-resources@1.1.1/with.js",
"npm:aurelia-templating-router@1.0.0.js",
"npm:aurelia-templating-router@1.0.0/aurelia-templating-router.js",
"npm:aurelia-templating-router@1.0.0/route-href.js",
"npm:aurelia-templating-router@1.0.0/route-loader.js",
"npm:aurelia-templating-router@1.0.0/router-view.js",
"npm:aurelia-templating@1.1.1.js",
"npm:aurelia-templating@1.1.1/aurelia-templating.js",
"npm:font-awesome@4.7.0.js",
"npm:font-awesome@4.7.0/css/font-awesome.css!github:systemjs/plugin-css@0.1.33.js",
"npm:jquery@2.2.4.js",
"npm:jquery@2.2.4/dist/jquery.js",
"npm:moment@2.18.1.js",
"npm:moment@2.18.1/moment.js",
"npm:process@0.11.10.js",
"npm:process@0.11.10/browser.js",
"npm:ramda@0.23.0.js",
"npm:ramda@0.23.0/index.js",
"npm:ramda@0.23.0/src/F.js",
"npm:ramda@0.23.0/src/T.js",
"npm:ramda@0.23.0/src/__.js",
"npm:ramda@0.23.0/src/add.js",
"npm:ramda@0.23.0/src/addIndex.js",
"npm:ramda@0.23.0/src/adjust.js",
"npm:ramda@0.23.0/src/all.js",
"npm:ramda@0.23.0/src/allPass.js",
"npm:ramda@0.23.0/src/always.js",
"npm:ramda@0.23.0/src/and.js",
"npm:ramda@0.23.0/src/any.js",
"npm:ramda@0.23.0/src/anyPass.js",
"npm:ramda@0.23.0/src/ap.js",
"npm:ramda@0.23.0/src/aperture.js",
"npm:ramda@0.23.0/src/append.js",
"npm:ramda@0.23.0/src/apply.js",
"npm:ramda@0.23.0/src/applySpec.js",
"npm:ramda@0.23.0/src/ascend.js",
"npm:ramda@0.23.0/src/assoc.js",
"npm:ramda@0.23.0/src/assocPath.js",
"npm:ramda@0.23.0/src/binary.js",
"npm:ramda@0.23.0/src/bind.js",
"npm:ramda@0.23.0/src/both.js",
"npm:ramda@0.23.0/src/call.js",
"npm:ramda@0.23.0/src/chain.js",
"npm:ramda@0.23.0/src/clamp.js",
"npm:ramda@0.23.0/src/clone.js",
"npm:ramda@0.23.0/src/comparator.js",
"npm:ramda@0.23.0/src/complement.js",
"npm:ramda@0.23.0/src/compose.js",
"npm:ramda@0.23.0/src/composeK.js",
"npm:ramda@0.23.0/src/composeP.js",
"npm:ramda@0.23.0/src/concat.js",
"npm:ramda@0.23.0/src/cond.js",
"npm:ramda@0.23.0/src/construct.js",
"npm:ramda@0.23.0/src/constructN.js",
"npm:ramda@0.23.0/src/contains.js",
"npm:ramda@0.23.0/src/converge.js",
"npm:ramda@0.23.0/src/countBy.js",
"npm:ramda@0.23.0/src/curry.js",
"npm:ramda@0.23.0/src/curryN.js",
"npm:ramda@0.23.0/src/dec.js",
"npm:ramda@0.23.0/src/defaultTo.js",
"npm:ramda@0.23.0/src/descend.js",
"npm:ramda@0.23.0/src/difference.js",
"npm:ramda@0.23.0/src/differenceWith.js",
"npm:ramda@0.23.0/src/dissoc.js",
"npm:ramda@0.23.0/src/dissocPath.js",
"npm:ramda@0.23.0/src/divide.js",
"npm:ramda@0.23.0/src/drop.js",
"npm:ramda@0.23.0/src/dropLast.js",
"npm:ramda@0.23.0/src/dropLastWhile.js",
"npm:ramda@0.23.0/src/dropRepeats.js",
"npm:ramda@0.23.0/src/dropRepeatsWith.js",
"npm:ramda@0.23.0/src/dropWhile.js",
"npm:ramda@0.23.0/src/either.js",
"npm:ramda@0.23.0/src/empty.js",
"npm:ramda@0.23.0/src/eqBy.js",
"npm:ramda@0.23.0/src/eqProps.js",
"npm:ramda@0.23.0/src/equals.js",
"npm:ramda@0.23.0/src/evolve.js",
"npm:ramda@0.23.0/src/filter.js",
"npm:ramda@0.23.0/src/find.js",
"npm:ramda@0.23.0/src/findIndex.js",
"npm:ramda@0.23.0/src/findLast.js",
"npm:ramda@0.23.0/src/findLastIndex.js",
"npm:ramda@0.23.0/src/flatten.js",
"npm:ramda@0.23.0/src/flip.js",
"npm:ramda@0.23.0/src/forEach.js",
"npm:ramda@0.23.0/src/forEachObjIndexed.js",
"npm:ramda@0.23.0/src/fromPairs.js",
"npm:ramda@0.23.0/src/groupBy.js",
"npm:ramda@0.23.0/src/groupWith.js",
"npm:ramda@0.23.0/src/gt.js",
"npm:ramda@0.23.0/src/gte.js",
"npm:ramda@0.23.0/src/has.js",
"npm:ramda@0.23.0/src/hasIn.js",
"npm:ramda@0.23.0/src/head.js",
"npm:ramda@0.23.0/src/identical.js",
"npm:ramda@0.23.0/src/identity.js",
"npm:ramda@0.23.0/src/ifElse.js",
"npm:ramda@0.23.0/src/inc.js",
"npm:ramda@0.23.0/src/indexBy.js",
"npm:ramda@0.23.0/src/indexOf.js",
"npm:ramda@0.23.0/src/init.js",
"npm:ramda@0.23.0/src/insert.js",
"npm:ramda@0.23.0/src/insertAll.js",
"npm:ramda@0.23.0/src/internal/_Set.js",
"npm:ramda@0.23.0/src/internal/_aperture.js",
"npm:ramda@0.23.0/src/internal/_arity.js",
"npm:ramda@0.23.0/src/internal/_arrayFromIterator.js",
"npm:ramda@0.23.0/src/internal/_assign.js",
"npm:ramda@0.23.0/src/internal/_checkForMethod.js",
"npm:ramda@0.23.0/src/internal/_clone.js",
"npm:ramda@0.23.0/src/internal/_cloneRegExp.js",
"npm:ramda@0.23.0/src/internal/_complement.js",
"npm:ramda@0.23.0/src/internal/_concat.js",
"npm:ramda@0.23.0/src/internal/_contains.js",
"npm:ramda@0.23.0/src/internal/_containsWith.js",
"npm:ramda@0.23.0/src/internal/_createPartialApplicator.js",
"npm:ramda@0.23.0/src/internal/_curry1.js",
"npm:ramda@0.23.0/src/internal/_curry2.js",
"npm:ramda@0.23.0/src/internal/_curry3.js",
"npm:ramda@0.23.0/src/internal/_curryN.js",
"npm:ramda@0.23.0/src/internal/_dispatchable.js",
"npm:ramda@0.23.0/src/internal/_dropLast.js",
"npm:ramda@0.23.0/src/internal/_dropLastWhile.js",
"npm:ramda@0.23.0/src/internal/_equals.js",
"npm:ramda@0.23.0/src/internal/_filter.js",
"npm:ramda@0.23.0/src/internal/_flatCat.js",
"npm:ramda@0.23.0/src/internal/_forceReduced.js",
"npm:ramda@0.23.0/src/internal/_functionName.js",
"npm:ramda@0.23.0/src/internal/_has.js",
"npm:ramda@0.23.0/src/internal/_identity.js",
"npm:ramda@0.23.0/src/internal/_indexOf.js",
"npm:ramda@0.23.0/src/internal/_isArguments.js",
"npm:ramda@0.23.0/src/internal/_isArray.js",
"npm:ramda@0.23.0/src/internal/_isFunction.js",
"npm:ramda@0.23.0/src/internal/_isInteger.js",
"npm:ramda@0.23.0/src/internal/_isNumber.js",
"npm:ramda@0.23.0/src/internal/_isObject.js",
"npm:ramda@0.23.0/src/internal/_isPlaceholder.js",
"npm:ramda@0.23.0/src/internal/_isRegExp.js",
"npm:ramda@0.23.0/src/internal/_isString.js",
"npm:ramda@0.23.0/src/internal/_isTransformer.js",
"npm:ramda@0.23.0/src/internal/_makeFlat.js",
"npm:ramda@0.23.0/src/internal/_map.js",
"npm:ramda@0.23.0/src/internal/_objectAssign.js",
"npm:ramda@0.23.0/src/internal/_of.js",
"npm:ramda@0.23.0/src/internal/_pipe.js",
"npm:ramda@0.23.0/src/internal/_pipeP.js",
"npm:ramda@0.23.0/src/internal/_quote.js",
"npm:ramda@0.23.0/src/internal/_reduce.js",
"npm:ramda@0.23.0/src/internal/_reduced.js",
"npm:ramda@0.23.0/src/internal/_stepCat.js",
"npm:ramda@0.23.0/src/internal/_toISOString.js",
"npm:ramda@0.23.0/src/internal/_toString.js",
"npm:ramda@0.23.0/src/internal/_xall.js",
"npm:ramda@0.23.0/src/internal/_xany.js",
"npm:ramda@0.23.0/src/internal/_xaperture.js",
"npm:ramda@0.23.0/src/internal/_xchain.js",
"npm:ramda@0.23.0/src/internal/_xdrop.js",
"npm:ramda@0.23.0/src/internal/_xdropLast.js",
"npm:ramda@0.23.0/src/internal/_xdropLastWhile.js",
"npm:ramda@0.23.0/src/internal/_xdropRepeatsWith.js",
"npm:ramda@0.23.0/src/internal/_xdropWhile.js",
"npm:ramda@0.23.0/src/internal/_xfBase.js",
"npm:ramda@0.23.0/src/internal/_xfilter.js",
"npm:ramda@0.23.0/src/internal/_xfind.js",
"npm:ramda@0.23.0/src/internal/_xfindIndex.js",
"npm:ramda@0.23.0/src/internal/_xfindLast.js",
"npm:ramda@0.23.0/src/internal/_xfindLastIndex.js",
"npm:ramda@0.23.0/src/internal/_xmap.js",
"npm:ramda@0.23.0/src/internal/_xreduceBy.js",
"npm:ramda@0.23.0/src/internal/_xtake.js",
"npm:ramda@0.23.0/src/internal/_xtakeWhile.js",
"npm:ramda@0.23.0/src/internal/_xwrap.js",
"npm:ramda@0.23.0/src/intersection.js",
"npm:ramda@0.23.0/src/intersectionWith.js",
"npm:ramda@0.23.0/src/intersperse.js",
"npm:ramda@0.23.0/src/into.js",
"npm:ramda@0.23.0/src/invert.js",
"npm:ramda@0.23.0/src/invertObj.js",
"npm:ramda@0.23.0/src/invoker.js",
"npm:ramda@0.23.0/src/is.js",
"npm:ramda@0.23.0/src/isArrayLike.js",
"npm:ramda@0.23.0/src/isEmpty.js",
"npm:ramda@0.23.0/src/isNil.js",
"npm:ramda@0.23.0/src/join.js",
"npm:ramda@0.23.0/src/juxt.js",
"npm:ramda@0.23.0/src/keys.js",
"npm:ramda@0.23.0/src/keysIn.js",
"npm:ramda@0.23.0/src/last.js",
"npm:ramda@0.23.0/src/lastIndexOf.js",
"npm:ramda@0.23.0/src/length.js",
"npm:ramda@0.23.0/src/lens.js",
"npm:ramda@0.23.0/src/lensIndex.js",
"npm:ramda@0.23.0/src/lensPath.js",
"npm:ramda@0.23.0/src/lensProp.js",
"npm:ramda@0.23.0/src/lift.js",
"npm:ramda@0.23.0/src/liftN.js",
"npm:ramda@0.23.0/src/lt.js",
"npm:ramda@0.23.0/src/lte.js",
"npm:ramda@0.23.0/src/map.js",
"npm:ramda@0.23.0/src/mapAccum.js",
"npm:ramda@0.23.0/src/mapAccumRight.js",
"npm:ramda@0.23.0/src/mapObjIndexed.js",
"npm:ramda@0.23.0/src/match.js",
"npm:ramda@0.23.0/src/mathMod.js",
"npm:ramda@0.23.0/src/max.js",
"npm:ramda@0.23.0/src/maxBy.js",
"npm:ramda@0.23.0/src/mean.js",
"npm:ramda@0.23.0/src/median.js",
"npm:ramda@0.23.0/src/memoize.js",
"npm:ramda@0.23.0/src/merge.js",
"npm:ramda@0.23.0/src/mergeAll.js",
"npm:ramda@0.23.0/src/mergeWith.js",
"npm:ramda@0.23.0/src/mergeWithKey.js",
"npm:ramda@0.23.0/src/min.js",
"npm:ramda@0.23.0/src/minBy.js",
"npm:ramda@0.23.0/src/modulo.js",
"npm:ramda@0.23.0/src/multiply.js",
"npm:ramda@0.23.0/src/nAry.js",
"npm:ramda@0.23.0/src/negate.js",
"npm:ramda@0.23.0/src/none.js",
"npm:ramda@0.23.0/src/not.js",
"npm:ramda@0.23.0/src/nth.js",
"npm:ramda@0.23.0/src/nthArg.js",
"npm:ramda@0.23.0/src/objOf.js",
"npm:ramda@0.23.0/src/of.js",
"npm:ramda@0.23.0/src/omit.js",
"npm:ramda@0.23.0/src/once.js",
"npm:ramda@0.23.0/src/or.js",
"npm:ramda@0.23.0/src/over.js",
"npm:ramda@0.23.0/src/pair.js",
"npm:ramda@0.23.0/src/partial.js",
"npm:ramda@0.23.0/src/partialRight.js",
"npm:ramda@0.23.0/src/partition.js",
"npm:ramda@0.23.0/src/path.js",
"npm:ramda@0.23.0/src/pathEq.js",
"npm:ramda@0.23.0/src/pathOr.js",
"npm:ramda@0.23.0/src/pathSatisfies.js",
"npm:ramda@0.23.0/src/pick.js",
"npm:ramda@0.23.0/src/pickAll.js",
"npm:ramda@0.23.0/src/pickBy.js",
"npm:ramda@0.23.0/src/pipe.js",
"npm:ramda@0.23.0/src/pipeK.js",
"npm:ramda@0.23.0/src/pipeP.js",
"npm:ramda@0.23.0/src/pluck.js",
"npm:ramda@0.23.0/src/prepend.js",
"npm:ramda@0.23.0/src/product.js",
"npm:ramda@0.23.0/src/project.js",
"npm:ramda@0.23.0/src/prop.js",
"npm:ramda@0.23.0/src/propEq.js",
"npm:ramda@0.23.0/src/propIs.js",
"npm:ramda@0.23.0/src/propOr.js",
"npm:ramda@0.23.0/src/propSatisfies.js",
"npm:ramda@0.23.0/src/props.js",
"npm:ramda@0.23.0/src/range.js",
"npm:ramda@0.23.0/src/reduce.js",
"npm:ramda@0.23.0/src/reduceBy.js",
"npm:ramda@0.23.0/src/reduceRight.js",
"npm:ramda@0.23.0/src/reduceWhile.js",
"npm:ramda@0.23.0/src/reduced.js",
"npm:ramda@0.23.0/src/reject.js",
"npm:ramda@0.23.0/src/remove.js",
"npm:ramda@0.23.0/src/repeat.js",
"npm:ramda@0.23.0/src/replace.js",
"npm:ramda@0.23.0/src/reverse.js",
"npm:ramda@0.23.0/src/scan.js",
"npm:ramda@0.23.0/src/sequence.js",
"npm:ramda@0.23.0/src/set.js",
"npm:ramda@0.23.0/src/slice.js",
"npm:ramda@0.23.0/src/sort.js",
"npm:ramda@0.23.0/src/sortBy.js",
"npm:ramda@0.23.0/src/sortWith.js",
"npm:ramda@0.23.0/src/split.js",
"npm:ramda@0.23.0/src/splitAt.js",
"npm:ramda@0.23.0/src/splitEvery.js",
"npm:ramda@0.23.0/src/splitWhen.js",
"npm:ramda@0.23.0/src/subtract.js",
"npm:ramda@0.23.0/src/sum.js",
"npm:ramda@0.23.0/src/symmetricDifference.js",
"npm:ramda@0.23.0/src/symmetricDifferenceWith.js",
"npm:ramda@0.23.0/src/tail.js",
"npm:ramda@0.23.0/src/take.js",
"npm:ramda@0.23.0/src/takeLast.js",
"npm:ramda@0.23.0/src/takeLastWhile.js",
"npm:ramda@0.23.0/src/takeWhile.js",
"npm:ramda@0.23.0/src/tap.js",
"npm:ramda@0.23.0/src/test.js",
"npm:ramda@0.23.0/src/times.js",
"npm:ramda@0.23.0/src/toLower.js",
"npm:ramda@0.23.0/src/toPairs.js",
"npm:ramda@0.23.0/src/toPairsIn.js",
"npm:ramda@0.23.0/src/toString.js",
"npm:ramda@0.23.0/src/toUpper.js",
"npm:ramda@0.23.0/src/transduce.js",
"npm:ramda@0.23.0/src/transpose.js",
"npm:ramda@0.23.0/src/traverse.js",
"npm:ramda@0.23.0/src/trim.js",
"npm:ramda@0.23.0/src/tryCatch.js",
"npm:ramda@0.23.0/src/type.js",
"npm:ramda@0.23.0/src/unapply.js",
"npm:ramda@0.23.0/src/unary.js",
"npm:ramda@0.23.0/src/uncurryN.js",
"npm:ramda@0.23.0/src/unfold.js",
"npm:ramda@0.23.0/src/union.js",
"npm:ramda@0.23.0/src/unionWith.js",
"npm:ramda@0.23.0/src/uniq.js",
"npm:ramda@0.23.0/src/uniqBy.js",
"npm:ramda@0.23.0/src/uniqWith.js",
"npm:ramda@0.23.0/src/unless.js",
"npm:ramda@0.23.0/src/unnest.js",
"npm:ramda@0.23.0/src/until.js",
"npm:ramda@0.23.0/src/update.js",
"npm:ramda@0.23.0/src/useWith.js",
"npm:ramda@0.23.0/src/values.js",
"npm:ramda@0.23.0/src/valuesIn.js",
"npm:ramda@0.23.0/src/view.js",
"npm:ramda@0.23.0/src/when.js",
"npm:ramda@0.23.0/src/where.js",
"npm:ramda@0.23.0/src/whereEq.js",
"npm:ramda@0.23.0/src/without.js",
"npm:ramda@0.23.0/src/xprod.js",
"npm:ramda@0.23.0/src/zip.js",
"npm:ramda@0.23.0/src/zipObj.js",
"npm:ramda@0.23.0/src/zipWith.js"
]
- },
- depCache: {
- "repository/qep.repository.js": [
- "aurelia-fetch-client",
- "fetch"
- ],
- "resources/converters/datetime.value.converter.js": [
- "moment"
- ],
- "resources/custom/breakdown/breakdown.js": [
- "aurelia-framework"
- ],
- "resources/custom/node-result/node-result.js": [
- "aurelia-framework",
- "services/pub-sub"
- ],
- "resources/custom/node-status/node-status.js": [
- "aurelia-framework",
- "services/pub-sub"
- ],
- "services/container.js": [
- "ramda"
- ],
- "services/i2b2.pub-sub.js": [
- "./pub-sub",
- "./i2b2.service"
- ],
- "services/i2b2.service.js": [
- "ramda",
- "./container"
- ],
- "services/pub-sub.js": [
- "aurelia-event-aggregator",
- "./shrine.messages"
- ],
- "services/queries.model.js": [
- "aurelia-event-aggregator",
- "repository/qep.repository",
- "./shrine.messages"
- ],
- "services/query-export.js": [
- "./pub-sub"
- ],
- "services/query-status.model.js": [
- "aurelia-event-aggregator",
- "repository/qep.repository",
- "./shrine.messages"
- ],
- "shell.js": [
- "services/i2b2.pub-sub",
- "services/query-export"
- ],
- "views/mailto/mailto.js": [
- "views/mailto/mailto.service",
- "views/mailto/mailto.config"
- ],
- "views/mailto/mailto.service.js": [
- "repository/qep.repository"
- ],
- "views/query-status/query-status.js": [
- "aurelia-framework",
- "services/query-status.model",
- "services/pub-sub"
- ],
- "views/query-viewer/context-menu/context-menu.js": [
- "aurelia-framework",
- "aurelia-event-aggregator",
- "common/shrine.messages"
- ],
- "views/query-viewer/date.converter.js": [
- "moment"
- ],
- "views/query-viewer/paginator/paginator.js": [
- "aurelia-framework"
- ],
- "views/query-viewer/query-status/query-status.js": [
- "aurelia-framework",
- "ramda"
- ],
- "views/query-viewer/query-viewer.js": [
- "aurelia-event-aggregator",
- "common/queries.model",
- "./scroll.service",
- "common/shrine.messages"
- ],
- "views/query-viewer/result-row/loading-bar/loading-bar.js": [
- "aurelia-framework"
- ],
- "views/query-viewer/scroll.service.js": [
- "ramda",
- "common/container"
- ]
}
});
\ No newline at end of file
diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/app-build.js b/shrine-webclient/src/main/js/client/js-shrine/dist/app-build.js
index 028e4307b..c5f81b63c 100644
--- a/shrine-webclient/src/main/js/client/js-shrine/dist/app-build.js
+++ b/shrine-webclient/src/main/js/client/js-shrine/dist/app-build.js
@@ -1,2 +1,2 @@
-"bundle";System.register("main.js",[],function(a,b){"use strict";function c(a){a.use.standardConfiguration().developmentLogging().feature("resources").feature("views"),a.start().then(function(){return a.setRoot("shell")})}return a("configure",c),{setters:[],execute:function(){}}}),System.register("resources/converters/box-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("BoxStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return"transform: translate("+String(-100*a)+"%);"},a}()),a("BoxStyleValueConverter",d)}}}),System.register("resources/converters/count-value-converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("CountValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return a<0?"10 patients or fewer":a+" +-10 patients"},a}()),a("CountValueConverter",d)}}}),System.register("resources/converters/datetime.value.converter.js",["moment"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e;return{setters:[function(a){d=a["default"]}],execute:function(){a("DateTimeValueConverter",e=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return d(a).format("MM/DD/YYYY h:mm:ss a")},a}()),a("DateTimeValueConverter",e)}}}),System.register("resources/converters/result-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){var b=this.isUnresolved(a)?"color:"+this.getColorValue(a):"";return b},a.prototype.isUnresolved=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"FINISHED";return!a||a.status!==b},a.prototype.getColorValue=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ERROR",c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#FF0000",d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#00FF00";return a&&a.status!==b?d:c},a}()),a("ResultStyleValueConverter",d)}}}),System.register("resources/converters/result-value.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return a?"FINISHED"!==a.status?"":a.count<0?"<=10":a.count:"not available"},a}()),a("ResultValueConverter",d)}}}),System.register("resources/converters/truncate.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("TruncateValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){var b=20;return a.length>b?a.substring(0,b)+"...":a},a}()),a("TruncateValueConverter",d)}}}),function(){var a=System.amdDefine;a("resources/custom/breakdown/breakdown.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="clear: both; margin-left: 30px; float: left; height: 16px; line-height: 16px"><br><font>${data.resultType.i2b2Options.description}:</font></div><div style="clear: both; margin-left: 40px; float: left; height: 16px; line-height: 16px"></div><div repeat.for="result of data.results" style="clear: both; margin-left: 40px; float: left; height: 16px; line-height: 16px">${result.dataKey}: <font color="#0000dd">${result.value | count}</font></div></template>'})}(),System.register("resources/custom/breakdown/breakdown.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l;return{setters:[function(a){f=a.bindable,g=a.customElement}],execute:function(){a("Breakdown",(h=g("breakdown"),l=h((j=function b(){d(this,b),c(this,"data",k,this)},k=e(j.prototype,"data",[f],{enumerable:!0,initializer:null}),i=j))||i)),a("Breakdown",l)}}}),function(){var a=System.amdDefine;a("resources/custom/node-result/error.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template>&nbsp;- <span><b><a class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)"><b><span color="#ff0000">${result.statusMessage}</span></b></a></b></span></template>'})}(),function(){var a=System.amdDefine;a("resources/custom/node-result/node-result.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="clear:both"><br><div style="float:left; font-weight:bold; margin-left:20px">${result.adapterNode} "${queryName}"</div></div><compose view.bind="component"></compose></template>'})}(),System.register("resources/custom/node-result/node-result.js",["aurelia-framework","services/pub-sub"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var h,i,j,k,l,m,n,o,p;return{setters:[function(a){h=a.customElement,i=a.bindable},function(a){j=a.PubSub}],execute:function(){a("NodeResult",(k=h("node-result"),p=k((m=function(a){function b(){d(this,b);for(var f=arguments.length,g=Array(f),h=0;h<f;h++)g[h]=arguments[h];var i=e(this,a.call.apply(a,[this].concat(g)));return c(i,"result",n,i),c(i,"queryName",o,i),i}return f(b,a),b.prototype.attached=function(){var a=this.result.status;this.component="./status-msg.html","ERROR"===a?this.component="./error.html":["COMPLETED","FINISHED"].indexOf(a)>-1&&(this.component="./patient-count.html")},b}(j),n=g(m.prototype,"result",[i],{enumerable:!0,initializer:null}),o=g(m.prototype,"queryName",[i],{enumerable:!0,initializer:null}),l=m))||l)),a("NodeResult",p)}}}),function(){var a=System.amdDefine;a("resources/custom/node-result/patient-count.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="clear: both; margin-left: 30px; float: left; height: 16px; line-height: 16px">Patient Count: <font color="#0000dd">- ${result.count | count}</font></div><breakdown repeat.for="breakdown of result.breakdowns" data.one-way="breakdown"></breakdown></template>'})}(),function(){var a=System.amdDefine;a("resources/custom/node-result/status-msg.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template>&nbsp;- <span style="color: #00dd00">SUBMITTED</span></template>'})}(),function(){var a=System.amdDefine;a("resources/custom/node-status/node-status.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="display: flex"><div style="flex:1">${result.adapterNode}</div><div style="flex: 1"><span if.one-way="\'STATUS,FINISHED\'.includes(result.status)" style="display: inline-block; color: #0000dd">&nbsp; <span style="color: black">COMPLETED</span> </span><span>&nbsp; <a if.one-way="result.status === \'ERROR\'" class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)">ERROR </a></span><span if.one-way="!\'ERROR,COMPLETED,FINISHED\'.includes(result.status)">&nbsp; <span style="color: #00dd00">SUBMITTED</span></span></div><div style="flex:1"><span if.one-way="\'STATUS,FINISHED\'.includes(result.status)" style="display: inline-block; color: #0000dd">&nbsp; ${result.count | count}</span></div></div></template>'})}(),System.register("resources/custom/node-status/node-status.js",["aurelia-framework","services/pub-sub"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var h,i,j,k,l,m,n,o;return{setters:[function(a){h=a.customElement,i=a.bindable},function(a){j=a.PubSub}],execute:function(){a("NodeStatus",(k=h("node-status"),o=k((m=function(a){function b(){d(this,b);for(var f=arguments.length,g=Array(f),h=0;h<f;h++)g[h]=arguments[h];var i=e(this,a.call.apply(a,[this].concat(g)));return c(i,"result",n,i),i}return f(b,a),b}(j),n=g(m.prototype,"result",[i],{enumerable:!0,initializer:null}),l=m))||l)),a("NodeStatus",o)}}}),function(){var a=System.amdDefine;a("resources/custom/node-status/temp.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<div style="display: flex"><div style="flex:1">${result.adapterNode}</div><div style="flex: 1"><span if.one-way="result.statusMessage === \'COMPLETED\' || result.statusMessage === \'FINISHED\'" style="display: inline-block; color: #0000dd">&nbsp; <span style="color: black">${result.statusMessage}</span> </span><span>&nbsp; <a if.one-way="result.statusMessage === \'ERROR\'" class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)">ERROR: ${result.statusDescription} </a></span><span if.one-way="[\'ERROR\',\'COMPLETED\',\'FINISHED\'].indexOf(result.statusMessage) === -1">&nbsp; <span style="color: #00dd00">${result.statusMessage}</span></span></div><div style="flex:1"><span if.one-way="result.statusMessage === \'COMPLETED\' || result.statusMessage === \'FINISHED\'" style="display: inline-block; color: #0000dd">&nbsp; ${result.count | count}</span></div></div><patient-count if.one-way="result.statusMessage === \'COMPLETED\' || result.statusMessage === \'FINISHED\'" result.one-way="result"><div style="clear: both; margin-left: 30px; float: left; height: 16px; line-height: 16px">Patient Count: <font color="#0000dd">- ${result.count | count}</font></div></patient-count><error if.one-way="result.statusMessage === \'ERROR\'" result.one-way="result">&nbsp;- <span title="${result.statusDescription}"><b><a class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)"><b><span color="#ff0000">ERROR: ${result.statusDescription}</span></b></a></b></span></error><span if.one-way="[\'ERROR\',\'COMPLETED\',\'FINISHED\'].indexOf(result.statusMessage) === -1">&nbsp;- <span style="color: #00dd00">${result.statusMessage}</span></span>'})}(),System.register("resources/index.js",[],function(a,b){"use strict";function c(a){var b="converters",c=["box-style.converter","count-value-converter","datetime.value.converter","result-style.converter","result-value.converter","truncate.converter"];a.globalResources.apply(a,c.map(function(a){return"./"+b+"/"+a}));var d="custom",e=["breakdown/breakdown","node-result/node-result","node-status/node-status"];a.globalResources.apply(a,e.map(function(a){return"./"+d+"/"+a}))}return a("configure",c),{setters:[],execute:function(){}}}),System.register("services/queries.model.js",["aurelia-event-aggregator","repository/qep.repository","./shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.QEPRepository},function(a){f=a.notifications}],execute:function(){a("QueriesModel",(h=g=function b(a,d,e){var f=this;c(this,b);var g=d,h=40,i=0,j=0,k=null;b.prototype.load=function(){return g.fetchPreviousQueries(f.maxQueriesPerFetch()+f.loadedCount()).then(function(a){return j=a.rowCount,i=a.queryResults.length,a})["catch"](function(a){return console.log(a)}).then(l).then(function(b){k=b,a.publish(e.shrine.queriesReceived,k)})},b.prototype.totalQueries=function(){return j},b.prototype.loadedCount=function(){return i},b.prototype.maxQueriesPerFetch=function(){return h},b.prototype.moreToLoad=function(){return i<j},b.prototype.hasData=function(){return null!==k&&void 0!==k};var l=function(a){arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;return new Promise(function(b,c){for(var d=[],e=6,f=a.adapters,g=f.length,h=a.queryResults,i=0;i<g;i+=e){var j=m(f,i,e),k=f.slice(i,j),l=n(k,h);d.push({nodes:k,results:l})}b(d)})},m=function(a,b,c){var d=b+c;return d<a.length?d:a.length},n=function(a,b){var c=[];return b.forEach(function(b,d){var e={name:b.query.queryName,id:b.query.networkId,date:b.query.dateCreated,flagged:b.query.flagged===!0,flagMessage:b.query.flagMessage||null,nodeResults:[],status:b.adaptersToResults.reduce(function(a,c){var d="FINISHED"===c.status?a.finished+1:a.finished,e="ERROR"===c.status?a.error+1:a.error;return{error:e,finished:d,total:b.adaptersToResults.length}},{error:0,finished:0,total:b.adaptersToResults.length})};a.forEach(function(a){e.nodeResults.push(b.adaptersToResults.find(function(b){return b.adapterNode===a}))}),c.push(e)}),c}},g.inject=[d,e,f],i=h)),a("QueriesModel",i)}}}),function(){var a=System.amdDefine;a("shell.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return"<template><query-status></query-status></template>"})}(),System.register("services/container.js",["ramda"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f;return{setters:[function(a){d=a}],execute:function(){e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),a("Container",f=function(){function a(b){c(this,a),this.__value=b}return a.of=function(b){return new a(function(){return b})},a.prototype.map=function(b){return this.hasNothing()?a.of(null):a.of(b(this.value))},a.prototype.join=function(){return this.hasNothing()?a.of(null):this.value},a.prototype.chain=function(a){return this.map(a).join()},a.prototype.hasNothing=function(){return null===this.value||void 0===this.value},a.prototype.ap=function(a){a.map(this.value)},e(a,[{key:"value",get:function(){return this.__value()}}]),a}()),a("Container",f)}}}),System.register("services/i2b2.service.js",["ramda","./container"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a},function(a){e=a.Container}],execute:function(){a("I2B2Service",(g=f=function b(a){c(this,b);var f=a?e.of(a):e.of(null),g=d.curry(function(a,b){return b.value?e.of(d.prop(a,b.value)):e.of(null)}),h=d.compose(g("i2b2"),g("window"),g("parent")),i=d.compose(g("CRC"),h),j=d.compose(g("events"),h),k=d.compose(g("SHRINE"),h);b.prototype.onResize=function(a){return j(f).map(function(b){return b.changedZoomWindows.subscribe(a)})},b.prototype.onHistory=function(a){return i(f).map(function(b){return b.ctrlr.history.events.onDataUpdate.subscribe(a)})},b.prototype.onQuery=function(a){return j(f).map(function(b){return b.afterQueryInit.subscribe(a)})},b.prototype.onNetworkId=function(a){return j(f).map(function(b){return b.networkIdReceived.subscribe(a)})},b.prototype.onViewSelected=function(a){return g("addEventListener",f).value?e.of(f.value.addEventListener("message",a,!1)):e.of(null)},b.prototype.onExport=function(a){return j(f).map(function(b){return b.exportQueryResult.subscribe(a)})},b.prototype.onClearQuery=function(a){return j(f).map(function(b){return b.clearQuery.subscribe(a)})},b.prototype.loadHistory=function(){return i(f).map(function(a){return a.view.history.doRefreshAll()})},b.prototype.loadQuery=function(a){return i(f).map(function(b){return b.ctrlr.QT.doQueryLoad(a)})},b.prototype.errorDetail=function(a){return k(f).map(function(b){b.plugin.errorDetail(a)})},b.prototype.renameQuery=function(a){return i(f).map(function(b){return b.ctrlr.history.queryRename(a,!1)})},b.prototype.flagQuery=function(a){return i(f).map(function(b){return b.ctrlr.history.Flag({queryId:a,message:""})})},b.prototype.unflagQuery=function(a){return i(f).map(function(b){return b.ctrlr.history.Unflag({queryId:a})})},b.prototype.publishQueryUnavailable=function(){return j(f).map(function(a){return a.queryResultUnavailable.fire()})},b.prototype.publishQueryAvailable=function(){return j(f).map(function(a){return a.queryResultAvailable.fire()})}},f.inject=[window],h=g)),a("I2B2Service",h)}}}),System.register("services/i2b2.pub-sub.js",["./pub-sub","./i2b2.service"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function d(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function e(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var f,g,h,i,j;return{setters:[function(a){f=a.PubSub},function(a){g=a.I2B2Service}],execute:function(){a("I2B2PubSub",(i=h=function(a){function b(e){c(this,b);for(var f=arguments.length,g=Array(f>1?f-1:0),h=1;h<f;h++)g[h-1]=arguments[h];var i=d(this,a.call.apply(a,[this].concat(g)));return i.listen=function(){e.onResize(function(a,b){return b.find(function(a){return"ADD"===a.action})?function(){return i.publish(i.notifications.i2b2.tabMax)}:function(){return i.publish(i.notifications.i2b2.tabMin)}}),e.onHistory(function(){return i.publish(i.notifications.i2b2.historyRefreshed)}),e.onQuery(function(a,b){return i.publish(i.notifications.i2b2.queryStarted,b[0].name)}),e.onNetworkId(function(a,b){return i.publish(i.notifications.i2b2.networkIdReceived,b[0])}),e.onViewSelected(function(a){return i.publish(i.notifications.i2b2.viewSelected,a.data)}),e.onExport(function(){return i.publish(i.notifications.i2b2.exportQuery)}),e.onClearQuery(function(){return i.publish(i.notifications.i2b2.clearQuery)}),i.subscribe(i.commands.i2b2.cloneQuery,function(a){return e.loadQuery(a)}),i.subscribe(i.commands.i2b2.showError,function(a){e.errorDetail(a)}),i.subscribe(i.commands.i2b2.renameQuery,function(a){return e.renameQuery(a)}),i.subscribe(i.commands.i2b2.flagQuery,function(a){return e.flagQuery(a)}),i.subscribe(i.commands.i2b2.unflagQuery,function(a){return e.unflagQuery(a)}),i.subscribe(i.notifications.shrine.queryUnavailable,function(){return e.publishQueryUnavailable()}),i.subscribe(i.notifications.shrine.queryAvailable,function(){return e.publishQueryAvailable()})},i}return e(b,a),b}(f),h.inject=[g],j=i)),a("I2B2PubSub",j)}}}),System.register("services/query-export.js",["./pub-sub"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function d(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function e(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var f,g,h;return{setters:[function(a){f=a.PubSub}],execute:function(){a("QueryExport",g=function(a){function b(){c(this,b);for(var e=arguments.length,f=Array(e),g=0;g<e;g++)f[g]=arguments[g];return d(this,a.call.apply(a,[this].concat(f)))}return e(b,a),b.prototype.listen=function(){this.subscribe(this.commands.shrine.exportResult,h)},b}(f)),a("QueryExport",g),h=function(a){var b=a.nodes.sort(),c=new Map,d=function(a){var b=a.resultType.i2b2Options.description;return b},e=function(a,b){return d(a)<=d(b)?-1:1};b.forEach(function(a){var b=a.breakdowns;return b.sort(e).forEach(function(a){var b,d=a.resultType.i2b2Options.description,e=a.results;return c.has(d)?(b=c.get(d)).add.apply(b,e.map(function(a){return a.dataKey}).sort()):c.set(d,new Set(e.map(function(a){return a.dataKey}).sort()))})});var f="data:text/csv;charset=utf-8,SHRINE QUERY RESULTS (OBFUSCATED PATIENT COUNTS),"+[""].concat(b.map(function(a){return a.adapterNode}).join(",")),g="\nAll Patients,"+[""].concat(b.map(function(a){return a.count}).join(",")),h=[];c.forEach(function(a,c){h.push.apply(h,[""].concat(Array.from(a).map(function(a){var d=c.split(" ").shift()+","+a,e=b.map(function(b){var d=b.breakdowns,e=d.find(function(a){var b=a.resultType.i2b2Options.description;a.results;return b===c}),f=e?e.results.find(function(b){return b.dataKey===a}):void 0;return f?f.value>0?f.value:0:"unavailable"});return d+","+e.join(",")})))});var i=encodeURI(""+f+g+h.join("\n")),j=document.createElement("a");j.setAttribute("href",i),j.setAttribute("download","export.csv"),document.body.appendChild(j),j.click(),document.body.removeChild(j)}}}}),System.register("shell.js",["services/i2b2.pub-sub","services/query-export"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.I2B2PubSub},function(a){e=a.QueryExport}],execute:function(){a("Shell",(g=f=function b(a,d){c(this,b),a.listen(),d.listen()},f.inject=[d,e],h=g)),a("Shell",h)}}}),System.register("views/index.js",[],function(a,b){"use strict";function c(a){var b=["views/query-status/query-status"];a.globalResources.apply(a,b)}return a("configure",c),{setters:[],execute:function(){}}}),function(){var a=System.amdDefine;a("views/mailto/mailto.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div class="mailto"><div class="content"><p>If you have questions about your query results or this SHRINE network, contact the Data Steward at your site.</p><div class="email js-email"><button class="button button--large js-button" click.delegate="openEmail()">Email Data Steward</button></div></div></div></template>'})}(),System.register("views/mailto/mailto.service.js",["repository/qep.repository"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g;return{setters:[function(a){d=a.QEPRepository}],execute:function(){a("MailToService",(f=e=function(){function a(b){c(this,a),this.repository=b}return a.prototype.fetchStewardEmail=function(){return this.repository.fetchStewardEmail()},a}(),e.inject=[d],g=f)),a("MailToService",g)}}}),System.register("views/mailto/mailto.config.js",[],function(a,b){"use strict";var c;return{setters:[],execute:function(){a("MailConfig",c={mailto:"mailto:",subject:encodeURIComponent("Question from a SHRINE User"),body:encodeURIComponent("Please enter the suggested information and your question. Your data steward will reply to this email.\n \n\n***Never send patient information, passwords, or other sensitive information by email****\n \nName:\n \nTitle:\n \nUser name (to log into SHRINE):\n \nTelephone Number (optional):\n \nPreferred email address (optional):\n \n\nQuestion or Comment:")}),a("MailConfig",c)}}}),System.register("views/mailto/mailto.js",["views/mailto/mailto.service","views/mailto/mailto.config"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.MailToService},function(a){e=a.MailConfig}],execute:function(){a("MailTo",(g=f=function(){function a(b,d){c(this,a),this.service=b,this.config=d}return a.prototype.openEmail=function(){var a=this;this.service.fetchStewardEmail().then(function(b){window.top.location="mailto:"+b+"?subject="+a.config.subject+"&body="+a.config.body})},a}(),f.inject=[d,e],h=g)),a("MailTo",h)}}}),function(){var a=System.amdDefine;a("views/query-status/query-status.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="height: 100%; overflow: auto" class="query-status"><div style="display: flex" if.one-way="status.query.queryName"><div style="flex:1">Status of Query ${status.query.queryName | truncate} <span if.one-way="status.nodes.length"><br>at Each Institution:</span></div><div style="flex:1" if.one-way="status.nodes.length">Last Updated on: ${status.updated | dateTime}</div><div style="flex:1" if.one-way="!status.nodes.length">Waiting on response from network...</div></div><br><node-status repeat.for="node of status.nodes" result.one-way="node"></node-status><span if.one-way="status.nodes.length"><br><span>Completed query counts and breakdowns are shown below:</span><br></span><node-result repeat.for="node of status.nodes" result.one-way="node" query-name.one-way="status.query.queryName"></node-result></div></template>'})}(),System.register("repository/qep.repository.js",["aurelia-fetch-client","fetch"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.HttpClient},function(a){}],execute:function(){e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),a("QEPRepository",(g=f=function(){function a(b){var d=this;c(this,a),b.configure(function(a){a.useStandardConfiguration().withBaseUrl(d.url).withDefaults({headers:{Authorization:"Basic "+d.auth}})}),this.http=b}return a.prototype.fetchPreviousQueries=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.http.fetch("qep/queryResults?limit="+a+"&skip="+b,{method:"get"}).then(function(a){return a.json()})["catch"](function(a){return a})},a.prototype.fetchNetworkId=function(a){return this.http.fetch("qep/networkId?queryName='"+a+"'",{method:"get"}).then(function(a){return a.json()})["catch"](function(a){return a})},a.prototype.fetchQuery=function(a,b,c){return this.http.fetch("qep/queryResult/"+a+"?timeoutSeconds="+b+"&afterVersion="+c,{method:"get"}).then(function(a){var b=a.url,c=a.statusText,d=a.status,e=a.ok;return console.log("fetchQuery: "+b+" - "+e+" - "+d+" - "+c),a.json()})["catch"](function(a){return a})},a.prototype.fetchStewardEmail=function(){return this.http.fetch("data?key=stewardEmail",{method:"get"}).then(function(a){return a.json()}).then(function(a){return a.indexOf('"')>0?a.split('"')[1]:a})["catch"](function(){return""})},e(a,[{key:"url",get:function(){var a=document.URL,b=":6443/shrine-metadata/";return a.substring(0,a.lastIndexOf(":"))+b}},{key:"auth",get:function(){var a=sessionStorage.getItem("shrine.auth");return sessionStorage.removeItem("shrine.auth"),a}}]),a}(),f.inject=[d],h=g)),a("QEPRepository",h)}}}),System.register("services/query-status.model.js",["aurelia-event-aggregator","repository/qep.repository","./shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i,j,k,l;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.QEPRepository},function(a){f=a.commands,g=a.notifications}],execute:function(){h=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a},k=function(){var a=!1;return function(b){return a=void 0===b?a:!!b}}(),a("QueryStatusModel",(j=i=function b(a,d,e){c(this,b);var g=function(b){return a.publish(e.shrine.queryReceived,b)},i=function(a){return new Promise(function(b,c){var d=a.results,e=a.dataVersion,f=a.query,g=function(a,b){return a.adapterNode.toUpperCase()<=b.adapterNode.toUpperCase()?-1:1},i=0===d.length?[]:[].concat(d.sort(g)),j=i.length>0&&i.filter(function(a){return"ERROR,COMPLETED,FINISHED".includes(a.status)}).length===i.lenth,k=h({},f,{complete:j});b({query:k,nodes:i,dataVersion:e})})},j=function(a){d.fetchQuery(a.networkId,a.timeoutSeconds,a.dataVersion).then(function(a){return i(a)})["catch"](function(a){return console.log("ERROR: "+a)}).then(function(a){return g(a)})},k=function(){a.subscribe(f.shrine.fetchQuery,j)};k()},i.inject=[d,e,g],l=j)),a("QueryStatusModel",l)}}}),System.register("services/shrine.messages.js",[],function(a,b){"use strict";var c,d;return{setters:[],execute:function(){a("notifications",c={i2b2:{tabMax:"notification.from.i2b2.tab.max",tabMin:"notification.from.i2b2.tab.min",viewSelected:"notification.from.i2b2.tab.selected",historyRefreshed:"notification.from.i2b2.history.refreshed",queryStarted:"notification.from.i2b2.query.started",messageReceived:"notification.from.i2b2.message.received",networkIdReceived:"notification.from.i2b2.networkId.receieved",exportQuery:"notification.from.i2b2.export.query",clearQuery:"notification.from.i2b2.clear.query"},shrine:{queriesReceived:"notification.from.shrine.queries.received",queryReceived:"notification.from.shrine.query.recieved",queryUnavailable:"notification.from.shrine.query.unavailable",queryAvailable:"notification.from.shrine.query.available"}}),a("notifications",c),a("commands",d={i2b2:{cloneQuery:"command.to.i2b2.clone.query",showError:"command.to.i2b2.show.error",flagQuery:"command.to.i2b2.flag.query",unflagQuery:"command.to.i2b2.unflag.query",renameQuery:"command.to.i2b2.rename.query"},shrine:{fetchQuery:"command.to.shrine.fetch.query",
-exportResult:"command.to.shrine.export.result"}}),a("commands",d)}}}),System.register("services/pub-sub.js",["aurelia-event-aggregator","./shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.commands,f=a.notifications}],execute:function(){a("PubSub",(h=g=function b(a,d,e){c(this,b),this.commands=d,this.notifications=e,this.publish=function(b,c){return a.publish(b,c)},this.subscribe=function(b,c){return a.subscribe(b,c)}},g.inject=[d,e,f],i=h)),a("PubSub",i)}}}),System.register("views/query-status/query-status.js",["aurelia-framework","services/query-status.model","services/pub-sub"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;return{setters:[function(a){h=a.customElement,i=a.observable},function(a){j=a.QueryStatusModel},function(a){k=a.PubSub}],execute:function(){l=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a},a("QueryStatus",(m=h("query-status"),s=m((r=q=function(a){function b(f){d(this,b);for(var g=arguments.length,h=Array(g>1?g-1:0),i=1;i<g;i++)h[i-1]=arguments[i];var j=e(this,a.call.apply(a,[this].concat(h)));return c(j,"status",p,j),v.set(j,{isDevEnv:document.location.href.includes("http://localhost:8000/"),exportAvailable:!1}),j}return f(b,a),b.prototype.statusChanged=function(a,b){return a.nodes&&a.nodes.length?(v.get(this).exportAvailable=!0,void this.publish(this.notifications.shrine.queryAvailable)):(v.get(this).exportAvailable=!1,void this.publish(this.notifications.shrine.queryUnavailable))},b.prototype.attached=function(){var a=this;this.subscribe(this.notifications.i2b2.queryStarted,function(b){a.status=w(),a.status.query.queryName=b}),this.subscribe(this.notifications.i2b2.networkIdReceived,function(b){var c=b.networkId,d=b.name,e=w(),f=e.nodes;e.query.queryName=d||e.query.queryName,a.status=a.status?l({},a.status,{nodes:f}):e,a.publish(a.commands.shrine.fetchQuery,{networkId:c,timeoutSeconds:t,dataVersion:u})}),this.subscribe(this.notifications.i2b2.exportQuery,function(){a.publish(a.commands.shrine.exportResult,l({},a.status))}),this.subscribe(this.notifications.i2b2.clearQuery,function(){a.status=w()}),this.subscribe(this.notifications.shrine.queryReceived,function(b){var c=b.query,d=b.nodes,e=b.dataVersion,f=b.complete,g=b.query.networkId,h=Number(new Date);a.status=l({},a.status,{query:c,nodes:d,updated:h}),f||a.publish(a.commands.shrine.fetchQuery,{networkId:g,dataVersion:e,TIMEOUT_SECONDS:t})}),v.get(this).isDevEnv&&this.publish(this.notifications.i2b2.networkIdReceived,{networkId:1,name:"started query"})},b}(k),q.inject=[j],o=r,p=g(o.prototype,"status",[i],{enumerable:!0,initializer:null}),n=o))||n)),a("QueryStatus",s),t=15,u=-1,v=new WeakMap,w=function(a){return{query:{queryName:null,updated:null,complete:!1},nodes:null}}}}}),function(){var a=System.amdDefine;a("views/query-viewer/context-menu/context-menu.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><ul class="context-menu ${context.class || \'hide\'}" mouseleave.trigger="context.class=\'hide\'" css="top: ${context.y - 40}; left: ${context.x - 50};"><li if.bind="context.isCount"><a click.delegate="refreshHistory()" href="#"><i class="fa fa-bar-chart-o"></i>Breakdown</a></li><li click.delegate="cloneQuery(context.query.id)"><a href="#"><i class="fa fa-files-o"></i> Clone</a></li><li><a click.delegate="renameQuery(context.query.id)" href="#"><i class="fa fa-edit"></i> Rename</a></li><!--li><a click.delegate="flagQuery(context.query.id)" href="#"><i class="fa fa-flag"></i> Flag</a></li--><!--li><a click.delegate="unflagQuery(context.query.id)" href="#"><i class="fa fa-flag-o"></i> Unflag</a></li--></ul></template>'})}(),System.register("views/query-viewer/context-menu/context-menu.js",["aurelia-framework","aurelia-event-aggregator","common/shrine.messages"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l,m,n;return{setters:[function(a){f=a.bindable},function(a){g=a.EventAggregator},function(a){h=a.commands}],execute:function(){a("ContextMenu",(l=k=function b(a,c){var e=this;d(this,b),m.call(this),b.prototype.cloneQuery=function(b){a.publish(c.i2b2.cloneQuery,b),e.context["class"]="hide"},b.prototype.renameQuery=function(b){a.publish(c.i2b2.renameQuery,b),e.context["class"]="hide"},b.prototype.flagQuery=function(b){a.publish(c.i2b2.flagQuery,b),e.context["class"]="hide"},b.prototype.unflagQuery=function(b){a.publish(c.i2b2.unflagQuery,b),e.context["class"]="hide"}},k.inject=[g,h],m=function(){c(this,"context",j,this)},i=l,j=e(i.prototype,"context",[f],{enumerable:!0,initializer:null}),n=i)),a("ContextMenu",n)}}}),System.register("views/query-viewer/date.converter.js",["moment"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e;return{setters:[function(a){d=a["default"]}],execute:function(){a("DateValueConverter",e=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return d(a).format("MM/DD/YYYY")},a}()),a("DateValueConverter",e)}}}),function(){var a=System.amdDefine;a("views/query-viewer/paginator/paginator.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700" rel="stylesheet" type="text/css"><div class="paginator"><ol class="btn-group"><li class="btn-group__item" click.delegate="pageIndex = index - 1"><i class="i-chevron-left"></i></li><li repeat.for="page of pages" class="btn-group__item" click.delegate="pageIndex = $index"><button class="btn btn--basic ${index === $index? \'current\' : \'\'}">${$index + 1}</button></li><li class="btn-group__item" click.delegate="pageIndex = index + 1"><i class="i-chevron-right"></i></li></ol></div></template>'})}(),System.register("views/query-viewer/paginator/paginator.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l;return{setters:[function(a){f=a.bindable}],execute:function(){g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),a("Paginator",(k=j=function(){function a(b){var e=this;d(this,a),c(this,"pages",i,this),a.prototype.init=function(){e.index=0,e.element=b},this.init()}return g(a,[{key:"pageIndex",set:function(a){var b=this.pages.length-1;this.index=a<0?0:a>b?b:a,this.element.dispatchEvent(new CustomEvent("paginator-click",{detail:{index:this.index},bubbles:!0,cancelable:!0}))}}]),a}(),j.inject=[Element],h=k,i=e(h.prototype,"pages",[f],{enumerable:!0,initializer:null}),l=h)),a("Paginator",l)}}}),function(){var a=System.amdDefine;a("views/query-viewer/query-status/query-status.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div class="tooltip"><span ref="tooltipContent" data-line1="Total: ${total}" data-line2="Available: ${finished}, Error: ${error}, Pending: ${pending}"><svg viewbox="0 0 35 35" class="query-status"><circle cx="18" cy="16" r="12" class="countdown__background"/><circle cx="18" cy="16" r="12" class="error__progress" css="stroke-dashoffset: ${errorOffset}"/><circle cx="18" cy="16" r="12" class="ready__progress" css="stroke-dashoffset: ${readyOffset}"/></svg></span></div></template>'})}(),System.register("views/query-viewer/query-status/query-status.js",["aurelia-framework","ramda"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l,m;return{setters:[function(a){f=a.bindable},function(a){g=a}],execute:function(){a("QueryStatus",(k=j=function(){function a(b){d(this,a),l.call(this),this.floor=b.floor}return a.prototype.attached=function(){var a=75,b=g.curry(function(a,b,c,d){return a(d/c*b)})(this.floor,a,this.status.total),c=this.status,d=b(c.finished),e=b(c.error);this.readyOffset=100-d,this.errorOffset=this.readyOffset-e,this.finished=c.finished,this.error=c.error,this.pending=c.total-(c.finished+c.error),this.total=c.total},a}(),j.inject=[Math],l=function(){c(this,"status",i,this)},h=k,i=e(h.prototype,"status",[f],{enumerable:!0,initializer:null}),m=h)),a("QueryStatus",m)}}}),System.register("views/query-viewer/query-viewer.config.js",[],function(a,b){"use strict";var c;return{setters:[],execute:function(){a("QueryViewerConfig",c={maxNodesPerScreen:10,maxQueriesPerScroll:40}),a("QueryViewerConfig",c)}}}),function(){var a=System.amdDefine;a("views/query-viewer/query-viewer.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><require from="views/query-viewer/result-style.converter"></require><require from="views/query-viewer/result-value.converter"></require><require from="views/query-viewer/box-style.converter"></require><require from="views/query-viewer/context-menu/context-menu"></require><require from="views/query-viewer/loading-bar/loading-bar"></require><require from="views/query-viewer/paginator/paginator"></require><require from="views/query-viewer/date.converter"></require><require from="views/query-viewer/query-status/query-status"></require><span class="query-viewer"><loading-bar status.bind="\'Loading...\'" if.bind="showLoader"></loading-bar><div style="width: 100%; text-align: center"><paginator pages.bind="pages" paginator-click.delegate="updatePage($event)" if.bind="pages.length > 1"></paginator></div><div class="flex-table"><div class="flex-table-row node-header"><div class="flex-table-item"></div><div class="flex-table-item"></div><div class="flex-table-item"></div><div class="flex-table-item"></div><div repeat.for="node of page.nodes" class="flex-table-item">${node}</div></div></div><div class="flex-table query-viewer ${vertStyle}" scroll.trigger="onScroll($event)"><div><!-- @todo: create running query component --><div class="flex-table-row" if.bind="runningQueryName"><div class="flex-table-item"></div><div class="flex-table-item">${runningQueryName}</div><div class="flex-table-item"></div><div class="flex-table-item"></div><div class="flex-table-item" repeat.for="node of page.nodes" style="color: #00FF00">RUNNING</div></div><div repeat.for="result of page.results" class="flex-table-row"><div class="flex-table-item"><i if.bind="result.flagged" class="fa fa-flag"></i> <i if.bind="!result.flagged" class="fa fa-flag-o"></i></div><div class="flex-table-item" click.delegate="context = getContext($event, result)"><div class="ellipses">${result.name}</div></div><div class="flex-table-item" click.delegate="context = getContext($event, result)">${result.date | date}</div><div class="flex-table-item"><query-status status.bind="result.status"></query-status></div><div repeat.for="nodeResult of result.nodeResults" class="flex-table-item" click.delegate="context = getContext($event, result)"><a if.bind="nodeResult.status === \'ERROR\'" style="text-decoration: underline; color:red" click.delegate="publishError($event, nodeResult)">${nodeResult.status} </a>${nodeResult}</div></div><div class="flex-table-row" if.bind="loadingInfiniteScroll"><div style="width: 100%; text-align: center; font-size: 1.5rem; background:rgba(217, 236, 240, .05); text-align:center; color: rgba(0, 0, 0, .20)"><i class="fa fa-spinner fa-spin" style="color: inherit"></i> Loading...</div></div></div></div><!-- context menu --><context-menu context.bind="context"></context-menu></span></template>'})}(),System.register("views/query-viewer/scroll.service.js",["ramda","common/container"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a},function(a){e=a.Container}],execute:function(){a("ScrollService",(g=f=function b(){c(this,b)},f.either=d.curry(function(a,b,c){return e.of(d.prop(a,c)||b)}),f.target=function(a,b){return h.either("target",b,b).chain(function(b){return h.either(a,0,b)})},f.clientHeight=function(a){return h.target("clientHeight",a)},f.scrollHeight=function(a){return h.target("scrollHeight",a)},f.scrollTop=function(a){return h.target("scrollTop",a)},f.userScroll=function(a){return h.clientHeight(a).map(function(b){return b+h.scrollTop(a).value})},f.scrollRatio=function(a){return h.userScroll(a).map(function(b){return b/h.scrollHeight(a).value})},h=g)),a("ScrollService",h)}}}),System.register("views/query-viewer/query-viewer.js",["aurelia-event-aggregator","common/queries.model","./scroll.service","common/shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i,j,k;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.QueriesModel},function(a){f=a.ScrollService},function(a){g=a.notifications,h=a.commands}],execute:function(){a("QueryViewer",(j=i=function(){function a(b,d,e,g){var h=this;c(this,a),a.prototype.init=function(){h.pageIndex=0,h.showLoader=!0,h.vertStyle="v-min",h.runningQueryName=null},this.init(),a.prototype.setToPage=function(a){h.pageIndex=a,h.page=h.pages[h.pageIndex]};var i=function(a){return 1===f.scrollRatio(a).value};a.prototype.onScroll=function(a){i(a)&&!h.loadingInfiniteScroll&&d.moreToLoad()&&(h.loadingInfiniteScroll=!0,d.load())},a.prototype.publishError=function(a,c){return a.stopPropagation(),b.publish(g.i2b2.showError,c)},a.prototype.getContext=function(a,b,c){return{x:a.pageX,y:a.pageY,"class":"show",query:b,isCount:void 0!==c,count:c}},b.subscribe(e.i2b2.historyRefreshed,function(){return d.load()}),b.subscribe(e.i2b2.tabMax,function(){return h.vertStyle="v-full"}),b.subscribe(e.i2b2.tabMin,function(){return h.vertStyle="v-min"}),b.subscribe(e.i2b2.queryStarted,function(a){return h.runningQueryName=a}),b.subscribe(e.shrine.queriesReceived,function(a){h.pages=a,h.page=h.pages[0],h.runningQueryName=null,h.loadingInfiniteScroll=!1,h.showLoader=!1})}return a.prototype.updatePage=function(a){a.stopPropagation();var b=event.detail.index;this.page=this.pages[b]},a}(),i.inject=[d,e,g,h],k=j)),a("QueryViewer",k)}}}),function(){var a=System.amdDefine;a("views/query-viewer/result-row/loading-bar/loading-bar.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div class="loader"><h1>${status}</h1><div class="slider"><div class="line"></div><div class="break dot1"></div><div class="break dot2"></div><div class="break dot3"></div></div></div></template>'})}(),System.register("views/query-viewer/result-row/loading-bar/loading-bar.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i;return{setters:[function(a){f=a.bindable}],execute:function(){a("LoadingBar",(g=function b(){d(this,b),c(this,"status",h,this)},h=e(g.prototype,"status",[f],{enumerable:!0,initializer:null}),i=g)),a("LoadingBar",i)}}}),function(){var a=System.amdDefine;a("views/query-viewer/result-row/loading-bar/row-loader.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return""})}();
\ No newline at end of file
+"bundle";System.register("main.js",[],function(a,b){"use strict";function c(a){a.use.standardConfiguration().developmentLogging().feature("resources").feature("views"),a.start().then(function(){return a.setRoot("shell")})}return a("configure",c),{setters:[],execute:function(){}}}),System.register("resources/converters/box-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("BoxStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return"transform: translate("+String(-100*a)+"%);"},a}()),a("BoxStyleValueConverter",d)}}}),System.register("resources/converters/count-value-converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("CountValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return a<0?"10 patients or fewer":a+" +-10 patients"},a}()),a("CountValueConverter",d)}}}),System.register("resources/converters/datetime.value.converter.js",["moment"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e;return{setters:[function(a){d=a["default"]}],execute:function(){a("DateTimeValueConverter",e=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return d(a).format("MM/DD/YYYY h:mm:ss a")},a}()),a("DateTimeValueConverter",e)}}}),System.register("resources/converters/result-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){var b=this.isUnresolved(a)?"color:"+this.getColorValue(a):"";return b},a.prototype.isUnresolved=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"FINISHED";return!a||a.status!==b},a.prototype.getColorValue=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ERROR",c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#FF0000",d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#00FF00";return a&&a.status!==b?d:c},a}()),a("ResultStyleValueConverter",d)}}}),System.register("resources/converters/result-value.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return a?"FINISHED"!==a.status?"":a.count<0?"<=10":a.count:"not available"},a}()),a("ResultValueConverter",d)}}}),System.register("resources/converters/truncate.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("TruncateValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){var b=20;return a.length>b?a.substring(0,b)+"...":a},a}()),a("TruncateValueConverter",d)}}}),function(){var a=System.amdDefine;a("resources/custom/breakdown/breakdown.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="clear: both; margin-left: 30px; float: left; height: 16px; line-height: 16px"><br><font>${data.resultType.i2b2Options.description}:</font></div><div style="clear: both; margin-left: 40px; float: left; height: 16px; line-height: 16px"></div><div repeat.for="result of data.results" style="clear: both; margin-left: 40px; float: left; height: 16px; line-height: 16px">${result.dataKey}: <font color="#0000dd">${result.value | count}</font></div></template>'})}(),System.register("resources/custom/breakdown/breakdown.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l;return{setters:[function(a){f=a.bindable,g=a.customElement}],execute:function(){a("Breakdown",(h=g("breakdown"),l=h((j=function b(){d(this,b),c(this,"data",k,this)},k=e(j.prototype,"data",[f],{enumerable:!0,initializer:null}),i=j))||i)),a("Breakdown",l)}}}),function(){var a=System.amdDefine;a("resources/custom/node-result/error.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template>&nbsp;- <span><b><a class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)"><b><span color="#ff0000">${result.statusMessage}</span></b></a></b></span></template>'})}(),function(){var a=System.amdDefine;a("resources/custom/node-result/node-result.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="clear:both"><br><div style="float:left; font-weight:bold; margin-left:20px">${result.adapterNode} "${queryName}"</div></div><compose view.bind="component"></compose></template>'})}(),System.register("resources/custom/node-result/node-result.js",["aurelia-framework","services/pub-sub"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var h,i,j,k,l,m,n,o,p;return{setters:[function(a){h=a.customElement,i=a.bindable},function(a){j=a.PubSub}],execute:function(){a("NodeResult",(k=h("node-result"),p=k((m=function(a){function b(){d(this,b);for(var f=arguments.length,g=Array(f),h=0;h<f;h++)g[h]=arguments[h];var i=e(this,a.call.apply(a,[this].concat(g)));return c(i,"result",n,i),c(i,"queryName",o,i),i}return f(b,a),b.prototype.attached=function(){var a=this.result.status;this.component="./status-msg.html","ERROR"===a?this.component="./error.html":["COMPLETED","FINISHED"].indexOf(a)>-1&&(this.component="./patient-count.html")},b}(j),n=g(m.prototype,"result",[i],{enumerable:!0,initializer:null}),o=g(m.prototype,"queryName",[i],{enumerable:!0,initializer:null}),l=m))||l)),a("NodeResult",p)}}}),function(){var a=System.amdDefine;a("resources/custom/node-result/patient-count.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="clear: both; margin-left: 30px; float: left; height: 16px; line-height: 16px">Patient Count: <font color="#0000dd">- ${result.count | count}</font></div><breakdown repeat.for="breakdown of result.breakdowns" data.one-way="breakdown"></breakdown></template>'})}(),function(){var a=System.amdDefine;a("resources/custom/node-result/status-msg.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template>&nbsp;- <span style="color: #00dd00">SUBMITTED</span></template>'})}(),function(){var a=System.amdDefine;a("resources/custom/node-status/node-status.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="display: flex"><div style="flex:1">${result.adapterNode}</div><div style="flex: 1"><span if.one-way="\'STATUS,FINISHED\'.includes(result.status)" style="display: inline-block; color: #0000dd">&nbsp; <span style="color: black">COMPLETED</span> </span><span>&nbsp; <a if.one-way="result.status === \'ERROR\'" class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)">ERROR </a></span><span if.one-way="!\'ERROR,COMPLETED,FINISHED\'.includes(result.status)">&nbsp; <span style="color: #00dd00">SUBMITTED</span></span></div><div style="flex:1"><span if.one-way="\'STATUS,FINISHED\'.includes(result.status)" style="display: inline-block; color: #0000dd">&nbsp; ${result.count | count}</span></div></div></template>'})}(),System.register("resources/custom/node-status/node-status.js",["aurelia-framework","services/pub-sub"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var h,i,j,k,l,m,n,o;return{setters:[function(a){h=a.customElement,i=a.bindable},function(a){j=a.PubSub}],execute:function(){a("NodeStatus",(k=h("node-status"),o=k((m=function(a){function b(){d(this,b);for(var f=arguments.length,g=Array(f),h=0;h<f;h++)g[h]=arguments[h];var i=e(this,a.call.apply(a,[this].concat(g)));return c(i,"result",n,i),i}return f(b,a),b}(j),n=g(m.prototype,"result",[i],{enumerable:!0,initializer:null}),l=m))||l)),a("NodeStatus",o)}}}),function(){var a=System.amdDefine;a("resources/custom/node-status/temp.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<div style="display: flex"><div style="flex:1">${result.adapterNode}</div><div style="flex: 1"><span if.one-way="result.statusMessage === \'COMPLETED\' || result.statusMessage === \'FINISHED\'" style="display: inline-block; color: #0000dd">&nbsp; <span style="color: black">${result.statusMessage}</span> </span><span>&nbsp; <a if.one-way="result.statusMessage === \'ERROR\'" class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)">ERROR: ${result.statusDescription} </a></span><span if.one-way="[\'ERROR\',\'COMPLETED\',\'FINISHED\'].indexOf(result.statusMessage) === -1">&nbsp; <span style="color: #00dd00">${result.statusMessage}</span></span></div><div style="flex:1"><span if.one-way="result.statusMessage === \'COMPLETED\' || result.statusMessage === \'FINISHED\'" style="display: inline-block; color: #0000dd">&nbsp; ${result.count | count}</span></div></div><patient-count if.one-way="result.statusMessage === \'COMPLETED\' || result.statusMessage === \'FINISHED\'" result.one-way="result"><div style="clear: both; margin-left: 30px; float: left; height: 16px; line-height: 16px">Patient Count: <font color="#0000dd">- ${result.count | count}</font></div></patient-count><error if.one-way="result.statusMessage === \'ERROR\'" result.one-way="result">&nbsp;- <span title="${result.statusDescription}"><b><a class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)"><b><span color="#ff0000">ERROR: ${result.statusDescription}</span></b></a></b></span></error><span if.one-way="[\'ERROR\',\'COMPLETED\',\'FINISHED\'].indexOf(result.statusMessage) === -1">&nbsp;- <span style="color: #00dd00">${result.statusMessage}</span></span>'})}(),System.register("resources/index.js",[],function(a,b){"use strict";function c(a){var b="converters",c=["box-style.converter","count-value-converter","datetime.value.converter","result-style.converter","result-value.converter","truncate.converter"];a.globalResources.apply(a,c.map(function(a){return"./"+b+"/"+a}));var d="custom",e=["breakdown/breakdown","node-result/node-result","node-status/node-status"];a.globalResources.apply(a,e.map(function(a){return"./"+d+"/"+a}))}return a("configure",c),{setters:[],execute:function(){}}}),System.register("services/queries.model.js",["aurelia-event-aggregator","repository/qep.repository","./shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.QEPRepository},function(a){f=a.notifications}],execute:function(){a("QueriesModel",(h=g=function b(a,d,e){var f=this;c(this,b);var g=d,h=40,i=0,j=0,k=null;b.prototype.load=function(){return g.fetchPreviousQueries(f.maxQueriesPerFetch()+f.loadedCount()).then(function(a){return j=a.rowCount,i=a.queryResults.length,a})["catch"](function(a){return console.log(a)}).then(l).then(function(b){k=b,a.publish(e.shrine.queriesReceived,k)})},b.prototype.totalQueries=function(){return j},b.prototype.loadedCount=function(){return i},b.prototype.maxQueriesPerFetch=function(){return h},b.prototype.moreToLoad=function(){return i<j},b.prototype.hasData=function(){return null!==k&&void 0!==k};var l=function(a){arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;return new Promise(function(b,c){for(var d=[],e=6,f=a.adapters,g=f.length,h=a.queryResults,i=0;i<g;i+=e){var j=m(f,i,e),k=f.slice(i,j),l=n(k,h);d.push({nodes:k,results:l})}b(d)})},m=function(a,b,c){var d=b+c;return d<a.length?d:a.length},n=function(a,b){var c=[];return b.forEach(function(b,d){var e={name:b.query.queryName,id:b.query.networkId,date:b.query.dateCreated,flagged:b.query.flagged===!0,flagMessage:b.query.flagMessage||null,nodeResults:[],status:b.adaptersToResults.reduce(function(a,c){var d="FINISHED"===c.status?a.finished+1:a.finished,e="ERROR"===c.status?a.error+1:a.error;return{error:e,finished:d,total:b.adaptersToResults.length}},{error:0,finished:0,total:b.adaptersToResults.length})};a.forEach(function(a){e.nodeResults.push(b.adaptersToResults.find(function(b){return b.adapterNode===a}))}),c.push(e)}),c}},g.inject=[d,e,f],i=h)),a("QueriesModel",i)}}}),function(){var a=System.amdDefine;a("shell.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return"<template><query-status></query-status></template>"})}(),System.register("services/container.js",["ramda"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f;return{setters:[function(a){d=a}],execute:function(){e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),a("Container",f=function(){function a(b){c(this,a),this.__value=b}return a.of=function(b){return new a(function(){return b})},a.prototype.map=function(b){return this.hasNothing()?a.of(null):a.of(b(this.value))},a.prototype.join=function(){return this.hasNothing()?a.of(null):this.value},a.prototype.chain=function(a){return this.map(a).join()},a.prototype.hasNothing=function(){return null===this.value||void 0===this.value},a.prototype.ap=function(a){a.map(this.value)},e(a,[{key:"value",get:function(){return this.__value()}}]),a}()),a("Container",f)}}}),System.register("services/i2b2.service.js",["ramda","./container"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a},function(a){e=a.Container}],execute:function(){a("I2B2Service",(g=f=function b(a){c(this,b);var f=a?e.of(a):e.of(null),g=d.curry(function(a,b){return b.value?e.of(d.prop(a,b.value)):e.of(null)}),h=d.compose(g("i2b2"),g("window"),g("parent")),i=d.compose(g("CRC"),h),j=d.compose(g("events"),h),k=d.compose(g("SHRINE"),h);b.prototype.onResize=function(a){return j(f).map(function(b){return b.changedZoomWindows.subscribe(a)})},b.prototype.onHistory=function(a){return i(f).map(function(b){return b.ctrlr.history.events.onDataUpdate.subscribe(a)})},b.prototype.onQuery=function(a){return j(f).map(function(b){return b.afterQueryInit.subscribe(a)})},b.prototype.onNetworkId=function(a){return j(f).map(function(b){return b.networkIdReceived.subscribe(a)})},b.prototype.onViewSelected=function(a){return g("addEventListener",f).value?e.of(f.value.addEventListener("message",a,!1)):e.of(null)},b.prototype.onExport=function(a){return j(f).map(function(b){return b.exportQueryResult.subscribe(a)})},b.prototype.onClearQuery=function(a){return j(f).map(function(b){return b.clearQuery.subscribe(a)})},b.prototype.loadHistory=function(){return i(f).map(function(a){return a.view.history.doRefreshAll()})},b.prototype.loadQuery=function(a){return i(f).map(function(b){return b.ctrlr.QT.doQueryLoad(a)})},b.prototype.errorDetail=function(a){return k(f).map(function(b){b.plugin.errorDetail(a)})},b.prototype.renameQuery=function(a){return i(f).map(function(b){return b.ctrlr.history.queryRename(a,!1)})},b.prototype.flagQuery=function(a){return i(f).map(function(b){return b.ctrlr.history.Flag({queryId:a,message:""})})},b.prototype.unflagQuery=function(a){return i(f).map(function(b){return b.ctrlr.history.Unflag({queryId:a})})},b.prototype.publishQueryUnavailable=function(){return j(f).map(function(a){return a.queryResultUnavailable.fire()})},b.prototype.publishQueryAvailable=function(){return j(f).map(function(a){return a.queryResultAvailable.fire()})}},f.inject=[window],h=g)),a("I2B2Service",h)}}}),System.register("services/i2b2.pub-sub.js",["./pub-sub","./i2b2.service"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function d(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function e(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var f,g,h,i,j;return{setters:[function(a){f=a.PubSub},function(a){g=a.I2B2Service}],execute:function(){a("I2B2PubSub",(i=h=function(a){function b(e){c(this,b);for(var f=arguments.length,g=Array(f>1?f-1:0),h=1;h<f;h++)g[h-1]=arguments[h];var i=d(this,a.call.apply(a,[this].concat(g)));return i.listen=function(){e.onResize(function(a,b){return b.find(function(a){return"ADD"===a.action})?function(){return i.publish(i.notifications.i2b2.tabMax)}:function(){return i.publish(i.notifications.i2b2.tabMin)}}),e.onHistory(function(){return i.publish(i.notifications.i2b2.historyRefreshed)}),e.onQuery(function(a,b){return i.publish(i.notifications.i2b2.queryStarted,b[0].name)}),e.onNetworkId(function(a,b){return i.publish(i.notifications.i2b2.networkIdReceived,b[0])}),e.onViewSelected(function(a){return i.publish(i.notifications.i2b2.viewSelected,a.data)}),e.onExport(function(){return i.publish(i.notifications.i2b2.exportQuery)}),e.onClearQuery(function(){return i.publish(i.notifications.i2b2.clearQuery)}),i.subscribe(i.commands.i2b2.cloneQuery,function(a){return e.loadQuery(a)}),i.subscribe(i.commands.i2b2.showError,function(a){e.errorDetail(a)}),i.subscribe(i.commands.i2b2.renameQuery,function(a){return e.renameQuery(a)}),i.subscribe(i.commands.i2b2.flagQuery,function(a){return e.flagQuery(a)}),i.subscribe(i.commands.i2b2.unflagQuery,function(a){return e.unflagQuery(a)}),i.subscribe(i.notifications.shrine.queryUnavailable,function(){return e.publishQueryUnavailable()}),i.subscribe(i.notifications.shrine.queryAvailable,function(){return e.publishQueryAvailable()})},i}return e(b,a),b}(f),h.inject=[g],j=i)),a("I2B2PubSub",j)}}}),System.register("services/query-export.js",["./pub-sub"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function d(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function e(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var f,g,h;return{setters:[function(a){f=a.PubSub}],execute:function(){a("QueryExport",g=function(a){function b(){c(this,b);for(var e=arguments.length,f=Array(e),g=0;g<e;g++)f[g]=arguments[g];return d(this,a.call.apply(a,[this].concat(f)))}return e(b,a),b.prototype.listen=function(){this.subscribe(this.commands.shrine.exportResult,h)},b}(f)),a("QueryExport",g),h=function(a){var b=a.nodes.sort(),c=new Map,d=function(a){var b=a.resultType.i2b2Options.description;return b},e=function(a,b){return d(a)<=d(b)?-1:1};b.forEach(function(a){var b=a.breakdowns;return b.sort(e).forEach(function(a){var b,d=a.resultType.i2b2Options.description,e=a.results;return c.has(d)?(b=c.get(d)).add.apply(b,e.map(function(a){return a.dataKey}).sort()):c.set(d,new Set(e.map(function(a){return a.dataKey}).sort()))})});var f="data:text/csv;charset=utf-8,SHRINE QUERY RESULTS (OBFUSCATED PATIENT COUNTS),"+[""].concat(b.map(function(a){return a.adapterNode}).join(",")),g="\nAll Patients,"+[""].concat(b.map(function(a){return a.count}).join(",")),h=[];c.forEach(function(a,c){h.push.apply(h,[""].concat(Array.from(a).map(function(a){var d=c.split(" ").shift()+","+a,e=b.map(function(b){var d=b.breakdowns,e=d.find(function(a){var b=a.resultType.i2b2Options.description;a.results;return b===c}),f=e?e.results.find(function(b){return b.dataKey===a}):void 0;return f?f.value>0?f.value:0:"unavailable"});return d+","+e.join(",")})))});var i=encodeURI(""+f+g+h.join("\n")),j=document.createElement("a");j.setAttribute("href",i),j.setAttribute("download","export.csv"),document.body.appendChild(j),j.click(),document.body.removeChild(j)}}}}),System.register("shell.js",["services/i2b2.pub-sub","services/query-export"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.I2B2PubSub},function(a){e=a.QueryExport}],execute:function(){a("Shell",(g=f=function b(a,d){c(this,b),a.listen(),d.listen()},f.inject=[d,e],h=g)),a("Shell",h)}}}),System.register("views/index.js",[],function(a,b){"use strict";function c(a){var b=["views/query-status/query-status"];a.globalResources.apply(a,b)}return a("configure",c),{setters:[],execute:function(){}}}),function(){var a=System.amdDefine;a("views/mailto/mailto.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div class="mailto"><div class="content"><p>If you have questions about your query results or this SHRINE network, contact the Data Steward at your site.</p><div class="email js-email"><button class="button button--large js-button" click.delegate="openEmail()">Email Data Steward</button></div></div></div></template>'})}(),System.register("views/mailto/mailto.service.js",["repository/qep.repository"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g;return{setters:[function(a){d=a.QEPRepository}],execute:function(){a("MailToService",(f=e=function(){function a(b){c(this,a),this.repository=b}return a.prototype.fetchStewardEmail=function(){return this.repository.fetchStewardEmail()},a}(),e.inject=[d],g=f)),a("MailToService",g)}}}),System.register("views/mailto/mailto.config.js",[],function(a,b){"use strict";var c;return{setters:[],execute:function(){a("MailConfig",c={mailto:"mailto:",subject:encodeURIComponent("Question from a SHRINE User"),body:encodeURIComponent("Please enter the suggested information and your question. Your data steward will reply to this email.\n \n\n***Never send patient information, passwords, or other sensitive information by email****\n \nName:\n \nTitle:\n \nUser name (to log into SHRINE):\n \nTelephone Number (optional):\n \nPreferred email address (optional):\n \n\nQuestion or Comment:")}),a("MailConfig",c)}}}),System.register("views/mailto/mailto.js",["views/mailto/mailto.service","views/mailto/mailto.config"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.MailToService},function(a){e=a.MailConfig}],execute:function(){a("MailTo",(g=f=function(){function a(b,d){c(this,a),this.service=b,this.config=d}return a.prototype.openEmail=function(){var a=this;this.service.fetchStewardEmail().then(function(b){window.top.location="mailto:"+b+"?subject="+a.config.subject+"&body="+a.config.body})},a}(),f.inject=[d,e],h=g)),a("MailTo",h)}}}),function(){var a=System.amdDefine;a("views/query-status/query-status.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="height: 100%; overflow: auto" class="query-status"><div style="display: flex" if.one-way="status.query.queryName"><div style="flex:1">Status of Query ${status.query.queryName | truncate} <span if.one-way="status.nodes.length"><br>at Each Institution:</span></div><div style="flex:1" if.one-way="status.nodes.length">Last Updated on: ${status.updated | dateTime}</div><div style="flex:1" if.one-way="!status.nodes.length">Waiting on response from network...</div></div><br><node-status repeat.for="node of status.nodes" result.one-way="node"></node-status><span if.one-way="status.nodes.length"><br><span>Completed query counts and breakdowns are shown below:</span><br></span><node-result repeat.for="node of status.nodes" result.one-way="node" query-name.one-way="status.query.queryName"></node-result></div></template>'})}(),System.register("repository/qep.repository.js",["aurelia-fetch-client","fetch"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.HttpClient},function(a){}],execute:function(){e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),a("QEPRepository",(g=f=function(){function a(b){var d=this;c(this,a),b.configure(function(a){a.useStandardConfiguration().withBaseUrl(d.url).withDefaults({headers:{Authorization:"Basic "+d.auth}})}),this.http=b}return a.prototype.fetchPreviousQueries=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.http.fetch("qep/queryResults?limit="+a+"&skip="+b,{method:"get"}).then(function(a){return a.json()})["catch"](function(a){return a})},a.prototype.fetchNetworkId=function(a){return this.http.fetch("qep/networkId?queryName='"+a+"'",{method:"get"}).then(function(a){return a.json()})["catch"](function(a){return a})},a.prototype.fetchQuery=function(a,b,c){return this.http.fetch("qep/queryResult/"+a+"?timeoutSeconds="+b+"&afterVersion="+c,{method:"get"}).then(function(a){var b=a.url,c=a.statusText,d=a.status,e=a.ok;return console.log("fetchQuery: "+b+" - "+e+" - "+d+" - "+c),a.json()})["catch"](function(a){return a})},a.prototype.fetchStewardEmail=function(){return this.http.fetch("data?key=stewardEmail",{method:"get"}).then(function(a){return a.json()}).then(function(a){return a.indexOf('"')>0?a.split('"')[1]:a})["catch"](function(){return""})},e(a,[{key:"url",get:function(){var a=document.URL,b=":6443/shrine-metadata/";return a.substring(0,a.lastIndexOf(":"))+b}},{key:"auth",get:function(){var a=sessionStorage.getItem("shrine.auth");return sessionStorage.removeItem("shrine.auth"),a}}]),a}(),f.inject=[d],h=g)),a("QEPRepository",h)}}}),System.register("services/query-status.model.js",["aurelia-event-aggregator","repository/qep.repository","./shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i,j,k;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.QEPRepository},function(a){f=a.commands,g=a.notifications}],execute:function(){h=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a},a("QueryStatusModel",(j=i=function b(a,d,e){c(this,b);var g=function(b){return a.publish(e.shrine.queryReceived,b)},i=function(a){return new Promise(function(b,c){var d=a.results,e=a.dataVersion,f=a.query,g=function(a,b){return a.adapterNode.toUpperCase()<=b.adapterNode.toUpperCase()?-1:1},i=0===d.length?[]:[].concat(d.sort(g)),j=i.length>0&&i.filter(function(a){return"ERROR,COMPLETED,FINISHED".includes(a.status)}).length===i.lenth,k=h({},f,{complete:j});b({query:k,nodes:i,dataVersion:e})})},j=function(a){d.fetchQuery(a.networkId,a.timeoutSeconds,a.dataVersion).then(function(a){return i(a)})["catch"](function(a){return console.log("ERROR: "+a)}).then(function(a){return g(a)})},k=function(){a.subscribe(f.shrine.fetchQuery,j)};k()},i.inject=[d,e,g],k=j)),a("QueryStatusModel",k)}}}),System.register("services/shrine.messages.js",[],function(a,b){"use strict";var c,d;return{setters:[],execute:function(){a("notifications",c={i2b2:{tabMax:"notification.from.i2b2.tab.max",tabMin:"notification.from.i2b2.tab.min",viewSelected:"notification.from.i2b2.tab.selected",historyRefreshed:"notification.from.i2b2.history.refreshed",queryStarted:"notification.from.i2b2.query.started",messageReceived:"notification.from.i2b2.message.received",networkIdReceived:"notification.from.i2b2.networkId.receieved",exportQuery:"notification.from.i2b2.export.query",clearQuery:"notification.from.i2b2.clear.query"},shrine:{queriesReceived:"notification.from.shrine.queries.received",queryReceived:"notification.from.shrine.query.recieved",queryUnavailable:"notification.from.shrine.query.unavailable",queryAvailable:"notification.from.shrine.query.available"}}),a("notifications",c),a("commands",d={i2b2:{cloneQuery:"command.to.i2b2.clone.query",showError:"command.to.i2b2.show.error",flagQuery:"command.to.i2b2.flag.query",unflagQuery:"command.to.i2b2.unflag.query",renameQuery:"command.to.i2b2.rename.query"},shrine:{fetchQuery:"command.to.shrine.fetch.query",exportResult:"command.to.shrine.export.result"}}),a("commands",d);
+}}}),System.register("services/pub-sub.js",["aurelia-event-aggregator","./shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.commands,f=a.notifications}],execute:function(){a("PubSub",(h=g=function b(a,d,e){c(this,b),this.commands=d,this.notifications=e,this.publish=function(b,c){return a.publish(b,c)},this.subscribe=function(b,c){return a.subscribe(b,c)}},g.inject=[d,e,f],i=h)),a("PubSub",i)}}}),System.register("views/query-status/query-status.js",["aurelia-framework","services/query-status.model","services/pub-sub"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;return{setters:[function(a){h=a.customElement,i=a.observable},function(a){j=a.QueryStatusModel},function(a){k=a.PubSub}],execute:function(){l=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a},a("QueryStatus",(m=h("query-status"),s=m((r=q=function(a){function b(f){d(this,b);for(var g=arguments.length,h=Array(g>1?g-1:0),i=1;i<g;i++)h[i-1]=arguments[i];var j=e(this,a.call.apply(a,[this].concat(h)));return c(j,"status",p,j),v.set(j,{isDevEnv:document.location.href.includes("http://localhost:8000/"),exportAvailable:!1}),j}return f(b,a),b.prototype.statusChanged=function(a,b){return a.nodes&&a.nodes.length?(v.get(this).exportAvailable=!0,void this.publish(this.notifications.shrine.queryAvailable)):(v.get(this).exportAvailable=!1,void this.publish(this.notifications.shrine.queryUnavailable))},b.prototype.attached=function(){var a=this;this.subscribe(this.notifications.i2b2.queryStarted,function(b){a.status=w(),a.status.query.queryName=b}),this.subscribe(this.notifications.i2b2.networkIdReceived,function(b){var c=b.networkId,d=b.name,e=w(),f=e.nodes,g=d||e.query.queryName;a.status=a.status?l({},a.status,{nodes:f}):e,a.status.query=l({},a.status.query,{queryName:g,networkId:c}),a.publish(a.commands.shrine.fetchQuery,{networkId:c,timeoutSeconds:t,dataVersion:u})}),this.subscribe(this.notifications.i2b2.exportQuery,function(){a.publish(a.commands.shrine.exportResult,l({},a.status))}),this.subscribe(this.notifications.i2b2.clearQuery,function(){a.status=w()}),this.subscribe(this.notifications.shrine.queryReceived,function(b){var c=b.query,d=b.nodes,e=b.dataVersion,f=void 0===e?u:e,g=b.complete,h=b.query.networkId,i=t;if(h===a.status.query.networkId){var j=Number(new Date);a.status=l({},a.status,{query:c,nodes:d,updated:j}),g||a.publish(a.commands.shrine.fetchQuery,{networkId:h,dataVersion:f,timeoutSeconds:i})}}),v.get(this).isDevEnv&&this.publish(this.notifications.i2b2.networkIdReceived,{networkId:"2421519216383772161",name:"started query"})},b}(k),q.inject=[j],o=r,p=g(o.prototype,"status",[i],{enumerable:!0,initializer:null}),n=o))||n)),a("QueryStatus",s),t=15,u=-1,v=new WeakMap,w=function(a){return{query:{networkId:null,queryName:null,updated:null,complete:!1},nodes:null}}}}}),function(){var a=System.amdDefine;a("views/query-viewer/context-menu/context-menu.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><ul class="context-menu ${context.class || \'hide\'}" mouseleave.trigger="context.class=\'hide\'" css="top: ${context.y - 40}; left: ${context.x - 50};"><li if.bind="context.isCount"><a click.delegate="refreshHistory()" href="#"><i class="fa fa-bar-chart-o"></i>Breakdown</a></li><li click.delegate="cloneQuery(context.query.id)"><a href="#"><i class="fa fa-files-o"></i> Clone</a></li><li><a click.delegate="renameQuery(context.query.id)" href="#"><i class="fa fa-edit"></i> Rename</a></li><!--li><a click.delegate="flagQuery(context.query.id)" href="#"><i class="fa fa-flag"></i> Flag</a></li--><!--li><a click.delegate="unflagQuery(context.query.id)" href="#"><i class="fa fa-flag-o"></i> Unflag</a></li--></ul></template>'})}(),System.register("views/query-viewer/context-menu/context-menu.js",["aurelia-framework","aurelia-event-aggregator","common/shrine.messages"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l,m,n;return{setters:[function(a){f=a.bindable},function(a){g=a.EventAggregator},function(a){h=a.commands}],execute:function(){a("ContextMenu",(l=k=function b(a,c){var e=this;d(this,b),m.call(this),b.prototype.cloneQuery=function(b){a.publish(c.i2b2.cloneQuery,b),e.context["class"]="hide"},b.prototype.renameQuery=function(b){a.publish(c.i2b2.renameQuery,b),e.context["class"]="hide"},b.prototype.flagQuery=function(b){a.publish(c.i2b2.flagQuery,b),e.context["class"]="hide"},b.prototype.unflagQuery=function(b){a.publish(c.i2b2.unflagQuery,b),e.context["class"]="hide"}},k.inject=[g,h],m=function(){c(this,"context",j,this)},i=l,j=e(i.prototype,"context",[f],{enumerable:!0,initializer:null}),n=i)),a("ContextMenu",n)}}}),System.register("views/query-viewer/date.converter.js",["moment"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e;return{setters:[function(a){d=a["default"]}],execute:function(){a("DateValueConverter",e=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return d(a).format("MM/DD/YYYY")},a}()),a("DateValueConverter",e)}}}),function(){var a=System.amdDefine;a("views/query-viewer/paginator/paginator.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700" rel="stylesheet" type="text/css"><div class="paginator"><ol class="btn-group"><li class="btn-group__item" click.delegate="pageIndex = index - 1"><i class="i-chevron-left"></i></li><li repeat.for="page of pages" class="btn-group__item" click.delegate="pageIndex = $index"><button class="btn btn--basic ${index === $index? \'current\' : \'\'}">${$index + 1}</button></li><li class="btn-group__item" click.delegate="pageIndex = index + 1"><i class="i-chevron-right"></i></li></ol></div></template>'})}(),System.register("views/query-viewer/paginator/paginator.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l;return{setters:[function(a){f=a.bindable}],execute:function(){g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),a("Paginator",(k=j=function(){function a(b){var e=this;d(this,a),c(this,"pages",i,this),a.prototype.init=function(){e.index=0,e.element=b},this.init()}return g(a,[{key:"pageIndex",set:function(a){var b=this.pages.length-1;this.index=a<0?0:a>b?b:a,this.element.dispatchEvent(new CustomEvent("paginator-click",{detail:{index:this.index},bubbles:!0,cancelable:!0}))}}]),a}(),j.inject=[Element],h=k,i=e(h.prototype,"pages",[f],{enumerable:!0,initializer:null}),l=h)),a("Paginator",l)}}}),function(){var a=System.amdDefine;a("views/query-viewer/query-status/query-status.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div class="tooltip"><span ref="tooltipContent" data-line1="Total: ${total}" data-line2="Available: ${finished}, Error: ${error}, Pending: ${pending}"><svg viewbox="0 0 35 35" class="query-status"><circle cx="18" cy="16" r="12" class="countdown__background"/><circle cx="18" cy="16" r="12" class="error__progress" css="stroke-dashoffset: ${errorOffset}"/><circle cx="18" cy="16" r="12" class="ready__progress" css="stroke-dashoffset: ${readyOffset}"/></svg></span></div></template>'})}(),System.register("views/query-viewer/query-status/query-status.js",["aurelia-framework","ramda"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l,m;return{setters:[function(a){f=a.bindable},function(a){g=a}],execute:function(){a("QueryStatus",(k=j=function(){function a(b){d(this,a),l.call(this),this.floor=b.floor}return a.prototype.attached=function(){var a=75,b=g.curry(function(a,b,c,d){return a(d/c*b)})(this.floor,a,this.status.total),c=this.status,d=b(c.finished),e=b(c.error);this.readyOffset=100-d,this.errorOffset=this.readyOffset-e,this.finished=c.finished,this.error=c.error,this.pending=c.total-(c.finished+c.error),this.total=c.total},a}(),j.inject=[Math],l=function(){c(this,"status",i,this)},h=k,i=e(h.prototype,"status",[f],{enumerable:!0,initializer:null}),m=h)),a("QueryStatus",m)}}}),System.register("views/query-viewer/query-viewer.config.js",[],function(a,b){"use strict";var c;return{setters:[],execute:function(){a("QueryViewerConfig",c={maxNodesPerScreen:10,maxQueriesPerScroll:40}),a("QueryViewerConfig",c)}}}),function(){var a=System.amdDefine;a("views/query-viewer/query-viewer.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><require from="views/query-viewer/result-style.converter"></require><require from="views/query-viewer/result-value.converter"></require><require from="views/query-viewer/box-style.converter"></require><require from="views/query-viewer/context-menu/context-menu"></require><require from="views/query-viewer/loading-bar/loading-bar"></require><require from="views/query-viewer/paginator/paginator"></require><require from="views/query-viewer/date.converter"></require><require from="views/query-viewer/query-status/query-status"></require><span class="query-viewer"><loading-bar status.bind="\'Loading...\'" if.bind="showLoader"></loading-bar><div style="width: 100%; text-align: center"><paginator pages.bind="pages" paginator-click.delegate="updatePage($event)" if.bind="pages.length > 1"></paginator></div><div class="flex-table"><div class="flex-table-row node-header"><div class="flex-table-item"></div><div class="flex-table-item"></div><div class="flex-table-item"></div><div class="flex-table-item"></div><div repeat.for="node of page.nodes" class="flex-table-item">${node}</div></div></div><div class="flex-table query-viewer ${vertStyle}" scroll.trigger="onScroll($event)"><div><!-- @todo: create running query component --><div class="flex-table-row" if.bind="runningQueryName"><div class="flex-table-item"></div><div class="flex-table-item">${runningQueryName}</div><div class="flex-table-item"></div><div class="flex-table-item"></div><div class="flex-table-item" repeat.for="node of page.nodes" style="color: #00FF00">RUNNING</div></div><div repeat.for="result of page.results" class="flex-table-row"><div class="flex-table-item"><i if.bind="result.flagged" class="fa fa-flag"></i> <i if.bind="!result.flagged" class="fa fa-flag-o"></i></div><div class="flex-table-item" click.delegate="context = getContext($event, result)"><div class="ellipses">${result.name}</div></div><div class="flex-table-item" click.delegate="context = getContext($event, result)">${result.date | date}</div><div class="flex-table-item"><query-status status.bind="result.status"></query-status></div><div repeat.for="nodeResult of result.nodeResults" class="flex-table-item" click.delegate="context = getContext($event, result)"><a if.bind="nodeResult.status === \'ERROR\'" style="text-decoration: underline; color:red" click.delegate="publishError($event, nodeResult)">${nodeResult.status} </a>${nodeResult}</div></div><div class="flex-table-row" if.bind="loadingInfiniteScroll"><div style="width: 100%; text-align: center; font-size: 1.5rem; background:rgba(217, 236, 240, .05); text-align:center; color: rgba(0, 0, 0, .20)"><i class="fa fa-spinner fa-spin" style="color: inherit"></i> Loading...</div></div></div></div><!-- context menu --><context-menu context.bind="context"></context-menu></span></template>'})}(),System.register("views/query-viewer/scroll.service.js",["ramda","common/container"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a},function(a){e=a.Container}],execute:function(){a("ScrollService",(g=f=function b(){c(this,b)},f.either=d.curry(function(a,b,c){return e.of(d.prop(a,c)||b)}),f.target=function(a,b){return h.either("target",b,b).chain(function(b){return h.either(a,0,b)})},f.clientHeight=function(a){return h.target("clientHeight",a)},f.scrollHeight=function(a){return h.target("scrollHeight",a)},f.scrollTop=function(a){return h.target("scrollTop",a)},f.userScroll=function(a){return h.clientHeight(a).map(function(b){return b+h.scrollTop(a).value})},f.scrollRatio=function(a){return h.userScroll(a).map(function(b){return b/h.scrollHeight(a).value})},h=g)),a("ScrollService",h)}}}),System.register("views/query-viewer/query-viewer.js",["aurelia-event-aggregator","common/queries.model","./scroll.service","common/shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i,j,k;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.QueriesModel},function(a){f=a.ScrollService},function(a){g=a.notifications,h=a.commands}],execute:function(){a("QueryViewer",(j=i=function(){function a(b,d,e,g){var h=this;c(this,a),a.prototype.init=function(){h.pageIndex=0,h.showLoader=!0,h.vertStyle="v-min",h.runningQueryName=null},this.init(),a.prototype.setToPage=function(a){h.pageIndex=a,h.page=h.pages[h.pageIndex]};var i=function(a){return 1===f.scrollRatio(a).value};a.prototype.onScroll=function(a){i(a)&&!h.loadingInfiniteScroll&&d.moreToLoad()&&(h.loadingInfiniteScroll=!0,d.load())},a.prototype.publishError=function(a,c){return a.stopPropagation(),b.publish(g.i2b2.showError,c)},a.prototype.getContext=function(a,b,c){return{x:a.pageX,y:a.pageY,"class":"show",query:b,isCount:void 0!==c,count:c}},b.subscribe(e.i2b2.historyRefreshed,function(){return d.load()}),b.subscribe(e.i2b2.tabMax,function(){return h.vertStyle="v-full"}),b.subscribe(e.i2b2.tabMin,function(){return h.vertStyle="v-min"}),b.subscribe(e.i2b2.queryStarted,function(a){return h.runningQueryName=a}),b.subscribe(e.shrine.queriesReceived,function(a){h.pages=a,h.page=h.pages[0],h.runningQueryName=null,h.loadingInfiniteScroll=!1,h.showLoader=!1})}return a.prototype.updatePage=function(a){a.stopPropagation();var b=event.detail.index;this.page=this.pages[b]},a}(),i.inject=[d,e,g,h],k=j)),a("QueryViewer",k)}}}),function(){var a=System.amdDefine;a("views/query-viewer/result-row/loading-bar/loading-bar.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div class="loader"><h1>${status}</h1><div class="slider"><div class="line"></div><div class="break dot1"></div><div class="break dot2"></div><div class="break dot3"></div></div></div></template>'})}(),System.register("views/query-viewer/result-row/loading-bar/loading-bar.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i;return{setters:[function(a){f=a.bindable}],execute:function(){a("LoadingBar",(g=function b(){d(this,b),c(this,"status",h,this)},h=e(g.prototype,"status",[f],{enumerable:!0,initializer:null}),i=g)),a("LoadingBar",i)}}}),function(){var a=System.amdDefine;a("views/query-viewer/result-row/loading-bar/row-loader.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return""})}();
\ No newline at end of file
diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/aurelia.js b/shrine-webclient/src/main/js/client/js-shrine/dist/aurelia.js
index 38e8587e8..78c237230 100644
--- a/shrine-webclient/src/main/js/client/js-shrine/dist/aurelia.js
+++ b/shrine-webclient/src/main/js/client/js-shrine/dist/aurelia.js
@@ -1,19 +1,19 @@
-"bundle";System.registerDynamic("github:github/fetch@1.0.0/fetch.js",[],!1,function(a,b,c){var d=System.get("@@global-helpers").prepareGlobal(c.id,null,null);return function(a){!function(a){"use strict";function b(a){if("string"!=typeof a&&(a=String(a)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(a))throw new TypeError("Invalid character in header field name");return a.toLowerCase()}function c(a){return"string"!=typeof a&&(a=String(a)),a}function d(a){var b={next:function(){var b=a.shift();return{done:void 0===b,value:b}}};return p.iterable&&(b[Symbol.iterator]=function(){return b}),b}function e(a){this.map={},a instanceof e?a.forEach(function(a,b){this.append(b,a)},this):a&&Object.getOwnPropertyNames(a).forEach(function(b){this.append(b,a[b])},this)}function f(a){return a.bodyUsed?Promise.reject(new TypeError("Already read")):void(a.bodyUsed=!0)}function g(a){return new Promise(function(b,c){a.onload=function(){b(a.result)},a.onerror=function(){c(a.error)}})}function h(a){var b=new FileReader;return b.readAsArrayBuffer(a),g(b)}function i(a){var b=new FileReader;return b.readAsText(a),g(b)}function j(){return this.bodyUsed=!1,this._initBody=function(a){if(this._bodyInit=a,"string"==typeof a)this._bodyText=a;else if(p.blob&&Blob.prototype.isPrototypeOf(a))this._bodyBlob=a;else if(p.formData&&FormData.prototype.isPrototypeOf(a))this._bodyFormData=a;else if(p.searchParams&&URLSearchParams.prototype.isPrototypeOf(a))this._bodyText=a.toString();else if(a){if(!p.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(a))throw new Error("unsupported BodyInit type")}else this._bodyText="";this.headers.get("content-type")||("string"==typeof a?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):p.searchParams&&URLSearchParams.prototype.isPrototypeOf(a)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},p.blob?(this.blob=function(){var a=f(this);if(a)return a;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this.blob().then(h)},this.text=function(){var a=f(this);if(a)return a;if(this._bodyBlob)return i(this._bodyBlob);if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)}):this.text=function(){var a=f(this);return a?a:Promise.resolve(this._bodyText)},p.formData&&(this.formData=function(){return this.text().then(m)}),this.json=function(){return this.text().then(JSON.parse)},this}function k(a){var b=a.toUpperCase();return q.indexOf(b)>-1?b:a}function l(a,b){b=b||{};var c=b.body;if(l.prototype.isPrototypeOf(a)){if(a.bodyUsed)throw new TypeError("Already read");this.url=a.url,this.credentials=a.credentials,b.headers||(this.headers=new e(a.headers)),this.method=a.method,this.mode=a.mode,c||(c=a._bodyInit,a.bodyUsed=!0)}else this.url=a;if(this.credentials=b.credentials||this.credentials||"omit",!b.headers&&this.headers||(this.headers=new e(b.headers)),this.method=k(b.method||this.method||"GET"),this.mode=b.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&c)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(c)}function m(a){var b=new FormData;return a.trim().split("&").forEach(function(a){if(a){var c=a.split("="),d=c.shift().replace(/\+/g," "),e=c.join("=").replace(/\+/g," ");b.append(decodeURIComponent(d),decodeURIComponent(e))}}),b}function n(a){var b=new e,c=(a.getAllResponseHeaders()||"").trim().split("\n");return c.forEach(function(a){var c=a.trim().split(":"),d=c.shift().trim(),e=c.join(":").trim();b.append(d,e)}),b}function o(a,b){b||(b={}),this.type="default",this.status=b.status,this.ok=this.status>=200&&this.status<300,this.statusText=b.statusText,this.headers=b.headers instanceof e?b.headers:new e(b.headers),this.url=b.url||"",this._initBody(a)}if(!a.fetch){var p={searchParams:"URLSearchParams"in a,iterable:"Symbol"in a&&"iterator"in Symbol,blob:"FileReader"in a&&"Blob"in a&&function(){try{return new Blob,!0}catch(a){return!1}}(),formData:"FormData"in a,arrayBuffer:"ArrayBuffer"in a};e.prototype.append=function(a,d){a=b(a),d=c(d);var e=this.map[a];e||(e=[],this.map[a]=e),e.push(d)},e.prototype["delete"]=function(a){delete this.map[b(a)]},e.prototype.get=function(a){var c=this.map[b(a)];return c?c[0]:null},e.prototype.getAll=function(a){return this.map[b(a)]||[]},e.prototype.has=function(a){return this.map.hasOwnProperty(b(a))},e.prototype.set=function(a,d){this.map[b(a)]=[c(d)]},e.prototype.forEach=function(a,b){Object.getOwnPropertyNames(this.map).forEach(function(c){this.map[c].forEach(function(d){a.call(b,d,c,this)},this)},this)},e.prototype.keys=function(){var a=[];return this.forEach(function(b,c){a.push(c)}),d(a)},e.prototype.values=function(){var a=[];return this.forEach(function(b){a.push(b)}),d(a)},e.prototype.entries=function(){var a=[];return this.forEach(function(b,c){a.push([c,b])}),d(a)},p.iterable&&(e.prototype[Symbol.iterator]=e.prototype.entries);var q=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];l.prototype.clone=function(){return new l(this)},j.call(l.prototype),j.call(o.prototype),o.prototype.clone=function(){return new o(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new e(this.headers),url:this.url})},o.error=function(){var a=new o(null,{status:0,statusText:""});return a.type="error",a};var r=[301,302,303,307,308];o.redirect=function(a,b){if(r.indexOf(b)===-1)throw new RangeError("Invalid status code");return new o(null,{status:b,headers:{location:a}})},a.Headers=e,a.Request=l,a.Response=o,a.fetch=function(a,b){return new Promise(function(c,d){function e(){return"responseURL"in g?g.responseURL:/^X-Request-URL:/m.test(g.getAllResponseHeaders())?g.getResponseHeader("X-Request-URL"):void 0}var f;f=l.prototype.isPrototypeOf(a)&&!b?a:new l(a,b);var g=new XMLHttpRequest;g.onload=function(){var a={status:g.status,statusText:g.statusText,headers:n(g),url:e()},b="response"in g?g.response:g.responseText;c(new o(b,a))},g.onerror=function(){d(new TypeError("Network request failed"))},g.ontimeout=function(){d(new TypeError("Network request failed"))},g.open(f.method,f.url,!0),"include"===f.credentials&&(g.withCredentials=!0),"responseType"in g&&p.blob&&(g.responseType="blob"),f.headers.forEach(function(a,b){g.setRequestHeader(b,a)}),g.send("undefined"==typeof f._bodyInit?null:f._bodyInit)})},a.fetch.polyfill=!0}}("undefined"!=typeof self?self:this)}(this),d()}),System.registerDynamic("github:github/fetch@1.0.0.js",["github:github/fetch@1.0.0/fetch.js"],!0,function(a,b,c){this||self;c.exports=a("github:github/fetch@1.0.0/fetch.js")}),function(){var a=System.amdDefine;a("npm:aurelia-pal-browser@1.0.0/aurelia-pal-browser.js",["exports","aurelia-pal"],function(a,b){"use strict";function c(){function a(){}a.name||Object.defineProperty(Function.prototype,"name",{get:function(){var a=this.toString().match(/^\s*function\s*(\S*)\s*\(/)[1];return Object.defineProperty(this,"name",{value:a}),a}})}function d(){if("classList"in document.createElement("_")&&(!document.createElementNS||"classList"in document.createElementNS("http://www.w3.org/2000/svg","g"))){var a=document.createElement("_");if(a.classList.add("c1","c2"),!a.classList.contains("c2")){var b=function(a){var b=DOMTokenList.prototype[a];DOMTokenList.prototype[a]=function(a){for(var c=0,d=arguments.length;c<d;++c)a=arguments[c],b.call(this,a)}};b("add"),b("remove")}a.classList.toggle("c3",!1),a.classList.contains("c3")&&!function(){var a=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(b,c){return 1 in arguments&&!this.contains(b)==!c?c:a.call(this,b)}}(),a=null}else!function(){var a="prototype",b=String.prototype.trim,c=Array.prototype.indexOf,d=[],e=function(a,b){this.name=a,this.code=DOMException[a],this.message=b},f=function(a,b){if(""===b)throw new e("SYNTAX_ERR","An invalid or illegal string was specified");if(/\s/.test(b))throw new e("INVALID_CHARACTER_ERR","String contains an invalid character");return c.call(a,b)},g=function(a){for(var c=b.call(a.getAttribute("class")||""),e=c?c.split(/\s+/):d,f=0,g=e.length;f<g;++f)this.push(e[f]);this._updateClassName=function(){a.setAttribute("class",this.toString())}},h=g[a]=[];e[a]=Error[a],h.item=function(a){return this[a]||null},h.contains=function(a){return a+="",f(this,a)!==-1},h.add=function(){var a=arguments,b=0,c=a.length,d=void 0,e=!1;do d=a[b]+"",f(this,d)===-1&&(this.push(d),e=!0);while(++b<c);e&&this._updateClassName()},h.remove=function(){var a=arguments,b=0,c=a.length,d=void 0,e=!1,g=void 0;do for(d=a[b]+"",g=f(this,d);g!==-1;)this.splice(g,1),e=!0,g=f(this,d);while(++b<c);e&&this._updateClassName()},h.toggle=function(a,b){a+="";var c=this.contains(a),d=c?b!==!0&&"remove":b!==!1&&"add";return d&&this[d](a),b===!0||b===!1?b:!c},h.toString=function(){return this.join(" ")},Object.defineProperty(Element.prototype,"classList",{get:function(){return new g(this)},enumerable:!0,configurable:!0})}()}function e(){"performance"in window==!1&&(window.performance={}),"now"in window.performance==!1&&!function(){var a=Date.now();performance.timing&&performance.timing.navigationStart&&(a=performance.timing.navigationStart),window.performance.now=function(){return Date.now()-a}}(),k.performance=window.performance}function f(){if(!window.CustomEvent||"function"!=typeof window.CustomEvent){var a=function(a,b){b=b||{bubbles:!1,cancelable:!1,detail:void 0};var c=document.createEvent("CustomEvent");return c.initCustomEvent(a,b.bubbles,b.cancelable,b.detail),c};a.prototype=window.Event.prototype,window.CustomEvent=a}}function g(){if(Element&&!Element.prototype.matches){var a=Element.prototype;a.matches=a.matchesSelector||a.mozMatchesSelector||a.msMatchesSelector||a.oMatchesSelector||a.webkitMatchesSelector}}function h(){function a(a){return"template"===a.tagName&&"http://www.w3.org/2000/svg"===a.namespaceURI}function b(a){var b=a.ownerDocument.createElement("template"),d=a.attributes,e=d.length,f=void 0;for(a.parentNode.insertBefore(b,a);e-- >0;)f=d[e],b.setAttribute(f.name,f.value),a.removeAttribute(f.name);return a.parentNode.removeChild(a),c(b)}function c(a){for(var b=a.content=document.createDocumentFragment(),c=void 0;c=a.firstChild;)b.appendChild(c);return a}function d(d){for(var e=c(d).content,f=e.querySelectorAll("template"),g=0,h=f.length;g<h;++g){var i=f[g];a(i)?b(i):c(i)}return d}l.htmlTemplateElement?l.ensureHTMLTemplateElement=function(a){return a}:l.ensureHTMLTemplateElement=d}function i(){o||(o=!0,f(),c(),h(),g(),d(),e(),(0,b.initializePAL)(function(a,b,c){Object.assign(a,k),Object.assign(b,l),Object.assign(c,n),function(a){a.console=a.console||{};for(var b=a.console,c=void 0,d=void 0,e={},f=function(){},g="memory".split(","),h="assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn".split(",");c=g.pop();)b[c]||(b[c]=e);for(;d=h.pop();)b[d]||(b[d]=f)}(a.global),a.global.console&&"object"===j(console.log)&&["log","info","warn","error","assert","dir","clear","profile","profileEnd"].forEach(function(a){console[a]=this.bind(console[a],console)},Function.prototype.call),Object.defineProperty(c,"title",{get:function(){return document.title},set:function(a){document.title=a}}),Object.defineProperty(c,"activeElement",{get:function(){return document.activeElement}}),Object.defineProperty(a,"XMLHttpRequest",{get:function(){return a.global.XMLHttpRequest}})}))}Object.defineProperty(a,"__esModule",{value:!0}),a._DOM=a._FEATURE=a._PLATFORM=void 0,a._ensureFunctionName=c,a._ensureClassList=d,a._ensurePerformance=e,a._ensureCustomEvent=f,a._ensureElementMatches=g,a._ensureHTMLTemplateElement=h,a.initialize=i;var j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},k=a._PLATFORM={location:window.location,history:window.history,addEventListener:function(a,b,c){this.global.addEventListener(a,b,c)},removeEventListener:function(a,b,c){this.global.removeEventListener(a,b,c)},performance:window.performance,requestAnimationFrame:function(a){return this.global.requestAnimationFrame(a)}},l=a._FEATURE={};l.shadowDOM=function(){return!!HTMLElement.prototype.attachShadow}(),l.scopedCSS=function(){return"scoped"in document.createElement("style")}(),l.htmlTemplateElement=function(){return"content"in document.createElement("template")}(),l.mutationObserver=function(){return!(!window.MutationObserver&&!window.WebKitMutationObserver)}();var m=window.ShadowDOMPolyfill||null,n=a._DOM={Element:Element,SVGElement:SVGElement,boundary:"aurelia-dom-boundary",addEventListener:function(a,b,c){document.addEventListener(a,b,c)},removeEventListener:function(a,b,c){document.removeEventListener(a,b,c)},adoptNode:function(a){return document.adoptNode(a,!0)},createElement:function(a){return document.createElement(a)},createTextNode:function(a){return document.createTextNode(a)},createComment:function(a){return document.createComment(a)},createDocumentFragment:function(){return document.createDocumentFragment()},createMutationObserver:function(a){return new(window.MutationObserver||window.WebKitMutationObserver)(a)},createCustomEvent:function(a,b){return new window.CustomEvent(a,b)},dispatchEvent:function(a){document.dispatchEvent(a)},getComputedStyle:function(a){return window.getComputedStyle(a)},getElementById:function(a){return document.getElementById(a)},querySelectorAll:function(a){return document.querySelectorAll(a)},nextElementSibling:function(a){if(a.nextElementSibling)return a.nextElementSibling;do a=a.nextSibling;while(a&&1!==a.nodeType);return a},createTemplateFromMarkup:function(a){var b=document.createElement("div");b.innerHTML=a;var c=b.firstElementChild;if(!c||"TEMPLATE"!==c.nodeName)throw new Error("Template markup must be wrapped in a <template> element e.g. <template> <!-- markup here --> </template>");return l.ensureHTMLTemplateElement(c)},appendNode:function(a,b){(b||document.body).appendChild(a)},replaceNode:function(a,b,c){b.parentNode?b.parentNode.replaceChild(a,b):null!==m?m.unwrap(c).replaceChild(m.unwrap(a),m.unwrap(b)):c.replaceChild(a,b)},removeNode:function(a,b){a.parentNode?a.parentNode.removeChild(a):b&&(null!==m?m.unwrap(b).removeChild(m.unwrap(a)):b.removeChild(a))},injectStyles:function(a,b,c){var d=document.createElement("style");return d.innerHTML=a,d.type="text/css",b=b||document.head,c&&b.childNodes.length>0?b.insertBefore(d,b.childNodes[0]):b.appendChild(d),d}},o=!1})}(),function(){var a=System.amdDefine;a("npm:aurelia-pal-browser@1.0.0.js",["npm:aurelia-pal-browser@1.0.0/aurelia-pal-browser"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-polyfills@1.1.1/aurelia-polyfills.js",["aurelia-pal"],function(a){"use strict";var b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a};!function(b,c){if(!(c in b)){var d,e=a.PLATFORM.global,f=0,g=""+Math.random(),h="__symbol:",i=h.length,j="__symbol@@"+g,k="defineProperty",l="defineProperties",m="getOwnPropertyNames",n="getOwnPropertyDescriptor",o="propertyIsEnumerable",p=b[m],q=b[n],r=b.create,s=b.keys,t=b[k],u=b[l],v=q(b,m),w=b.prototype,x=w.hasOwnProperty,y=w[o],z=w.toString,A=(Array.prototype.indexOf||function(a){for(var b=this.length;b--&&this[b]!==a;);return b},function(a,b,c){x.call(a,j)||t(a,j,{enumerable:!1,configurable:!1,writable:!1,value:{}}),a[j]["@@"+b]=c}),B=function(a,b){var c=r(a);return p(b).forEach(function(a){G.call(b,a)&&M(c,a,b[a])}),c},C=function(a){var b=r(a);return b.enumerable=!1,b},D=function(){},E=function(a){return a!=j&&!x.call(J,a)},F=function(a){return a!=j&&x.call(J,a)},G=function(a){var b=""+a;return F(b)?x.call(this,b)&&this[j]["@@"+b]:y.call(this,a)},H=function(a){var c={enumerable:!1,configurable:!0,get:D,set:function(b){d(this,a,{enumerable:!1,configurable:!0,writable:!0,value:b}),A(this,a,!0)}};return t(w,a,c),J[a]=t(b(a),"constructor",K)},I=function(a){if(this&&this!==e)throw new TypeError("Symbol is not a constructor");return H(h.concat(a||"",g,++f))},J=r(null),K={value:I},L=function(a){return J[a]},M=function(a,b,c){var e=""+b;return F(e)?(d(a,e,c.enumerable?C(c):c),A(a,e,!!c.enumerable)):t(a,b,c),a},N=function(a){var c=z.call(a);return a="[object String]"===c?a.split(""):b(a),p(a).filter(F).map(L)};v.value=M,t(b,k,v),v.value=N,t(b,c,v),v.value=function(a){return p(a).filter(E)},t(b,m,v),v.value=function(a,b){var c=N(b);return c.length?s(b).concat(c).forEach(function(c){G.call(b,c)&&M(a,c,b[c])}):u(a,b),a},t(b,l,v),v.value=G,t(w,o,v),v.value=I,t(e,"Symbol",v),v.value=function(a){var b=h.concat(h,a,g);return b in w?J[b]:H(b)},t(I,"for",v),v.value=function(a){return x.call(J,a)?a.slice(2*i,-g.length):void 0},t(I,"keyFor",v),v.value=function(a,b){var c=q(a,b);return c&&F(b)&&(c.enumerable=G.call(a,b)),c},t(b,n,v),v.value=function(a,b){return 1===arguments.length?r(a):B(a,b)},t(b,"create",v),v.value=function(){var a=z.call(this);return"[object String]"===a&&F(this)?"[object Symbol]":a},t(w,"toString",v);try{d=r(t({},h,{get:function(){return t(this,h,{value:!1})[h]}}))[h]||t}catch(O){d=function(a,b,c){var d=q(w,b);delete w[b],t(a,b,c),t(w,b,d)}}}}(Object,"getOwnPropertySymbols"),function(a,b){var c,d=a.defineProperty,e=a.prototype,f=e.toString,g="toStringTag";["iterator","match","replace","search","split","hasInstance","isConcatSpreadable","unscopables","species","toPrimitive",g].forEach(function(b){if(!(b in Symbol))switch(d(Symbol,b,{value:Symbol(b)}),b){case g:c=a.getOwnPropertyDescriptor(e,"toString"),c.value=function(){var a=f.call(this),b="undefined"==typeof this||null===this?void 0:this[Symbol.toStringTag];return"undefined"==typeof b?a:"[object "+b+"]"},d(e,"toString",c)}})}(Object,Symbol),function(a,b,c){function d(){return this}b[a]||(b[a]=function(){var b=0,c=this,e={next:function(){var a=c.length<=b;return a?{done:a}:{done:a,value:c[b++]}}};return e[a]=d,e}),c[a]||(c[a]=function(){var b=String.fromCodePoint,c=this,e=0,f=c.length,g={next:function(){var a=f<=e,d=a?"":b(c.codePointAt(e));return e+=d.length,a?{done:a}:{done:a,value:d}}};return g[a]=d,g})}(Symbol.iterator,Array.prototype,String.prototype),Number.isNaN=Number.isNaN||function(a){return a!==a},Number.isFinite=Number.isFinite||function(a){return"number"==typeof a&&isFinite(a)},String.prototype.endsWith&&!function(){try{return!"ab".endsWith("a",1)}catch(a){return!0}}()||(String.prototype.endsWith=function(a,b){var c=this.toString();("number"!=typeof b||!isFinite(b)||Math.floor(b)!==b||b>c.length)&&(b=c.length),b-=a.length;var d=c.indexOf(a,b);return d!==-1&&d===b}),String.prototype.startsWith&&!function(){try{return!"ab".startsWith("b",1)}catch(a){return!0}}()||(String.prototype.startsWith=function(a,b){return b=b||0,this.substr(b,a.length)===a}),Array.from||(Array.from=function(){var a=function(a){return isNaN(a=+a)?0:(a>0?Math.floor:Math.ceil)(a)},b=function(b){return b>0?Math.min(a(b),9007199254740991):0},c=function(a,b,c,d){try{return b(c,d)}catch(e){throw"function"==typeof a["return"]&&a["return"](),e}};return function(a){var d,e,f,g,h=Object(a),i="function"==typeof this?this:Array,j=arguments.length,k=j>1?arguments[1]:void 0,l=void 0!==k,m=0,n=h[Symbol.iterator];if(l&&(k=k.bind(j>2?arguments[2]:void 0)),void 0==n||Array.isArray(a))for(d=b(h.length),e=new i(d);d>m;m++)e[m]=l?k(h[m],m):h[m];else for(g=n.call(h),e=new i;!(f=g.next()).done;m++)e[m]=l?c(g,k,f.value,m):f.value;return e.length=m,e}}()),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{configurable:!0,writable:!0,enumerable:!1,value:function f(a){if(null===this)throw new TypeError("Array.prototype.find called on null or undefined");if("function"!=typeof a)throw new TypeError("predicate must be a function");for(var f,b=Object(this),c=b.length>>>0,d=arguments[1],e=0;e<c;e++)if(f=b[e],a.call(d,f,e,b))return f}}),Array.prototype.findIndex||Object.defineProperty(Array.prototype,"findIndex",{configurable:!0,writable:!0,enumerable:!1,value:function g(a){if(null===this)throw new TypeError("Array.prototype.findIndex called on null or undefined");if("function"!=typeof a)throw new TypeError("predicate must be a function");for(var g,b=Object(this),c=b.length>>>0,d=arguments[1],e=0;e<c;e++)if(g=b[e],a.call(d,g,e,b))return e;return-1}}),Array.prototype.includes||Object.defineProperty(Array.prototype,"includes",{configurable:!0,writable:!0,enumerable:!1,value:function(a){var b=Object(this),c=parseInt(b.length)||0;if(0===c)return!1;var d,e=parseInt(arguments[1])||0;e>=0?d=e:(d=c+e,d<0&&(d=0));for(var f;d<c;){if(f=b[d],a===f||a!==a&&f!==f)return!0;d++}return!1}}),function(){var a=!1;try{var b=Object.keys("a");a=1!==b.length||"0"!==b[0]}catch(c){a=!0}a&&(Object.keys=function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=c.length;return function(e){if(void 0===e||null===e)throw TypeError("Cannot convert undefined or null to object");e=Object(e);var f,g,h=[];for(f in e)a.call(e,f)&&h.push(f);if(b)for(g=0;g<d;g++)a.call(e,c[g])&&h.push(c[g]);return h}}())}(),function(a){"assign"in a||a.defineProperty(a,"assign",{configurable:!0,writable:!0,value:function(){var b=a.getOwnPropertySymbols,c=a.propertyIsEnumerable,d=b?function(a){return b(a).filter(c,a)}:function(){return Array.prototype};return function(c){function e(a){c[a]=h[a]}!b||c instanceof a||console.warn("problematic Symbols",c);for(var f=1,g=arguments.length;f<g;++f){var h=arguments[f];null!==h&&void 0!==h&&a.keys(h).concat(d(h)).forEach(e)}return c}}()})}(Object),function(a){function b(a,b){function d(a){return this&&this.constructor===d?(this._keys=[],this._values=[],this._itp=[],this.objectOnly=b,void(a&&c.call(this,a))):new d(a)}return b||t(a,"size",{get:q}),a.constructor=d,d.prototype=a,d}function c(a){this.add?a.forEach(this.add,this):a.forEach(function(a){this.set(a[0],a[1])},this)}function d(a){return this.has(a)&&(this._keys.splice(s,1),this._values.splice(s,1),this._itp.forEach(function(a){s<a[0]&&a[0]--})),-1<s}function e(a){return this.has(a)?this._values[s]:void 0}function f(a,b){if(this.objectOnly&&b!==Object(b))throw new TypeError("Invalid value used as weak collection key");if(b!=b||0===b)for(s=a.length;s--&&!u(a[s],b););else s=a.indexOf(b);return-1<s}function g(a){return f.call(this,this._values,a)}function h(a){return f.call(this,this._keys,a)}function i(a,b){return this.has(a)?this._values[s]=b:this._values[this._keys.push(a)-1]=b,this}function j(a){return this.has(a)||this._values.push(a),this}function k(){(this._keys||0).length=this._values.length=0}function l(){return p(this._itp,this._keys)}function m(){return p(this._itp,this._values)}function n(){return p(this._itp,this._keys,this._values)}function o(){return p(this._itp,this._values,this._values)}function p(a,b,c){var d,e=[0],f=!1;return a.push(e),d={},d[Symbol.iterator]=function(){return this},d.next=function(){var d,g=e[0];return!f&&g<b.length?(d=c?[b[g],c[g]]:b[g],e[0]++):(f=!0,a.splice(a.indexOf(e),1)),{done:f,value:d}},d}function q(){return this._values.length}function r(a,b){for(var c=this.entries();;){var d=c.next();if(d.done)break;a.call(b,d.value[1],d.value[0],this)}}var s,t=Object.defineProperty,u=function(a,b){return a===b||a!==a&&b!==b};if("undefined"==typeof WeakMap&&(a.WeakMap=b({"delete":d,clear:k,get:e,has:h,set:i},!0)),"undefined"==typeof Map||"function"!=typeof(new Map).values||!(new Map).values().next){var v;a.Map=b((v={"delete":d,has:h,get:e,set:i,keys:l,values:m,entries:n,forEach:r,clear:k},v[Symbol.iterator]=n,v))}if("undefined"==typeof Set||"function"!=typeof(new Set).values||!(new Set).values().next){var w;a.Set=b((w={has:g,add:j,"delete":d,clear:k,keys:m,values:m,entries:o,forEach:r},w[Symbol.iterator]=m,w))}"undefined"==typeof WeakSet&&(a.WeakSet=b({"delete":d,add:j,clear:k,has:g},!0))}(a.PLATFORM.global);var c=Object.freeze({}),d="__metadata__",e=Function.prototype.bind;"undefined"==typeof a.PLATFORM.global.Reflect&&(a.PLATFORM.global.Reflect={}),"function"!=typeof Reflect.getOwnMetadata&&(Reflect.getOwnMetadata=function(a,b,e){if(b.hasOwnProperty(d))return(b[d][e]||c)[a]}),"function"!=typeof Reflect.defineMetadata&&(Reflect.defineMetadata=function(a,b,c,e){var f=c.hasOwnProperty(d)?c[d]:c[d]={},g=f[e]||(f[e]={});g[a]=b}),"function"!=typeof Reflect.metadata&&(Reflect.metadata=function(a,b){return function(c,d){Reflect.defineMetadata(a,b,c,d)}}),"function"!=typeof Reflect.defineProperty&&(Reflect.defineProperty=function(a,c,d){if("object"===("undefined"==typeof a?"undefined":b(a))?null===a:"function"!=typeof a)throw new TypeError("Reflect.defineProperty called on non-object");try{return Object.defineProperty(a,c,d),!0}catch(e){return!1}}),"function"!=typeof Reflect.construct&&(Reflect.construct=function(a,b){if(b)switch(b.length){case 0:return new a;case 1:return new a(b[0]);case 2:return new a(b[0],b[1]);case 3:return new a(b[0],b[1],b[2]);case 4:return new a(b[0],b[1],b[2],b[3])}var c=[null];return c.push.apply(c,b),new(e.apply(a,c))}),"function"!=typeof Reflect.ownKeys&&(Reflect.ownKeys=function(a){return Object.getOwnPropertyNames(a).concat(Object.getOwnPropertySymbols(a))})})}(),function(){var a=System.amdDefine;a("npm:aurelia-polyfills@1.1.1.js",["npm:aurelia-polyfills@1.1.1/aurelia-polyfills"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-bootstrapper@1.0.0/aurelia-bootstrapper.js",["exports","aurelia-pal","aurelia-pal-browser","aurelia-polyfills"],function(a,b,c){"use strict";function d(a){return new Promise(function(b,c){m?b(a(m)):l.push(function(){try{b(a(m))}catch(d){c(d)}})})}function e(a){return new Promise(function(b,c){function d(){a.document.removeEventListener("DOMContentLoaded",d),a.removeEventListener("load",d),b(a.document)}"complete"===a.document.readyState?b(a.document):(a.document.addEventListener("DOMContentLoaded",d),a.addEventListener("load",d))})}function f(){return b.PLATFORM.Loader?Promise.resolve(new b.PLATFORM.Loader):window.System&&"function"==typeof window.System["import"]?System.normalize("aurelia-bootstrapper").then(function(a){return System.normalize("aurelia-loader-default",a)}).then(function(a){return System["import"](a).then(function(a){return new a.DefaultLoader})}):"function"==typeof window.require?new Promise(function(a,b){return require(["aurelia-loader-default"],function(b){return a(new b.DefaultLoader)},b)}):Promise.reject("No PLATFORM.Loader is defined and there is neither a System API (ES6) or a Require API (AMD) globally available to load your app.")}function g(a){return a.normalize("aurelia-bootstrapper").then(function(b){return a.normalize("aurelia-framework",b).then(function(c){return a.map("aurelia-framework",c),Promise.all([a.normalize("aurelia-dependency-injection",c).then(function(b){return a.map("aurelia-dependency-injection",b)}),a.normalize("aurelia-router",b).then(function(b){return a.map("aurelia-router",b)}),a.normalize("aurelia-logging-console",b).then(function(b){return a.map("aurelia-logging-console",b)})]).then(function(){return a.loadModule(c).then(function(a){return n=a.Aurelia})})})})}function h(a,b){var c=b.getAttribute("aurelia-app")||b.getAttribute("data-aurelia-app");return i(a,b,c)}function i(a,b,c){var d=new n(a);return d.host=b,d.configModuleId=c||null,c?a.loadModule(c).then(function(a){return a.configure(d)}):(d.use.standardConfiguration().developmentLogging(),d.start().then(function(){return d.setRoot()}))}function j(){return e(window).then(function(a){(0,c.initialize)();var b=a.querySelectorAll("[aurelia-app],[data-aurelia-app]");return f().then(function(a){return g(a).then(function(){for(var c=0,d=b.length;c<d;++c)h(a,b[c])["catch"](console.error.bind(console));m=a;for(var e=0,f=l.length;e<f;++e)l[e]();l=null})})})}function k(a){return d(function(b){var c=new n(b);return a(c)})}Object.defineProperty(a,"__esModule",{value:!0}),a.bootstrap=k;var l=[],m=null,n=null;j()})}(),function(){var a=System.amdDefine;a("npm:aurelia-bootstrapper@1.0.0.js",["npm:aurelia-bootstrapper@1.0.0/aurelia-bootstrapper"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-fetch-client@1.0.1/aurelia-fetch-client.js",["exports"],function(a){"use strict";function b(a){return new Blob([JSON.stringify(a)],{type:"application/json"})}function c(a){if(!a.ok)throw a;return a}function d(){this.isRequesting=!!++this.activeRequestCount}function e(){this.isRequesting=!!--this.activeRequestCount}function f(a){var b=e.bind(this);return a.then(b,b),a}function g(a){var b={};for(var c in a||{})a.hasOwnProperty(c)&&(b[c]="function"==typeof a[c]?a[c]():a[c]);return b}function h(a,b){var c=this.defaults||{},d=void 0,e=void 0,f=void 0,h=g(c.headers);if(Request.prototype.isPrototypeOf(a))d=a,f=new Headers(d.headers).get("Content-Type");else{b||(b={}),e=b.body;var k=e?{body:e}:null,l=Object.assign({},c,{headers:{}},b,k);f=new Headers(l.headers).get("Content-Type"),d=new Request(i(this.baseUrl,a),l)}return!f&&new Headers(h).has("content-type")&&d.headers.set("Content-Type",new Headers(h).get("content-type")),j(d.headers,h),e&&Blob.prototype.isPrototypeOf(e)&&e.type&&d.headers.set("Content-Type",e.type),d}function i(a,b){return r.test(b)?b:(a||"")+b}function j(a,b){for(var c in b||{})b.hasOwnProperty(c)&&!a.has(c)&&a.set(c,b[c])}function k(a,b){return m(a,b,"request","requestError")}function l(a,b,c){return m(a,b,"response","responseError",c)}function m(a,b,c,d){for(var e=arguments.length,f=Array(e>4?e-4:0),g=4;g<e;g++)f[g-4]=arguments[g];return(b||[]).reduce(function(a,b){var e=b[c],g=b[d];return a.then(e&&function(a){return e.call.apply(e,[b,a].concat(f))}||n,g&&function(a){return g.call.apply(g,[b,a].concat(f))}||o)},Promise.resolve(a))}function n(a){return a}function o(a){throw a}Object.defineProperty(a,"__esModule",{value:!0}),a.json=b;var p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},q=a.HttpClientConfiguration=function(){function a(){this.baseUrl="",this.defaults={},this.interceptors=[]}return a.prototype.withBaseUrl=function(a){return this.baseUrl=a,this},a.prototype.withDefaults=function(a){return this.defaults=a,this},a.prototype.withInterceptor=function(a){return this.interceptors.push(a),this},a.prototype.useStandardConfiguration=function(){var a={credentials:"same-origin"};return Object.assign(this.defaults,a,this.defaults),this.rejectErrorResponses()},a.prototype.rejectErrorResponses=function(){return this.withInterceptor({response:c})},a}(),r=(a.HttpClient=function(){function a(){if(this.activeRequestCount=0,this.isRequesting=!1,this.isConfigured=!1,this.baseUrl="",this.defaults=null,this.interceptors=[],"undefined"==typeof fetch)throw new Error("HttpClient requires a Fetch API implementation, but the current environment doesn't support it. You may need to load a polyfill such as https://github.com/github/fetch.")}return a.prototype.configure=function(a){var b,c=void 0;if("object"===("undefined"==typeof a?"undefined":p(a)))c={defaults:a};else{if("function"!=typeof a)throw new Error("invalid config");c=new q;var d=a(c);q.prototype.isPrototypeOf(d)&&(c=d)}var e=c.defaults;if(e&&Headers.prototype.isPrototypeOf(e.headers))throw new Error("Default headers must be a plain object.");return this.baseUrl=c.baseUrl,this.defaults=e,(b=this.interceptors).push.apply(b,c.interceptors||[]),this.isConfigured=!0,this},a.prototype.fetch=function(a){function b(b,c){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a,b){var c=this;d.call(this);var e=Promise.resolve().then(function(){
-return h.call(c,a,b,c.defaults)}),g=k(e,this.interceptors).then(function(a){var b=null;if(Response.prototype.isPrototypeOf(a))b=a;else{if(!Request.prototype.isPrototypeOf(a))throw new Error("An invalid result was returned by the interceptor chain. Expected a Request or Response instance, but got ["+a+"]");e=Promise.resolve(a),b=fetch(a)}return e.then(function(a){return l(b,c.interceptors,a)})});return f.call(this,g)}),a}(),/^([a-z][a-z0-9+\-.]*:)?\/\//i)})}(),function(){var a=System.amdDefine;a("npm:aurelia-fetch-client@1.0.1.js",["npm:aurelia-fetch-client@1.0.1/aurelia-fetch-client"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-framework@1.0.6/aurelia-framework.js",["exports","aurelia-dependency-injection","aurelia-binding","aurelia-metadata","aurelia-templating","aurelia-loader","aurelia-task-queue","aurelia-path","aurelia-pal","aurelia-logging"],function(a,b,c,d,e,f,g,h,i,j){"use strict";function k(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function l(){i.DOM.addEventListener("submit",function(a){var b=a.target,c=b.action;"form"!==b.tagName.toLowerCase()||c||a.preventDefault()})}function m(a,b){var c=void 0,d=function e(){return c=b.shift(),c?Promise.resolve(c(a)).then(e):Promise.resolve()};return d()}function n(a,b,c){function d(d){return b.loadModule(d).then(function(b){return"configure"in b?Promise.resolve(b.configure(a,c.config||{})).then(function(){a.resourcesRelativeTo=null,s.debug("Configured plugin "+c.moduleId+".")}):(a.resourcesRelativeTo=null,void s.debug("Loaded plugin "+c.moduleId+"."))})}s.debug("Loading plugin "+c.moduleId+"."),a.resourcesRelativeTo=c.resourcesRelativeTo;var e=c.moduleId;return c.resourcesRelativeTo.length>1?b.normalize(c.moduleId,c.resourcesRelativeTo[1]).then(function(a){return d(a)}):d(e)}function o(a,b,c){function d(b){var c=b.moduleId,d=p(c);return f(c)&&(c=g(c)),a.loader.normalize(c,b.relativeTo).then(function(a){return{name:b.moduleId,importId:f(b.moduleId)?h(a,d):a}})}function f(a){var b=p(a);return!!b&&(""!==b&&(".js"!==b&&".ts"!==b))}function g(a){return a.replace(t,"")}function h(a,b){return g(a)+"."+b}var i=a.container.get(e.ViewEngine);return Promise.all(Object.keys(b).map(function(a){return d(b[a])})).then(function(a){var b=[],d=[];return a.forEach(function(a){b.push(void 0),d.push(a.importId)}),i.importViewResources(d,b,c)})}function p(a){var b=a.match(t);if(b&&b.length>0)return b[0].split(".")[1]}function q(a){if(a.processed)throw new Error("This config instance has already been applied. To load more plugins or global resources, create a new FrameworkConfiguration instance.")}Object.defineProperty(a,"__esModule",{value:!0}),a.LogManager=a.FrameworkConfiguration=a.Aurelia=void 0,Object.keys(b).forEach(function(c){"default"!==c&&"__esModule"!==c&&Object.defineProperty(a,c,{enumerable:!0,get:function(){return b[c]}})}),Object.keys(c).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return c[b]}})}),Object.keys(d).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return d[b]}})}),Object.keys(e).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return e[b]}})}),Object.keys(f).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return f[b]}})}),Object.keys(g).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return g[b]}})}),Object.keys(h).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return h[b]}})}),Object.keys(i).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return i[b]}})});var r=k(j),s=(a.Aurelia=function(){function a(c,d,g){this.loader=c||new i.PLATFORM.Loader,this.container=d||(new b.Container).makeGlobal(),this.resources=g||new e.ViewResources,this.use=new u(this),this.logger=r.getLogger("aurelia"),this.hostConfigured=!1,this.host=null,this.use.instance(a,this),this.use.instance(f.Loader,this.loader),this.use.instance(e.ViewResources,this.resources)}return a.prototype.start=function(){var a=this;return this.started?Promise.resolve(this):(this.started=!0,this.logger.info("Aurelia Starting"),this.use.apply().then(function(){if(l(),!a.container.hasResolver(e.BindingLanguage)){var b="You must configure Aurelia with a BindingLanguage implementation.";throw a.logger.error(b),new Error(b)}a.logger.info("Aurelia Started");var c=i.DOM.createCustomEvent("aurelia-started",{bubbles:!0,cancelable:!0});return i.DOM.dispatchEvent(c),a}))},a.prototype.enhance=function(){var a=this,b=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],c=arguments.length<=1||void 0===arguments[1]?null:arguments[1];return this._configureHost(c||i.DOM.querySelectorAll("body")[0]),new Promise(function(c){var d=a.container.get(e.TemplatingEngine);a.root=d.enhance({container:a.container,element:a.host,resources:a.resources,bindingContext:b}),a.root.attached(),a._onAureliaComposed(),c(a)})},a.prototype.setRoot=function(){var a=this,b=arguments.length<=0||void 0===arguments[0]?null:arguments[0],c=arguments.length<=1||void 0===arguments[1]?null:arguments[1],d={};this.root&&this.root.viewModel&&this.root.viewModel.router&&(this.root.viewModel.router.deactivate(),this.root.viewModel.router.reset()),this._configureHost(c);var f=this.container.get(e.TemplatingEngine),g=this.container.get(e.CompositionTransaction);return delete g.initialComposition,b||(b=this.configModuleId?(0,h.relativeToFile)("./app",this.configModuleId):"app"),d.viewModel=b,d.container=d.childContainer=this.container,d.viewSlot=this.hostSlot,d.host=this.host,f.compose(d).then(function(b){return a.root=b,d.viewSlot.attached(),a._onAureliaComposed(),a})},a.prototype._configureHost=function(a){if(!this.hostConfigured){if(a=a||this.host,a&&"string"!=typeof a?this.host=a:this.host=i.DOM.getElementById(a||"applicationHost"),!this.host)throw new Error("No applicationHost was specified.");this.hostConfigured=!0,this.host.aurelia=this,this.hostSlot=new e.ViewSlot(this.host,(!0)),this.hostSlot.transformChildNodesIntoView(),this.container.registerInstance(i.DOM.boundary,this.host)}},a.prototype._onAureliaComposed=function(){var a=i.DOM.createCustomEvent("aurelia-composed",{bubbles:!0,cancelable:!0});setTimeout(function(){return i.DOM.dispatchEvent(a)},1)},a}(),r.getLogger("aurelia")),t=/\.[^\/.]+$/,u=function(){function a(a){var b=this;this.aurelia=a,this.container=a.container,this.info=[],this.processed=!1,this.preTasks=[],this.postTasks=[],this.resourcesToLoad={},this.preTask(function(){return a.loader.normalize("aurelia-bootstrapper").then(function(a){return b.bootstrapperName=a})}),this.postTask(function(){return o(a,b.resourcesToLoad,a.resources)})}return a.prototype.instance=function(a,b){return this.container.registerInstance(a,b),this},a.prototype.singleton=function(a,b){return this.container.registerSingleton(a,b),this},a.prototype["transient"]=function(a,b){return this.container.registerTransient(a,b),this},a.prototype.preTask=function(a){return q(this),this.preTasks.push(a),this},a.prototype.postTask=function(a){return q(this),this.postTasks.push(a),this},a.prototype.feature=function(a,b){return p(a)?this.plugin({moduleId:a,resourcesRelativeTo:[a,""],config:b||{}}):this.plugin({moduleId:a+"/index",resourcesRelativeTo:[a,""],config:b||{}})},a.prototype.globalResources=function(a){q(this);for(var b=Array.isArray(a)?a:arguments,c=void 0,d=this.resourcesRelativeTo||["",""],e=0,f=b.length;e<f;++e){if(c=b[e],"string"!=typeof c)throw new Error("Invalid resource path ["+c+"]. Resources must be specified as relative module IDs.");var g=d[0],i=d[1],j=c;(c.startsWith("./")||c.startsWith("../"))&&""!==g&&(j=(0,h.join)(g,c)),this.resourcesToLoad[j]={moduleId:j,relativeTo:i}}return this},a.prototype.globalName=function(a,b){return q(this),this.resourcesToLoad[a]={moduleId:b,relativeTo:""},this},a.prototype.plugin=function(a,b){return q(this),"string"==typeof a?this.plugin({moduleId:a,resourcesRelativeTo:[a,""],config:b||{}}):(this.info.push(a),this)},a.prototype._addNormalizedPlugin=function(a,b){var c=this,d={moduleId:a,resourcesRelativeTo:[a,""],config:b||{}};return this.plugin(d),this.preTask(function(){var b=[a,c.bootstrapperName];return d.moduleId=a,d.resourcesRelativeTo=b,Promise.resolve()}),this},a.prototype.defaultBindingLanguage=function(){return this._addNormalizedPlugin("aurelia-templating-binding")},a.prototype.router=function(){return this._addNormalizedPlugin("aurelia-templating-router")},a.prototype.history=function(){return this._addNormalizedPlugin("aurelia-history-browser")},a.prototype.defaultResources=function(){return this._addNormalizedPlugin("aurelia-templating-resources")},a.prototype.eventAggregator=function(){return this._addNormalizedPlugin("aurelia-event-aggregator")},a.prototype.basicConfiguration=function(){return this.defaultBindingLanguage().defaultResources().eventAggregator()},a.prototype.standardConfiguration=function(){return this.basicConfiguration().history().router()},a.prototype.developmentLogging=function(){var a=this;return this.preTask(function(){return a.aurelia.loader.normalize("aurelia-logging-console",a.bootstrapperName).then(function(b){return a.aurelia.loader.loadModule(b).then(function(a){r.addAppender(new a.ConsoleAppender),r.setLevel(r.logLevel.debug)})})}),this},a.prototype.apply=function(){var a=this;return this.processed?Promise.resolve():m(this,this.preTasks).then(function(){var b=a.aurelia.loader,c=a.info,d=void 0,e=function f(){return(d=c.shift())?n(a,b,d).then(f):(a.processed=!0,Promise.resolve())};return e().then(function(){return m(a,a.postTasks)})})},a}();a.FrameworkConfiguration=u;a.LogManager=r})}(),function(){var a=System.amdDefine;a("npm:aurelia-framework@1.0.6.js",["npm:aurelia-framework@1.0.6/aurelia-framework"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-history-browser@1.0.0/aurelia-history-browser.js",["exports","aurelia-pal","aurelia-history"],function(a,b,c){"use strict";function d(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function e(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a){a.singleton(c.History,m),a["transient"](k,l)}function g(a,b,c){if(c){var d=a.href.replace(/(javascript:|#).*$/,"");a.replace(d+"#"+b)}else a.hash="#"+b}function h(a,b,c){return a+"//"+b+(c?":"+c:"")}Object.defineProperty(a,"__esModule",{value:!0}),a.BrowserHistory=a.DefaultLinkHandler=a.LinkHandler=void 0,a.configure=f;var i,j,k=a.LinkHandler=function(){function a(){}return a.prototype.activate=function(a){},a.prototype.deactivate=function(){},a}(),l=a.DefaultLinkHandler=function(a){function c(){var b=d(this,a.call(this));return b.handler=function(a){var d=c.getEventInfo(a),e=d.shouldHandleEvent,f=d.href;e&&(a.preventDefault(),b.history.navigate(f))},b}return e(c,a),c.prototype.activate=function(a){a._hasPushState&&(this.history=a,b.DOM.addEventListener("click",this.handler,!0))},c.prototype.deactivate=function(){b.DOM.removeEventListener("click",this.handler)},c.getEventInfo=function(a){var b={shouldHandleEvent:!1,href:null,anchor:null},d=c.findClosestAnchor(a.target);if(!d||!c.targetIsThisWindow(d))return b;if(a.altKey||a.ctrlKey||a.metaKey||a.shiftKey)return b;var e=d.getAttribute("href");b.anchor=d,b.href=e;var f=1===a.which,g=e&&!("#"===e.charAt(0)||/^[a-z]+:/i.test(e));return b.shouldHandleEvent=f&&g,b},c.findClosestAnchor=function(a){for(;a;){if("A"===a.tagName)return a;a=a.parentNode}},c.targetIsThisWindow=function(a){var c=a.getAttribute("target"),d=b.PLATFORM.global;return!c||c===d.name||"_self"===c||"top"===c&&d===d.top},c}(k),m=a.BrowserHistory=(j=i=function(a){function c(c){var e=d(this,a.call(this));return e._isActive=!1,e._checkUrlCallback=e._checkUrl.bind(e),e.location=b.PLATFORM.location,e.history=b.PLATFORM.history,e.linkHandler=c,e}return e(c,a),c.prototype.activate=function(a){if(this._isActive)throw new Error("History has already been activated.");var c=!!a.pushState;this._isActive=!0,this.options=Object.assign({},{root:"/"},this.options,a),this.root=("/"+this.options.root+"/").replace(o,"/"),this._wantsHashChange=this.options.hashChange!==!1,this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var d=void 0;if(this._hasPushState?d="popstate":this._wantsHashChange&&(d="hashchange"),b.PLATFORM.addEventListener(d,this._checkUrlCallback),this._wantsHashChange&&c){var e=this.location,f=e.pathname.replace(/[^\/]$/,"$&/")===this.root;if(!this._hasPushState&&!f)return this.fragment=this._getFragment(null,!0),this.location.replace(this.root+this.location.search+"#"+this.fragment),!0;this._hasPushState&&f&&e.hash&&(this.fragment=this._getHash().replace(n,""),this.history.replaceState({},b.DOM.title,this.root+this.fragment+e.search))}if(this.fragment||(this.fragment=this._getFragment()),this.linkHandler.activate(this),!this.options.silent)return this._loadUrl()},c.prototype.deactivate=function(){b.PLATFORM.removeEventListener("popstate",this._checkUrlCallback),b.PLATFORM.removeEventListener("hashchange",this._checkUrlCallback),this._isActive=!1,this.linkHandler.deactivate()},c.prototype.getAbsoluteRoot=function(){var a=h(this.location.protocol,this.location.hostname,this.location.port);return""+a+this.root},c.prototype.navigate=function(a){var c=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],d=c.trigger,e=void 0===d||d,f=c.replace,h=void 0!==f&&f;if(a&&q.test(a))return this.location.href=a,!0;if(!this._isActive)return!1;if(a=this._getFragment(a||""),this.fragment===a&&!h)return!1;this.fragment=a;var i=this.root+a;if(""===a&&"/"!==i&&(i=i.slice(0,-1)),this._hasPushState)i=i.replace("//","/"),this.history[h?"replaceState":"pushState"]({},b.DOM.title,i);else{if(!this._wantsHashChange)return this.location.assign(i);g(this.location,a,h)}return e?this._loadUrl(a):void 0},c.prototype.navigateBack=function(){this.history.back()},c.prototype.setTitle=function(a){b.DOM.title=a},c.prototype._getHash=function(){return this.location.hash.substr(1)},c.prototype._getFragment=function(a,b){var c=void 0;return a||(this._hasPushState||!this._wantsHashChange||b?(a=this.location.pathname+this.location.search,c=this.root.replace(p,""),a.indexOf(c)||(a=a.substr(c.length))):a=this._getHash()),"/"+a.replace(n,"")},c.prototype._checkUrl=function(){var a=this._getFragment();a!==this.fragment&&this._loadUrl()},c.prototype._loadUrl=function(a){var b=this.fragment=this._getFragment(a);return!!this.options.routeHandler&&this.options.routeHandler(b)},c}(c.History),i.inject=[k],j),n=/^#?\/*|\s+$/g,o=/^\/+|\/+$/g,p=/\/$/,q=/^([a-z][a-z0-9+\-.]*:)?\/\//i})}(),function(){var a=System.amdDefine;a("npm:aurelia-history-browser@1.0.0.js",["npm:aurelia-history-browser@1.0.0/aurelia-history-browser"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader-default@1.0.0/aurelia-loader-default.js",["exports","aurelia-loader","aurelia-pal","aurelia-metadata"],function(b,c,d,e){"use strict";function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function h(a,b){var c=a,d=void 0,f=void 0;c.__useDefault&&(c=c["default"]),e.Origin.set(c,new e.Origin(b,"default"));for(d in c)f=c[d],"function"==typeof f&&e.Origin.set(f,new e.Origin(b,d));return a}Object.defineProperty(b,"__esModule",{value:!0}),b.DefaultLoader=b.TextTemplateLoader=void 0;var i=b.TextTemplateLoader=function(){function a(){}return a.prototype.loadTemplate=function(a,b){return a.loadText(b.address).then(function(a){b.template=d.DOM.createTemplateFromMarkup(a)})},a}(),j=b.DefaultLoader=function(a){function b(){var b=f(this,a.call(this));b.textPluginName="text",b.moduleRegistry=Object.create(null),b.useTemplateLoader(new i);var c=b;return b.addPlugin("template-registry-entry",{fetch:function(a){var b=c.getOrCreateTemplateRegistryEntry(a);return b.templateIsLoaded?b:c.templateLoader.loadTemplate(c,b).then(function(a){return b})}}),b}return g(b,a),b.prototype.useTemplateLoader=function(a){this.templateLoader=a},b.prototype.loadAllModules=function(a){for(var b=[],c=0,d=a.length;c<d;++c)b.push(this.loadModule(a[c]));return Promise.all(b)},b.prototype.loadTemplate=function(a){return this._import(this.applyPluginToUrl(a,"template-registry-entry"))},b.prototype.loadText=function(a){return this._import(this.applyPluginToUrl(a,this.textPluginName)).then(function(a){return"string"==typeof a?a:a["default"]})},b}(c.Loader);d.PLATFORM.Loader=j,d.PLATFORM.global.System&&d.PLATFORM.global.System["import"]?(d.PLATFORM.eachModule=function(a){var b=System._loader.modules;for(var c in b)try{if(a(c,b[c].module))return}catch(d){}},System.set("text",System.newModule({translate:function(a){return'module.exports = "'+a.source.replace(/(["\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r").replace(/[\u2028]/g,"\\u2028").replace(/[\u2029]/g,"\\u2029")+'";'}})),j.prototype._import=function(a){return System["import"](a)},j.prototype.loadModule=function(a){var b=this;return System.normalize(a).then(function(a){var c=b.moduleRegistry[a];return void 0!==c?Promise.resolve(c):System["import"](a).then(function(c){return b.moduleRegistry[a]=c,h(c,a)})})},j.prototype.map=function(a,b){System.map[a]=b},j.prototype.normalizeSync=function(a,b){return System.normalizeSync(a,b)},j.prototype.normalize=function(a,b){return System.normalize(a,b)},j.prototype.applyPluginToUrl=function(a,b){return a+"!"+b},j.prototype.addPlugin=function(a,b){System.set(a,System.newModule({fetch:function(a,c){var d=b.fetch(a.address);return Promise.resolve(d).then(function(b){return a.metadata.result=b,""})},instantiate:function(a){return a.metadata.result}}))}):(d.PLATFORM.global.requirejs&&requirejs.s&&requirejs.s.contexts&&requirejs.s.contexts._&&requirejs.s.contexts._.defined?d.PLATFORM.eachModule=function(a){var b=requirejs.s.contexts._.defined;for(var c in b)try{if(a(c,b[c]))return}catch(d){}}:d.PLATFORM.eachModule=function(a){},j.prototype._import=function(a){return new Promise(function(b,c){require([a],b,c)})},j.prototype.loadModule=function(a){var b=this,c=this.moduleRegistry[a];return void 0!==c?Promise.resolve(c):new Promise(function(c,d){require([a],function(d){b.moduleRegistry[a]=d,c(h(d,a))},d)})},j.prototype.map=function(a,b){},j.prototype.normalize=function(a,b){return Promise.resolve(a)},j.prototype.normalizeSync=function(a,b){return a},j.prototype.applyPluginToUrl=function(a,b){return b+"!"+a},j.prototype.addPlugin=function(b,c){var d=a;d(b,[],{load:function(a,b,d){var e=c.fetch(a);Promise.resolve(e).then(d)}})})})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader-default@1.0.0.js",["npm:aurelia-loader-default@1.0.0/aurelia-loader-default"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging-console@1.0.0/aurelia-logging-console.js",["exports","aurelia-logging"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.ConsoleAppender=void 0;a.ConsoleAppender=function(){function a(){}return a.prototype.debug=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).debug.apply(b,["DEBUG ["+a.id+"]"].concat(d))},a.prototype.info=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).info.apply(b,["INFO ["+a.id+"]"].concat(d))},a.prototype.warn=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).warn.apply(b,["WARN ["+a.id+"]"].concat(d))},a.prototype.error=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).error.apply(b,["ERROR ["+a.id+"]"].concat(d))},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging-console@1.0.0.js",["npm:aurelia-logging-console@1.0.0/aurelia-logging-console"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-binding@1.0.0/aurelia-templating-binding.js",["exports","aurelia-logging","aurelia-binding","aurelia-templating"],function(a,b,c,d){"use strict";function e(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function h(a,b){if("style"===b)r.getLogger("templating-binding").info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.');else if(a.parentElement&&"TEXTAREA"===a.parentElement.nodeName&&"textContent"===b)throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use <textarea value.bind="expression"></textarea> instead.')}function i(a){a.container.registerSingleton(d.BindingLanguage,y),a.container.registerAlias(d.BindingLanguage,y)}Object.defineProperty(a,"__esModule",{value:!0}),a.TemplatingBindingLanguage=a.SyntaxInterpreter=a.ChildInterpolationBinding=a.InterpolationBinding=a.InterpolationBindingExpression=a.AttributeMap=void 0,a.configure=i;var j,k,l,m,n,o,p,q,r=e(b),s=a.AttributeMap=(k=j=function(){function a(a){this.elements=Object.create(null),this.allElements=Object.create(null),this.svg=a,this.registerUniversal("accesskey","accessKey"),this.registerUniversal("contenteditable","contentEditable"),this.registerUniversal("tabindex","tabIndex"),this.registerUniversal("textcontent","textContent"),this.registerUniversal("innerhtml","innerHTML"),this.registerUniversal("scrolltop","scrollTop"),this.registerUniversal("scrollleft","scrollLeft"),this.registerUniversal("readonly","readOnly"),this.register("label","for","htmlFor"),this.register("input","maxlength","maxLength"),this.register("input","minlength","minLength"),this.register("input","formaction","formAction"),this.register("input","formenctype","formEncType"),this.register("input","formmethod","formMethod"),this.register("input","formnovalidate","formNoValidate"),this.register("input","formtarget","formTarget"),this.register("textarea","maxlength","maxLength"),this.register("td","rowspan","rowSpan"),this.register("td","colspan","colSpan"),this.register("th","rowspan","rowSpan"),this.register("th","colspan","colSpan")}return a.prototype.register=function(a,b,c){a=a.toLowerCase(),b=b.toLowerCase();var d=this.elements[a]=this.elements[a]||Object.create(null);d[b]=c},a.prototype.registerUniversal=function(a,b){a=a.toLowerCase(),this.allElements[a]=b},a.prototype.map=function(a,b){if(this.svg.isStandardSvgAttribute(a,b))return b;a=a.toLowerCase(),b=b.toLowerCase();var d=this.elements[a];return void 0!==d&&b in d?d[b]:b in this.allElements?this.allElements[b]:/(^data-)|(^aria-)|:/.test(b)?b:(0,c.camelCase)(b)},a}(),j.inject=[c.SVGAnalyzer],k),t=a.InterpolationBindingExpression=function(){function a(a,b,c,d,e,f){this.observerLocator=a,this.targetProperty=b,this.parts=c,this.mode=d,this.lookupFunctions=e,this.attribute=this.attrToRemove=f,this.discrete=!1}return a.prototype.createBinding=function(a){return 3===this.parts.length?new v(a,this.observerLocator,this.parts[1],this.mode,this.lookupFunctions,this.targetProperty,this.parts[0],this.parts[2]):new u(this.observerLocator,this.parts,a,this.targetProperty,this.mode,this.lookupFunctions)},a}(),u=a.InterpolationBinding=function(){function a(a,b,c,d,e,f){h(c,d),this.observerLocator=a,this.parts=b,this.target=c,this.targetProperty=d,this.targetAccessor=a.getAccessor(c,d),this.mode=e,this.lookupFunctions=f}return a.prototype.interpolate=function(){if(this.isBound){for(var a="",b=this.parts,c=0,d=b.length;c<d;c++)a+=c%2===0?b[c]:this["childBinding"+c].value;this.targetAccessor.setValue(a,this.target,this.targetProperty)}},a.prototype.updateOneTimeBindings=function(){for(var a=1,b=this.parts.length;a<b;a+=2){var d=this["childBinding"+a];d.mode===c.bindingMode.oneTime&&d.call()}},a.prototype.bind=function(a){if(this.isBound){if(this.source===a)return;this.unbind()}this.source=a;for(var b=this.parts,c=1,d=b.length;c<d;c+=2){var e=new v(this,this.observerLocator,b[c],this.mode,this.lookupFunctions);e.bind(a),this["childBinding"+c]=e}this.isBound=!0,this.interpolate()},a.prototype.unbind=function(){if(this.isBound){this.isBound=!1,this.source=null;for(var a=this.parts,b=1,c=a.length;b<c;b+=2){var d="childBinding"+b;this[d].unbind()}}},a}(),v=a.ChildInterpolationBinding=(l=(0,c.connectable)(),l(m=function(){function a(a,b,c,d,e,f,g,i){a instanceof u?this.parent=a:(h(a,f),this.target=a,this.targetProperty=f,this.targetAccessor=b.getAccessor(a,f)),this.observerLocator=b,this.sourceExpression=c,this.mode=d,this.lookupFunctions=e,this.left=g,this.right=i}return a.prototype.updateTarget=function(a){a=null===a||void 0===a?"":a.toString(),a!==this.value&&(this.value=a,this.parent?this.parent.interpolate():this.targetAccessor.setValue(this.left+a+this.right,this.target,this.targetProperty))},a.prototype.call=function(){this.isBound&&(this.rawValue=this.sourceExpression.evaluate(this.source,this.lookupFunctions),this.updateTarget(this.rawValue),this.mode!==c.bindingMode.oneTime&&(this._version++,this.sourceExpression.connect(this,this.source),this.rawValue instanceof Array&&this.observeArray(this.rawValue),this.unobserve(!1)))},a.prototype.bind=function(a){if(this.isBound){if(this.source===a)return;this.unbind()}this.isBound=!0,this.source=a;var b=this.sourceExpression;b.bind&&b.bind(this,a,this.lookupFunctions),this.rawValue=b.evaluate(a,this.lookupFunctions),this.updateTarget(this.rawValue),this.mode===c.bindingMode.oneWay&&(0,c.enqueueBindingConnect)(this)},a.prototype.unbind=function(){if(this.isBound){this.isBound=!1;var a=this.sourceExpression;a.unbind&&a.unbind(this,this.source),this.source=null,this.value=null,this.rawValue=null,this.unobserve(!0)}},a.prototype.connect=function(a){this.isBound&&(a&&(this.rawValue=this.sourceExpression.evaluate(this.source,this.lookupFunctions),this.updateTarget(this.rawValue)),this.sourceExpression.connect(this,this.source),this.rawValue instanceof Array&&this.observeArray(this.rawValue))},a}())||m),w=a.SyntaxInterpreter=(o=n=function(){function a(a,b,c,d){this.parser=a,this.observerLocator=b,this.eventManager=c,this.attributeMap=d}return a.prototype.interpret=function(a,b,c,d,e){return c.command in this?this[c.command](a,b,c,d,e):this.handleUnknownCommand(a,b,c,d,e)},a.prototype.handleUnknownCommand=function(a,b,c,d,e){return r.getLogger("templating-binding").warn("Unknown binding command.",c),d},a.prototype.determineDefaultBindingMode=function(a,b,d){var e=a.tagName.toLowerCase();return"input"===e&&("value"===b||"files"===b)&&"checkbox"!==a.type&&"radio"!==a.type||"input"===e&&"checked"===b&&("checkbox"===a.type||"radio"===a.type)||("textarea"===e||"select"===e)&&"value"===b||("textcontent"===b||"innerhtml"===b)&&"true"===a.contentEditable||"scrolltop"===b||"scrollleft"===b?c.bindingMode.twoWay:d&&b in d.attributes&&d.attributes[b]&&d.attributes[b].defaultBindingMode>=c.bindingMode.oneTime?d.attributes[b].defaultBindingMode:c.bindingMode.oneWay},a.prototype.bind=function(a,b,e,f,g){var h=f||d.BehaviorInstruction.attribute(e.attrName);return h.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),e.defaultBindingMode||this.determineDefaultBindingMode(b,e.attrName,g),a.lookupFunctions),h},a.prototype.trigger=function(a,b,d){return new c.ListenerExpression(this.eventManager,d.attrName,this.parser.parse(d.attrValue),(!1),(!0),a.lookupFunctions)},a.prototype.delegate=function(a,b,d){return new c.ListenerExpression(this.eventManager,d.attrName,this.parser.parse(d.attrValue),(!0),(!0),a.lookupFunctions)},a.prototype.call=function(a,b,e,f){var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.CallExpression(this.observerLocator,e.attrName,this.parser.parse(e.attrValue),a.lookupFunctions),g},a.prototype.options=function(a,b,c,e,f){var g=e||d.BehaviorInstruction.attribute(c.attrName),h=c.attrValue,i=this.language,j=null,k="",l=void 0,m=void 0,n=void 0,o=!1,p=!1;for(m=0,n=h.length;m<n;++m){if(l=h[m],";"!==l||o)if(":"===l&&null===j)j=k.trim(),k="";else{if("\\"===l){k+=l,p=!0;continue}k+=l,null!==j&&p===!1&&"'"===l&&(o=!o)}else c=i.inspectAttribute(a,"?",j,k.trim()),i.createAttributeInstruction(a,b,c,g,f),g.attributes[c.attrName]||(g.attributes[c.attrName]=c.attrValue),k="",j=null;p=!1}return null!==j&&(c=i.inspectAttribute(a,"?",j,k.trim()),i.createAttributeInstruction(a,b,c,g,f),g.attributes[c.attrName]||(g.attributes[c.attrName]=c.attrValue)),g},a.prototype["for"]=function(a,b,e,f){var g=void 0,h=void 0,i=void 0,j=void 0,k=void 0;if(j=e.attrValue,k=j.match(/^ *[[].+[\]]/),g=k?j.split("of "):j.split(" of "),2!==g.length)throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".');return i=f||d.BehaviorInstruction.attribute(e.attrName),k?(h=g[0].replace(/[[\]]/g,"").replace(/,/g," ").replace(/\s+/g," ").trim().split(" "),i.attributes.key=h[0],i.attributes.value=h[1]):i.attributes.local=g[0],i.attributes.items=new c.BindingExpression(this.observerLocator,"items",this.parser.parse(g[1]),c.bindingMode.oneWay,a.lookupFunctions),i},a.prototype["two-way"]=function(a,b,e,f){var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),c.bindingMode.twoWay,a.lookupFunctions),g},a.prototype["one-way"]=function(a,b,e,f){var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),c.bindingMode.oneWay,a.lookupFunctions),g},a.prototype["one-time"]=function(a,b,e,f){var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),c.bindingMode.oneTime,a.lookupFunctions),g},a}(),n.inject=[c.Parser,c.ObserverLocator,c.EventManager,s],o),x={},y=a.TemplatingBindingLanguage=(q=p=function(a){function b(b,c,d,e){var g=f(this,a.call(this));return g.parser=b,g.observerLocator=c,g.syntaxInterpreter=d,g.emptyStringExpression=g.parser.parse("''"),d.language=g,g.attributeMap=e,g}return g(b,a),b.prototype.inspectAttribute=function(a,b,d,e){var f=d.split(".");if(x.defaultBindingMode=null,2===f.length)x.attrName=f[0].trim(),x.attrValue=e,x.command=f[1].trim(),"ref"===x.command?(x.expression=new c.NameExpression(this.parser.parse(e),x.attrName,a.lookupFunctions),
-x.command=null,x.attrName="ref"):x.expression=null;else if("ref"===d)x.attrName=d,x.attrValue=e,x.command=null,x.expression=new c.NameExpression(this.parser.parse(e),"element",a.lookupFunctions);else{x.attrName=d,x.attrValue=e,x.command=null;var g=this.parseInterpolation(a,e);null===g?x.expression=null:x.expression=new t(this.observerLocator,this.attributeMap.map(b,d),g,c.bindingMode.oneWay,a.lookupFunctions,d)}return x},b.prototype.createAttributeInstruction=function(a,b,c,e,f){var g=void 0;if(c.expression){if("ref"===c.attrName)return c.expression;g=e||d.BehaviorInstruction.attribute(c.attrName),g.attributes[c.attrName]=c.expression}else c.command&&(g=this.syntaxInterpreter.interpret(a,b,c,e,f));return g},b.prototype.inspectTextContent=function(a,b){var d=this.parseInterpolation(a,b);return null===d?null:new t(this.observerLocator,"textContent",d,c.bindingMode.oneWay,a.lookupFunctions,"textContent")},b.prototype.parseInterpolation=function(a,b){for(var c=b.indexOf("${",0),d=b.length,e=void 0,f=0,g=0,h=null,i=void 0,j=void 0,k=0;c>=0&&c<d-2;){g=1,i=c,c+=2;do e=b[c],c++,"'"!==e&&'"'!==e?"\\"!==e?null===h&&("{"===e?g++:"}"===e&&g--):c++:null===h?h=e:h===e&&(h=null);while(g>0&&c<d);if(0!==g)break;j=j||[],"\\"===b[i-1]&&"\\"!==b[i-2]?(j[k]=b.substring(f,i-1)+b.substring(i,c),k++,j[k]=this.emptyStringExpression,k++):(j[k]=b.substring(f,i),k++,j[k]=this.parser.parse(b.substring(i+2,c-1)),k++),f=c,c=b.indexOf("${",c)}return 0===k?null:(j[k]=b.substr(f),j)},b}(d.BindingLanguage),p.inject=[c.Parser,c.ObserverLocator,w,s],q)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-binding@1.0.0.js",["npm:aurelia-templating-binding@1.0.0/aurelia-templating-binding"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/compose.js",["exports","aurelia-dependency-injection","aurelia-task-queue","aurelia-templating","aurelia-pal"],function(a,b,c,d,e){"use strict";function f(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}function h(a,b){return Object.assign(b,{bindingContext:a.bindingContext,overrideContext:a.overrideContext,owningView:a.owningView,container:a.container,viewSlot:a.viewSlot,viewResources:a.viewResources,currentController:a.currentController,host:a.element})}function i(a,b){a.currentInstruction=null,a.compositionEngine.compose(b).then(function(b){a.currentController=b,a.currentViewModel=b?b.viewModel:null})}Object.defineProperty(a,"__esModule",{value:!0}),a.Compose=void 0;var j,k,l,m,n,o,p;a.Compose=(j=(0,d.customElement)("compose"),k=(0,b.inject)(e.DOM.Element,b.Container,d.CompositionEngine,d.ViewSlot,d.ViewResources,c.TaskQueue),j(l=(0,d.noView)(l=k((m=function(){function a(a,b,c,d,e,g){f(this,"model",n,this),f(this,"view",o,this),f(this,"viewModel",p,this),this.element=a,this.container=b,this.compositionEngine=c,this.viewSlot=d,this.viewResources=e,this.taskQueue=g,this.currentController=null,this.currentViewModel=null}return a.prototype.created=function(a){this.owningView=a},a.prototype.bind=function(a,b){this.bindingContext=a,this.overrideContext=b,i(this,h(this,{view:this.view,viewModel:this.viewModel,model:this.model}))},a.prototype.unbind=function(a,b){this.bindingContext=null,this.overrideContext=null;var c=!0,d=!0;this.viewSlot.removeAll(c,d)},a.prototype.modelChanged=function(a,b){var c=this;return this.currentInstruction?void(this.currentInstruction.model=a):void this.taskQueue.queueMicroTask(function(){if(c.currentInstruction)return void(c.currentInstruction.model=a);var b=c.currentViewModel;b&&"function"==typeof b.activate&&b.activate(a)})},a.prototype.viewChanged=function(a,b){var c=this,d=h(this,{view:a,viewModel:this.currentViewModel||this.viewModel,model:this.model});return this.currentInstruction?void(this.currentInstruction=d):(this.currentInstruction=d,void this.taskQueue.queueMicroTask(function(){return i(c,c.currentInstruction)}))},a.prototype.viewModelChanged=function(a,b){var c=this,d=h(this,{viewModel:a,view:this.view,model:this.model});return this.currentInstruction?void(this.currentInstruction=d):(this.currentInstruction=d,void this.taskQueue.queueMicroTask(function(){return i(c,c.currentInstruction)}))},a}(),n=g(m.prototype,"model",[d.bindable],{enumerable:!0,initializer:null}),o=g(m.prototype,"view",[d.bindable],{enumerable:!0,initializer:null}),p=g(m.prototype,"viewModel",[d.bindable],{enumerable:!0,initializer:null}),l=m))||l)||l)||l)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/if.js",["exports","aurelia-templating","aurelia-dependency-injection"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.If=void 0;var d,e,f;a.If=(d=(0,b.customAttribute)("if"),e=(0,c.inject)(b.BoundViewFactory,b.ViewSlot),d(f=(0,b.templateController)(f=e(f=function(){function a(a,b){this.viewFactory=a,this.viewSlot=b,this.showing=!1,this.view=null,this.bindingContext=null,this.overrideContext=null}return a.prototype.bind=function(a,b){this.bindingContext=a,this.overrideContext=b,this.valueChanged(this.value)},a.prototype.valueChanged=function(a){var b=this;if(this.__queuedChanges)return void this.__queuedChanges.push(a);var c=this._runValueChanged(a);c instanceof Promise&&!function(){var a=b.__queuedChanges=[],d=function e(){if(!a.length)return void(b.__queuedChanges=void 0);var c=b._runValueChanged(a.shift())||Promise.resolve();c.then(e)};c.then(d)}()},a.prototype._runValueChanged=function(a){var b=this;if(!a){var c=void 0;return null!==this.view&&this.showing&&(c=this.viewSlot.remove(this.view),c instanceof Promise?c.then(function(){return b.view.unbind()}):this.view.unbind()),this.showing=!1,c}if(null===this.view&&(this.view=this.viewFactory.create()),this.view.isBound||this.view.bind(this.bindingContext,this.overrideContext),!this.showing)return this.showing=!0,this.viewSlot.add(this.view)},a.prototype.unbind=function(){null!==this.view&&(this.view.unbind(),this.viewFactory.isCaching&&(this.showing&&(this.showing=!1,this.viewSlot.remove(this.view,!0,!0)),this.view.returnToCache(),this.view=null))},a}())||f)||f)||f)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/with.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-binding"],function(a,b,c,d){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.With=void 0;var e,f,g;a.With=(e=(0,c.customAttribute)("with"),f=(0,b.inject)(c.BoundViewFactory,c.ViewSlot),e(g=(0,c.templateController)(g=f(g=function(){function a(a,b){this.viewFactory=a,this.viewSlot=b,this.parentOverrideContext=null,this.view=null}return a.prototype.bind=function(a,b){this.parentOverrideContext=b,this.valueChanged(this.value)},a.prototype.valueChanged=function(a){var b=(0,d.createOverrideContext)(a,this.parentOverrideContext);this.view?this.view.bind(a,b):(this.view=this.viewFactory.create(),this.view.bind(a,b),this.viewSlot.add(this.view))},a.prototype.unbind=function(){this.parentOverrideContext=null,this.view&&this.view.unbind()},a}())||g)||g)||g)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/repeat.js",["exports","aurelia-dependency-injection","aurelia-binding","aurelia-templating","./repeat-strategy-locator","./repeat-utilities","./analyze-view-factory","./abstract-repeater"],function(a,b,c,d,e,f,g,h){"use strict";function i(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function j(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function k(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function l(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}Object.defineProperty(a,"__esModule",{value:!0}),a.Repeat=void 0;var m,n,o,p,q,r,s,t;a.Repeat=(m=(0,d.customAttribute)("repeat"),n=(0,b.inject)(d.BoundViewFactory,d.TargetInstruction,d.ViewSlot,d.ViewResources,c.ObserverLocator,e.RepeatStrategyLocator),m(o=(0,d.templateController)(o=n((p=function(a){function b(b,c,d,e,h,k){var l=j(this,a.call(this,{local:"item",viewsRequireLifecycle:(0,g.viewsRequireLifecycle)(b)}));return i(l,"items",q,l),i(l,"local",r,l),i(l,"key",s,l),i(l,"value",t,l),l.viewFactory=b,l.instruction=c,l.viewSlot=d,l.lookupFunctions=e.lookupFunctions,l.observerLocator=h,l.key="key",l.value="value",l.strategyLocator=k,l.ignoreMutation=!1,l.sourceExpression=(0,f.getItemsSourceExpression)(l.instruction,"repeat.for"),l.isOneTime=(0,f.isOneTime)(l.sourceExpression),l.viewsRequireLifecycle=(0,g.viewsRequireLifecycle)(b),l}return k(b,a),b.prototype.call=function(a,b){this[a](this.items,b)},b.prototype.bind=function(a,b){this.scope={bindingContext:a,overrideContext:b},this.matcherBinding=this._captureAndRemoveMatcherBinding(),this.itemsChanged()},b.prototype.unbind=function(){this.scope=null,this.items=null,this.matcherBinding=null,this.viewSlot.removeAll(!0),this._unsubscribeCollection()},b.prototype._unsubscribeCollection=function(){this.collectionObserver&&(this.collectionObserver.unsubscribe(this.callContext,this),this.collectionObserver=null,this.callContext=null)},b.prototype.itemsChanged=function(){if(this._unsubscribeCollection(),this.scope){var a=this.items;if(this.strategy=this.strategyLocator.getStrategy(a),!this.strategy)throw new Error("Value for '"+this.sourceExpression+"' is non-repeatable");this.isOneTime||this._observeInnerCollection()||this._observeCollection(),this.strategy.instanceChanged(this,a)}},b.prototype._getInnerCollection=function(){var a=(0,f.unwrapExpression)(this.sourceExpression);return a?a.evaluate(this.scope,null):null},b.prototype.handleCollectionMutated=function(a,b){this.collectionObserver&&this.strategy.instanceMutated(this,a,b)},b.prototype.handleInnerCollectionMutated=function(a,b){var c=this;if(this.collectionObserver&&!this.ignoreMutation){this.ignoreMutation=!0;var d=this.sourceExpression.evaluate(this.scope,this.lookupFunctions);this.observerLocator.taskQueue.queueMicroTask(function(){return c.ignoreMutation=!1}),d===this.items?this.itemsChanged():this.items=d}},b.prototype._observeInnerCollection=function(){var a=this._getInnerCollection(),b=this.strategyLocator.getStrategy(a);return!!b&&(this.collectionObserver=b.getCollectionObserver(this.observerLocator,a),!!this.collectionObserver&&(this.callContext="handleInnerCollectionMutated",this.collectionObserver.subscribe(this.callContext,this),!0))},b.prototype._observeCollection=function(){var a=this.items;this.collectionObserver=this.strategy.getCollectionObserver(this.observerLocator,a),this.collectionObserver&&(this.callContext="handleCollectionMutated",this.collectionObserver.subscribe(this.callContext,this))},b.prototype._captureAndRemoveMatcherBinding=function(){if(this.viewFactory.viewFactory)for(var a=this.viewFactory.viewFactory.instructions,b=Object.keys(a),c=0;c<b.length;c++){var d=a[b[c]].expressions;if(d)for(var e=0;c<d.length;c++)if("matcher"===d[e].targetProperty){var f=d[e];return d.splice(e,1),f}}},b.prototype.viewCount=function(){return this.viewSlot.children.length},b.prototype.views=function(){return this.viewSlot.children},b.prototype.view=function(a){return this.viewSlot.children[a]},b.prototype.matcher=function(){return this.matcherBinding?this.matcherBinding.sourceExpression.evaluate(this.scope,this.matcherBinding.lookupFunctions):null},b.prototype.addView=function(a,b){var c=this.viewFactory.create();c.bind(a,b),this.viewSlot.add(c)},b.prototype.insertView=function(a,b,c){var d=this.viewFactory.create();d.bind(b,c),this.viewSlot.insert(a,d)},b.prototype.moveView=function(a,b){this.viewSlot.move(a,b)},b.prototype.removeAllViews=function(a,b){return this.viewSlot.removeAll(a,b)},b.prototype.removeViews=function(a,b,c){return this.viewSlot.removeMany(a,b,c)},b.prototype.removeView=function(a,b,c){return this.viewSlot.removeAt(a,b,c)},b.prototype.updateBindings=function(a){for(var b=a.bindings.length;b--;)(0,f.updateOneTimeBinding)(a.bindings[b]);for(b=a.controllers.length;b--;)for(var c=a.controllers[b].boundProperties.length;c--;){var d=a.controllers[b].boundProperties[c].binding;(0,f.updateOneTimeBinding)(d)}},b}(h.AbstractRepeater),q=l(p.prototype,"items",[d.bindable],{enumerable:!0,initializer:null}),r=l(p.prototype,"local",[d.bindable],{enumerable:!0,initializer:null}),s=l(p.prototype,"key",[d.bindable],{enumerable:!0,initializer:null}),t=l(p.prototype,"value",[d.bindable],{enumerable:!0,initializer:null}),o=p))||o)||o)||o)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/show.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-pal","./aurelia-hide-style"],function(a,b,c,d,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Show=void 0;var f,g,h;a.Show=(f=(0,c.customAttribute)("show"),g=(0,b.inject)(d.DOM.Element,c.Animator,b.Optional.of(d.DOM.boundary,!0)),f(h=g(h=function(){function a(a,b,c){this.element=a,this.animator=b,this.domBoundary=c}return a.prototype.created=function(){(0,e.injectAureliaHideStyleAtBoundary)(this.domBoundary)},a.prototype.valueChanged=function(a){a?this.animator.removeClass(this.element,e.aureliaHideClassName):this.animator.addClass(this.element,e.aureliaHideClassName)},a.prototype.bind=function(a){this.valueChanged(this.value)},a}())||h)||h)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/hide.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-pal","./aurelia-hide-style"],function(a,b,c,d,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Hide=void 0;var f,g,h;a.Hide=(f=(0,c.customAttribute)("hide"),g=(0,b.inject)(d.DOM.Element,c.Animator,b.Optional.of(d.DOM.boundary,!0)),f(h=g(h=function(){function a(a,b,c){this.element=a,this.animator=b,this.domBoundary=c}return a.prototype.created=function(){(0,e.injectAureliaHideStyleAtBoundary)(this.domBoundary)},a.prototype.valueChanged=function(a){a?this.animator.addClass(this.element,e.aureliaHideClassName):this.animator.removeClass(this.element,e.aureliaHideClassName)},a.prototype.bind=function(a){this.valueChanged(this.value)},a}())||h)||h)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/sanitize-html.js",["exports","aurelia-binding","aurelia-dependency-injection","./html-sanitizer"],function(a,b,c,d){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.SanitizeHTMLValueConverter=void 0;var e,f,g;a.SanitizeHTMLValueConverter=(e=(0,b.valueConverter)("sanitizeHTML"),f=(0,c.inject)(d.HTMLSanitizer),e(g=f(g=function(){function a(a){this.sanitizer=a}return a.prototype.toView=function(a){return null===a||void 0===a?null:this.sanitizer.sanitize(a)},a}())||g)||g)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/replaceable.js",["exports","aurelia-dependency-injection","aurelia-templating"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Replaceable=void 0;var d,e,f;a.Replaceable=(d=(0,c.customAttribute)("replaceable"),e=(0,b.inject)(c.BoundViewFactory,c.ViewSlot),d(f=(0,c.templateController)(f=e(f=function(){function a(a,b){this.viewFactory=a,this.viewSlot=b,this.view=null}return a.prototype.bind=function(a,b){null===this.view&&(this.view=this.viewFactory.create(),this.viewSlot.add(this.view)),this.view.bind(a,b)},a.prototype.unbind=function(){this.view.unbind()},a}())||f)||f)||f)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/focus.js",["exports","aurelia-templating","aurelia-binding","aurelia-dependency-injection","aurelia-task-queue","aurelia-pal"],function(a,b,c,d,e,f){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Focus=void 0;var g,h,i;a.Focus=(g=(0,b.customAttribute)("focus",c.bindingMode.twoWay),h=(0,d.inject)(f.DOM.Element,e.TaskQueue),g(i=h(i=function(){function a(a,b){var c=this;this.element=a,this.taskQueue=b,this.isAttached=!1,this.needsApply=!1,this.focusListener=function(a){c.value=!0},this.blurListener=function(a){f.DOM.activeElement!==c.element&&(c.value=!1)}}return a.prototype.valueChanged=function(a){this.isAttached?this._apply():this.needsApply=!0},a.prototype._apply=function(){var a=this;this.value?this.taskQueue.queueMicroTask(function(){a.value&&a.element.focus()}):this.element.blur()},a.prototype.attached=function(){this.isAttached=!0,this.needsApply&&(this.needsApply=!1,this._apply()),this.element.addEventListener("focus",this.focusListener),this.element.addEventListener("blur",this.blurListener)},a.prototype.detached=function(){this.isAttached=!1,this.element.removeEventListener("focus",this.focusListener),this.element.removeEventListener("blur",this.blurListener)},a}())||i)||i)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/css-resource.js",["exports","aurelia-templating","aurelia-loader","aurelia-dependency-injection","aurelia-path","aurelia-pal"],function(a,b,c,d,e,f){"use strict";function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function i(a,b){if("string"!=typeof b)throw new Error("Failed loading required CSS file: "+a);return b.replace(k,function(b,c){var d=c.charAt(0);return"'"!==d&&'"'!==d||(c=c.substr(1,c.length-2)),"url('"+(0,e.relativeToFile)(c,a)+"')"})}function j(a){var c,d,e=(c=(0,b.resource)(new l(a)),c(d=function(a){function b(){return g(this,a.apply(this,arguments))}return h(b,a),b}(m))||d);return e}Object.defineProperty(a,"__esModule",{value:!0}),a._createCSSResource=j;var k=/url\((?!['"]data)([^)]+)\)/gi,l=function(){function a(a){this.address=a,this._scoped=null,this._global=!1,this._alreadyGloballyInjected=!1}return a.prototype.initialize=function(a,b){this._scoped=new b(this)},a.prototype.register=function(a,b){"scoped"===b?a.registerViewEngineHooks(this._scoped):this._global=!0},a.prototype.load=function(a){var b=this;return a.get(c.Loader).loadText(this.address)["catch"](function(a){return null}).then(function(a){a=i(b.address,a),b._scoped.css=a,b._global&&(b._alreadyGloballyInjected=!0,f.DOM.injectStyles(a))})},a}(),m=function(){function a(a){this.owner=a,this.css=null}return a.prototype.beforeCompile=function(a,b,c){if(c.targetShadowDOM)f.DOM.injectStyles(this.css,a,!0);else if(f.FEATURE.scopedCSS){var d=f.DOM.injectStyles(this.css,a,!0);d.setAttribute("scoped","scoped")}else this.owner._alreadyGloballyInjected||(f.DOM.injectStyles(this.css),this.owner._alreadyGloballyInjected=!0)},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/html-sanitizer.js",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var b=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi;a.HTMLSanitizer=function(){function a(){}return a.prototype.sanitize=function(a){return a.replace(b,"")},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/attr-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.AttrBindingBehavior=void 0;a.AttrBindingBehavior=function(){function a(){}return a.prototype.bind=function(a,c){a.targetObserver=new b.DataAttributeObserver(a.target,a.targetProperty)},a.prototype.unbind=function(a,b){},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/binding-mode-behaviors.js",["exports","aurelia-binding","aurelia-metadata"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.TwoWayBindingBehavior=a.OneWayBindingBehavior=a.OneTimeBindingBehavior=void 0;var d,e,f,g,h,i,j={bind:function(a,b,c){a.originalMode=a.mode,a.mode=this.mode},unbind:function(a,b){a.mode=a.originalMode,a.originalMode=null}};a.OneTimeBindingBehavior=(d=(0,c.mixin)(j),d(e=function(){this.mode=b.bindingMode.oneTime})||e),a.OneWayBindingBehavior=(f=(0,c.mixin)(j),f(g=function(){this.mode=b.bindingMode.oneWay})||g),a.TwoWayBindingBehavior=(h=(0,c.mixin)(j),h(i=function(){this.mode=b.bindingMode.twoWay})||i)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/throttle-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";function c(a){var b=this,c=this.throttleState,d=+new Date-c.last;return d>=c.delay?(clearTimeout(c.timeoutId),c.timeoutId=null,c.last=+new Date,void this.throttledMethod(a)):(c.newValue=a,void(null===c.timeoutId&&(c.timeoutId=setTimeout(function(){c.timeoutId=null,c.last=+new Date,b.throttledMethod(c.newValue)},c.delay-d))))}Object.defineProperty(a,"__esModule",{value:!0}),a.ThrottleBindingBehavior=void 0;a.ThrottleBindingBehavior=function(){function a(){}return a.prototype.bind=function(a,d){var e=arguments.length<=2||void 0===arguments[2]?200:arguments[2],f="updateTarget";a.callSource?f="callSource":a.updateSource&&a.mode===b.bindingMode.twoWay&&(f="updateSource"),a.throttledMethod=a[f],a.throttledMethod.originalName=f,a[f]=c,a.throttleState={delay:e,last:0,timeoutId:null}},a.prototype.unbind=function(a,b){var c=a.throttledMethod.originalName;a[c]=a.throttledMethod,a.throttledMethod=null,clearTimeout(a.throttleState.timeoutId),a.throttleState=null},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/debounce-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";function c(a){var b=this,c=this.debounceState;return c.immediate?(c.immediate=!1,void this.debouncedMethod(a)):(clearTimeout(c.timeoutId),void(c.timeoutId=setTimeout(function(){return b.debouncedMethod(a)},c.delay)))}Object.defineProperty(a,"__esModule",{value:!0}),a.DebounceBindingBehavior=void 0;a.DebounceBindingBehavior=function(){function a(){}return a.prototype.bind=function(a,d){var e=arguments.length<=2||void 0===arguments[2]?200:arguments[2],f="updateTarget";a.callSource?f="callSource":a.updateSource&&a.mode===b.bindingMode.twoWay&&(f="updateSource"),a.debouncedMethod=a[f],a.debouncedMethod.originalName=f,a[f]=c,a.debounceState={delay:e,timeoutId:null,immediate:"updateTarget"===f}},a.prototype.unbind=function(a,b){var c=a.debouncedMethod.originalName;a[c]=a.debouncedMethod,a.debouncedMethod=null,clearTimeout(a.debounceState.timeoutId),a.debounceState=null},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/signal-binding-behavior.js",["exports","./binding-signaler"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.SignalBindingBehavior=void 0;a.SignalBindingBehavior=function(){function a(a){this.signals=a.signals}return a.inject=function(){return[b.BindingSignaler]},a.prototype.bind=function(a,b){if(!a.updateTarget)throw new Error("Only property bindings and string interpolation bindings can be signaled. Trigger, delegate and call bindings cannot be signaled.");if(3===arguments.length){var c=arguments[2],d=this.signals[c]||(this.signals[c]=[]);d.push(a),a.signalName=c}else{if(!(arguments.length>3))throw new Error("Signal name is required.");for(var e=Array.prototype.slice.call(arguments,2),f=e.length;f--;){var g=e[f],h=this.signals[g]||(this.signals[g]=[]);h.push(a)}a.signalName=e}},a.prototype.unbind=function(a,b){var c=a.signalName;if(a.signalName=null,Array.isArray(c))for(var d=c,e=d.length;e--;){var f=d[e],g=this.signals[f];g.splice(g.indexOf(a),1)}else{var h=this.signals[c];h.splice(h.indexOf(a),1)}},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/binding-signaler.js",["exports","aurelia-binding"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.BindingSignaler=void 0;a.BindingSignaler=function(){function a(){this.signals={}}return a.prototype.signal=function(a){var c=this.signals[a];if(c)for(var d=c.length;d--;)c[d].call(b.sourceContext)},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/update-trigger-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.UpdateTriggerBindingBehavior=void 0;var c,d,e="The updateTrigger binding behavior requires at least one event name argument: eg <input value.bind=\"firstName & updateTrigger:'blur'\">",f="The updateTrigger binding behavior can only be applied to two-way bindings on input/select elements.";a.UpdateTriggerBindingBehavior=(d=c=function(){function a(a){this.eventManager=a}return a.prototype.bind=function(a,c){for(var d=arguments.length,g=Array(d>2?d-2:0),h=2;h<d;h++)g[h-2]=arguments[h];if(0===g.length)throw new Error(e);if(a.mode!==b.bindingMode.twoWay)throw new Error(f);var i=a.observerLocator.getObserver(a.target,a.targetProperty);if(!i.handler)throw new Error(f);a.targetObserver=i,i.originalHandler=a.targetObserver.handler;var j=this.eventManager.createElementHandler(g);i.handler=j},a.prototype.unbind=function(a,b){a.targetObserver.handler=a.targetObserver.originalHandler,a.targetObserver.originalHandler=null},a}(),c.inject=[b.EventManager],d)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/abstract-repeater.js",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.AbstractRepeater=function(){function a(a){Object.assign(this,{local:"items",viewsRequireLifecycle:!0},a)}return a.prototype.viewCount=function(){throw new Error("subclass must implement `viewCount`")},a.prototype.views=function(){throw new Error("subclass must implement `views`")},a.prototype.view=function(a){throw new Error("subclass must implement `view`")},a.prototype.matcher=function(){throw new Error("subclass must implement `matcher`")},a.prototype.addView=function(a,b){throw new Error("subclass must implement `addView`")},a.prototype.insertView=function(a,b,c){throw new Error("subclass must implement `insertView`")},a.prototype.moveView=function(a,b){throw new Error("subclass must implement `moveView`")},a.prototype.removeAllViews=function(a,b){throw new Error("subclass must implement `removeAllViews`")},a.prototype.removeViews=function(a,b,c){throw new Error("subclass must implement `removeView`")},a.prototype.removeView=function(a,b,c){throw new Error("subclass must implement `removeView`")},a.prototype.updateBindings=function(a){throw new Error("subclass must implement `updateBindings`")},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/repeat-strategy-locator.js",["exports","./null-repeat-strategy","./array-repeat-strategy","./map-repeat-strategy","./set-repeat-strategy","./number-repeat-strategy"],function(a,b,c,d,e,f){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.RepeatStrategyLocator=void 0;a.RepeatStrategyLocator=function(){function a(){this.matchers=[],this.strategies=[],this.addStrategy(function(a){return null===a||void 0===a},new b.NullRepeatStrategy),this.addStrategy(function(a){return a instanceof Array},new c.ArrayRepeatStrategy),this.addStrategy(function(a){return a instanceof Map},new d.MapRepeatStrategy),this.addStrategy(function(a){return a instanceof Set},new e.SetRepeatStrategy),this.addStrategy(function(a){return"number"==typeof a},new f.NumberRepeatStrategy)}return a.prototype.addStrategy=function(a,b){this.matchers.push(a),this.strategies.push(b)},a.prototype.getStrategy=function(a){for(var b=this.matchers,c=0,d=b.length;c<d;++c)if(b[c](a))return this.strategies[c];return null},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/dynamic-element.js",["exports","aurelia-templating"],function(a,b){"use strict";function c(a,c,d){for(var e,f,g,h=(e=(0,b.customElement)(a),f=(0,b.useView)(c),e(g=f(g=function(){function a(){}return a.prototype.bind=function(a){this.$parent=a},a}())||g)||g),i=0,j=d.length;i<j;++i)(0,b.bindable)(d[i])(h);return h}Object.defineProperty(a,"__esModule",{value:!0}),a._createDynamicElement=c})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/html-resource-plugin.js",["exports","aurelia-templating","./dynamic-element"],function(a,b,c){"use strict";function d(a){return/([^\/^\?]+)\.html/i.exec(a)[1].toLowerCase()}function e(a){var e=a.container.get(b.ViewEngine),f=a.aurelia.loader;e.addResourcePlugin(".html",{fetch:function(a){return f.loadTemplate(a).then(function(b){var e,f=b.template.getAttribute("bindable"),g=d(a);return f?(f=f.split(",").map(function(a){return a.trim()}),b.template.removeAttribute("bindable")):f=[],e={},e[g]=(0,c._createDynamicElement)(g,a,f),e})}})}Object.defineProperty(a,"__esModule",{value:!0}),a.getElementName=d,a.configure=e})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/null-repeat-strategy.js",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.NullRepeatStrategy=function(){function a(){}return a.prototype.instanceChanged=function(a,b){a.removeAllViews(!0)},a.prototype.getCollectionObserver=function(a,b){},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/array-repeat-strategy.js",["exports","./repeat-utilities","aurelia-binding"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.ArrayRepeatStrategy=void 0;a.ArrayRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(a,b){return a.getArrayObserver(b)},a.prototype.instanceChanged=function(a,c){var d=this,e=c.length;if(!c||0===e)return void a.removeAllViews(!0,!a.viewsRequireLifecycle);var f=a.views(),g=f.length;return 0===g?void this._standardProcessInstanceChanged(a,c):void(a.viewsRequireLifecycle?!function(){for(var h=f.slice(0),i=a.local,j=a.matcher(),k=[],l=[],m=0;m<g;m++){var n=h[m],o=n.bindingContext[i];(0,b.indexOf)(c,o,j)===-1?l.push(n):k.push(o)}var p=void 0,q=void 0;k.length>0?(q=a.removeViews(l,!0,!a.viewsRequireLifecycle),p=function(){for(var g=0;g<e;g++){var h=c[g],i=(0,b.indexOf)(k,h,j,g),l=void 0;if(i===-1){var m=(0,b.createFullOverrideContext)(a,c[g],g,e);a.insertView(g,m.bindingContext,m),k.splice(g,0,void 0)}else i===g?(l=f[i],k[i]=void 0):(l=f[i],a.moveView(i,g),k.splice(i,1),k.splice(g,0,void 0));l&&(0,b.updateOverrideContext)(l.overrideContext,g,e)}d._inPlaceProcessItems(a,c)}):(q=a.removeAllViews(!0,!a.viewsRequireLifecycle),p=function(){return d._standardProcessInstanceChanged(a,c)}),q instanceof Promise?q.then(p):p()}():this._inPlaceProcessItems(a,c))},a.prototype._standardProcessInstanceChanged=function(a,c){for(var d=0,e=c.length;d<e;d++){var f=(0,b.createFullOverrideContext)(a,c[d],d,e);a.addView(f.bindingContext,f);
-}},a.prototype._inPlaceProcessItems=function(a,c){for(var d=c.length,e=a.viewCount();e>d;)e--,a.removeView(e,!0,!a.viewsRequireLifecycle);for(var f=a.local,g=0;g<e;g++){var h=a.view(g),i=g===d-1,j=0!==g&&!i;h.bindingContext[f]===c[g]&&h.overrideContext.$middle===j&&h.overrideContext.$last===i||(h.bindingContext[f]=c[g],h.overrideContext.$middle=j,h.overrideContext.$last=i,a.updateBindings(h))}for(var k=e;k<d;k++){var l=(0,b.createFullOverrideContext)(a,c[k],k,d);a.addView(l.bindingContext,l)}},a.prototype.instanceMutated=function(a,b,d){var e=this;if(a.__queuedSplices){for(var f=0,g=d.length;f<g;++f){var h=d[f],i=h.index,j=h.removed,k=h.addedCount;(0,c.mergeSplice)(a.__queuedSplices,i,j,k)}return void(a.__array=b.slice(0))}var l=this._runSplices(a,b.slice(0),d);l instanceof Promise&&!function(){var b=a.__queuedSplices=[],c=function d(){if(!b.length)return a.__queuedSplices=void 0,void(a.__array=void 0);var c=e._runSplices(a,a.__array,b)||Promise.resolve();b=a.__queuedSplices=[],c.then(d)};l.then(c)}()},a.prototype._runSplices=function(a,c,d){for(var e=this,f=0,g=[],h=0,i=d.length;h<i;++h){for(var j=d[h],k=j.removed,l=0,m=k.length;l<m;++l){var n=a.removeView(j.index+f+g.length,!0);n instanceof Promise&&g.push(n)}f-=j.addedCount}if(g.length>0)return Promise.all(g).then(function(){var f=e._handleAddedSplices(a,c,d);(0,b.updateOverrideContexts)(a.views(),f)});var o=this._handleAddedSplices(a,c,d);(0,b.updateOverrideContexts)(a.views(),o)},a.prototype._handleAddedSplices=function(a,c,d){for(var e=void 0,f=void 0,g=c.length,h=0,i=d.length;h<i;++h){var j=d[h],k=e=j.index,l=j.index+j.addedCount;for(("undefined"==typeof f||null===f||f>j.index)&&(f=e);k<l;++k){var m=(0,b.createFullOverrideContext)(a,c[k],k,g);a.insertView(k,m.bindingContext,m)}}return f},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/map-repeat-strategy.js",["exports","./repeat-utilities"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.MapRepeatStrategy=void 0;a.MapRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(a,b){return a.getMapObserver(b)},a.prototype.instanceChanged=function(a,b){var c=this,d=a.removeAllViews(!0,!a.viewsRequireLifecycle);return d instanceof Promise?void d.then(function(){return c._standardProcessItems(a,b)}):void this._standardProcessItems(a,b)},a.prototype._standardProcessItems=function(a,c){var d=0,e=void 0;c.forEach(function(f,g){e=(0,b.createFullOverrideContext)(a,f,d,c.size,g),a.addView(e.bindingContext,e),++d})},a.prototype.instanceMutated=function(a,c,d){var e=void 0,f=void 0,g=void 0,h=void 0,i=void 0,j=void 0,k=[],l=void 0;for(f=0,g=d.length;f<g;++f)switch(j=d[f],e=j.key,j.type){case"update":i=this._getViewIndexByKey(a,e),l=a.removeView(i,!0,!a.viewsRequireLifecycle),l instanceof Promise&&k.push(l),h=(0,b.createFullOverrideContext)(a,c.get(e),i,c.size,e),a.insertView(i,h.bindingContext,h);break;case"add":h=(0,b.createFullOverrideContext)(a,c.get(e),c.size-1,c.size,e),a.insertView(c.size-1,h.bindingContext,h);break;case"delete":if(void 0===j.oldValue)return;i=this._getViewIndexByKey(a,e),l=a.removeView(i,!0,!a.viewsRequireLifecycle),l instanceof Promise&&k.push(l);break;case"clear":a.removeAllViews(!0,!a.viewsRequireLifecycle);break;default:continue}k.length>0?Promise.all(k).then(function(){(0,b.updateOverrideContexts)(a.views(),0)}):(0,b.updateOverrideContexts)(a.views(),0)},a.prototype._getViewIndexByKey=function(a,b){var c=void 0,d=void 0,e=void 0;for(c=0,d=a.viewCount();c<d;++c)if(e=a.view(c),e.bindingContext[a.key]===b)return c},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/set-repeat-strategy.js",["exports","./repeat-utilities"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.SetRepeatStrategy=void 0;a.SetRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(a,b){return a.getSetObserver(b)},a.prototype.instanceChanged=function(a,b){var c=this,d=a.removeAllViews(!0,!a.viewsRequireLifecycle);return d instanceof Promise?void d.then(function(){return c._standardProcessItems(a,b)}):void this._standardProcessItems(a,b)},a.prototype._standardProcessItems=function(a,c){var d=0,e=void 0;c.forEach(function(f){e=(0,b.createFullOverrideContext)(a,f,d,c.size),a.addView(e.bindingContext,e),++d})},a.prototype.instanceMutated=function(a,c,d){var e=void 0,f=void 0,g=void 0,h=void 0,i=void 0,j=void 0,k=[],l=void 0;for(f=0,g=d.length;f<g;++f)switch(j=d[f],e=j.value,j.type){case"add":h=(0,b.createFullOverrideContext)(a,e,c.size-1,c.size),a.insertView(c.size-1,h.bindingContext,h);break;case"delete":i=this._getViewIndexByValue(a,e),l=a.removeView(i,!0,!a.viewsRequireLifecycle),l instanceof Promise&&k.push(l);break;case"clear":a.removeAllViews(!0,!a.viewsRequireLifecycle);break;default:continue}k.length>0?Promise.all(k).then(function(){(0,b.updateOverrideContexts)(a.views(),0)}):(0,b.updateOverrideContexts)(a.views(),0)},a.prototype._getViewIndexByValue=function(a,b){var c=void 0,d=void 0,e=void 0;for(c=0,d=a.viewCount();c<d;++c)if(e=a.view(c),e.bindingContext[a.local]===b)return c},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/number-repeat-strategy.js",["exports","./repeat-utilities"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.NumberRepeatStrategy=void 0;a.NumberRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(){return null},a.prototype.instanceChanged=function(a,b){var c=this,d=a.removeAllViews(!0,!a.viewsRequireLifecycle);return d instanceof Promise?void d.then(function(){return c._standardProcessItems(a,b)}):void this._standardProcessItems(a,b)},a.prototype._standardProcessItems=function(a,c){var d=a.viewCount(),e=void 0,f=void 0,g=void 0,h=void 0;if(c=Math.floor(c),h=d-c,h>0)for(h>d&&(h=d),e=0,f=h;e<f;++e)a.removeView(d-(e+1),!0,!a.viewsRequireLifecycle);else{for(e=d,f=c;e<f;++e)g=(0,b.createFullOverrideContext)(a,e,e,f),a.addView(g.bindingContext,g);(0,b.updateOverrideContexts)(a.views(),0)}},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/repeat-utilities.js",["exports","aurelia-binding"],function(a,b){"use strict";function c(a,b){var c=a.length;for(b>0&&(b-=1);b<c;++b)e(a[b].overrideContext,b,c)}function d(a,c,d,f,g){var h={},i=(0,b.createOverrideContext)(h,a.scope.overrideContext);return"undefined"!=typeof g?(h[a.key]=g,h[a.value]=c):h[a.local]=c,e(i,d,f),i}function e(a,b,c){var d=0===b,e=b===c-1,f=b%2===0;a.$index=b,a.$first=d,a.$last=e,a.$middle=!(d||e),a.$odd=!f,a.$even=f}function f(a,b){return a.behaviorInstructions.filter(function(a){return a.originalAttrName===b})[0].attributes.items.sourceExpression}function g(a){for(var c=!1;a instanceof b.BindingBehavior;)a=a.expression;for(;a instanceof b.ValueConverter;)a=a.expression,c=!0;return c?a:null}function h(a){for(;a instanceof b.BindingBehavior;){if("oneTime"===a.name)return!0;a=a.expression}return!1}function i(a){a.call&&a.mode===k?a.call(b.sourceContext):a.updateOneTimeBindings&&a.updateOneTimeBindings()}function j(a,b,c,d){if(!c)return a.indexOf(b);for(var e=a.length,f=d||0;f<e;f++)if(c(a[f],b))return f;return-1}Object.defineProperty(a,"__esModule",{value:!0}),a.updateOverrideContexts=c,a.createFullOverrideContext=d,a.updateOverrideContext=e,a.getItemsSourceExpression=f,a.unwrapExpression=g,a.isOneTime=h,a.updateOneTimeBinding=i,a.indexOf=j;var k=b.bindingMode.oneTime})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/analyze-view-factory.js",["exports"],function(a){"use strict";function b(a){var b=a.type,c=null!==b.elementName?b.elementName:b.attributeName;return e.indexOf(c)===-1&&(b.handlesAttached||b.handlesBind||b.handlesCreated||b.handlesDetached||b.handlesUnbind)||b.viewFactory&&d(b.viewFactory)||a.viewFactory&&d(a.viewFactory)}function c(a){var c=a.behaviorInstructions;if(c)for(var e=c.length;e--;)if(b(c[e]))return!0;return a.viewFactory&&d(a.viewFactory)}function d(a){if("_viewsRequireLifecycle"in a)return a._viewsRequireLifecycle;if(a._viewsRequireLifecycle=!1,a.viewFactory)return a._viewsRequireLifecycle=d(a.viewFactory),a._viewsRequireLifecycle;if(a.template.querySelector(".au-animate"))return a._viewsRequireLifecycle=!0,!0;for(var b in a.instructions)if(c(a.instructions[b]))return a._viewsRequireLifecycle=!0,!0;return a._viewsRequireLifecycle=!1,!1}Object.defineProperty(a,"__esModule",{value:!0}),a.viewsRequireLifecycle=d;var e=a.lifecycleOptionalBehaviors=["focus","if","repeat","show","with"]})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/aurelia-hide-style.js",["exports","aurelia-pal"],function(a,b){"use strict";function c(){b.DOM.injectStyles(f)}function d(a){b.FEATURE.shadowDOM&&a&&!a.hasAureliaHideStyle&&(a.hasAureliaHideStyle=!0,b.DOM.injectStyles(f,a))}Object.defineProperty(a,"__esModule",{value:!0}),a.aureliaHideClassName=void 0,a.injectAureliaHideStyleAtHead=c,a.injectAureliaHideStyleAtBoundary=d;var e=a.aureliaHideClassName="aurelia-hide",f="."+e+" { display:none !important; }"})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/aurelia-templating-resources.js",["exports","./compose","./if","./with","./repeat","./show","./hide","./sanitize-html","./replaceable","./focus","aurelia-templating","./css-resource","./html-sanitizer","./attr-binding-behavior","./binding-mode-behaviors","./throttle-binding-behavior","./debounce-binding-behavior","./signal-binding-behavior","./binding-signaler","./update-trigger-binding-behavior","./abstract-repeater","./repeat-strategy-locator","./html-resource-plugin","./null-repeat-strategy","./array-repeat-strategy","./map-repeat-strategy","./set-repeat-strategy","./number-repeat-strategy","./repeat-utilities","./analyze-view-factory","./aurelia-hide-style"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E){"use strict";function F(a){(0,E.injectAureliaHideStyleAtHead)(),a.globalResources("./compose","./if","./with","./repeat","./show","./hide","./replaceable","./sanitize-html","./focus","./binding-mode-behaviors","./throttle-binding-behavior","./debounce-binding-behavior","./signal-binding-behavior","./update-trigger-binding-behavior","./attr-binding-behavior"),(0,w.configure)(a);var b=a.container.get(k.ViewEngine);b.addResourcePlugin(".css",{fetch:function(a){var b;return b={},b[a]=(0,l._createCSSResource)(a),b}})}Object.defineProperty(a,"__esModule",{value:!0}),a.viewsRequireLifecycle=a.unwrapExpression=a.updateOneTimeBinding=a.isOneTime=a.getItemsSourceExpression=a.updateOverrideContext=a.createFullOverrideContext=a.NumberRepeatStrategy=a.SetRepeatStrategy=a.MapRepeatStrategy=a.ArrayRepeatStrategy=a.NullRepeatStrategy=a.RepeatStrategyLocator=a.AbstractRepeater=a.UpdateTriggerBindingBehavior=a.BindingSignaler=a.SignalBindingBehavior=a.DebounceBindingBehavior=a.ThrottleBindingBehavior=a.TwoWayBindingBehavior=a.OneWayBindingBehavior=a.OneTimeBindingBehavior=a.AttrBindingBehavior=a.configure=a.Focus=a.Replaceable=a.SanitizeHTMLValueConverter=a.HTMLSanitizer=a.Hide=a.Show=a.Repeat=a.With=a.If=a.Compose=void 0,a.Compose=b.Compose,a.If=c.If,a.With=d.With,a.Repeat=e.Repeat,a.Show=f.Show,a.Hide=g.Hide,a.HTMLSanitizer=m.HTMLSanitizer,a.SanitizeHTMLValueConverter=h.SanitizeHTMLValueConverter,a.Replaceable=i.Replaceable,a.Focus=j.Focus,a.configure=F,a.AttrBindingBehavior=n.AttrBindingBehavior,a.OneTimeBindingBehavior=o.OneTimeBindingBehavior,a.OneWayBindingBehavior=o.OneWayBindingBehavior,a.TwoWayBindingBehavior=o.TwoWayBindingBehavior,a.ThrottleBindingBehavior=p.ThrottleBindingBehavior,a.DebounceBindingBehavior=q.DebounceBindingBehavior,a.SignalBindingBehavior=r.SignalBindingBehavior,a.BindingSignaler=s.BindingSignaler,a.UpdateTriggerBindingBehavior=t.UpdateTriggerBindingBehavior,a.AbstractRepeater=u.AbstractRepeater,a.RepeatStrategyLocator=v.RepeatStrategyLocator,a.NullRepeatStrategy=x.NullRepeatStrategy,a.ArrayRepeatStrategy=y.ArrayRepeatStrategy,a.MapRepeatStrategy=z.MapRepeatStrategy,a.SetRepeatStrategy=A.SetRepeatStrategy,a.NumberRepeatStrategy=B.NumberRepeatStrategy,a.createFullOverrideContext=C.createFullOverrideContext,a.updateOverrideContext=C.updateOverrideContext,a.getItemsSourceExpression=C.getItemsSourceExpression,a.isOneTime=C.isOneTime,a.updateOneTimeBinding=C.updateOneTimeBinding,a.unwrapExpression=C.unwrapExpression,a.viewsRequireLifecycle=D.viewsRequireLifecycle})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1.js",["npm:aurelia-templating-resources@1.1.1/aurelia-templating-resources"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/route-loader.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-router","aurelia-path","aurelia-metadata"],function(a,b,c,d,e,f){"use strict";function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(a,"__esModule",{value:!0}),a.TemplatingRouteLoader=void 0;var i,j;a.TemplatingRouteLoader=(i=(0,b.inject)(c.CompositionEngine),i(j=function(a){function b(b){var c=g(this,a.call(this));return c.compositionEngine=b,c}return h(b,a),b.prototype.loadRoute=function(a,b){var c=a.container.createChild(),g={viewModel:(0,e.relativeToFile)(b.moduleId,f.Origin.get(a.container.viewModel.constructor).moduleId),childContainer:c,view:b.view||b.viewStrategy,router:a};return c.getChildRouter=function(){var b=void 0;return c.registerHandler(d.Router,function(d){return b||(b=a.createChild(c))}),c.get(d.Router)},this.compositionEngine.ensureViewModel(g)},b}(d.RouteLoader))||j)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/router-view.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-router","aurelia-metadata","aurelia-pal"],function(a,b,c,d,e,f){"use strict";function g(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function h(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}Object.defineProperty(a,"__esModule",{value:!0}),a.RouterView=void 0;var i,j,k,l,m,n,o,p,q=function(){function a(){}return a.prototype.before=function(a,b,c){var d=Promise.resolve(c());return void 0!==b?d.then(function(){return a.remove(b,!0)}):d},a.prototype["with"]=function(a,b,c){var d=Promise.resolve(c());return void 0!==b?Promise.all([a.remove(b,!0),d]):d},a.prototype.after=function(a,b,c){return Promise.resolve(a.removeAll(!0)).then(c)},a}(),r=new q;a.RouterView=(i=(0,c.customElement)("router-view"),j=(0,b.inject)(f.DOM.Element,b.Container,c.ViewSlot,d.Router,c.ViewLocator,c.CompositionTransaction,c.CompositionEngine),i(k=(0,c.noView)(k=j((l=function(){function a(a,b,c,d,e,f,h){g(this,"swapOrder",m,this),g(this,"layoutView",n,this),g(this,"layoutViewModel",o,this),g(this,"layoutModel",p,this),this.element=a,this.container=b,this.viewSlot=c,this.router=d,this.viewLocator=e,this.compositionTransaction=f,this.compositionEngine=h,this.router.registerViewPort(this,this.element.getAttribute("name")),"initialComposition"in f||(f.initialComposition=!0,this.compositionTransactionNotifier=f.enlist())}return a.prototype.created=function(a){this.owningView=a},a.prototype.bind=function(a,b){this.container.viewModel=a,this.overrideContext=b},a.prototype.process=function(a,b){var d=this,f=a.component,g=f.childContainer,h=f.viewModel,i=f.viewModelResource,j=i.metadata,k=f.router.currentInstruction.config,l=k.viewPorts?k.viewPorts[a.name]:{},m={viewModel:l.layoutViewModel||k.layoutViewModel||this.layoutViewModel,view:l.layoutView||k.layoutView||this.layoutView,model:l.layoutModel||k.layoutModel||this.layoutModel,router:a.component.router,childContainer:g,viewSlot:this.viewSlot},n=this.viewLocator.getViewStrategy(f.view||h);return n&&f.view&&n.makeRelativeTo(e.Origin.get(f.router.container.viewModel.constructor).moduleId),j.load(g,i.value,null,n,!0).then(function(e){d.compositionTransactionNotifier||(d.compositionTransactionOwnershipToken=d.compositionTransaction.tryCapture()),(m.viewModel||m.view)&&(a.layoutInstruction=m),a.controller=j.create(g,c.BehaviorInstruction.dynamic(d.element,h,e)),b||d.swap(a)})},a.prototype.swap=function(a){var b=this,d=function(){var d=b.view,e=void 0,f=b.viewSlot,g=a.layoutInstruction;(e=b.swapOrder in r?r[b.swapOrder]:r.after)(f,d,function(){var d=void 0;return g?(g.viewModel||(g.viewModel={}),d=b.compositionEngine.createController(g).then(function(b){return c.ShadowDOM.distributeView(a.controller.view,b.slots||b.view.slots),b.view||b})):d=Promise.resolve(a.controller.view),d.then(function(a){return b.view=a,f.add(a)}).then(function(){b._notify()})})};return a.controller.automate(this.overrideContext,this.owningView),this.compositionTransactionOwnershipToken?this.compositionTransactionOwnershipToken.waitForCompositionComplete().then(function(){return b.compositionTransactionOwnershipToken=null,d()}):d()},a.prototype._notify=function(){this.compositionTransactionNotifier&&(this.compositionTransactionNotifier.done(),this.compositionTransactionNotifier=null)},a}(),m=h(l.prototype,"swapOrder",[c.bindable],{enumerable:!0,initializer:null}),n=h(l.prototype,"layoutView",[c.bindable],{enumerable:!0,initializer:null}),o=h(l.prototype,"layoutViewModel",[c.bindable],{enumerable:!0,initializer:null}),p=h(l.prototype,"layoutModel",[c.bindable],{enumerable:!0,initializer:null}),k=l))||k)||k)||k)})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader@1.0.0/aurelia-loader.js",["exports","aurelia-path","aurelia-metadata"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Loader=a.TemplateRegistryEntry=a.TemplateDependency=void 0;var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=a.TemplateDependency=function(a,b){this.src=a,this.name=b},f=a.TemplateRegistryEntry=function(){function a(a){this.templateIsLoaded=!1,this.factoryIsReady=!1,this.resources=null,this.dependencies=null,this.address=a,this.onReady=null,this._template=null,this._factory=null}return a.prototype.addDependency=function(a,d){var f="string"==typeof a?(0,b.relativeToFile)(a,this.address):c.Origin.get(a).moduleId;this.dependencies.push(new e(f,d))},d(a,[{key:"template",get:function(){return this._template},set:function(a){var c=this.address,d=void 0,f=void 0,g=void 0,h=void 0;this._template=a,this.templateIsLoaded=!0,d=a.content.querySelectorAll("require"),h=this.dependencies=new Array(d.length);for(var i=0,j=d.length;i<j;++i){if(f=d[i],g=f.getAttribute("from"),!g)throw new Error("<require> element in "+c+' has no "from" attribute.');h[i]=new e((0,b.relativeToFile)(g,c),f.getAttribute("as")),f.parentNode&&f.parentNode.removeChild(f)}}},{key:"factory",get:function(){return this._factory},set:function(a){this._factory=a,this.factoryIsReady=!0}}]),a}();a.Loader=function(){function a(){this.templateRegistry={}}return a.prototype.map=function(a,b){throw new Error("Loaders must implement map(id, source).")},a.prototype.normalizeSync=function(a,b){throw new Error("Loaders must implement normalizeSync(moduleId, relativeTo).")},a.prototype.normalize=function(a,b){throw new Error("Loaders must implement normalize(moduleId: string, relativeTo: string): Promise<string>.")},a.prototype.loadModule=function(a){throw new Error("Loaders must implement loadModule(id).")},a.prototype.loadAllModules=function(a){throw new Error("Loader must implement loadAllModules(ids).")},a.prototype.loadTemplate=function(a){throw new Error("Loader must implement loadTemplate(url).")},a.prototype.loadText=function(a){throw new Error("Loader must implement loadText(url).")},a.prototype.applyPluginToUrl=function(a,b){throw new Error("Loader must implement applyPluginToUrl(url, pluginName).")},a.prototype.addPlugin=function(a,b){throw new Error("Loader must implement addPlugin(pluginName, implementation).")},a.prototype.getOrCreateTemplateRegistryEntry=function(a){return this.templateRegistry[a]||(this.templateRegistry[a]=new f(a))},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader@1.0.0.js",["npm:aurelia-loader@1.0.0/aurelia-loader"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-binding@1.0.9/aurelia-binding.js",["exports","aurelia-logging","aurelia-pal","aurelia-task-queue","aurelia-metadata"],function(a,b,c,d,e){"use strict";function f(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function i(a){if(a in La)return La[a];var b=a.charAt(0).toLowerCase()+a.slice(1).replace(/[_.-](\w|$)/g,function(a,b){return b.toUpperCase()});return La[a]=b,b}function j(a,b){return{bindingContext:a,parentOverrideContext:b||null}}function k(a,b,c){var d=b.overrideContext;if(c){for(;c&&d;)c--,d=d.parentOverrideContext;if(c||!d)return;return a in d?d:d.bindingContext}for(;d&&!(a in d)&&!(d.bindingContext&&a in d.bindingContext);)d=d.parentOverrideContext;return d?a in d?d:d.bindingContext:b.bindingContext||b.overrideContext}function l(a,b){return b?{bindingContext:a,overrideContext:j(a,j(b))}:{bindingContext:a,overrideContext:j(a)}}function m(a){for(var b=void 0===this._observerSlots?0:this._observerSlots,c=b;c--&&this[Na[c]]!==a;);if(c===-1){for(c=0;this[Na[c]];)c++;this[Na[c]]=a,a.subscribe(Ma,this),c===b&&(this._observerSlots=c+1)}void 0===this._version&&(this._version=0),this[Oa[c]]=this._version}function n(a,b){var c=this.observerLocator.getObserver(a,b);m.call(this,c)}function o(a){var b=this.observerLocator.getArrayObserver(a);m.call(this,b)}function p(a){for(var b=this._observerSlots;b--;)if(a||this[Oa[b]]!==this._version){var c=this[Na[b]];this[Na[b]]=null,c&&c.unsubscribe(Ma,this)}}function q(){return function(a){a.prototype.observeProperty=n,a.prototype.observeArray=o,a.prototype.unobserve=p,a.prototype.addObserver=m}}function r(a){for(var b=0,d=Qa.keys(),e=void 0;(e=d.next())&&!e.done;){var f=e.value;if(Qa["delete"](f),f.connect(!0),b++,b%100===0&&c.PLATFORM.performance.now()-a>Sa)break}Qa.size?c.PLATFORM.requestAnimationFrame(r):(Ta=!1,Ua=0)}function s(a){Ua<Ra?(Ua++,a.connect(!1)):Qa.set(a),Ta||(Ta=!0,c.PLATFORM.requestAnimationFrame(r))}function t(a,b){return!this.hasSubscriber(a,b)&&(this._context0?this._context1?this._context2?this._contextsRest?(this._contextsRest.push(a),this._callablesRest.push(b),!0):(this._contextsRest=[a],this._callablesRest=[b],!0):(this._context2=a,this._callable2=b,!0):(this._context1=a,this._callable1=b,!0):(this._context0=a,this._callable0=b,!0))}function u(a,b){if(this._context0===a&&this._callable0===b)return this._context0=null,this._callable0=null,!0;if(this._context1===a&&this._callable1===b)return this._context1=null,this._callable1=null,!0;if(this._context2===a&&this._callable2===b)return this._context2=null,this._callable2=null,!0;var c=this._contextsRest,d=void 0;return!(!c||!c.length||(d=c.indexOf(a))===-1||this._callablesRest[d]!==b)&&(c.splice(d,1),this._callablesRest.splice(d,1),!0)}function v(a,b){var c=this._context0,d=this._callable0,e=this._context1,f=this._callable1,g=this._context2,h=this._callable2,i=this._contextsRest?this._contextsRest.length:0,j=void 0,k=void 0,l=void 0,m=void 0;if(i){for(l=Xa.length;l--&&Xa[l];);for(l<0?(l=Xa.length,j=[],k=[],Xa.push(!0),Va.push(j),Wa.push(k)):(Xa[l]=!0,j=Va[l],k=Wa[l]),m=i;m--;)j[m]=this._contextsRest[m],k[m]=this._callablesRest[m]}if(c&&(d?d.call(c,a,b):c(a,b)),e&&(f?f.call(e,a,b):e(a,b)),g&&(h?h.call(g,a,b):g(a,b)),i){for(m=0;m<i;m++){var n=k[m],o=j[m];n?n.call(o,a,b):o(a,b),j[m]=null,k[m]=null}Xa[l]=!1}}function w(){return!!(this._context0||this._context1||this._context2||this._contextsRest&&this._contextsRest.length)}function x(a,b){var c=this._context0===a&&this._callable0===b||this._context1===a&&this._callable1===b||this._context2===a&&this._callable2===b;if(c)return!0;var d=void 0,e=this._contextsRest;if(!e||0===(d=e.length))return!1;for(var f=this._callablesRest;d--;)if(e[d]===a&&f[d]===b)return!0;return!1}function y(){return function(a){a.prototype.addSubscriber=t,a.prototype.removeSubscriber=u,a.prototype.callSubscribers=v,a.prototype.hasSubscribers=w,a.prototype.hasSubscriber=x}}function z(a){return+a===a>>>0}function A(a){return+a}function B(a,b,c){return{index:a,removed:b,addedCount:c}}function C(){}function D(a,b,c,d,e,f){return bb.calcSplices(a,b,c,d,e,f)}function E(a,b,c,d){return b<c||d<a?-1:b===c||d===a?0:a<c?b<d?b-c:d-c:d<b?d-a:b-a}function F(a,b,c,d){for(var e=B(b,c,d),f=!1,g=0,h=0;h<a.length;h++){var i=a[h];if(i.index+=g,!f){var j=E(e.index,e.index+e.removed.length,i.index,i.index+i.addedCount);if(j>=0){a.splice(h,1),h--,g-=i.addedCount-i.removed.length,e.addedCount+=i.addedCount-j;var k=e.removed.length+i.removed.length-j;if(e.addedCount||k){var l=i.removed;if(e.index<i.index){var m=e.removed.slice(0,i.index-e.index);Array.prototype.push.apply(m,l),l=m}if(e.index+e.removed.length>i.index+i.addedCount){var n=e.removed.slice(i.index+i.addedCount-e.index);Array.prototype.push.apply(l,n)}e.removed=l,i.index<e.index&&(e.index=i.index)}else f=!0}else if(e.index<i.index){f=!0,a.splice(h,0,e),h++;var o=e.addedCount-e.removed.length;i.index+=o,g+=o}}}f||a.push(e)}function G(a,b){for(var c=[],d=0;d<b.length;d++){var e=b[d];switch(e.type){case"splice":F(c,e.index,e.removed.slice(),e.addedCount);break;case"add":case"update":case"delete":if(!z(e.name))continue;var f=A(e.name);if(f<0)continue;F(c,f,[e.oldValue],"delete"===e.type?0:1);break;default:console.error("Unexpected record type: "+JSON.stringify(e))}}return c}function H(a,b){var c=[];return G(a,b).forEach(function(b){return 1===b.addedCount&&1===b.removed.length?void(b.removed[0]!==a[b.index]&&c.push(b)):void(c=c.concat(D(a,b.index,b.index+b.addedCount,b.removed,0,b.removed.length)))}),c}function I(a,b,c,d){return{type:a,object:b,key:c,oldValue:d}}function J(a){for(var b=new Array(a.size),c=a.keys(),d=0,e=void 0;(e=c.next())&&!e.done;)b[d]=I("added",a,e.value),d++;return b}function K(a,b){return lb["for"](a,b)}function L(a,b,c){for(var d=b.length,e=[],f=0;f<d;f++)e[f]=b[f].evaluate(a,c);return e}function M(a,b){return null!==a&&null!==b?"string"==typeof a&&"string"!=typeof b?a+b.toString():"string"!=typeof a&&"string"==typeof b?a.toString()+b:a+b:null!==a?a:null!==b?b:0}function N(a,b,c){var d=null===a||void 0===a?null:a[b];if("function"==typeof d)return d;if(!c&&(null===d||void 0===d))return null;throw new Error(b+" is not a function")}function O(a,b){if(Array.isArray(a))return a[parseInt(b,10)];if(a)return a[b];if(null!==a&&void 0!==a)return a[b]}function P(a,b,c){if(Array.isArray(a)){var d=parseInt(b,10);a.length<=d&&(a.length=d+1),a[d]=c}else a[b]=c;return c}function Q(a){var b=new Gb;return a.accept(b)}function R(a){return a>=Nb&&a<=Sb||a===Hc}function S(a){return vc<=a&&a<=Dc||nc<=a&&a<=pc||a===uc||a===Vb}function T(a){return vc<=a&&a<=Dc||nc<=a&&a<=pc||lc<=a&&a<=mc||a===uc||a===Vb}function U(a){return lc<=a&&a<=mc}function V(a){return a===wc||a===oc}function W(a){return a===cc||a===ac}function X(a){switch(a){case yc:return Ob;case xc:return Qb;case zc:return Rb;case Ac:return Nb;case Cc:return Pb;default:return a}}function Y(a,b){if(!a)throw b||"Assertion failed"}function Z(a,b){return Mc["for"](a,b)}function $(a){return a.path&&a.path[0]||a.deepPath&&a.deepPath[0]||a.target}function _(a){a.standardStopPropagation=a.stopPropagation,a.stopPropagation=function(){this.propagationStopped=!0,this.standardStopPropagation()}}function aa(a){var b=!1;a.propagationStopped=!1;for(var c=$(a);c&&!a.propagationStopped;){if(c.delegatedCallbacks){var d=c.delegatedCallbacks[a.type];d&&(b||(_(a),b=!0),d(a))}c=c.parentNode}}function ba(a){return!!(a&&a.get&&a.get.dependencies)}function ca(a,b,c){var d=Object.getOwnPropertyDescriptor(a.prototype,b);d.get.dependencies=c}function da(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return function(a,c,d){return d.get.dependencies=b,d}}function ea(a,b,c,d){var e=c.get.dependencies;if(!(e instanceof fd)){for(var f=e.length;f--;)e[f]=d.parser.parse(e[f]);e=c.get.dependencies=new fd(b,e)}var g={bindingContext:a,overrideContext:j(a)};return new Ya(g,e,d)}function fa(a){var b=c.DOM.createElement("div");return b.innerHTML=a,b.firstChild}function ga(a){return void 0===a||"string"==typeof a?function(b){e.metadata.define(e.metadata.resource,new pd(a),b)}:void e.metadata.define(e.metadata.resource,new pd,a)}function ha(a){return void 0===a||"string"==typeof a?function(b){e.metadata.define(e.metadata.resource,new qd(a),b)}:void e.metadata.define(e.metadata.resource,new qd,a)}function ia(a){var b=a.au;if(void 0===b)throw new Error('No Aurelia APIs are defined for the element: "'+a.tagName+'".');return b}function ja(a,b){return vd["for"](a,b)}function ka(a,b,c){function d(a,b,c,d){var e=void 0===b;e&&(a=a.prototype,b="string"==typeof d?d:d.name);var f="_"+b,g={configurable:!0,enumerable:!1,writable:!0},h=d&&d.changeHandler||b+"Changed";return c?"function"==typeof c.initializer&&(g.value=c.initializer()):c={},"enumerable"in c||(c.enumerable=!0),delete c.value,delete c.writable,delete c.initializer,Reflect.defineProperty(a,f,g),c.get=function(){return this[f]},c.set=function(a){var c=this[f];this[f]=a,Reflect.defineProperty(this,f,{enumerable:!1}),this[h]&&this[h](a,c,b)},c.get.dependencies=[f],e?void Reflect.defineProperty(a,b,c):c}return void 0===b?function(b,c,e){return d(b,c,e,a)}:d(a,b,c)}Object.defineProperty(a,"__esModule",{value:!0}),a.getSetObserver=a.BindingEngine=a.NameExpression=a.Listener=a.ListenerExpression=a.BindingBehaviorResource=a.ValueConverterResource=a.Call=a.CallExpression=a.Binding=a.BindingExpression=a.ObjectObservationAdapter=a.ObserverLocator=a.SVGAnalyzer=a.presentationAttributes=a.presentationElements=a.elements=a.ComputedExpression=a.ClassObserver=a.SelectValueObserver=a.CheckedObserver=a.ValueAttributeObserver=a.StyleObserver=a.DataAttributeObserver=a.dataAttributeAccessor=a.XLinkAttributeObserver=a.SetterObserver=a.PrimitiveObserver=a.propertyAccessor=a.DirtyCheckProperty=a.DirtyChecker=a.EventManager=a.getMapObserver=a.ParserImplementation=a.Parser=a.Scanner=a.Lexer=a.Token=a.bindingMode=a.ExpressionCloner=a.Unparser=a.LiteralObject=a.LiteralArray=a.LiteralString=a.LiteralPrimitive=a.PrefixNot=a.Binary=a.CallFunction=a.CallMember=a.CallScope=a.AccessKeyed=a.AccessMember=a.AccessScope=a.AccessThis=a.Conditional=a.Assign=a.ValueConverter=a.BindingBehavior=a.Chain=a.Expression=a.getArrayObserver=a.CollectionLengthObserver=a.ModifyCollectionObserver=a.ExpressionObserver=a.sourceContext=void 0,
+"bundle";System.registerDynamic("github:github/fetch@2.0.3/fetch.js",[],!1,function(a,b,c){var d=System.get("@@global-helpers").prepareGlobal(c.id,null,null);return function(a){!function(a){"use strict";function b(a){if("string"!=typeof a&&(a=String(a)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(a))throw new TypeError("Invalid character in header field name");return a.toLowerCase()}function c(a){return"string"!=typeof a&&(a=String(a)),a}function d(a){var b={next:function(){var b=a.shift();return{done:void 0===b,value:b}}};return r.iterable&&(b[Symbol.iterator]=function(){return b}),b}function e(a){this.map={},a instanceof e?a.forEach(function(a,b){this.append(b,a)},this):Array.isArray(a)?a.forEach(function(a){this.append(a[0],a[1])},this):a&&Object.getOwnPropertyNames(a).forEach(function(b){this.append(b,a[b])},this)}function f(a){return a.bodyUsed?Promise.reject(new TypeError("Already read")):void(a.bodyUsed=!0)}function g(a){return new Promise(function(b,c){a.onload=function(){b(a.result)},a.onerror=function(){c(a.error)}})}function h(a){var b=new FileReader,c=g(b);return b.readAsArrayBuffer(a),c}function i(a){var b=new FileReader,c=g(b);return b.readAsText(a),c}function j(a){for(var b=new Uint8Array(a),c=new Array(b.length),d=0;d<b.length;d++)c[d]=String.fromCharCode(b[d]);return c.join("")}function k(a){if(a.slice)return a.slice(0);var b=new Uint8Array(a.byteLength);return b.set(new Uint8Array(a)),b.buffer}function l(){return this.bodyUsed=!1,this._initBody=function(a){if(this._bodyInit=a,a)if("string"==typeof a)this._bodyText=a;else if(r.blob&&Blob.prototype.isPrototypeOf(a))this._bodyBlob=a;else if(r.formData&&FormData.prototype.isPrototypeOf(a))this._bodyFormData=a;else if(r.searchParams&&URLSearchParams.prototype.isPrototypeOf(a))this._bodyText=a.toString();else if(r.arrayBuffer&&r.blob&&t(a))this._bodyArrayBuffer=k(a.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!r.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(a)&&!u(a))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=k(a)}else this._bodyText="";this.headers.get("content-type")||("string"==typeof a?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r.searchParams&&URLSearchParams.prototype.isPrototypeOf(a)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},r.blob&&(this.blob=function(){var a=f(this);if(a)return a;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(h)}),this.text=function(){var a=f(this);if(a)return a;if(this._bodyBlob)return i(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(j(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},r.formData&&(this.formData=function(){return this.text().then(o)}),this.json=function(){return this.text().then(JSON.parse)},this}function m(a){var b=a.toUpperCase();return v.indexOf(b)>-1?b:a}function n(a,b){b=b||{};var c=b.body;if(a instanceof n){if(a.bodyUsed)throw new TypeError("Already read");this.url=a.url,this.credentials=a.credentials,b.headers||(this.headers=new e(a.headers)),this.method=a.method,this.mode=a.mode,c||null==a._bodyInit||(c=a._bodyInit,a.bodyUsed=!0)}else this.url=String(a);if(this.credentials=b.credentials||this.credentials||"omit",!b.headers&&this.headers||(this.headers=new e(b.headers)),this.method=m(b.method||this.method||"GET"),this.mode=b.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&c)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(c)}function o(a){var b=new FormData;return a.trim().split("&").forEach(function(a){if(a){var c=a.split("="),d=c.shift().replace(/\+/g," "),e=c.join("=").replace(/\+/g," ");b.append(decodeURIComponent(d),decodeURIComponent(e))}}),b}function p(a){var b=new e;return a.split(/\r?\n/).forEach(function(a){var c=a.split(":"),d=c.shift().trim();if(d){var e=c.join(":").trim();b.append(d,e)}}),b}function q(a,b){b||(b={}),this.type="default",this.status="status"in b?b.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in b?b.statusText:"OK",this.headers=new e(b.headers),this.url=b.url||"",this._initBody(a)}if(!a.fetch){var r={searchParams:"URLSearchParams"in a,iterable:"Symbol"in a&&"iterator"in Symbol,blob:"FileReader"in a&&"Blob"in a&&function(){try{return new Blob,!0}catch(a){return!1}}(),formData:"FormData"in a,arrayBuffer:"ArrayBuffer"in a};if(r.arrayBuffer)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],t=function(a){return a&&DataView.prototype.isPrototypeOf(a)},u=ArrayBuffer.isView||function(a){return a&&s.indexOf(Object.prototype.toString.call(a))>-1};e.prototype.append=function(a,d){a=b(a),d=c(d);var e=this.map[a];this.map[a]=e?e+","+d:d},e.prototype["delete"]=function(a){delete this.map[b(a)]},e.prototype.get=function(a){return a=b(a),this.has(a)?this.map[a]:null},e.prototype.has=function(a){return this.map.hasOwnProperty(b(a))},e.prototype.set=function(a,d){this.map[b(a)]=c(d)},e.prototype.forEach=function(a,b){for(var c in this.map)this.map.hasOwnProperty(c)&&a.call(b,this.map[c],c,this)},e.prototype.keys=function(){var a=[];return this.forEach(function(b,c){a.push(c)}),d(a)},e.prototype.values=function(){var a=[];return this.forEach(function(b){a.push(b)}),d(a)},e.prototype.entries=function(){var a=[];return this.forEach(function(b,c){a.push([c,b])}),d(a)},r.iterable&&(e.prototype[Symbol.iterator]=e.prototype.entries);var v=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];n.prototype.clone=function(){return new n(this,{body:this._bodyInit})},l.call(n.prototype),l.call(q.prototype),q.prototype.clone=function(){return new q(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new e(this.headers),url:this.url})},q.error=function(){var a=new q(null,{status:0,statusText:""});return a.type="error",a};var w=[301,302,303,307,308];q.redirect=function(a,b){if(w.indexOf(b)===-1)throw new RangeError("Invalid status code");return new q(null,{status:b,headers:{location:a}})},a.Headers=e,a.Request=n,a.Response=q,a.fetch=function(a,b){return new Promise(function(c,d){var e=new n(a,b),f=new XMLHttpRequest;f.onload=function(){var a={status:f.status,statusText:f.statusText,headers:p(f.getAllResponseHeaders()||"")};a.url="responseURL"in f?f.responseURL:a.headers.get("X-Request-URL");var b="response"in f?f.response:f.responseText;c(new q(b,a))},f.onerror=function(){d(new TypeError("Network request failed"))},f.ontimeout=function(){d(new TypeError("Network request failed"))},f.open(e.method,e.url,!0),"include"===e.credentials&&(f.withCredentials=!0),"responseType"in f&&r.blob&&(f.responseType="blob"),e.headers.forEach(function(a,b){f.setRequestHeader(b,a)}),f.send("undefined"==typeof e._bodyInit?null:e._bodyInit)})},a.fetch.polyfill=!0}}("undefined"!=typeof self?self:this)}(this),d()}),System.registerDynamic("github:github/fetch@2.0.3.js",["github:github/fetch@2.0.3/fetch.js"],!0,function(a,b,c){this||self;c.exports=a("github:github/fetch@2.0.3/fetch.js")}),function(){var a=System.amdDefine;a("npm:aurelia-pal-browser@1.0.0/aurelia-pal-browser.js",["exports","aurelia-pal"],function(a,b){"use strict";function c(){function a(){}a.name||Object.defineProperty(Function.prototype,"name",{get:function(){var a=this.toString().match(/^\s*function\s*(\S*)\s*\(/)[1];return Object.defineProperty(this,"name",{value:a}),a}})}function d(){if("classList"in document.createElement("_")&&(!document.createElementNS||"classList"in document.createElementNS("http://www.w3.org/2000/svg","g"))){var a=document.createElement("_");if(a.classList.add("c1","c2"),!a.classList.contains("c2")){var b=function(a){var b=DOMTokenList.prototype[a];DOMTokenList.prototype[a]=function(a){for(var c=0,d=arguments.length;c<d;++c)a=arguments[c],b.call(this,a)}};b("add"),b("remove")}a.classList.toggle("c3",!1),a.classList.contains("c3")&&!function(){var a=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(b,c){return 1 in arguments&&!this.contains(b)==!c?c:a.call(this,b)}}(),a=null}else!function(){var a="prototype",b=String.prototype.trim,c=Array.prototype.indexOf,d=[],e=function(a,b){this.name=a,this.code=DOMException[a],this.message=b},f=function(a,b){if(""===b)throw new e("SYNTAX_ERR","An invalid or illegal string was specified");if(/\s/.test(b))throw new e("INVALID_CHARACTER_ERR","String contains an invalid character");return c.call(a,b)},g=function(a){for(var c=b.call(a.getAttribute("class")||""),e=c?c.split(/\s+/):d,f=0,g=e.length;f<g;++f)this.push(e[f]);this._updateClassName=function(){a.setAttribute("class",this.toString())}},h=g[a]=[];e[a]=Error[a],h.item=function(a){return this[a]||null},h.contains=function(a){return a+="",f(this,a)!==-1},h.add=function(){var a=arguments,b=0,c=a.length,d=void 0,e=!1;do d=a[b]+"",f(this,d)===-1&&(this.push(d),e=!0);while(++b<c);e&&this._updateClassName()},h.remove=function(){var a=arguments,b=0,c=a.length,d=void 0,e=!1,g=void 0;do for(d=a[b]+"",g=f(this,d);g!==-1;)this.splice(g,1),e=!0,g=f(this,d);while(++b<c);e&&this._updateClassName()},h.toggle=function(a,b){a+="";var c=this.contains(a),d=c?b!==!0&&"remove":b!==!1&&"add";return d&&this[d](a),b===!0||b===!1?b:!c},h.toString=function(){return this.join(" ")},Object.defineProperty(Element.prototype,"classList",{get:function(){return new g(this)},enumerable:!0,configurable:!0})}()}function e(){"performance"in window==!1&&(window.performance={}),"now"in window.performance==!1&&!function(){var a=Date.now();performance.timing&&performance.timing.navigationStart&&(a=performance.timing.navigationStart),window.performance.now=function(){return Date.now()-a}}(),k.performance=window.performance}function f(){if(!window.CustomEvent||"function"!=typeof window.CustomEvent){var a=function(a,b){b=b||{bubbles:!1,cancelable:!1,detail:void 0};var c=document.createEvent("CustomEvent");return c.initCustomEvent(a,b.bubbles,b.cancelable,b.detail),c};a.prototype=window.Event.prototype,window.CustomEvent=a}}function g(){if(Element&&!Element.prototype.matches){var a=Element.prototype;a.matches=a.matchesSelector||a.mozMatchesSelector||a.msMatchesSelector||a.oMatchesSelector||a.webkitMatchesSelector}}function h(){function a(a){return"template"===a.tagName&&"http://www.w3.org/2000/svg"===a.namespaceURI}function b(a){var b=a.ownerDocument.createElement("template"),d=a.attributes,e=d.length,f=void 0;for(a.parentNode.insertBefore(b,a);e-- >0;)f=d[e],b.setAttribute(f.name,f.value),a.removeAttribute(f.name);return a.parentNode.removeChild(a),c(b)}function c(a){for(var b=a.content=document.createDocumentFragment(),c=void 0;c=a.firstChild;)b.appendChild(c);return a}function d(d){for(var e=c(d).content,f=e.querySelectorAll("template"),g=0,h=f.length;g<h;++g){var i=f[g];a(i)?b(i):c(i)}return d}l.htmlTemplateElement?l.ensureHTMLTemplateElement=function(a){return a}:l.ensureHTMLTemplateElement=d}function i(){o||(o=!0,f(),c(),h(),g(),d(),e(),(0,b.initializePAL)(function(a,b,c){Object.assign(a,k),Object.assign(b,l),Object.assign(c,n),function(a){a.console=a.console||{};for(var b=a.console,c=void 0,d=void 0,e={},f=function(){},g="memory".split(","),h="assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn".split(",");c=g.pop();)b[c]||(b[c]=e);for(;d=h.pop();)b[d]||(b[d]=f)}(a.global),a.global.console&&"object"===j(console.log)&&["log","info","warn","error","assert","dir","clear","profile","profileEnd"].forEach(function(a){console[a]=this.bind(console[a],console)},Function.prototype.call),Object.defineProperty(c,"title",{get:function(){return document.title},set:function(a){document.title=a}}),Object.defineProperty(c,"activeElement",{get:function(){return document.activeElement}}),Object.defineProperty(a,"XMLHttpRequest",{get:function(){return a.global.XMLHttpRequest}})}))}Object.defineProperty(a,"__esModule",{value:!0}),a._DOM=a._FEATURE=a._PLATFORM=void 0,a._ensureFunctionName=c,a._ensureClassList=d,a._ensurePerformance=e,a._ensureCustomEvent=f,a._ensureElementMatches=g,a._ensureHTMLTemplateElement=h,a.initialize=i;var j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},k=a._PLATFORM={location:window.location,history:window.history,addEventListener:function(a,b,c){this.global.addEventListener(a,b,c)},removeEventListener:function(a,b,c){this.global.removeEventListener(a,b,c)},performance:window.performance,requestAnimationFrame:function(a){return this.global.requestAnimationFrame(a)}},l=a._FEATURE={};l.shadowDOM=function(){return!!HTMLElement.prototype.attachShadow}(),l.scopedCSS=function(){return"scoped"in document.createElement("style")}(),l.htmlTemplateElement=function(){return"content"in document.createElement("template")}(),l.mutationObserver=function(){return!(!window.MutationObserver&&!window.WebKitMutationObserver)}();var m=window.ShadowDOMPolyfill||null,n=a._DOM={Element:Element,SVGElement:SVGElement,boundary:"aurelia-dom-boundary",addEventListener:function(a,b,c){document.addEventListener(a,b,c)},removeEventListener:function(a,b,c){document.removeEventListener(a,b,c)},adoptNode:function(a){return document.adoptNode(a,!0)},createElement:function(a){return document.createElement(a)},createTextNode:function(a){return document.createTextNode(a)},createComment:function(a){return document.createComment(a)},createDocumentFragment:function(){return document.createDocumentFragment()},createMutationObserver:function(a){return new(window.MutationObserver||window.WebKitMutationObserver)(a)},createCustomEvent:function(a,b){return new window.CustomEvent(a,b)},dispatchEvent:function(a){document.dispatchEvent(a)},getComputedStyle:function(a){return window.getComputedStyle(a)},getElementById:function(a){return document.getElementById(a)},querySelectorAll:function(a){return document.querySelectorAll(a)},nextElementSibling:function(a){if(a.nextElementSibling)return a.nextElementSibling;do a=a.nextSibling;while(a&&1!==a.nodeType);return a},createTemplateFromMarkup:function(a){var b=document.createElement("div");b.innerHTML=a;var c=b.firstElementChild;if(!c||"TEMPLATE"!==c.nodeName)throw new Error("Template markup must be wrapped in a <template> element e.g. <template> <!-- markup here --> </template>");return l.ensureHTMLTemplateElement(c)},appendNode:function(a,b){(b||document.body).appendChild(a)},replaceNode:function(a,b,c){b.parentNode?b.parentNode.replaceChild(a,b):null!==m?m.unwrap(c).replaceChild(m.unwrap(a),m.unwrap(b)):c.replaceChild(a,b)},removeNode:function(a,b){a.parentNode?a.parentNode.removeChild(a):b&&(null!==m?m.unwrap(b).removeChild(m.unwrap(a)):b.removeChild(a))},injectStyles:function(a,b,c){var d=document.createElement("style");return d.innerHTML=a,d.type="text/css",b=b||document.head,c&&b.childNodes.length>0?b.insertBefore(d,b.childNodes[0]):b.appendChild(d),d}},o=!1})}(),function(){var a=System.amdDefine;a("npm:aurelia-pal-browser@1.0.0.js",["npm:aurelia-pal-browser@1.0.0/aurelia-pal-browser"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-polyfills@1.1.1/aurelia-polyfills.js",["aurelia-pal"],function(a){"use strict";var b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a};!function(b,c){if(!(c in b)){var d,e=a.PLATFORM.global,f=0,g=""+Math.random(),h="__symbol:",i=h.length,j="__symbol@@"+g,k="defineProperty",l="defineProperties",m="getOwnPropertyNames",n="getOwnPropertyDescriptor",o="propertyIsEnumerable",p=b[m],q=b[n],r=b.create,s=b.keys,t=b[k],u=b[l],v=q(b,m),w=b.prototype,x=w.hasOwnProperty,y=w[o],z=w.toString,A=(Array.prototype.indexOf||function(a){for(var b=this.length;b--&&this[b]!==a;);return b},function(a,b,c){x.call(a,j)||t(a,j,{enumerable:!1,configurable:!1,writable:!1,value:{}}),a[j]["@@"+b]=c}),B=function(a,b){var c=r(a);return p(b).forEach(function(a){G.call(b,a)&&M(c,a,b[a])}),c},C=function(a){var b=r(a);return b.enumerable=!1,b},D=function(){},E=function(a){return a!=j&&!x.call(J,a)},F=function(a){return a!=j&&x.call(J,a)},G=function(a){var b=""+a;return F(b)?x.call(this,b)&&this[j]["@@"+b]:y.call(this,a)},H=function(a){var c={enumerable:!1,configurable:!0,get:D,set:function(b){d(this,a,{enumerable:!1,configurable:!0,writable:!0,value:b}),A(this,a,!0)}};return t(w,a,c),J[a]=t(b(a),"constructor",K)},I=function(a){if(this&&this!==e)throw new TypeError("Symbol is not a constructor");return H(h.concat(a||"",g,++f))},J=r(null),K={value:I},L=function(a){return J[a]},M=function(a,b,c){var e=""+b;return F(e)?(d(a,e,c.enumerable?C(c):c),A(a,e,!!c.enumerable)):t(a,b,c),a},N=function(a){var c=z.call(a);return a="[object String]"===c?a.split(""):b(a),p(a).filter(F).map(L)};v.value=M,t(b,k,v),v.value=N,t(b,c,v),v.value=function(a){return p(a).filter(E)},t(b,m,v),v.value=function(a,b){var c=N(b);return c.length?s(b).concat(c).forEach(function(c){G.call(b,c)&&M(a,c,b[c])}):u(a,b),a},t(b,l,v),v.value=G,t(w,o,v),v.value=I,t(e,"Symbol",v),v.value=function(a){var b=h.concat(h,a,g);return b in w?J[b]:H(b)},t(I,"for",v),v.value=function(a){return x.call(J,a)?a.slice(2*i,-g.length):void 0},t(I,"keyFor",v),v.value=function(a,b){var c=q(a,b);return c&&F(b)&&(c.enumerable=G.call(a,b)),c},t(b,n,v),v.value=function(a,b){return 1===arguments.length?r(a):B(a,b)},t(b,"create",v),v.value=function(){var a=z.call(this);return"[object String]"===a&&F(this)?"[object Symbol]":a},t(w,"toString",v);try{d=r(t({},h,{get:function(){return t(this,h,{value:!1})[h]}}))[h]||t}catch(O){d=function(a,b,c){var d=q(w,b);delete w[b],t(a,b,c),t(w,b,d)}}}}(Object,"getOwnPropertySymbols"),function(a,b){var c,d=a.defineProperty,e=a.prototype,f=e.toString,g="toStringTag";["iterator","match","replace","search","split","hasInstance","isConcatSpreadable","unscopables","species","toPrimitive",g].forEach(function(b){if(!(b in Symbol))switch(d(Symbol,b,{value:Symbol(b)}),b){case g:c=a.getOwnPropertyDescriptor(e,"toString"),c.value=function(){var a=f.call(this),b="undefined"==typeof this||null===this?void 0:this[Symbol.toStringTag];return"undefined"==typeof b?a:"[object "+b+"]"},d(e,"toString",c)}})}(Object,Symbol),function(a,b,c){function d(){return this}b[a]||(b[a]=function(){var b=0,c=this,e={next:function(){var a=c.length<=b;return a?{done:a}:{done:a,value:c[b++]}}};return e[a]=d,e}),c[a]||(c[a]=function(){var b=String.fromCodePoint,c=this,e=0,f=c.length,g={next:function(){var a=f<=e,d=a?"":b(c.codePointAt(e));return e+=d.length,a?{done:a}:{done:a,value:d}}};return g[a]=d,g})}(Symbol.iterator,Array.prototype,String.prototype),Number.isNaN=Number.isNaN||function(a){return a!==a},Number.isFinite=Number.isFinite||function(a){return"number"==typeof a&&isFinite(a)},String.prototype.endsWith&&!function(){try{return!"ab".endsWith("a",1)}catch(a){return!0}}()||(String.prototype.endsWith=function(a,b){var c=this.toString();("number"!=typeof b||!isFinite(b)||Math.floor(b)!==b||b>c.length)&&(b=c.length),b-=a.length;var d=c.indexOf(a,b);return d!==-1&&d===b}),String.prototype.startsWith&&!function(){try{return!"ab".startsWith("b",1)}catch(a){return!0}}()||(String.prototype.startsWith=function(a,b){return b=b||0,this.substr(b,a.length)===a}),Array.from||(Array.from=function(){var a=function(a){return isNaN(a=+a)?0:(a>0?Math.floor:Math.ceil)(a)},b=function(b){return b>0?Math.min(a(b),9007199254740991):0},c=function(a,b,c,d){try{return b(c,d)}catch(e){throw"function"==typeof a["return"]&&a["return"](),e}};return function(a){var d,e,f,g,h=Object(a),i="function"==typeof this?this:Array,j=arguments.length,k=j>1?arguments[1]:void 0,l=void 0!==k,m=0,n=h[Symbol.iterator];if(l&&(k=k.bind(j>2?arguments[2]:void 0)),void 0==n||Array.isArray(a))for(d=b(h.length),e=new i(d);d>m;m++)e[m]=l?k(h[m],m):h[m];else for(g=n.call(h),e=new i;!(f=g.next()).done;m++)e[m]=l?c(g,k,f.value,m):f.value;return e.length=m,e}}()),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{configurable:!0,writable:!0,enumerable:!1,value:function f(a){if(null===this)throw new TypeError("Array.prototype.find called on null or undefined");if("function"!=typeof a)throw new TypeError("predicate must be a function");for(var f,b=Object(this),c=b.length>>>0,d=arguments[1],e=0;e<c;e++)if(f=b[e],a.call(d,f,e,b))return f}}),Array.prototype.findIndex||Object.defineProperty(Array.prototype,"findIndex",{configurable:!0,writable:!0,enumerable:!1,value:function g(a){if(null===this)throw new TypeError("Array.prototype.findIndex called on null or undefined");if("function"!=typeof a)throw new TypeError("predicate must be a function");for(var g,b=Object(this),c=b.length>>>0,d=arguments[1],e=0;e<c;e++)if(g=b[e],a.call(d,g,e,b))return e;return-1}}),Array.prototype.includes||Object.defineProperty(Array.prototype,"includes",{configurable:!0,writable:!0,enumerable:!1,value:function(a){var b=Object(this),c=parseInt(b.length)||0;if(0===c)return!1;var d,e=parseInt(arguments[1])||0;e>=0?d=e:(d=c+e,d<0&&(d=0));for(var f;d<c;){if(f=b[d],a===f||a!==a&&f!==f)return!0;d++}return!1}}),function(){var a=!1;try{var b=Object.keys("a");a=1!==b.length||"0"!==b[0]}catch(c){a=!0}a&&(Object.keys=function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=c.length;return function(e){if(void 0===e||null===e)throw TypeError("Cannot convert undefined or null to object");e=Object(e);var f,g,h=[];for(f in e)a.call(e,f)&&h.push(f);if(b)for(g=0;g<d;g++)a.call(e,c[g])&&h.push(c[g]);return h}}())}(),function(a){"assign"in a||a.defineProperty(a,"assign",{configurable:!0,writable:!0,value:function(){var b=a.getOwnPropertySymbols,c=a.propertyIsEnumerable,d=b?function(a){return b(a).filter(c,a)}:function(){return Array.prototype};return function(c){function e(a){c[a]=h[a]}!b||c instanceof a||console.warn("problematic Symbols",c);for(var f=1,g=arguments.length;f<g;++f){var h=arguments[f];null!==h&&void 0!==h&&a.keys(h).concat(d(h)).forEach(e)}return c}}()})}(Object),function(a){function b(a,b){function d(a){return this&&this.constructor===d?(this._keys=[],this._values=[],this._itp=[],this.objectOnly=b,void(a&&c.call(this,a))):new d(a)}return b||t(a,"size",{get:q}),a.constructor=d,d.prototype=a,d}function c(a){this.add?a.forEach(this.add,this):a.forEach(function(a){this.set(a[0],a[1])},this)}function d(a){return this.has(a)&&(this._keys.splice(s,1),this._values.splice(s,1),this._itp.forEach(function(a){s<a[0]&&a[0]--})),-1<s}function e(a){return this.has(a)?this._values[s]:void 0}function f(a,b){if(this.objectOnly&&b!==Object(b))throw new TypeError("Invalid value used as weak collection key");if(b!=b||0===b)for(s=a.length;s--&&!u(a[s],b););else s=a.indexOf(b);return-1<s}function g(a){return f.call(this,this._values,a)}function h(a){return f.call(this,this._keys,a)}function i(a,b){return this.has(a)?this._values[s]=b:this._values[this._keys.push(a)-1]=b,this}function j(a){return this.has(a)||this._values.push(a),this}function k(){(this._keys||0).length=this._values.length=0}function l(){return p(this._itp,this._keys)}function m(){return p(this._itp,this._values)}function n(){return p(this._itp,this._keys,this._values)}function o(){return p(this._itp,this._values,this._values)}function p(a,b,c){var d,e=[0],f=!1;return a.push(e),d={},d[Symbol.iterator]=function(){return this},d.next=function(){var d,g=e[0];return!f&&g<b.length?(d=c?[b[g],c[g]]:b[g],e[0]++):(f=!0,a.splice(a.indexOf(e),1)),{done:f,value:d}},d}function q(){return this._values.length}function r(a,b){for(var c=this.entries();;){var d=c.next();if(d.done)break;a.call(b,d.value[1],d.value[0],this)}}var s,t=Object.defineProperty,u=function(a,b){return a===b||a!==a&&b!==b};if("undefined"==typeof WeakMap&&(a.WeakMap=b({"delete":d,clear:k,get:e,has:h,set:i},!0)),"undefined"==typeof Map||"function"!=typeof(new Map).values||!(new Map).values().next){var v;a.Map=b((v={"delete":d,has:h,get:e,set:i,keys:l,values:m,entries:n,forEach:r,clear:k},v[Symbol.iterator]=n,v))}if("undefined"==typeof Set||"function"!=typeof(new Set).values||!(new Set).values().next){var w;a.Set=b((w={has:g,add:j,"delete":d,clear:k,keys:m,values:m,entries:o,forEach:r},w[Symbol.iterator]=m,w))}"undefined"==typeof WeakSet&&(a.WeakSet=b({"delete":d,add:j,clear:k,has:g},!0))}(a.PLATFORM.global);var c=Object.freeze({}),d="__metadata__",e=Function.prototype.bind;"undefined"==typeof a.PLATFORM.global.Reflect&&(a.PLATFORM.global.Reflect={}),"function"!=typeof Reflect.getOwnMetadata&&(Reflect.getOwnMetadata=function(a,b,e){if(b.hasOwnProperty(d))return(b[d][e]||c)[a]}),"function"!=typeof Reflect.defineMetadata&&(Reflect.defineMetadata=function(a,b,c,e){var f=c.hasOwnProperty(d)?c[d]:c[d]={},g=f[e]||(f[e]={});g[a]=b}),"function"!=typeof Reflect.metadata&&(Reflect.metadata=function(a,b){return function(c,d){Reflect.defineMetadata(a,b,c,d)}}),"function"!=typeof Reflect.defineProperty&&(Reflect.defineProperty=function(a,c,d){if("object"===("undefined"==typeof a?"undefined":b(a))?null===a:"function"!=typeof a)throw new TypeError("Reflect.defineProperty called on non-object");try{return Object.defineProperty(a,c,d),!0}catch(e){return!1}}),"function"!=typeof Reflect.construct&&(Reflect.construct=function(a,b){if(b)switch(b.length){case 0:return new a;case 1:return new a(b[0]);case 2:return new a(b[0],b[1]);case 3:return new a(b[0],b[1],b[2]);case 4:return new a(b[0],b[1],b[2],b[3])}var c=[null];return c.push.apply(c,b),new(e.apply(a,c))}),"function"!=typeof Reflect.ownKeys&&(Reflect.ownKeys=function(a){return Object.getOwnPropertyNames(a).concat(Object.getOwnPropertySymbols(a))})})}(),function(){var a=System.amdDefine;a("npm:aurelia-polyfills@1.1.1.js",["npm:aurelia-polyfills@1.1.1/aurelia-polyfills"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-bootstrapper@1.0.0/aurelia-bootstrapper.js",["exports","aurelia-pal","aurelia-pal-browser","aurelia-polyfills"],function(a,b,c){"use strict";function d(a){return new Promise(function(b,c){m?b(a(m)):l.push(function(){try{b(a(m))}catch(d){c(d)}})})}function e(a){return new Promise(function(b,c){function d(){a.document.removeEventListener("DOMContentLoaded",d),a.removeEventListener("load",d),b(a.document)}"complete"===a.document.readyState?b(a.document):(a.document.addEventListener("DOMContentLoaded",d),a.addEventListener("load",d))})}function f(){return b.PLATFORM.Loader?Promise.resolve(new b.PLATFORM.Loader):window.System&&"function"==typeof window.System["import"]?System.normalize("aurelia-bootstrapper").then(function(a){return System.normalize("aurelia-loader-default",a)}).then(function(a){return System["import"](a).then(function(a){return new a.DefaultLoader})}):"function"==typeof window.require?new Promise(function(a,b){return require(["aurelia-loader-default"],function(b){return a(new b.DefaultLoader)},b)}):Promise.reject("No PLATFORM.Loader is defined and there is neither a System API (ES6) or a Require API (AMD) globally available to load your app.")}function g(a){return a.normalize("aurelia-bootstrapper").then(function(b){return a.normalize("aurelia-framework",b).then(function(c){return a.map("aurelia-framework",c),Promise.all([a.normalize("aurelia-dependency-injection",c).then(function(b){return a.map("aurelia-dependency-injection",b)}),a.normalize("aurelia-router",b).then(function(b){return a.map("aurelia-router",b)}),a.normalize("aurelia-logging-console",b).then(function(b){return a.map("aurelia-logging-console",b)})]).then(function(){return a.loadModule(c).then(function(a){return n=a.Aurelia})})})})}function h(a,b){var c=b.getAttribute("aurelia-app")||b.getAttribute("data-aurelia-app");return i(a,b,c)}function i(a,b,c){var d=new n(a);return d.host=b,d.configModuleId=c||null,c?a.loadModule(c).then(function(a){return a.configure(d)}):(d.use.standardConfiguration().developmentLogging(),d.start().then(function(){return d.setRoot()}))}function j(){return e(window).then(function(a){(0,c.initialize)();var b=a.querySelectorAll("[aurelia-app],[data-aurelia-app]");return f().then(function(a){return g(a).then(function(){for(var c=0,d=b.length;c<d;++c)h(a,b[c])["catch"](console.error.bind(console));m=a;for(var e=0,f=l.length;e<f;++e)l[e]();l=null})})})}function k(a){return d(function(b){var c=new n(b);return a(c)})}Object.defineProperty(a,"__esModule",{value:!0}),a.bootstrap=k;var l=[],m=null,n=null;j()})}(),function(){var a=System.amdDefine;a("npm:aurelia-bootstrapper@1.0.0.js",["npm:aurelia-bootstrapper@1.0.0/aurelia-bootstrapper"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-fetch-client@1.1.3/aurelia-fetch-client.js",["exports"],function(a){"use strict";function b(a){return new Blob([JSON.stringify(void 0!==a?a:{})],{type:"application/json"})}function c(a){if(!a.ok)throw a;return a}function d(){this.isRequesting=!!++this.activeRequestCount}function e(){this.isRequesting=!!--this.activeRequestCount}function f(a){var b=e.bind(this);return a.then(b,b),a}function g(a){var b={};for(var c in a||{})a.hasOwnProperty(c)&&(b[c]="function"==typeof a[c]?a[c]():a[c]);return b}function h(a,b){var c=this.defaults||{},d=void 0,e=void 0,f=void 0,h=g(c.headers);if(Request.prototype.isPrototypeOf(a))d=a,f=new Headers(d.headers).get("Content-Type");else{b||(b={}),e=b.body;var k=e?{body:e}:null,l=Object.assign({},c,{headers:{}},b,k);f=new Headers(l.headers).get("Content-Type"),d=new Request(i(this.baseUrl,a),l)}return!f&&new Headers(h).has("content-type")&&d.headers.set("Content-Type",new Headers(h).get("content-type")),j(d.headers,h),e&&Blob.prototype.isPrototypeOf(e)&&e.type&&d.headers.set("Content-Type",e.type),d}function i(a,b){return r.test(b)?b:(a||"")+b}function j(a,b){for(var c in b||{})b.hasOwnProperty(c)&&!a.has(c)&&a.set(c,b[c])}function k(a,b){return m(a,b,"request","requestError")}function l(a,b,c){return m(a,b,"response","responseError",c)}function m(a,b,c,d){for(var e=arguments.length,f=Array(e>4?e-4:0),g=4;g<e;g++)f[g-4]=arguments[g];return(b||[]).reduce(function(a,b){var e=b[c],g=b[d];return a.then(e&&function(a){return e.call.apply(e,[b,a].concat(f))}||n,g&&function(a){return g.call.apply(g,[b,a].concat(f))}||o)},Promise.resolve(a))}function n(a){return a}function o(a){throw a}Object.defineProperty(a,"__esModule",{value:!0}),a.json=b;var p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},q=a.HttpClientConfiguration=function(){function a(){this.baseUrl="",this.defaults={},this.interceptors=[]}return a.prototype.withBaseUrl=function(a){return this.baseUrl=a,this},a.prototype.withDefaults=function(a){return this.defaults=a,this},a.prototype.withInterceptor=function(a){return this.interceptors.push(a),this},a.prototype.useStandardConfiguration=function(){var a={credentials:"same-origin"};return Object.assign(this.defaults,a,this.defaults),this.rejectErrorResponses()},a.prototype.rejectErrorResponses=function(){return this.withInterceptor({response:c})},a}(),r=(a.HttpClient=function(){function a(){if(this.activeRequestCount=0,this.isRequesting=!1,this.isConfigured=!1,this.baseUrl="",this.defaults=null,this.interceptors=[],"undefined"==typeof fetch)throw new Error("HttpClient requires a Fetch API implementation, but the current environment doesn't support it. You may need to load a polyfill such as https://github.com/github/fetch");
+}return a.prototype.configure=function(a){var b=void 0;if("object"===("undefined"==typeof a?"undefined":p(a)))b={defaults:a};else{if("function"!=typeof a)throw new Error("invalid config");b=new q,b.baseUrl=this.baseUrl,b.defaults=Object.assign({},this.defaults),b.interceptors=this.interceptors;var c=a(b);q.prototype.isPrototypeOf(c)&&(b=c)}var d=b.defaults;if(d&&Headers.prototype.isPrototypeOf(d.headers))throw new Error("Default headers must be a plain object.");return this.baseUrl=b.baseUrl,this.defaults=d,this.interceptors=b.interceptors||[],this.isConfigured=!0,this},a.prototype.fetch=function(a){function b(b,c){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a,b){var c=this;d.call(this);var e=Promise.resolve().then(function(){return h.call(c,a,b,c.defaults)}),g=k(e,this.interceptors).then(function(a){var b=null;if(Response.prototype.isPrototypeOf(a))b=a;else{if(!Request.prototype.isPrototypeOf(a))throw new Error("An invalid result was returned by the interceptor chain. Expected a Request or Response instance, but got ["+a+"]");e=Promise.resolve(a),b=fetch(a)}return e.then(function(a){return l(b,c.interceptors,a)})});return f.call(this,g)}),a}(),/^([a-z][a-z0-9+\-.]*:)?\/\//i)})}(),function(){var a=System.amdDefine;a("npm:aurelia-fetch-client@1.1.3.js",["npm:aurelia-fetch-client@1.1.3/aurelia-fetch-client"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-framework@1.0.6/aurelia-framework.js",["exports","aurelia-dependency-injection","aurelia-binding","aurelia-metadata","aurelia-templating","aurelia-loader","aurelia-task-queue","aurelia-path","aurelia-pal","aurelia-logging"],function(a,b,c,d,e,f,g,h,i,j){"use strict";function k(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function l(){i.DOM.addEventListener("submit",function(a){var b=a.target,c=b.action;"form"!==b.tagName.toLowerCase()||c||a.preventDefault()})}function m(a,b){var c=void 0,d=function e(){return c=b.shift(),c?Promise.resolve(c(a)).then(e):Promise.resolve()};return d()}function n(a,b,c){function d(d){return b.loadModule(d).then(function(b){return"configure"in b?Promise.resolve(b.configure(a,c.config||{})).then(function(){a.resourcesRelativeTo=null,s.debug("Configured plugin "+c.moduleId+".")}):(a.resourcesRelativeTo=null,void s.debug("Loaded plugin "+c.moduleId+"."))})}s.debug("Loading plugin "+c.moduleId+"."),a.resourcesRelativeTo=c.resourcesRelativeTo;var e=c.moduleId;return c.resourcesRelativeTo.length>1?b.normalize(c.moduleId,c.resourcesRelativeTo[1]).then(function(a){return d(a)}):d(e)}function o(a,b,c){function d(b){var c=b.moduleId,d=p(c);return f(c)&&(c=g(c)),a.loader.normalize(c,b.relativeTo).then(function(a){return{name:b.moduleId,importId:f(b.moduleId)?h(a,d):a}})}function f(a){var b=p(a);return!!b&&(""!==b&&(".js"!==b&&".ts"!==b))}function g(a){return a.replace(t,"")}function h(a,b){return g(a)+"."+b}var i=a.container.get(e.ViewEngine);return Promise.all(Object.keys(b).map(function(a){return d(b[a])})).then(function(a){var b=[],d=[];return a.forEach(function(a){b.push(void 0),d.push(a.importId)}),i.importViewResources(d,b,c)})}function p(a){var b=a.match(t);if(b&&b.length>0)return b[0].split(".")[1]}function q(a){if(a.processed)throw new Error("This config instance has already been applied. To load more plugins or global resources, create a new FrameworkConfiguration instance.")}Object.defineProperty(a,"__esModule",{value:!0}),a.LogManager=a.FrameworkConfiguration=a.Aurelia=void 0,Object.keys(b).forEach(function(c){"default"!==c&&"__esModule"!==c&&Object.defineProperty(a,c,{enumerable:!0,get:function(){return b[c]}})}),Object.keys(c).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return c[b]}})}),Object.keys(d).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return d[b]}})}),Object.keys(e).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return e[b]}})}),Object.keys(f).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return f[b]}})}),Object.keys(g).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return g[b]}})}),Object.keys(h).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return h[b]}})}),Object.keys(i).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return i[b]}})});var r=k(j),s=(a.Aurelia=function(){function a(c,d,g){this.loader=c||new i.PLATFORM.Loader,this.container=d||(new b.Container).makeGlobal(),this.resources=g||new e.ViewResources,this.use=new u(this),this.logger=r.getLogger("aurelia"),this.hostConfigured=!1,this.host=null,this.use.instance(a,this),this.use.instance(f.Loader,this.loader),this.use.instance(e.ViewResources,this.resources)}return a.prototype.start=function(){var a=this;return this.started?Promise.resolve(this):(this.started=!0,this.logger.info("Aurelia Starting"),this.use.apply().then(function(){if(l(),!a.container.hasResolver(e.BindingLanguage)){var b="You must configure Aurelia with a BindingLanguage implementation.";throw a.logger.error(b),new Error(b)}a.logger.info("Aurelia Started");var c=i.DOM.createCustomEvent("aurelia-started",{bubbles:!0,cancelable:!0});return i.DOM.dispatchEvent(c),a}))},a.prototype.enhance=function(){var a=this,b=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],c=arguments.length<=1||void 0===arguments[1]?null:arguments[1];return this._configureHost(c||i.DOM.querySelectorAll("body")[0]),new Promise(function(c){var d=a.container.get(e.TemplatingEngine);a.root=d.enhance({container:a.container,element:a.host,resources:a.resources,bindingContext:b}),a.root.attached(),a._onAureliaComposed(),c(a)})},a.prototype.setRoot=function(){var a=this,b=arguments.length<=0||void 0===arguments[0]?null:arguments[0],c=arguments.length<=1||void 0===arguments[1]?null:arguments[1],d={};this.root&&this.root.viewModel&&this.root.viewModel.router&&(this.root.viewModel.router.deactivate(),this.root.viewModel.router.reset()),this._configureHost(c);var f=this.container.get(e.TemplatingEngine),g=this.container.get(e.CompositionTransaction);return delete g.initialComposition,b||(b=this.configModuleId?(0,h.relativeToFile)("./app",this.configModuleId):"app"),d.viewModel=b,d.container=d.childContainer=this.container,d.viewSlot=this.hostSlot,d.host=this.host,f.compose(d).then(function(b){return a.root=b,d.viewSlot.attached(),a._onAureliaComposed(),a})},a.prototype._configureHost=function(a){if(!this.hostConfigured){if(a=a||this.host,a&&"string"!=typeof a?this.host=a:this.host=i.DOM.getElementById(a||"applicationHost"),!this.host)throw new Error("No applicationHost was specified.");this.hostConfigured=!0,this.host.aurelia=this,this.hostSlot=new e.ViewSlot(this.host,(!0)),this.hostSlot.transformChildNodesIntoView(),this.container.registerInstance(i.DOM.boundary,this.host)}},a.prototype._onAureliaComposed=function(){var a=i.DOM.createCustomEvent("aurelia-composed",{bubbles:!0,cancelable:!0});setTimeout(function(){return i.DOM.dispatchEvent(a)},1)},a}(),r.getLogger("aurelia")),t=/\.[^\/.]+$/,u=function(){function a(a){var b=this;this.aurelia=a,this.container=a.container,this.info=[],this.processed=!1,this.preTasks=[],this.postTasks=[],this.resourcesToLoad={},this.preTask(function(){return a.loader.normalize("aurelia-bootstrapper").then(function(a){return b.bootstrapperName=a})}),this.postTask(function(){return o(a,b.resourcesToLoad,a.resources)})}return a.prototype.instance=function(a,b){return this.container.registerInstance(a,b),this},a.prototype.singleton=function(a,b){return this.container.registerSingleton(a,b),this},a.prototype["transient"]=function(a,b){return this.container.registerTransient(a,b),this},a.prototype.preTask=function(a){return q(this),this.preTasks.push(a),this},a.prototype.postTask=function(a){return q(this),this.postTasks.push(a),this},a.prototype.feature=function(a,b){return p(a)?this.plugin({moduleId:a,resourcesRelativeTo:[a,""],config:b||{}}):this.plugin({moduleId:a+"/index",resourcesRelativeTo:[a,""],config:b||{}})},a.prototype.globalResources=function(a){q(this);for(var b=Array.isArray(a)?a:arguments,c=void 0,d=this.resourcesRelativeTo||["",""],e=0,f=b.length;e<f;++e){if(c=b[e],"string"!=typeof c)throw new Error("Invalid resource path ["+c+"]. Resources must be specified as relative module IDs.");var g=d[0],i=d[1],j=c;(c.startsWith("./")||c.startsWith("../"))&&""!==g&&(j=(0,h.join)(g,c)),this.resourcesToLoad[j]={moduleId:j,relativeTo:i}}return this},a.prototype.globalName=function(a,b){return q(this),this.resourcesToLoad[a]={moduleId:b,relativeTo:""},this},a.prototype.plugin=function(a,b){return q(this),"string"==typeof a?this.plugin({moduleId:a,resourcesRelativeTo:[a,""],config:b||{}}):(this.info.push(a),this)},a.prototype._addNormalizedPlugin=function(a,b){var c=this,d={moduleId:a,resourcesRelativeTo:[a,""],config:b||{}};return this.plugin(d),this.preTask(function(){var b=[a,c.bootstrapperName];return d.moduleId=a,d.resourcesRelativeTo=b,Promise.resolve()}),this},a.prototype.defaultBindingLanguage=function(){return this._addNormalizedPlugin("aurelia-templating-binding")},a.prototype.router=function(){return this._addNormalizedPlugin("aurelia-templating-router")},a.prototype.history=function(){return this._addNormalizedPlugin("aurelia-history-browser")},a.prototype.defaultResources=function(){return this._addNormalizedPlugin("aurelia-templating-resources")},a.prototype.eventAggregator=function(){return this._addNormalizedPlugin("aurelia-event-aggregator")},a.prototype.basicConfiguration=function(){return this.defaultBindingLanguage().defaultResources().eventAggregator()},a.prototype.standardConfiguration=function(){return this.basicConfiguration().history().router()},a.prototype.developmentLogging=function(){var a=this;return this.preTask(function(){return a.aurelia.loader.normalize("aurelia-logging-console",a.bootstrapperName).then(function(b){return a.aurelia.loader.loadModule(b).then(function(a){r.addAppender(new a.ConsoleAppender),r.setLevel(r.logLevel.debug)})})}),this},a.prototype.apply=function(){var a=this;return this.processed?Promise.resolve():m(this,this.preTasks).then(function(){var b=a.aurelia.loader,c=a.info,d=void 0,e=function f(){return(d=c.shift())?n(a,b,d).then(f):(a.processed=!0,Promise.resolve())};return e().then(function(){return m(a,a.postTasks)})})},a}();a.FrameworkConfiguration=u;a.LogManager=r})}(),function(){var a=System.amdDefine;a("npm:aurelia-framework@1.0.6.js",["npm:aurelia-framework@1.0.6/aurelia-framework"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-history-browser@1.0.0/aurelia-history-browser.js",["exports","aurelia-pal","aurelia-history"],function(a,b,c){"use strict";function d(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function e(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a){a.singleton(c.History,m),a["transient"](k,l)}function g(a,b,c){if(c){var d=a.href.replace(/(javascript:|#).*$/,"");a.replace(d+"#"+b)}else a.hash="#"+b}function h(a,b,c){return a+"//"+b+(c?":"+c:"")}Object.defineProperty(a,"__esModule",{value:!0}),a.BrowserHistory=a.DefaultLinkHandler=a.LinkHandler=void 0,a.configure=f;var i,j,k=a.LinkHandler=function(){function a(){}return a.prototype.activate=function(a){},a.prototype.deactivate=function(){},a}(),l=a.DefaultLinkHandler=function(a){function c(){var b=d(this,a.call(this));return b.handler=function(a){var d=c.getEventInfo(a),e=d.shouldHandleEvent,f=d.href;e&&(a.preventDefault(),b.history.navigate(f))},b}return e(c,a),c.prototype.activate=function(a){a._hasPushState&&(this.history=a,b.DOM.addEventListener("click",this.handler,!0))},c.prototype.deactivate=function(){b.DOM.removeEventListener("click",this.handler)},c.getEventInfo=function(a){var b={shouldHandleEvent:!1,href:null,anchor:null},d=c.findClosestAnchor(a.target);if(!d||!c.targetIsThisWindow(d))return b;if(a.altKey||a.ctrlKey||a.metaKey||a.shiftKey)return b;var e=d.getAttribute("href");b.anchor=d,b.href=e;var f=1===a.which,g=e&&!("#"===e.charAt(0)||/^[a-z]+:/i.test(e));return b.shouldHandleEvent=f&&g,b},c.findClosestAnchor=function(a){for(;a;){if("A"===a.tagName)return a;a=a.parentNode}},c.targetIsThisWindow=function(a){var c=a.getAttribute("target"),d=b.PLATFORM.global;return!c||c===d.name||"_self"===c||"top"===c&&d===d.top},c}(k),m=a.BrowserHistory=(j=i=function(a){function c(c){var e=d(this,a.call(this));return e._isActive=!1,e._checkUrlCallback=e._checkUrl.bind(e),e.location=b.PLATFORM.location,e.history=b.PLATFORM.history,e.linkHandler=c,e}return e(c,a),c.prototype.activate=function(a){if(this._isActive)throw new Error("History has already been activated.");var c=!!a.pushState;this._isActive=!0,this.options=Object.assign({},{root:"/"},this.options,a),this.root=("/"+this.options.root+"/").replace(o,"/"),this._wantsHashChange=this.options.hashChange!==!1,this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var d=void 0;if(this._hasPushState?d="popstate":this._wantsHashChange&&(d="hashchange"),b.PLATFORM.addEventListener(d,this._checkUrlCallback),this._wantsHashChange&&c){var e=this.location,f=e.pathname.replace(/[^\/]$/,"$&/")===this.root;if(!this._hasPushState&&!f)return this.fragment=this._getFragment(null,!0),this.location.replace(this.root+this.location.search+"#"+this.fragment),!0;this._hasPushState&&f&&e.hash&&(this.fragment=this._getHash().replace(n,""),this.history.replaceState({},b.DOM.title,this.root+this.fragment+e.search))}if(this.fragment||(this.fragment=this._getFragment()),this.linkHandler.activate(this),!this.options.silent)return this._loadUrl()},c.prototype.deactivate=function(){b.PLATFORM.removeEventListener("popstate",this._checkUrlCallback),b.PLATFORM.removeEventListener("hashchange",this._checkUrlCallback),this._isActive=!1,this.linkHandler.deactivate()},c.prototype.getAbsoluteRoot=function(){var a=h(this.location.protocol,this.location.hostname,this.location.port);return""+a+this.root},c.prototype.navigate=function(a){var c=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],d=c.trigger,e=void 0===d||d,f=c.replace,h=void 0!==f&&f;if(a&&q.test(a))return this.location.href=a,!0;if(!this._isActive)return!1;if(a=this._getFragment(a||""),this.fragment===a&&!h)return!1;this.fragment=a;var i=this.root+a;if(""===a&&"/"!==i&&(i=i.slice(0,-1)),this._hasPushState)i=i.replace("//","/"),this.history[h?"replaceState":"pushState"]({},b.DOM.title,i);else{if(!this._wantsHashChange)return this.location.assign(i);g(this.location,a,h)}return e?this._loadUrl(a):void 0},c.prototype.navigateBack=function(){this.history.back()},c.prototype.setTitle=function(a){b.DOM.title=a},c.prototype._getHash=function(){return this.location.hash.substr(1)},c.prototype._getFragment=function(a,b){var c=void 0;return a||(this._hasPushState||!this._wantsHashChange||b?(a=this.location.pathname+this.location.search,c=this.root.replace(p,""),a.indexOf(c)||(a=a.substr(c.length))):a=this._getHash()),"/"+a.replace(n,"")},c.prototype._checkUrl=function(){var a=this._getFragment();a!==this.fragment&&this._loadUrl()},c.prototype._loadUrl=function(a){var b=this.fragment=this._getFragment(a);return!!this.options.routeHandler&&this.options.routeHandler(b)},c}(c.History),i.inject=[k],j),n=/^#?\/*|\s+$/g,o=/^\/+|\/+$/g,p=/\/$/,q=/^([a-z][a-z0-9+\-.]*:)?\/\//i})}(),function(){var a=System.amdDefine;a("npm:aurelia-history-browser@1.0.0.js",["npm:aurelia-history-browser@1.0.0/aurelia-history-browser"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader-default@1.0.0/aurelia-loader-default.js",["exports","aurelia-loader","aurelia-pal","aurelia-metadata"],function(b,c,d,e){"use strict";function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function h(a,b){var c=a,d=void 0,f=void 0;c.__useDefault&&(c=c["default"]),e.Origin.set(c,new e.Origin(b,"default"));for(d in c)f=c[d],"function"==typeof f&&e.Origin.set(f,new e.Origin(b,d));return a}Object.defineProperty(b,"__esModule",{value:!0}),b.DefaultLoader=b.TextTemplateLoader=void 0;var i=b.TextTemplateLoader=function(){function a(){}return a.prototype.loadTemplate=function(a,b){return a.loadText(b.address).then(function(a){b.template=d.DOM.createTemplateFromMarkup(a)})},a}(),j=b.DefaultLoader=function(a){function b(){var b=f(this,a.call(this));b.textPluginName="text",b.moduleRegistry=Object.create(null),b.useTemplateLoader(new i);var c=b;return b.addPlugin("template-registry-entry",{fetch:function(a){var b=c.getOrCreateTemplateRegistryEntry(a);return b.templateIsLoaded?b:c.templateLoader.loadTemplate(c,b).then(function(a){return b})}}),b}return g(b,a),b.prototype.useTemplateLoader=function(a){this.templateLoader=a},b.prototype.loadAllModules=function(a){for(var b=[],c=0,d=a.length;c<d;++c)b.push(this.loadModule(a[c]));return Promise.all(b)},b.prototype.loadTemplate=function(a){return this._import(this.applyPluginToUrl(a,"template-registry-entry"))},b.prototype.loadText=function(a){return this._import(this.applyPluginToUrl(a,this.textPluginName)).then(function(a){return"string"==typeof a?a:a["default"]})},b}(c.Loader);d.PLATFORM.Loader=j,d.PLATFORM.global.System&&d.PLATFORM.global.System["import"]?(d.PLATFORM.eachModule=function(a){var b=System._loader.modules;for(var c in b)try{if(a(c,b[c].module))return}catch(d){}},System.set("text",System.newModule({translate:function(a){return'module.exports = "'+a.source.replace(/(["\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r").replace(/[\u2028]/g,"\\u2028").replace(/[\u2029]/g,"\\u2029")+'";'}})),j.prototype._import=function(a){return System["import"](a)},j.prototype.loadModule=function(a){var b=this;return System.normalize(a).then(function(a){var c=b.moduleRegistry[a];return void 0!==c?Promise.resolve(c):System["import"](a).then(function(c){return b.moduleRegistry[a]=c,h(c,a)})})},j.prototype.map=function(a,b){System.map[a]=b},j.prototype.normalizeSync=function(a,b){return System.normalizeSync(a,b)},j.prototype.normalize=function(a,b){return System.normalize(a,b)},j.prototype.applyPluginToUrl=function(a,b){return a+"!"+b},j.prototype.addPlugin=function(a,b){System.set(a,System.newModule({fetch:function(a,c){var d=b.fetch(a.address);return Promise.resolve(d).then(function(b){return a.metadata.result=b,""})},instantiate:function(a){return a.metadata.result}}))}):(d.PLATFORM.global.requirejs&&requirejs.s&&requirejs.s.contexts&&requirejs.s.contexts._&&requirejs.s.contexts._.defined?d.PLATFORM.eachModule=function(a){var b=requirejs.s.contexts._.defined;for(var c in b)try{if(a(c,b[c]))return}catch(d){}}:d.PLATFORM.eachModule=function(a){},j.prototype._import=function(a){return new Promise(function(b,c){require([a],b,c)})},j.prototype.loadModule=function(a){var b=this,c=this.moduleRegistry[a];return void 0!==c?Promise.resolve(c):new Promise(function(c,d){require([a],function(d){b.moduleRegistry[a]=d,c(h(d,a))},d)})},j.prototype.map=function(a,b){},j.prototype.normalize=function(a,b){return Promise.resolve(a)},j.prototype.normalizeSync=function(a,b){return a},j.prototype.applyPluginToUrl=function(a,b){return b+"!"+a},j.prototype.addPlugin=function(b,c){var d=a;d(b,[],{load:function(a,b,d){var e=c.fetch(a);Promise.resolve(e).then(d)}})})})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader-default@1.0.0.js",["npm:aurelia-loader-default@1.0.0/aurelia-loader-default"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging-console@1.0.0/aurelia-logging-console.js",["exports","aurelia-logging"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.ConsoleAppender=void 0;a.ConsoleAppender=function(){function a(){}return a.prototype.debug=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).debug.apply(b,["DEBUG ["+a.id+"]"].concat(d))},a.prototype.info=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).info.apply(b,["INFO ["+a.id+"]"].concat(d))},a.prototype.warn=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).warn.apply(b,["WARN ["+a.id+"]"].concat(d))},a.prototype.error=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).error.apply(b,["ERROR ["+a.id+"]"].concat(d))},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging-console@1.0.0.js",["npm:aurelia-logging-console@1.0.0/aurelia-logging-console"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-binding@1.0.0/aurelia-templating-binding.js",["exports","aurelia-logging","aurelia-binding","aurelia-templating"],function(a,b,c,d){"use strict";function e(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function h(a,b){if("style"===b)r.getLogger("templating-binding").info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.');else if(a.parentElement&&"TEXTAREA"===a.parentElement.nodeName&&"textContent"===b)throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use <textarea value.bind="expression"></textarea> instead.')}function i(a){a.container.registerSingleton(d.BindingLanguage,y),a.container.registerAlias(d.BindingLanguage,y)}Object.defineProperty(a,"__esModule",{value:!0}),a.TemplatingBindingLanguage=a.SyntaxInterpreter=a.ChildInterpolationBinding=a.InterpolationBinding=a.InterpolationBindingExpression=a.AttributeMap=void 0,a.configure=i;var j,k,l,m,n,o,p,q,r=e(b),s=a.AttributeMap=(k=j=function(){function a(a){this.elements=Object.create(null),this.allElements=Object.create(null),this.svg=a,this.registerUniversal("accesskey","accessKey"),this.registerUniversal("contenteditable","contentEditable"),this.registerUniversal("tabindex","tabIndex"),this.registerUniversal("textcontent","textContent"),this.registerUniversal("innerhtml","innerHTML"),this.registerUniversal("scrolltop","scrollTop"),this.registerUniversal("scrollleft","scrollLeft"),this.registerUniversal("readonly","readOnly"),this.register("label","for","htmlFor"),this.register("input","maxlength","maxLength"),this.register("input","minlength","minLength"),this.register("input","formaction","formAction"),this.register("input","formenctype","formEncType"),this.register("input","formmethod","formMethod"),this.register("input","formnovalidate","formNoValidate"),this.register("input","formtarget","formTarget"),this.register("textarea","maxlength","maxLength"),this.register("td","rowspan","rowSpan"),this.register("td","colspan","colSpan"),this.register("th","rowspan","rowSpan"),this.register("th","colspan","colSpan")}return a.prototype.register=function(a,b,c){a=a.toLowerCase(),b=b.toLowerCase();var d=this.elements[a]=this.elements[a]||Object.create(null);d[b]=c},a.prototype.registerUniversal=function(a,b){a=a.toLowerCase(),this.allElements[a]=b},a.prototype.map=function(a,b){if(this.svg.isStandardSvgAttribute(a,b))return b;a=a.toLowerCase(),b=b.toLowerCase();var d=this.elements[a];return void 0!==d&&b in d?d[b]:b in this.allElements?this.allElements[b]:/(^data-)|(^aria-)|:/.test(b)?b:(0,c.camelCase)(b)},a}(),j.inject=[c.SVGAnalyzer],k),t=a.InterpolationBindingExpression=function(){function a(a,b,c,d,e,f){this.observerLocator=a,this.targetProperty=b,this.parts=c,this.mode=d,this.lookupFunctions=e,this.attribute=this.attrToRemove=f,this.discrete=!1}return a.prototype.createBinding=function(a){return 3===this.parts.length?new v(a,this.observerLocator,this.parts[1],this.mode,this.lookupFunctions,this.targetProperty,this.parts[0],this.parts[2]):new u(this.observerLocator,this.parts,a,this.targetProperty,this.mode,this.lookupFunctions)},a}(),u=a.InterpolationBinding=function(){function a(a,b,c,d,e,f){h(c,d),this.observerLocator=a,this.parts=b,this.target=c,this.targetProperty=d,this.targetAccessor=a.getAccessor(c,d),this.mode=e,this.lookupFunctions=f}return a.prototype.interpolate=function(){if(this.isBound){for(var a="",b=this.parts,c=0,d=b.length;c<d;c++)a+=c%2===0?b[c]:this["childBinding"+c].value;this.targetAccessor.setValue(a,this.target,this.targetProperty)}},a.prototype.updateOneTimeBindings=function(){for(var a=1,b=this.parts.length;a<b;a+=2){var d=this["childBinding"+a];d.mode===c.bindingMode.oneTime&&d.call()}},a.prototype.bind=function(a){if(this.isBound){if(this.source===a)return;this.unbind()}this.source=a;for(var b=this.parts,c=1,d=b.length;c<d;c+=2){var e=new v(this,this.observerLocator,b[c],this.mode,this.lookupFunctions);e.bind(a),this["childBinding"+c]=e}this.isBound=!0,this.interpolate()},a.prototype.unbind=function(){if(this.isBound){this.isBound=!1,this.source=null;for(var a=this.parts,b=1,c=a.length;b<c;b+=2){var d="childBinding"+b;this[d].unbind()}}},a}(),v=a.ChildInterpolationBinding=(l=(0,c.connectable)(),l(m=function(){function a(a,b,c,d,e,f,g,i){a instanceof u?this.parent=a:(h(a,f),this.target=a,this.targetProperty=f,this.targetAccessor=b.getAccessor(a,f)),this.observerLocator=b,this.sourceExpression=c,this.mode=d,this.lookupFunctions=e,this.left=g,this.right=i}return a.prototype.updateTarget=function(a){a=null===a||void 0===a?"":a.toString(),a!==this.value&&(this.value=a,this.parent?this.parent.interpolate():this.targetAccessor.setValue(this.left+a+this.right,this.target,this.targetProperty))},a.prototype.call=function(){this.isBound&&(this.rawValue=this.sourceExpression.evaluate(this.source,this.lookupFunctions),this.updateTarget(this.rawValue),this.mode!==c.bindingMode.oneTime&&(this._version++,this.sourceExpression.connect(this,this.source),this.rawValue instanceof Array&&this.observeArray(this.rawValue),this.unobserve(!1)))},a.prototype.bind=function(a){if(this.isBound){if(this.source===a)return;this.unbind()}this.isBound=!0,this.source=a;var b=this.sourceExpression;b.bind&&b.bind(this,a,this.lookupFunctions),this.rawValue=b.evaluate(a,this.lookupFunctions),this.updateTarget(this.rawValue),this.mode===c.bindingMode.oneWay&&(0,c.enqueueBindingConnect)(this)},a.prototype.unbind=function(){if(this.isBound){this.isBound=!1;var a=this.sourceExpression;a.unbind&&a.unbind(this,this.source),this.source=null,this.value=null,this.rawValue=null,this.unobserve(!0)}},a.prototype.connect=function(a){this.isBound&&(a&&(this.rawValue=this.sourceExpression.evaluate(this.source,this.lookupFunctions),this.updateTarget(this.rawValue)),this.sourceExpression.connect(this,this.source),this.rawValue instanceof Array&&this.observeArray(this.rawValue))},a}())||m),w=a.SyntaxInterpreter=(o=n=function(){function a(a,b,c,d){this.parser=a,this.observerLocator=b,this.eventManager=c,this.attributeMap=d}return a.prototype.interpret=function(a,b,c,d,e){return c.command in this?this[c.command](a,b,c,d,e):this.handleUnknownCommand(a,b,c,d,e)},a.prototype.handleUnknownCommand=function(a,b,c,d,e){return r.getLogger("templating-binding").warn("Unknown binding command.",c),d},a.prototype.determineDefaultBindingMode=function(a,b,d){var e=a.tagName.toLowerCase();return"input"===e&&("value"===b||"files"===b)&&"checkbox"!==a.type&&"radio"!==a.type||"input"===e&&"checked"===b&&("checkbox"===a.type||"radio"===a.type)||("textarea"===e||"select"===e)&&"value"===b||("textcontent"===b||"innerhtml"===b)&&"true"===a.contentEditable||"scrolltop"===b||"scrollleft"===b?c.bindingMode.twoWay:d&&b in d.attributes&&d.attributes[b]&&d.attributes[b].defaultBindingMode>=c.bindingMode.oneTime?d.attributes[b].defaultBindingMode:c.bindingMode.oneWay},a.prototype.bind=function(a,b,e,f,g){var h=f||d.BehaviorInstruction.attribute(e.attrName);return h.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),e.defaultBindingMode||this.determineDefaultBindingMode(b,e.attrName,g),a.lookupFunctions),h},a.prototype.trigger=function(a,b,d){return new c.ListenerExpression(this.eventManager,d.attrName,this.parser.parse(d.attrValue),(!1),(!0),a.lookupFunctions)},a.prototype.delegate=function(a,b,d){return new c.ListenerExpression(this.eventManager,d.attrName,this.parser.parse(d.attrValue),(!0),(!0),a.lookupFunctions)},a.prototype.call=function(a,b,e,f){var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.CallExpression(this.observerLocator,e.attrName,this.parser.parse(e.attrValue),a.lookupFunctions),g},a.prototype.options=function(a,b,c,e,f){var g=e||d.BehaviorInstruction.attribute(c.attrName),h=c.attrValue,i=this.language,j=null,k="",l=void 0,m=void 0,n=void 0,o=!1,p=!1;for(m=0,n=h.length;m<n;++m){if(l=h[m],";"!==l||o)if(":"===l&&null===j)j=k.trim(),k="";else{if("\\"===l){k+=l,p=!0;continue}k+=l,null!==j&&p===!1&&"'"===l&&(o=!o)}else c=i.inspectAttribute(a,"?",j,k.trim()),i.createAttributeInstruction(a,b,c,g,f),g.attributes[c.attrName]||(g.attributes[c.attrName]=c.attrValue),k="",j=null;p=!1}return null!==j&&(c=i.inspectAttribute(a,"?",j,k.trim()),i.createAttributeInstruction(a,b,c,g,f),g.attributes[c.attrName]||(g.attributes[c.attrName]=c.attrValue)),g},a.prototype["for"]=function(a,b,e,f){var g=void 0,h=void 0,i=void 0,j=void 0,k=void 0;if(j=e.attrValue,k=j.match(/^ *[[].+[\]]/),g=k?j.split("of "):j.split(" of "),2!==g.length)throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".');return i=f||d.BehaviorInstruction.attribute(e.attrName),k?(h=g[0].replace(/[[\]]/g,"").replace(/,/g," ").replace(/\s+/g," ").trim().split(" "),i.attributes.key=h[0],i.attributes.value=h[1]):i.attributes.local=g[0],i.attributes.items=new c.BindingExpression(this.observerLocator,"items",this.parser.parse(g[1]),c.bindingMode.oneWay,a.lookupFunctions),i},a.prototype["two-way"]=function(a,b,e,f){var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),c.bindingMode.twoWay,a.lookupFunctions),g},a.prototype["one-way"]=function(a,b,e,f){var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),c.bindingMode.oneWay,a.lookupFunctions),g},a.prototype["one-time"]=function(a,b,e,f){
+var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),c.bindingMode.oneTime,a.lookupFunctions),g},a}(),n.inject=[c.Parser,c.ObserverLocator,c.EventManager,s],o),x={},y=a.TemplatingBindingLanguage=(q=p=function(a){function b(b,c,d,e){var g=f(this,a.call(this));return g.parser=b,g.observerLocator=c,g.syntaxInterpreter=d,g.emptyStringExpression=g.parser.parse("''"),d.language=g,g.attributeMap=e,g}return g(b,a),b.prototype.inspectAttribute=function(a,b,d,e){var f=d.split(".");if(x.defaultBindingMode=null,2===f.length)x.attrName=f[0].trim(),x.attrValue=e,x.command=f[1].trim(),"ref"===x.command?(x.expression=new c.NameExpression(this.parser.parse(e),x.attrName,a.lookupFunctions),x.command=null,x.attrName="ref"):x.expression=null;else if("ref"===d)x.attrName=d,x.attrValue=e,x.command=null,x.expression=new c.NameExpression(this.parser.parse(e),"element",a.lookupFunctions);else{x.attrName=d,x.attrValue=e,x.command=null;var g=this.parseInterpolation(a,e);null===g?x.expression=null:x.expression=new t(this.observerLocator,this.attributeMap.map(b,d),g,c.bindingMode.oneWay,a.lookupFunctions,d)}return x},b.prototype.createAttributeInstruction=function(a,b,c,e,f){var g=void 0;if(c.expression){if("ref"===c.attrName)return c.expression;g=e||d.BehaviorInstruction.attribute(c.attrName),g.attributes[c.attrName]=c.expression}else c.command&&(g=this.syntaxInterpreter.interpret(a,b,c,e,f));return g},b.prototype.inspectTextContent=function(a,b){var d=this.parseInterpolation(a,b);return null===d?null:new t(this.observerLocator,"textContent",d,c.bindingMode.oneWay,a.lookupFunctions,"textContent")},b.prototype.parseInterpolation=function(a,b){for(var c=b.indexOf("${",0),d=b.length,e=void 0,f=0,g=0,h=null,i=void 0,j=void 0,k=0;c>=0&&c<d-2;){g=1,i=c,c+=2;do e=b[c],c++,"'"!==e&&'"'!==e?"\\"!==e?null===h&&("{"===e?g++:"}"===e&&g--):c++:null===h?h=e:h===e&&(h=null);while(g>0&&c<d);if(0!==g)break;j=j||[],"\\"===b[i-1]&&"\\"!==b[i-2]?(j[k]=b.substring(f,i-1)+b.substring(i,c),k++,j[k]=this.emptyStringExpression,k++):(j[k]=b.substring(f,i),k++,j[k]=this.parser.parse(b.substring(i+2,c-1)),k++),f=c,c=b.indexOf("${",c)}return 0===k?null:(j[k]=b.substr(f),j)},b}(d.BindingLanguage),p.inject=[c.Parser,c.ObserverLocator,w,s],q)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-binding@1.0.0.js",["npm:aurelia-templating-binding@1.0.0/aurelia-templating-binding"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/compose.js",["exports","aurelia-dependency-injection","aurelia-task-queue","aurelia-templating","aurelia-pal"],function(a,b,c,d,e){"use strict";function f(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}function h(a,b){return Object.assign(b,{bindingContext:a.bindingContext,overrideContext:a.overrideContext,owningView:a.owningView,container:a.container,viewSlot:a.viewSlot,viewResources:a.viewResources,currentController:a.currentController,host:a.element})}function i(a,b){a.currentInstruction=null,a.compositionEngine.compose(b).then(function(b){a.currentController=b,a.currentViewModel=b?b.viewModel:null})}Object.defineProperty(a,"__esModule",{value:!0}),a.Compose=void 0;var j,k,l,m,n,o,p;a.Compose=(j=(0,d.customElement)("compose"),k=(0,b.inject)(e.DOM.Element,b.Container,d.CompositionEngine,d.ViewSlot,d.ViewResources,c.TaskQueue),j(l=(0,d.noView)(l=k((m=function(){function a(a,b,c,d,e,g){f(this,"model",n,this),f(this,"view",o,this),f(this,"viewModel",p,this),this.element=a,this.container=b,this.compositionEngine=c,this.viewSlot=d,this.viewResources=e,this.taskQueue=g,this.currentController=null,this.currentViewModel=null}return a.prototype.created=function(a){this.owningView=a},a.prototype.bind=function(a,b){this.bindingContext=a,this.overrideContext=b,i(this,h(this,{view:this.view,viewModel:this.viewModel,model:this.model}))},a.prototype.unbind=function(a,b){this.bindingContext=null,this.overrideContext=null;var c=!0,d=!0;this.viewSlot.removeAll(c,d)},a.prototype.modelChanged=function(a,b){var c=this;return this.currentInstruction?void(this.currentInstruction.model=a):void this.taskQueue.queueMicroTask(function(){if(c.currentInstruction)return void(c.currentInstruction.model=a);var b=c.currentViewModel;b&&"function"==typeof b.activate&&b.activate(a)})},a.prototype.viewChanged=function(a,b){var c=this,d=h(this,{view:a,viewModel:this.currentViewModel||this.viewModel,model:this.model});return this.currentInstruction?void(this.currentInstruction=d):(this.currentInstruction=d,void this.taskQueue.queueMicroTask(function(){return i(c,c.currentInstruction)}))},a.prototype.viewModelChanged=function(a,b){var c=this,d=h(this,{viewModel:a,view:this.view,model:this.model});return this.currentInstruction?void(this.currentInstruction=d):(this.currentInstruction=d,void this.taskQueue.queueMicroTask(function(){return i(c,c.currentInstruction)}))},a}(),n=g(m.prototype,"model",[d.bindable],{enumerable:!0,initializer:null}),o=g(m.prototype,"view",[d.bindable],{enumerable:!0,initializer:null}),p=g(m.prototype,"viewModel",[d.bindable],{enumerable:!0,initializer:null}),l=m))||l)||l)||l)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/if.js",["exports","aurelia-templating","aurelia-dependency-injection"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.If=void 0;var d,e,f;a.If=(d=(0,b.customAttribute)("if"),e=(0,c.inject)(b.BoundViewFactory,b.ViewSlot),d(f=(0,b.templateController)(f=e(f=function(){function a(a,b){this.viewFactory=a,this.viewSlot=b,this.showing=!1,this.view=null,this.bindingContext=null,this.overrideContext=null}return a.prototype.bind=function(a,b){this.bindingContext=a,this.overrideContext=b,this.valueChanged(this.value)},a.prototype.valueChanged=function(a){var b=this;if(this.__queuedChanges)return void this.__queuedChanges.push(a);var c=this._runValueChanged(a);c instanceof Promise&&!function(){var a=b.__queuedChanges=[],d=function e(){if(!a.length)return void(b.__queuedChanges=void 0);var c=b._runValueChanged(a.shift())||Promise.resolve();c.then(e)};c.then(d)}()},a.prototype._runValueChanged=function(a){var b=this;if(!a){var c=void 0;return null!==this.view&&this.showing&&(c=this.viewSlot.remove(this.view),c instanceof Promise?c.then(function(){return b.view.unbind()}):this.view.unbind()),this.showing=!1,c}if(null===this.view&&(this.view=this.viewFactory.create()),this.view.isBound||this.view.bind(this.bindingContext,this.overrideContext),!this.showing)return this.showing=!0,this.viewSlot.add(this.view)},a.prototype.unbind=function(){null!==this.view&&(this.view.unbind(),this.viewFactory.isCaching&&(this.showing&&(this.showing=!1,this.viewSlot.remove(this.view,!0,!0)),this.view.returnToCache(),this.view=null))},a}())||f)||f)||f)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/with.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-binding"],function(a,b,c,d){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.With=void 0;var e,f,g;a.With=(e=(0,c.customAttribute)("with"),f=(0,b.inject)(c.BoundViewFactory,c.ViewSlot),e(g=(0,c.templateController)(g=f(g=function(){function a(a,b){this.viewFactory=a,this.viewSlot=b,this.parentOverrideContext=null,this.view=null}return a.prototype.bind=function(a,b){this.parentOverrideContext=b,this.valueChanged(this.value)},a.prototype.valueChanged=function(a){var b=(0,d.createOverrideContext)(a,this.parentOverrideContext);this.view?this.view.bind(a,b):(this.view=this.viewFactory.create(),this.view.bind(a,b),this.viewSlot.add(this.view))},a.prototype.unbind=function(){this.parentOverrideContext=null,this.view&&this.view.unbind()},a}())||g)||g)||g)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/repeat.js",["exports","aurelia-dependency-injection","aurelia-binding","aurelia-templating","./repeat-strategy-locator","./repeat-utilities","./analyze-view-factory","./abstract-repeater"],function(a,b,c,d,e,f,g,h){"use strict";function i(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function j(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function k(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function l(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}Object.defineProperty(a,"__esModule",{value:!0}),a.Repeat=void 0;var m,n,o,p,q,r,s,t;a.Repeat=(m=(0,d.customAttribute)("repeat"),n=(0,b.inject)(d.BoundViewFactory,d.TargetInstruction,d.ViewSlot,d.ViewResources,c.ObserverLocator,e.RepeatStrategyLocator),m(o=(0,d.templateController)(o=n((p=function(a){function b(b,c,d,e,h,k){var l=j(this,a.call(this,{local:"item",viewsRequireLifecycle:(0,g.viewsRequireLifecycle)(b)}));return i(l,"items",q,l),i(l,"local",r,l),i(l,"key",s,l),i(l,"value",t,l),l.viewFactory=b,l.instruction=c,l.viewSlot=d,l.lookupFunctions=e.lookupFunctions,l.observerLocator=h,l.key="key",l.value="value",l.strategyLocator=k,l.ignoreMutation=!1,l.sourceExpression=(0,f.getItemsSourceExpression)(l.instruction,"repeat.for"),l.isOneTime=(0,f.isOneTime)(l.sourceExpression),l.viewsRequireLifecycle=(0,g.viewsRequireLifecycle)(b),l}return k(b,a),b.prototype.call=function(a,b){this[a](this.items,b)},b.prototype.bind=function(a,b){this.scope={bindingContext:a,overrideContext:b},this.matcherBinding=this._captureAndRemoveMatcherBinding(),this.itemsChanged()},b.prototype.unbind=function(){this.scope=null,this.items=null,this.matcherBinding=null,this.viewSlot.removeAll(!0),this._unsubscribeCollection()},b.prototype._unsubscribeCollection=function(){this.collectionObserver&&(this.collectionObserver.unsubscribe(this.callContext,this),this.collectionObserver=null,this.callContext=null)},b.prototype.itemsChanged=function(){if(this._unsubscribeCollection(),this.scope){var a=this.items;if(this.strategy=this.strategyLocator.getStrategy(a),!this.strategy)throw new Error("Value for '"+this.sourceExpression+"' is non-repeatable");this.isOneTime||this._observeInnerCollection()||this._observeCollection(),this.strategy.instanceChanged(this,a)}},b.prototype._getInnerCollection=function(){var a=(0,f.unwrapExpression)(this.sourceExpression);return a?a.evaluate(this.scope,null):null},b.prototype.handleCollectionMutated=function(a,b){this.collectionObserver&&this.strategy.instanceMutated(this,a,b)},b.prototype.handleInnerCollectionMutated=function(a,b){var c=this;if(this.collectionObserver&&!this.ignoreMutation){this.ignoreMutation=!0;var d=this.sourceExpression.evaluate(this.scope,this.lookupFunctions);this.observerLocator.taskQueue.queueMicroTask(function(){return c.ignoreMutation=!1}),d===this.items?this.itemsChanged():this.items=d}},b.prototype._observeInnerCollection=function(){var a=this._getInnerCollection(),b=this.strategyLocator.getStrategy(a);return!!b&&(this.collectionObserver=b.getCollectionObserver(this.observerLocator,a),!!this.collectionObserver&&(this.callContext="handleInnerCollectionMutated",this.collectionObserver.subscribe(this.callContext,this),!0))},b.prototype._observeCollection=function(){var a=this.items;this.collectionObserver=this.strategy.getCollectionObserver(this.observerLocator,a),this.collectionObserver&&(this.callContext="handleCollectionMutated",this.collectionObserver.subscribe(this.callContext,this))},b.prototype._captureAndRemoveMatcherBinding=function(){if(this.viewFactory.viewFactory)for(var a=this.viewFactory.viewFactory.instructions,b=Object.keys(a),c=0;c<b.length;c++){var d=a[b[c]].expressions;if(d)for(var e=0;c<d.length;c++)if("matcher"===d[e].targetProperty){var f=d[e];return d.splice(e,1),f}}},b.prototype.viewCount=function(){return this.viewSlot.children.length},b.prototype.views=function(){return this.viewSlot.children},b.prototype.view=function(a){return this.viewSlot.children[a]},b.prototype.matcher=function(){return this.matcherBinding?this.matcherBinding.sourceExpression.evaluate(this.scope,this.matcherBinding.lookupFunctions):null},b.prototype.addView=function(a,b){var c=this.viewFactory.create();c.bind(a,b),this.viewSlot.add(c)},b.prototype.insertView=function(a,b,c){var d=this.viewFactory.create();d.bind(b,c),this.viewSlot.insert(a,d)},b.prototype.moveView=function(a,b){this.viewSlot.move(a,b)},b.prototype.removeAllViews=function(a,b){return this.viewSlot.removeAll(a,b)},b.prototype.removeViews=function(a,b,c){return this.viewSlot.removeMany(a,b,c)},b.prototype.removeView=function(a,b,c){return this.viewSlot.removeAt(a,b,c)},b.prototype.updateBindings=function(a){for(var b=a.bindings.length;b--;)(0,f.updateOneTimeBinding)(a.bindings[b]);for(b=a.controllers.length;b--;)for(var c=a.controllers[b].boundProperties.length;c--;){var d=a.controllers[b].boundProperties[c].binding;(0,f.updateOneTimeBinding)(d)}},b}(h.AbstractRepeater),q=l(p.prototype,"items",[d.bindable],{enumerable:!0,initializer:null}),r=l(p.prototype,"local",[d.bindable],{enumerable:!0,initializer:null}),s=l(p.prototype,"key",[d.bindable],{enumerable:!0,initializer:null}),t=l(p.prototype,"value",[d.bindable],{enumerable:!0,initializer:null}),o=p))||o)||o)||o)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/show.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-pal","./aurelia-hide-style"],function(a,b,c,d,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Show=void 0;var f,g,h;a.Show=(f=(0,c.customAttribute)("show"),g=(0,b.inject)(d.DOM.Element,c.Animator,b.Optional.of(d.DOM.boundary,!0)),f(h=g(h=function(){function a(a,b,c){this.element=a,this.animator=b,this.domBoundary=c}return a.prototype.created=function(){(0,e.injectAureliaHideStyleAtBoundary)(this.domBoundary)},a.prototype.valueChanged=function(a){a?this.animator.removeClass(this.element,e.aureliaHideClassName):this.animator.addClass(this.element,e.aureliaHideClassName)},a.prototype.bind=function(a){this.valueChanged(this.value)},a}())||h)||h)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/hide.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-pal","./aurelia-hide-style"],function(a,b,c,d,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Hide=void 0;var f,g,h;a.Hide=(f=(0,c.customAttribute)("hide"),g=(0,b.inject)(d.DOM.Element,c.Animator,b.Optional.of(d.DOM.boundary,!0)),f(h=g(h=function(){function a(a,b,c){this.element=a,this.animator=b,this.domBoundary=c}return a.prototype.created=function(){(0,e.injectAureliaHideStyleAtBoundary)(this.domBoundary)},a.prototype.valueChanged=function(a){a?this.animator.addClass(this.element,e.aureliaHideClassName):this.animator.removeClass(this.element,e.aureliaHideClassName)},a.prototype.bind=function(a){this.valueChanged(this.value)},a}())||h)||h)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/sanitize-html.js",["exports","aurelia-binding","aurelia-dependency-injection","./html-sanitizer"],function(a,b,c,d){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.SanitizeHTMLValueConverter=void 0;var e,f,g;a.SanitizeHTMLValueConverter=(e=(0,b.valueConverter)("sanitizeHTML"),f=(0,c.inject)(d.HTMLSanitizer),e(g=f(g=function(){function a(a){this.sanitizer=a}return a.prototype.toView=function(a){return null===a||void 0===a?null:this.sanitizer.sanitize(a)},a}())||g)||g)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/replaceable.js",["exports","aurelia-dependency-injection","aurelia-templating"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Replaceable=void 0;var d,e,f;a.Replaceable=(d=(0,c.customAttribute)("replaceable"),e=(0,b.inject)(c.BoundViewFactory,c.ViewSlot),d(f=(0,c.templateController)(f=e(f=function(){function a(a,b){this.viewFactory=a,this.viewSlot=b,this.view=null}return a.prototype.bind=function(a,b){null===this.view&&(this.view=this.viewFactory.create(),this.viewSlot.add(this.view)),this.view.bind(a,b)},a.prototype.unbind=function(){this.view.unbind()},a}())||f)||f)||f)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/focus.js",["exports","aurelia-templating","aurelia-binding","aurelia-dependency-injection","aurelia-task-queue","aurelia-pal"],function(a,b,c,d,e,f){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Focus=void 0;var g,h,i;a.Focus=(g=(0,b.customAttribute)("focus",c.bindingMode.twoWay),h=(0,d.inject)(f.DOM.Element,e.TaskQueue),g(i=h(i=function(){function a(a,b){var c=this;this.element=a,this.taskQueue=b,this.isAttached=!1,this.needsApply=!1,this.focusListener=function(a){c.value=!0},this.blurListener=function(a){f.DOM.activeElement!==c.element&&(c.value=!1)}}return a.prototype.valueChanged=function(a){this.isAttached?this._apply():this.needsApply=!0},a.prototype._apply=function(){var a=this;this.value?this.taskQueue.queueMicroTask(function(){a.value&&a.element.focus()}):this.element.blur()},a.prototype.attached=function(){this.isAttached=!0,this.needsApply&&(this.needsApply=!1,this._apply()),this.element.addEventListener("focus",this.focusListener),this.element.addEventListener("blur",this.blurListener)},a.prototype.detached=function(){this.isAttached=!1,this.element.removeEventListener("focus",this.focusListener),this.element.removeEventListener("blur",this.blurListener)},a}())||i)||i)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/css-resource.js",["exports","aurelia-templating","aurelia-loader","aurelia-dependency-injection","aurelia-path","aurelia-pal"],function(a,b,c,d,e,f){"use strict";function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function i(a,b){if("string"!=typeof b)throw new Error("Failed loading required CSS file: "+a);return b.replace(k,function(b,c){var d=c.charAt(0);return"'"!==d&&'"'!==d||(c=c.substr(1,c.length-2)),"url('"+(0,e.relativeToFile)(c,a)+"')"})}function j(a){var c,d,e=(c=(0,b.resource)(new l(a)),c(d=function(a){function b(){return g(this,a.apply(this,arguments))}return h(b,a),b}(m))||d);return e}Object.defineProperty(a,"__esModule",{value:!0}),a._createCSSResource=j;var k=/url\((?!['"]data)([^)]+)\)/gi,l=function(){function a(a){this.address=a,this._scoped=null,this._global=!1,this._alreadyGloballyInjected=!1}return a.prototype.initialize=function(a,b){this._scoped=new b(this)},a.prototype.register=function(a,b){"scoped"===b?a.registerViewEngineHooks(this._scoped):this._global=!0},a.prototype.load=function(a){var b=this;return a.get(c.Loader).loadText(this.address)["catch"](function(a){return null}).then(function(a){a=i(b.address,a),b._scoped.css=a,b._global&&(b._alreadyGloballyInjected=!0,f.DOM.injectStyles(a))})},a}(),m=function(){function a(a){this.owner=a,this.css=null}return a.prototype.beforeCompile=function(a,b,c){if(c.targetShadowDOM)f.DOM.injectStyles(this.css,a,!0);else if(f.FEATURE.scopedCSS){var d=f.DOM.injectStyles(this.css,a,!0);d.setAttribute("scoped","scoped")}else this.owner._alreadyGloballyInjected||(f.DOM.injectStyles(this.css),this.owner._alreadyGloballyInjected=!0)},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/html-sanitizer.js",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var b=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi;a.HTMLSanitizer=function(){function a(){}return a.prototype.sanitize=function(a){return a.replace(b,"")},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/attr-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.AttrBindingBehavior=void 0;a.AttrBindingBehavior=function(){function a(){}return a.prototype.bind=function(a,c){a.targetObserver=new b.DataAttributeObserver(a.target,a.targetProperty)},a.prototype.unbind=function(a,b){},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/binding-mode-behaviors.js",["exports","aurelia-binding","aurelia-metadata"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.TwoWayBindingBehavior=a.OneWayBindingBehavior=a.OneTimeBindingBehavior=void 0;var d,e,f,g,h,i,j={bind:function(a,b,c){a.originalMode=a.mode,a.mode=this.mode},unbind:function(a,b){a.mode=a.originalMode,a.originalMode=null}};a.OneTimeBindingBehavior=(d=(0,c.mixin)(j),d(e=function(){this.mode=b.bindingMode.oneTime})||e),a.OneWayBindingBehavior=(f=(0,c.mixin)(j),f(g=function(){this.mode=b.bindingMode.oneWay})||g),a.TwoWayBindingBehavior=(h=(0,c.mixin)(j),h(i=function(){this.mode=b.bindingMode.twoWay})||i)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/throttle-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";function c(a){var b=this,c=this.throttleState,d=+new Date-c.last;return d>=c.delay?(clearTimeout(c.timeoutId),c.timeoutId=null,c.last=+new Date,void this.throttledMethod(a)):(c.newValue=a,void(null===c.timeoutId&&(c.timeoutId=setTimeout(function(){c.timeoutId=null,c.last=+new Date,b.throttledMethod(c.newValue)},c.delay-d))))}Object.defineProperty(a,"__esModule",{value:!0}),a.ThrottleBindingBehavior=void 0;a.ThrottleBindingBehavior=function(){function a(){}return a.prototype.bind=function(a,d){var e=arguments.length<=2||void 0===arguments[2]?200:arguments[2],f="updateTarget";a.callSource?f="callSource":a.updateSource&&a.mode===b.bindingMode.twoWay&&(f="updateSource"),a.throttledMethod=a[f],a.throttledMethod.originalName=f,a[f]=c,a.throttleState={delay:e,last:0,timeoutId:null}},a.prototype.unbind=function(a,b){var c=a.throttledMethod.originalName;a[c]=a.throttledMethod,a.throttledMethod=null,clearTimeout(a.throttleState.timeoutId),a.throttleState=null},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/debounce-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";function c(a){var b=this,c=this.debounceState;return c.immediate?(c.immediate=!1,void this.debouncedMethod(a)):(clearTimeout(c.timeoutId),void(c.timeoutId=setTimeout(function(){return b.debouncedMethod(a)},c.delay)))}Object.defineProperty(a,"__esModule",{value:!0}),a.DebounceBindingBehavior=void 0;a.DebounceBindingBehavior=function(){function a(){}return a.prototype.bind=function(a,d){var e=arguments.length<=2||void 0===arguments[2]?200:arguments[2],f="updateTarget";a.callSource?f="callSource":a.updateSource&&a.mode===b.bindingMode.twoWay&&(f="updateSource"),a.debouncedMethod=a[f],a.debouncedMethod.originalName=f,a[f]=c,a.debounceState={delay:e,timeoutId:null,immediate:"updateTarget"===f}},a.prototype.unbind=function(a,b){var c=a.debouncedMethod.originalName;a[c]=a.debouncedMethod,a.debouncedMethod=null,clearTimeout(a.debounceState.timeoutId),a.debounceState=null},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/signal-binding-behavior.js",["exports","./binding-signaler"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.SignalBindingBehavior=void 0;a.SignalBindingBehavior=function(){function a(a){this.signals=a.signals}return a.inject=function(){return[b.BindingSignaler]},a.prototype.bind=function(a,b){if(!a.updateTarget)throw new Error("Only property bindings and string interpolation bindings can be signaled. Trigger, delegate and call bindings cannot be signaled.");if(3===arguments.length){var c=arguments[2],d=this.signals[c]||(this.signals[c]=[]);d.push(a),a.signalName=c}else{if(!(arguments.length>3))throw new Error("Signal name is required.");for(var e=Array.prototype.slice.call(arguments,2),f=e.length;f--;){var g=e[f],h=this.signals[g]||(this.signals[g]=[]);h.push(a)}a.signalName=e}},a.prototype.unbind=function(a,b){var c=a.signalName;if(a.signalName=null,Array.isArray(c))for(var d=c,e=d.length;e--;){var f=d[e],g=this.signals[f];g.splice(g.indexOf(a),1)}else{var h=this.signals[c];h.splice(h.indexOf(a),1)}},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/binding-signaler.js",["exports","aurelia-binding"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.BindingSignaler=void 0;a.BindingSignaler=function(){function a(){this.signals={}}return a.prototype.signal=function(a){var c=this.signals[a];if(c)for(var d=c.length;d--;)c[d].call(b.sourceContext)},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/update-trigger-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.UpdateTriggerBindingBehavior=void 0;var c,d,e="The updateTrigger binding behavior requires at least one event name argument: eg <input value.bind=\"firstName & updateTrigger:'blur'\">",f="The updateTrigger binding behavior can only be applied to two-way bindings on input/select elements.";a.UpdateTriggerBindingBehavior=(d=c=function(){function a(a){this.eventManager=a}return a.prototype.bind=function(a,c){for(var d=arguments.length,g=Array(d>2?d-2:0),h=2;h<d;h++)g[h-2]=arguments[h];if(0===g.length)throw new Error(e);if(a.mode!==b.bindingMode.twoWay)throw new Error(f);var i=a.observerLocator.getObserver(a.target,a.targetProperty);if(!i.handler)throw new Error(f);a.targetObserver=i,i.originalHandler=a.targetObserver.handler;var j=this.eventManager.createElementHandler(g);i.handler=j},a.prototype.unbind=function(a,b){a.targetObserver.handler=a.targetObserver.originalHandler,a.targetObserver.originalHandler=null},a}(),c.inject=[b.EventManager],d)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/abstract-repeater.js",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.AbstractRepeater=function(){function a(a){Object.assign(this,{local:"items",viewsRequireLifecycle:!0},a)}return a.prototype.viewCount=function(){throw new Error("subclass must implement `viewCount`")},a.prototype.views=function(){throw new Error("subclass must implement `views`")},a.prototype.view=function(a){throw new Error("subclass must implement `view`")},a.prototype.matcher=function(){throw new Error("subclass must implement `matcher`")},a.prototype.addView=function(a,b){throw new Error("subclass must implement `addView`")},a.prototype.insertView=function(a,b,c){throw new Error("subclass must implement `insertView`")},a.prototype.moveView=function(a,b){throw new Error("subclass must implement `moveView`")},a.prototype.removeAllViews=function(a,b){throw new Error("subclass must implement `removeAllViews`")},a.prototype.removeViews=function(a,b,c){throw new Error("subclass must implement `removeView`")},a.prototype.removeView=function(a,b,c){throw new Error("subclass must implement `removeView`")},a.prototype.updateBindings=function(a){throw new Error("subclass must implement `updateBindings`")},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/repeat-strategy-locator.js",["exports","./null-repeat-strategy","./array-repeat-strategy","./map-repeat-strategy","./set-repeat-strategy","./number-repeat-strategy"],function(a,b,c,d,e,f){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.RepeatStrategyLocator=void 0;a.RepeatStrategyLocator=function(){function a(){this.matchers=[],this.strategies=[],this.addStrategy(function(a){return null===a||void 0===a},new b.NullRepeatStrategy),this.addStrategy(function(a){return a instanceof Array},new c.ArrayRepeatStrategy),this.addStrategy(function(a){return a instanceof Map},new d.MapRepeatStrategy),this.addStrategy(function(a){return a instanceof Set},new e.SetRepeatStrategy),this.addStrategy(function(a){return"number"==typeof a},new f.NumberRepeatStrategy)}return a.prototype.addStrategy=function(a,b){this.matchers.push(a),this.strategies.push(b)},a.prototype.getStrategy=function(a){for(var b=this.matchers,c=0,d=b.length;c<d;++c)if(b[c](a))return this.strategies[c];return null},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/dynamic-element.js",["exports","aurelia-templating"],function(a,b){"use strict";function c(a,c,d){for(var e,f,g,h=(e=(0,b.customElement)(a),f=(0,b.useView)(c),e(g=f(g=function(){function a(){}return a.prototype.bind=function(a){this.$parent=a},a}())||g)||g),i=0,j=d.length;i<j;++i)(0,b.bindable)(d[i])(h);return h}Object.defineProperty(a,"__esModule",{value:!0}),a._createDynamicElement=c})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/html-resource-plugin.js",["exports","aurelia-templating","./dynamic-element"],function(a,b,c){"use strict";function d(a){return/([^\/^\?]+)\.html/i.exec(a)[1].toLowerCase()}function e(a){var e=a.container.get(b.ViewEngine),f=a.aurelia.loader;e.addResourcePlugin(".html",{fetch:function(a){return f.loadTemplate(a).then(function(b){var e,f=b.template.getAttribute("bindable"),g=d(a);return f?(f=f.split(",").map(function(a){return a.trim()}),b.template.removeAttribute("bindable")):f=[],e={},e[g]=(0,c._createDynamicElement)(g,a,f),e})}})}Object.defineProperty(a,"__esModule",{value:!0}),a.getElementName=d,a.configure=e})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/null-repeat-strategy.js",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.NullRepeatStrategy=function(){function a(){}return a.prototype.instanceChanged=function(a,b){a.removeAllViews(!0)},a.prototype.getCollectionObserver=function(a,b){},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/array-repeat-strategy.js",["exports","./repeat-utilities","aurelia-binding"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.ArrayRepeatStrategy=void 0;a.ArrayRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(a,b){return a.getArrayObserver(b)},a.prototype.instanceChanged=function(a,c){var d=this,e=c.length;if(!c||0===e)return void a.removeAllViews(!0,!a.viewsRequireLifecycle);var f=a.views(),g=f.length;return 0===g?void this._standardProcessInstanceChanged(a,c):void(a.viewsRequireLifecycle?!function(){for(var h=f.slice(0),i=a.local,j=a.matcher(),k=[],l=[],m=0;m<g;m++){var n=h[m],o=n.bindingContext[i];(0,b.indexOf)(c,o,j)===-1?l.push(n):k.push(o);
+}var p=void 0,q=void 0;k.length>0?(q=a.removeViews(l,!0,!a.viewsRequireLifecycle),p=function(){for(var g=0;g<e;g++){var h=c[g],i=(0,b.indexOf)(k,h,j,g),l=void 0;if(i===-1){var m=(0,b.createFullOverrideContext)(a,c[g],g,e);a.insertView(g,m.bindingContext,m),k.splice(g,0,void 0)}else i===g?(l=f[i],k[i]=void 0):(l=f[i],a.moveView(i,g),k.splice(i,1),k.splice(g,0,void 0));l&&(0,b.updateOverrideContext)(l.overrideContext,g,e)}d._inPlaceProcessItems(a,c)}):(q=a.removeAllViews(!0,!a.viewsRequireLifecycle),p=function(){return d._standardProcessInstanceChanged(a,c)}),q instanceof Promise?q.then(p):p()}():this._inPlaceProcessItems(a,c))},a.prototype._standardProcessInstanceChanged=function(a,c){for(var d=0,e=c.length;d<e;d++){var f=(0,b.createFullOverrideContext)(a,c[d],d,e);a.addView(f.bindingContext,f)}},a.prototype._inPlaceProcessItems=function(a,c){for(var d=c.length,e=a.viewCount();e>d;)e--,a.removeView(e,!0,!a.viewsRequireLifecycle);for(var f=a.local,g=0;g<e;g++){var h=a.view(g),i=g===d-1,j=0!==g&&!i;h.bindingContext[f]===c[g]&&h.overrideContext.$middle===j&&h.overrideContext.$last===i||(h.bindingContext[f]=c[g],h.overrideContext.$middle=j,h.overrideContext.$last=i,a.updateBindings(h))}for(var k=e;k<d;k++){var l=(0,b.createFullOverrideContext)(a,c[k],k,d);a.addView(l.bindingContext,l)}},a.prototype.instanceMutated=function(a,b,d){var e=this;if(a.__queuedSplices){for(var f=0,g=d.length;f<g;++f){var h=d[f],i=h.index,j=h.removed,k=h.addedCount;(0,c.mergeSplice)(a.__queuedSplices,i,j,k)}return void(a.__array=b.slice(0))}var l=this._runSplices(a,b.slice(0),d);l instanceof Promise&&!function(){var b=a.__queuedSplices=[],c=function d(){if(!b.length)return a.__queuedSplices=void 0,void(a.__array=void 0);var c=e._runSplices(a,a.__array,b)||Promise.resolve();b=a.__queuedSplices=[],c.then(d)};l.then(c)}()},a.prototype._runSplices=function(a,c,d){for(var e=this,f=0,g=[],h=0,i=d.length;h<i;++h){for(var j=d[h],k=j.removed,l=0,m=k.length;l<m;++l){var n=a.removeView(j.index+f+g.length,!0);n instanceof Promise&&g.push(n)}f-=j.addedCount}if(g.length>0)return Promise.all(g).then(function(){var f=e._handleAddedSplices(a,c,d);(0,b.updateOverrideContexts)(a.views(),f)});var o=this._handleAddedSplices(a,c,d);(0,b.updateOverrideContexts)(a.views(),o)},a.prototype._handleAddedSplices=function(a,c,d){for(var e=void 0,f=void 0,g=c.length,h=0,i=d.length;h<i;++h){var j=d[h],k=e=j.index,l=j.index+j.addedCount;for(("undefined"==typeof f||null===f||f>j.index)&&(f=e);k<l;++k){var m=(0,b.createFullOverrideContext)(a,c[k],k,g);a.insertView(k,m.bindingContext,m)}}return f},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/map-repeat-strategy.js",["exports","./repeat-utilities"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.MapRepeatStrategy=void 0;a.MapRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(a,b){return a.getMapObserver(b)},a.prototype.instanceChanged=function(a,b){var c=this,d=a.removeAllViews(!0,!a.viewsRequireLifecycle);return d instanceof Promise?void d.then(function(){return c._standardProcessItems(a,b)}):void this._standardProcessItems(a,b)},a.prototype._standardProcessItems=function(a,c){var d=0,e=void 0;c.forEach(function(f,g){e=(0,b.createFullOverrideContext)(a,f,d,c.size,g),a.addView(e.bindingContext,e),++d})},a.prototype.instanceMutated=function(a,c,d){var e=void 0,f=void 0,g=void 0,h=void 0,i=void 0,j=void 0,k=[],l=void 0;for(f=0,g=d.length;f<g;++f)switch(j=d[f],e=j.key,j.type){case"update":i=this._getViewIndexByKey(a,e),l=a.removeView(i,!0,!a.viewsRequireLifecycle),l instanceof Promise&&k.push(l),h=(0,b.createFullOverrideContext)(a,c.get(e),i,c.size,e),a.insertView(i,h.bindingContext,h);break;case"add":h=(0,b.createFullOverrideContext)(a,c.get(e),c.size-1,c.size,e),a.insertView(c.size-1,h.bindingContext,h);break;case"delete":if(void 0===j.oldValue)return;i=this._getViewIndexByKey(a,e),l=a.removeView(i,!0,!a.viewsRequireLifecycle),l instanceof Promise&&k.push(l);break;case"clear":a.removeAllViews(!0,!a.viewsRequireLifecycle);break;default:continue}k.length>0?Promise.all(k).then(function(){(0,b.updateOverrideContexts)(a.views(),0)}):(0,b.updateOverrideContexts)(a.views(),0)},a.prototype._getViewIndexByKey=function(a,b){var c=void 0,d=void 0,e=void 0;for(c=0,d=a.viewCount();c<d;++c)if(e=a.view(c),e.bindingContext[a.key]===b)return c},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/set-repeat-strategy.js",["exports","./repeat-utilities"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.SetRepeatStrategy=void 0;a.SetRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(a,b){return a.getSetObserver(b)},a.prototype.instanceChanged=function(a,b){var c=this,d=a.removeAllViews(!0,!a.viewsRequireLifecycle);return d instanceof Promise?void d.then(function(){return c._standardProcessItems(a,b)}):void this._standardProcessItems(a,b)},a.prototype._standardProcessItems=function(a,c){var d=0,e=void 0;c.forEach(function(f){e=(0,b.createFullOverrideContext)(a,f,d,c.size),a.addView(e.bindingContext,e),++d})},a.prototype.instanceMutated=function(a,c,d){var e=void 0,f=void 0,g=void 0,h=void 0,i=void 0,j=void 0,k=[],l=void 0;for(f=0,g=d.length;f<g;++f)switch(j=d[f],e=j.value,j.type){case"add":h=(0,b.createFullOverrideContext)(a,e,c.size-1,c.size),a.insertView(c.size-1,h.bindingContext,h);break;case"delete":i=this._getViewIndexByValue(a,e),l=a.removeView(i,!0,!a.viewsRequireLifecycle),l instanceof Promise&&k.push(l);break;case"clear":a.removeAllViews(!0,!a.viewsRequireLifecycle);break;default:continue}k.length>0?Promise.all(k).then(function(){(0,b.updateOverrideContexts)(a.views(),0)}):(0,b.updateOverrideContexts)(a.views(),0)},a.prototype._getViewIndexByValue=function(a,b){var c=void 0,d=void 0,e=void 0;for(c=0,d=a.viewCount();c<d;++c)if(e=a.view(c),e.bindingContext[a.local]===b)return c},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/number-repeat-strategy.js",["exports","./repeat-utilities"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.NumberRepeatStrategy=void 0;a.NumberRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(){return null},a.prototype.instanceChanged=function(a,b){var c=this,d=a.removeAllViews(!0,!a.viewsRequireLifecycle);return d instanceof Promise?void d.then(function(){return c._standardProcessItems(a,b)}):void this._standardProcessItems(a,b)},a.prototype._standardProcessItems=function(a,c){var d=a.viewCount(),e=void 0,f=void 0,g=void 0,h=void 0;if(c=Math.floor(c),h=d-c,h>0)for(h>d&&(h=d),e=0,f=h;e<f;++e)a.removeView(d-(e+1),!0,!a.viewsRequireLifecycle);else{for(e=d,f=c;e<f;++e)g=(0,b.createFullOverrideContext)(a,e,e,f),a.addView(g.bindingContext,g);(0,b.updateOverrideContexts)(a.views(),0)}},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/repeat-utilities.js",["exports","aurelia-binding"],function(a,b){"use strict";function c(a,b){var c=a.length;for(b>0&&(b-=1);b<c;++b)e(a[b].overrideContext,b,c)}function d(a,c,d,f,g){var h={},i=(0,b.createOverrideContext)(h,a.scope.overrideContext);return"undefined"!=typeof g?(h[a.key]=g,h[a.value]=c):h[a.local]=c,e(i,d,f),i}function e(a,b,c){var d=0===b,e=b===c-1,f=b%2===0;a.$index=b,a.$first=d,a.$last=e,a.$middle=!(d||e),a.$odd=!f,a.$even=f}function f(a,b){return a.behaviorInstructions.filter(function(a){return a.originalAttrName===b})[0].attributes.items.sourceExpression}function g(a){for(var c=!1;a instanceof b.BindingBehavior;)a=a.expression;for(;a instanceof b.ValueConverter;)a=a.expression,c=!0;return c?a:null}function h(a){for(;a instanceof b.BindingBehavior;){if("oneTime"===a.name)return!0;a=a.expression}return!1}function i(a){a.call&&a.mode===k?a.call(b.sourceContext):a.updateOneTimeBindings&&a.updateOneTimeBindings()}function j(a,b,c,d){if(!c)return a.indexOf(b);for(var e=a.length,f=d||0;f<e;f++)if(c(a[f],b))return f;return-1}Object.defineProperty(a,"__esModule",{value:!0}),a.updateOverrideContexts=c,a.createFullOverrideContext=d,a.updateOverrideContext=e,a.getItemsSourceExpression=f,a.unwrapExpression=g,a.isOneTime=h,a.updateOneTimeBinding=i,a.indexOf=j;var k=b.bindingMode.oneTime})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/analyze-view-factory.js",["exports"],function(a){"use strict";function b(a){var b=a.type,c=null!==b.elementName?b.elementName:b.attributeName;return e.indexOf(c)===-1&&(b.handlesAttached||b.handlesBind||b.handlesCreated||b.handlesDetached||b.handlesUnbind)||b.viewFactory&&d(b.viewFactory)||a.viewFactory&&d(a.viewFactory)}function c(a){var c=a.behaviorInstructions;if(c)for(var e=c.length;e--;)if(b(c[e]))return!0;return a.viewFactory&&d(a.viewFactory)}function d(a){if("_viewsRequireLifecycle"in a)return a._viewsRequireLifecycle;if(a._viewsRequireLifecycle=!1,a.viewFactory)return a._viewsRequireLifecycle=d(a.viewFactory),a._viewsRequireLifecycle;if(a.template.querySelector(".au-animate"))return a._viewsRequireLifecycle=!0,!0;for(var b in a.instructions)if(c(a.instructions[b]))return a._viewsRequireLifecycle=!0,!0;return a._viewsRequireLifecycle=!1,!1}Object.defineProperty(a,"__esModule",{value:!0}),a.viewsRequireLifecycle=d;var e=a.lifecycleOptionalBehaviors=["focus","if","repeat","show","with"]})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/aurelia-hide-style.js",["exports","aurelia-pal"],function(a,b){"use strict";function c(){b.DOM.injectStyles(f)}function d(a){b.FEATURE.shadowDOM&&a&&!a.hasAureliaHideStyle&&(a.hasAureliaHideStyle=!0,b.DOM.injectStyles(f,a))}Object.defineProperty(a,"__esModule",{value:!0}),a.aureliaHideClassName=void 0,a.injectAureliaHideStyleAtHead=c,a.injectAureliaHideStyleAtBoundary=d;var e=a.aureliaHideClassName="aurelia-hide",f="."+e+" { display:none !important; }"})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/aurelia-templating-resources.js",["exports","./compose","./if","./with","./repeat","./show","./hide","./sanitize-html","./replaceable","./focus","aurelia-templating","./css-resource","./html-sanitizer","./attr-binding-behavior","./binding-mode-behaviors","./throttle-binding-behavior","./debounce-binding-behavior","./signal-binding-behavior","./binding-signaler","./update-trigger-binding-behavior","./abstract-repeater","./repeat-strategy-locator","./html-resource-plugin","./null-repeat-strategy","./array-repeat-strategy","./map-repeat-strategy","./set-repeat-strategy","./number-repeat-strategy","./repeat-utilities","./analyze-view-factory","./aurelia-hide-style"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E){"use strict";function F(a){(0,E.injectAureliaHideStyleAtHead)(),a.globalResources("./compose","./if","./with","./repeat","./show","./hide","./replaceable","./sanitize-html","./focus","./binding-mode-behaviors","./throttle-binding-behavior","./debounce-binding-behavior","./signal-binding-behavior","./update-trigger-binding-behavior","./attr-binding-behavior"),(0,w.configure)(a);var b=a.container.get(k.ViewEngine);b.addResourcePlugin(".css",{fetch:function(a){var b;return b={},b[a]=(0,l._createCSSResource)(a),b}})}Object.defineProperty(a,"__esModule",{value:!0}),a.viewsRequireLifecycle=a.unwrapExpression=a.updateOneTimeBinding=a.isOneTime=a.getItemsSourceExpression=a.updateOverrideContext=a.createFullOverrideContext=a.NumberRepeatStrategy=a.SetRepeatStrategy=a.MapRepeatStrategy=a.ArrayRepeatStrategy=a.NullRepeatStrategy=a.RepeatStrategyLocator=a.AbstractRepeater=a.UpdateTriggerBindingBehavior=a.BindingSignaler=a.SignalBindingBehavior=a.DebounceBindingBehavior=a.ThrottleBindingBehavior=a.TwoWayBindingBehavior=a.OneWayBindingBehavior=a.OneTimeBindingBehavior=a.AttrBindingBehavior=a.configure=a.Focus=a.Replaceable=a.SanitizeHTMLValueConverter=a.HTMLSanitizer=a.Hide=a.Show=a.Repeat=a.With=a.If=a.Compose=void 0,a.Compose=b.Compose,a.If=c.If,a.With=d.With,a.Repeat=e.Repeat,a.Show=f.Show,a.Hide=g.Hide,a.HTMLSanitizer=m.HTMLSanitizer,a.SanitizeHTMLValueConverter=h.SanitizeHTMLValueConverter,a.Replaceable=i.Replaceable,a.Focus=j.Focus,a.configure=F,a.AttrBindingBehavior=n.AttrBindingBehavior,a.OneTimeBindingBehavior=o.OneTimeBindingBehavior,a.OneWayBindingBehavior=o.OneWayBindingBehavior,a.TwoWayBindingBehavior=o.TwoWayBindingBehavior,a.ThrottleBindingBehavior=p.ThrottleBindingBehavior,a.DebounceBindingBehavior=q.DebounceBindingBehavior,a.SignalBindingBehavior=r.SignalBindingBehavior,a.BindingSignaler=s.BindingSignaler,a.UpdateTriggerBindingBehavior=t.UpdateTriggerBindingBehavior,a.AbstractRepeater=u.AbstractRepeater,a.RepeatStrategyLocator=v.RepeatStrategyLocator,a.NullRepeatStrategy=x.NullRepeatStrategy,a.ArrayRepeatStrategy=y.ArrayRepeatStrategy,a.MapRepeatStrategy=z.MapRepeatStrategy,a.SetRepeatStrategy=A.SetRepeatStrategy,a.NumberRepeatStrategy=B.NumberRepeatStrategy,a.createFullOverrideContext=C.createFullOverrideContext,a.updateOverrideContext=C.updateOverrideContext,a.getItemsSourceExpression=C.getItemsSourceExpression,a.isOneTime=C.isOneTime,a.updateOneTimeBinding=C.updateOneTimeBinding,a.unwrapExpression=C.unwrapExpression,a.viewsRequireLifecycle=D.viewsRequireLifecycle})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1.js",["npm:aurelia-templating-resources@1.1.1/aurelia-templating-resources"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/route-loader.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-router","aurelia-path","aurelia-metadata"],function(a,b,c,d,e,f){"use strict";function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(a,"__esModule",{value:!0}),a.TemplatingRouteLoader=void 0;var i,j;a.TemplatingRouteLoader=(i=(0,b.inject)(c.CompositionEngine),i(j=function(a){function b(b){var c=g(this,a.call(this));return c.compositionEngine=b,c}return h(b,a),b.prototype.loadRoute=function(a,b){var c=a.container.createChild(),g={viewModel:(0,e.relativeToFile)(b.moduleId,f.Origin.get(a.container.viewModel.constructor).moduleId),childContainer:c,view:b.view||b.viewStrategy,router:a};return c.getChildRouter=function(){var b=void 0;return c.registerHandler(d.Router,function(d){return b||(b=a.createChild(c))}),c.get(d.Router)},this.compositionEngine.ensureViewModel(g)},b}(d.RouteLoader))||j)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/router-view.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-router","aurelia-metadata","aurelia-pal"],function(a,b,c,d,e,f){"use strict";function g(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function h(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}Object.defineProperty(a,"__esModule",{value:!0}),a.RouterView=void 0;var i,j,k,l,m,n,o,p,q=function(){function a(){}return a.prototype.before=function(a,b,c){var d=Promise.resolve(c());return void 0!==b?d.then(function(){return a.remove(b,!0)}):d},a.prototype["with"]=function(a,b,c){var d=Promise.resolve(c());return void 0!==b?Promise.all([a.remove(b,!0),d]):d},a.prototype.after=function(a,b,c){return Promise.resolve(a.removeAll(!0)).then(c)},a}(),r=new q;a.RouterView=(i=(0,c.customElement)("router-view"),j=(0,b.inject)(f.DOM.Element,b.Container,c.ViewSlot,d.Router,c.ViewLocator,c.CompositionTransaction,c.CompositionEngine),i(k=(0,c.noView)(k=j((l=function(){function a(a,b,c,d,e,f,h){g(this,"swapOrder",m,this),g(this,"layoutView",n,this),g(this,"layoutViewModel",o,this),g(this,"layoutModel",p,this),this.element=a,this.container=b,this.viewSlot=c,this.router=d,this.viewLocator=e,this.compositionTransaction=f,this.compositionEngine=h,this.router.registerViewPort(this,this.element.getAttribute("name")),"initialComposition"in f||(f.initialComposition=!0,this.compositionTransactionNotifier=f.enlist())}return a.prototype.created=function(a){this.owningView=a},a.prototype.bind=function(a,b){this.container.viewModel=a,this.overrideContext=b},a.prototype.process=function(a,b){var d=this,f=a.component,g=f.childContainer,h=f.viewModel,i=f.viewModelResource,j=i.metadata,k=f.router.currentInstruction.config,l=k.viewPorts?k.viewPorts[a.name]:{},m={viewModel:l.layoutViewModel||k.layoutViewModel||this.layoutViewModel,view:l.layoutView||k.layoutView||this.layoutView,model:l.layoutModel||k.layoutModel||this.layoutModel,router:a.component.router,childContainer:g,viewSlot:this.viewSlot},n=this.viewLocator.getViewStrategy(f.view||h);return n&&f.view&&n.makeRelativeTo(e.Origin.get(f.router.container.viewModel.constructor).moduleId),j.load(g,i.value,null,n,!0).then(function(e){d.compositionTransactionNotifier||(d.compositionTransactionOwnershipToken=d.compositionTransaction.tryCapture()),(m.viewModel||m.view)&&(a.layoutInstruction=m),a.controller=j.create(g,c.BehaviorInstruction.dynamic(d.element,h,e)),b||d.swap(a)})},a.prototype.swap=function(a){var b=this,d=function(){var d=b.view,e=void 0,f=b.viewSlot,g=a.layoutInstruction;(e=b.swapOrder in r?r[b.swapOrder]:r.after)(f,d,function(){var d=void 0;return g?(g.viewModel||(g.viewModel={}),d=b.compositionEngine.createController(g).then(function(b){return c.ShadowDOM.distributeView(a.controller.view,b.slots||b.view.slots),b.view||b})):d=Promise.resolve(a.controller.view),d.then(function(a){return b.view=a,f.add(a)}).then(function(){b._notify()})})};return a.controller.automate(this.overrideContext,this.owningView),this.compositionTransactionOwnershipToken?this.compositionTransactionOwnershipToken.waitForCompositionComplete().then(function(){return b.compositionTransactionOwnershipToken=null,d()}):d()},a.prototype._notify=function(){this.compositionTransactionNotifier&&(this.compositionTransactionNotifier.done(),this.compositionTransactionNotifier=null)},a}(),m=h(l.prototype,"swapOrder",[c.bindable],{enumerable:!0,initializer:null}),n=h(l.prototype,"layoutView",[c.bindable],{enumerable:!0,initializer:null}),o=h(l.prototype,"layoutViewModel",[c.bindable],{enumerable:!0,initializer:null}),p=h(l.prototype,"layoutModel",[c.bindable],{enumerable:!0,initializer:null}),k=l))||k)||k)||k)})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader@1.0.0/aurelia-loader.js",["exports","aurelia-path","aurelia-metadata"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Loader=a.TemplateRegistryEntry=a.TemplateDependency=void 0;var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=a.TemplateDependency=function(a,b){this.src=a,this.name=b},f=a.TemplateRegistryEntry=function(){function a(a){this.templateIsLoaded=!1,this.factoryIsReady=!1,this.resources=null,this.dependencies=null,this.address=a,this.onReady=null,this._template=null,this._factory=null}return a.prototype.addDependency=function(a,d){var f="string"==typeof a?(0,b.relativeToFile)(a,this.address):c.Origin.get(a).moduleId;this.dependencies.push(new e(f,d))},d(a,[{key:"template",get:function(){return this._template},set:function(a){var c=this.address,d=void 0,f=void 0,g=void 0,h=void 0;this._template=a,this.templateIsLoaded=!0,d=a.content.querySelectorAll("require"),h=this.dependencies=new Array(d.length);for(var i=0,j=d.length;i<j;++i){if(f=d[i],g=f.getAttribute("from"),!g)throw new Error("<require> element in "+c+' has no "from" attribute.');h[i]=new e((0,b.relativeToFile)(g,c),f.getAttribute("as")),f.parentNode&&f.parentNode.removeChild(f)}}},{key:"factory",get:function(){return this._factory},set:function(a){this._factory=a,this.factoryIsReady=!0}}]),a}();a.Loader=function(){function a(){this.templateRegistry={}}return a.prototype.map=function(a,b){throw new Error("Loaders must implement map(id, source).")},a.prototype.normalizeSync=function(a,b){throw new Error("Loaders must implement normalizeSync(moduleId, relativeTo).")},a.prototype.normalize=function(a,b){throw new Error("Loaders must implement normalize(moduleId: string, relativeTo: string): Promise<string>.")},a.prototype.loadModule=function(a){throw new Error("Loaders must implement loadModule(id).")},a.prototype.loadAllModules=function(a){throw new Error("Loader must implement loadAllModules(ids).")},a.prototype.loadTemplate=function(a){throw new Error("Loader must implement loadTemplate(url).")},a.prototype.loadText=function(a){throw new Error("Loader must implement loadText(url).")},a.prototype.applyPluginToUrl=function(a,b){throw new Error("Loader must implement applyPluginToUrl(url, pluginName).")},a.prototype.addPlugin=function(a,b){throw new Error("Loader must implement addPlugin(pluginName, implementation).")},a.prototype.getOrCreateTemplateRegistryEntry=function(a){return this.templateRegistry[a]||(this.templateRegistry[a]=new f(a))},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader@1.0.0.js",["npm:aurelia-loader@1.0.0/aurelia-loader"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-binding@1.0.9/aurelia-binding.js",["exports","aurelia-logging","aurelia-pal","aurelia-task-queue","aurelia-metadata"],function(a,b,c,d,e){"use strict";function f(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function i(a){if(a in La)return La[a];var b=a.charAt(0).toLowerCase()+a.slice(1).replace(/[_.-](\w|$)/g,function(a,b){return b.toUpperCase()});return La[a]=b,b}function j(a,b){return{bindingContext:a,parentOverrideContext:b||null}}function k(a,b,c){var d=b.overrideContext;if(c){for(;c&&d;)c--,d=d.parentOverrideContext;if(c||!d)return;return a in d?d:d.bindingContext}for(;d&&!(a in d)&&!(d.bindingContext&&a in d.bindingContext);)d=d.parentOverrideContext;return d?a in d?d:d.bindingContext:b.bindingContext||b.overrideContext}function l(a,b){return b?{bindingContext:a,overrideContext:j(a,j(b))}:{bindingContext:a,overrideContext:j(a)}}function m(a){for(var b=void 0===this._observerSlots?0:this._observerSlots,c=b;c--&&this[Na[c]]!==a;);if(c===-1){for(c=0;this[Na[c]];)c++;this[Na[c]]=a,a.subscribe(Ma,this),c===b&&(this._observerSlots=c+1)}void 0===this._version&&(this._version=0),this[Oa[c]]=this._version}function n(a,b){var c=this.observerLocator.getObserver(a,b);m.call(this,c)}function o(a){var b=this.observerLocator.getArrayObserver(a);m.call(this,b)}function p(a){for(var b=this._observerSlots;b--;)if(a||this[Oa[b]]!==this._version){var c=this[Na[b]];this[Na[b]]=null,c&&c.unsubscribe(Ma,this)}}function q(){return function(a){a.prototype.observeProperty=n,a.prototype.observeArray=o,a.prototype.unobserve=p,a.prototype.addObserver=m}}function r(a){for(var b=0,d=Qa.keys(),e=void 0;(e=d.next())&&!e.done;){var f=e.value;if(Qa["delete"](f),f.connect(!0),b++,b%100===0&&c.PLATFORM.performance.now()-a>Sa)break}Qa.size?c.PLATFORM.requestAnimationFrame(r):(Ta=!1,Ua=0)}function s(a){Ua<Ra?(Ua++,a.connect(!1)):Qa.set(a),Ta||(Ta=!0,c.PLATFORM.requestAnimationFrame(r))}function t(a,b){return!this.hasSubscriber(a,b)&&(this._context0?this._context1?this._context2?this._contextsRest?(this._contextsRest.push(a),this._callablesRest.push(b),!0):(this._contextsRest=[a],this._callablesRest=[b],!0):(this._context2=a,this._callable2=b,!0):(this._context1=a,this._callable1=b,!0):(this._context0=a,this._callable0=b,!0))}function u(a,b){if(this._context0===a&&this._callable0===b)return this._context0=null,this._callable0=null,!0;if(this._context1===a&&this._callable1===b)return this._context1=null,this._callable1=null,!0;if(this._context2===a&&this._callable2===b)return this._context2=null,this._callable2=null,!0;var c=this._contextsRest,d=void 0;return!(!c||!c.length||(d=c.indexOf(a))===-1||this._callablesRest[d]!==b)&&(c.splice(d,1),this._callablesRest.splice(d,1),!0)}function v(a,b){var c=this._context0,d=this._callable0,e=this._context1,f=this._callable1,g=this._context2,h=this._callable2,i=this._contextsRest?this._contextsRest.length:0,j=void 0,k=void 0,l=void 0,m=void 0;if(i){for(l=Xa.length;l--&&Xa[l];);for(l<0?(l=Xa.length,j=[],k=[],Xa.push(!0),Va.push(j),Wa.push(k)):(Xa[l]=!0,j=Va[l],k=Wa[l]),m=i;m--;)j[m]=this._contextsRest[m],k[m]=this._callablesRest[m]}if(c&&(d?d.call(c,a,b):c(a,b)),e&&(f?f.call(e,a,b):e(a,b)),g&&(h?h.call(g,a,b):g(a,b)),i){for(m=0;m<i;m++){var n=k[m],o=j[m];n?n.call(o,a,b):o(a,b),j[m]=null,k[m]=null}Xa[l]=!1}}function w(){return!!(this._context0||this._context1||this._context2||this._contextsRest&&this._contextsRest.length)}function x(a,b){var c=this._context0===a&&this._callable0===b||this._context1===a&&this._callable1===b||this._context2===a&&this._callable2===b;if(c)return!0;var d=void 0,e=this._contextsRest;if(!e||0===(d=e.length))return!1;for(var f=this._callablesRest;d--;)if(e[d]===a&&f[d]===b)return!0;return!1}function y(){return function(a){a.prototype.addSubscriber=t,a.prototype.removeSubscriber=u,a.prototype.callSubscribers=v,a.prototype.hasSubscribers=w,a.prototype.hasSubscriber=x}}function z(a){return+a===a>>>0}function A(a){return+a}function B(a,b,c){return{index:a,removed:b,addedCount:c}}function C(){}function D(a,b,c,d,e,f){return bb.calcSplices(a,b,c,d,e,f)}function E(a,b,c,d){return b<c||d<a?-1:b===c||d===a?0:a<c?b<d?b-c:d-c:d<b?d-a:b-a}function F(a,b,c,d){for(var e=B(b,c,d),f=!1,g=0,h=0;h<a.length;h++){var i=a[h];if(i.index+=g,!f){var j=E(e.index,e.index+e.removed.length,i.index,i.index+i.addedCount);if(j>=0){a.splice(h,1),h--,g-=i.addedCount-i.removed.length,e.addedCount+=i.addedCount-j;var k=e.removed.length+i.removed.length-j;if(e.addedCount||k){var l=i.removed;if(e.index<i.index){var m=e.removed.slice(0,i.index-e.index);Array.prototype.push.apply(m,l),l=m}if(e.index+e.removed.length>i.index+i.addedCount){var n=e.removed.slice(i.index+i.addedCount-e.index);Array.prototype.push.apply(l,n)}e.removed=l,i.index<e.index&&(e.index=i.index)}else f=!0}else if(e.index<i.index){f=!0,a.splice(h,0,e),h++;var o=e.addedCount-e.removed.length;i.index+=o,g+=o}}}f||a.push(e)}function G(a,b){for(var c=[],d=0;d<b.length;d++){var e=b[d];switch(e.type){case"splice":F(c,e.index,e.removed.slice(),e.addedCount);break;case"add":case"update":case"delete":if(!z(e.name))continue;var f=A(e.name);if(f<0)continue;F(c,f,[e.oldValue],"delete"===e.type?0:1);break;default:console.error("Unexpected record type: "+JSON.stringify(e))}}return c}function H(a,b){var c=[];return G(a,b).forEach(function(b){return 1===b.addedCount&&1===b.removed.length?void(b.removed[0]!==a[b.index]&&c.push(b)):void(c=c.concat(D(a,b.index,b.index+b.addedCount,b.removed,0,b.removed.length)))}),c}function I(a,b,c,d){return{type:a,object:b,key:c,oldValue:d}}function J(a){for(var b=new Array(a.size),c=a.keys(),d=0,e=void 0;(e=c.next())&&!e.done;)b[d]=I("added",a,e.value),d++;return b}function K(a,b){return lb["for"](a,b)}function L(a,b,c){for(var d=b.length,e=[],f=0;f<d;f++)e[f]=b[f].evaluate(a,c);return e}function M(a,b){return null!==a&&null!==b?"string"==typeof a&&"string"!=typeof b?a+b.toString():"string"!=typeof a&&"string"==typeof b?a.toString()+b:a+b:null!==a?a:null!==b?b:0}function N(a,b,c){var d=null===a||void 0===a?null:a[b];if("function"==typeof d)return d;if(!c&&(null===d||void 0===d))return null;throw new Error(b+" is not a function")}function O(a,b){if(Array.isArray(a))return a[parseInt(b,10)];if(a)return a[b];if(null!==a&&void 0!==a)return a[b]}function P(a,b,c){if(Array.isArray(a)){var d=parseInt(b,10);a.length<=d&&(a.length=d+1),a[d]=c}else a[b]=c;return c}function Q(a){var b=new Gb;return a.accept(b)}function R(a){return a>=Nb&&a<=Sb||a===Hc}function S(a){return vc<=a&&a<=Dc||nc<=a&&a<=pc||a===uc||a===Vb}function T(a){return vc<=a&&a<=Dc||nc<=a&&a<=pc||lc<=a&&a<=mc||a===uc||a===Vb}function U(a){return lc<=a&&a<=mc}function V(a){return a===wc||a===oc}function W(a){return a===cc||a===ac}function X(a){switch(a){case yc:return Ob;case xc:return Qb;case zc:return Rb;case Ac:return Nb;case Cc:return Pb;default:return a}}function Y(a,b){if(!a)throw b||"Assertion failed"}function Z(a,b){return Mc["for"](a,b)}function $(a){return a.path&&a.path[0]||a.deepPath&&a.deepPath[0]||a.target}function _(a){a.standardStopPropagation=a.stopPropagation,a.stopPropagation=function(){this.propagationStopped=!0,this.standardStopPropagation()}}function aa(a){var b=!1;a.propagationStopped=!1;for(var c=$(a);c&&!a.propagationStopped;){if(c.delegatedCallbacks){var d=c.delegatedCallbacks[a.type];d&&(b||(_(a),b=!0),d(a))}c=c.parentNode}}function ba(a){return!!(a&&a.get&&a.get.dependencies)}function ca(a,b,c){var d=Object.getOwnPropertyDescriptor(a.prototype,b);d.get.dependencies=c}function da(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return function(a,c,d){return d.get.dependencies=b,d}}function ea(a,b,c,d){var e=c.get.dependencies;if(!(e instanceof fd)){for(var f=e.length;f--;)e[f]=d.parser.parse(e[f]);e=c.get.dependencies=new fd(b,e)}var g={bindingContext:a,overrideContext:j(a)};return new Ya(g,e,d)}function fa(a){var b=c.DOM.createElement("div");return b.innerHTML=a,b.firstChild}function ga(a){return void 0===a||"string"==typeof a?function(b){e.metadata.define(e.metadata.resource,new pd(a),b)}:void e.metadata.define(e.metadata.resource,new pd,a)}function ha(a){return void 0===a||"string"==typeof a?function(b){e.metadata.define(e.metadata.resource,new qd(a),b)}:void e.metadata.define(e.metadata.resource,new qd,a)}function ia(a){var b=a.au;if(void 0===b)throw new Error('No Aurelia APIs are defined for the element: "'+a.tagName+'".');return b}function ja(a,b){return vd["for"](a,b)}function ka(a,b,c){function d(a,b,c,d){var e=void 0===b;e&&(a=a.prototype,b="string"==typeof d?d:d.name);var f="_"+b,g={configurable:!0,enumerable:!1,writable:!0},h=d&&d.changeHandler||b+"Changed";return c?"function"==typeof c.initializer&&(g.value=c.initializer()):c={},"enumerable"in c||(c.enumerable=!0),delete c.value,delete c.writable,delete c.initializer,Reflect.defineProperty(a,f,g),c.get=function(){return this[f]},c.set=function(a){var c=this[f];this[f]=a,Reflect.defineProperty(this,f,{enumerable:!1}),this[h]&&this[h](a,c,b)},c.get.dependencies=[f],e?void Reflect.defineProperty(a,b,c):c}return void 0===b?function(b,c,e){return d(b,c,e,a)}:d(a,b,c)}Object.defineProperty(a,"__esModule",{value:!0}),a.getSetObserver=a.BindingEngine=a.NameExpression=a.Listener=a.ListenerExpression=a.BindingBehaviorResource=a.ValueConverterResource=a.Call=a.CallExpression=a.Binding=a.BindingExpression=a.ObjectObservationAdapter=a.ObserverLocator=a.SVGAnalyzer=a.presentationAttributes=a.presentationElements=a.elements=a.ComputedExpression=a.ClassObserver=a.SelectValueObserver=a.CheckedObserver=a.ValueAttributeObserver=a.StyleObserver=a.DataAttributeObserver=a.dataAttributeAccessor=a.XLinkAttributeObserver=a.SetterObserver=a.PrimitiveObserver=a.propertyAccessor=a.DirtyCheckProperty=a.DirtyChecker=a.EventManager=a.getMapObserver=a.ParserImplementation=a.Parser=a.Scanner=a.Lexer=a.Token=a.bindingMode=a.ExpressionCloner=a.Unparser=a.LiteralObject=a.LiteralArray=a.LiteralString=a.LiteralPrimitive=a.PrefixNot=a.Binary=a.CallFunction=a.CallMember=a.CallScope=a.AccessKeyed=a.AccessMember=a.AccessScope=a.AccessThis=a.Conditional=a.Assign=a.ValueConverter=a.BindingBehavior=a.Chain=a.Expression=a.getArrayObserver=a.CollectionLengthObserver=a.ModifyCollectionObserver=a.ExpressionObserver=a.sourceContext=void 0,
a.camelCase=i,a.createOverrideContext=j,a.getContextFor=k,a.createScopeForTest=l,a.connectable=q,a.enqueueBindingConnect=s,a.subscriberCollection=y,a.calcSplices=D,a.mergeSplice=F,a.projectArraySplices=H,a.getChangeRecords=J,a.cloneExpression=Q,a.hasDeclaredDependencies=ba,a.declarePropertyDependencies=ca,a.computedFrom=da,a.createComputedObserver=ea,a.valueConverter=ga,a.bindingBehavior=ha,a.observable=ka;for(var la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,Da,Ea,Fa,Ga,Ha,Ia=f(b),Ja="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},Ka=(function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}()),La=Object.create(null),Ma=a.sourceContext="Binding:source",Na=[],Oa=[],Pa=0;Pa<100;Pa++)Na.push("_observer"+Pa),Oa.push("_observerVersion"+Pa);var Qa=new Map,Ra=100,Sa=15,Ta=!1,Ua=0,Va=[],Wa=[],Xa=[],Ya=a.ExpressionObserver=(la=q(),ma=y(),la(na=ma(na=function(){function a(a,b,c,d){this.scope=a,this.expression=b,this.observerLocator=c,this.lookupFunctions=d}return a.prototype.getValue=function(){return this.expression.evaluate(this.scope,this.lookupFunctions)},a.prototype.setValue=function(a){this.expression.assign(this.scope,a)},a.prototype.subscribe=function(a,b){var c=this;if(this.hasSubscribers()||(this.oldValue=this.expression.evaluate(this.scope,this.lookupFunctions),this.expression.connect(this,this.scope)),this.addSubscriber(a,b),1===arguments.length&&a instanceof Function)return{dispose:function(){c.unsubscribe(a,b)}}},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)&&!this.hasSubscribers()&&(this.unobserve(!0),this.oldValue=void 0)},a.prototype.call=function(){var a=this.expression.evaluate(this.scope,this.lookupFunctions),b=this.oldValue;a!==b&&(this.oldValue=a,this.callSubscribers(a,b)),this._version++,this.expression.connect(this,this.scope),this.unobserve(!1)},a}())||na)||na),Za=0,$a=1,_a=2,ab=3;C.prototype={calcEditDistances:function(a,b,c,d,e,f){for(var g=f-e+1,h=c-b+1,i=new Array(g),j=void 0,k=void 0,l=0;l<g;++l)i[l]=new Array(h),i[l][0]=l;for(var m=0;m<h;++m)i[0][m]=m;for(var n=1;n<g;++n)for(var o=1;o<h;++o)this.equals(a[b+o-1],d[e+n-1])?i[n][o]=i[n-1][o-1]:(j=i[n-1][o]+1,k=i[n][o-1]+1,i[n][o]=j<k?j:k);return i},spliceOperationsFromEditDistances:function(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!==b)if(0!==c){var f=a[b-1][c-1],g=a[b-1][c],h=a[b][c-1],i=void 0;i=g<h?g<f?g:f:h<f?h:f,i===f?(f===d?e.push(Za):(e.push($a),d=f),b--,c--):i===g?(e.push(ab),b--,d=g):(e.push(_a),c--,d=h)}else e.push(ab),b--;else e.push(_a),c--;return e.reverse(),e},calcSplices:function(a,b,c,d,e,f){var g=0,h=0,i=Math.min(c-b,f-e);if(0===b&&0===e&&(g=this.sharedPrefix(a,d,i)),c===a.length&&f===d.length&&(h=this.sharedSuffix(a,d,i-g)),b+=g,e+=g,c-=h,f-=h,c-b===0&&f-e===0)return[];if(b===c){for(var j=B(b,[],0);e<f;)j.removed.push(d[e++]);return[j]}if(e===f)return[B(b,[],c-b)];for(var k=this.spliceOperationsFromEditDistances(this.calcEditDistances(a,b,c,d,e,f)),l=void 0,m=[],n=b,o=e,p=0;p<k.length;++p)switch(k[p]){case Za:l&&(m.push(l),l=void 0),n++,o++;break;case $a:l||(l=B(n,[],0)),l.addedCount++,n++,l.removed.push(d[o]),o++;break;case _a:l||(l=B(n,[],0)),l.addedCount++,n++;break;case ab:l||(l=B(n,[],0)),l.removed.push(d[o]),o++}return l&&m.push(l),m},sharedPrefix:function(a,b,c){for(var d=0;d<c;++d)if(!this.equals(a[d],b[d]))return d;return c},sharedSuffix:function(a,b,c){for(var d=a.length,e=b.length,f=0;f<c&&this.equals(a[--d],b[--e]);)f++;return f},calculateSplices:function(a,b){return this.calcSplices(a,0,a.length,b,0,b.length)},equals:function(a,b){return a===b}};var bb=new C,cb=a.ModifyCollectionObserver=(oa=y(),oa(pa=function(){function a(a,b){this.taskQueue=a,this.queued=!1,this.changeRecords=null,this.oldCollection=null,this.collection=b,this.lengthPropertyName=b instanceof Map||b instanceof Set?"size":"length"}return a.prototype.subscribe=function(a,b){this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)},a.prototype.addChangeRecord=function(a){if(this.hasSubscribers()||this.lengthObserver){if("splice"===a.type){var b=a.index,c=a.object.length;b>c?b=c-a.addedCount:b<0&&(b=c+a.removed.length+b-a.addedCount),b<0&&(b=0),a.index=b}null===this.changeRecords?this.changeRecords=[a]:this.changeRecords.push(a),this.queued||(this.queued=!0,this.taskQueue.queueMicroTask(this))}},a.prototype.flushChangeRecords=function(){(this.changeRecords&&this.changeRecords.length||this.oldCollection)&&this.call()},a.prototype.reset=function(a){this.oldCollection=a,this.hasSubscribers()&&!this.queued&&(this.queued=!0,this.taskQueue.queueMicroTask(this))},a.prototype.getLengthObserver=function(){return this.lengthObserver||(this.lengthObserver=new db(this.collection))},a.prototype.call=function(){var a=this.changeRecords,b=this.oldCollection,c=void 0;this.queued=!1,this.changeRecords=[],this.oldCollection=null,this.hasSubscribers()&&(c=b?this.collection instanceof Map||this.collection instanceof Set?J(b):D(this.collection,0,this.collection.length,b,0,b.length):this.collection instanceof Map||this.collection instanceof Set?a:H(this.collection,a),this.callSubscribers(c)),this.lengthObserver&&this.lengthObserver.call(this.collection[this.lengthPropertyName])},a}())||pa),db=a.CollectionLengthObserver=(qa=y(),qa(ra=function(){function a(a){this.collection=a,this.lengthPropertyName=a instanceof Map||a instanceof Set?"size":"length",this.currentValue=a[this.lengthPropertyName]}return a.prototype.getValue=function(){return this.collection[this.lengthPropertyName]},a.prototype.setValue=function(a){this.collection[this.lengthPropertyName]=a},a.prototype.subscribe=function(a,b){this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)},a.prototype.call=function(a){var b=this.currentValue;this.callSubscribers(a,b),this.currentValue=a},a}())||ra),eb=Array.prototype.pop,fb=Array.prototype.push,gb=Array.prototype.reverse,hb=Array.prototype.shift,ib=Array.prototype.sort,jb=Array.prototype.splice,kb=Array.prototype.unshift;Array.prototype.pop=function(){var a=this.length>0,b=eb.apply(this,arguments);return a&&void 0!==this.__array_observer__&&this.__array_observer__.addChangeRecord({type:"delete",object:this,name:this.length,oldValue:b}),b},Array.prototype.push=function(){var a=fb.apply(this,arguments);return void 0!==this.__array_observer__&&this.__array_observer__.addChangeRecord({type:"splice",object:this,index:this.length-arguments.length,removed:[],addedCount:arguments.length}),a},Array.prototype.reverse=function(){var a=void 0;void 0!==this.__array_observer__&&(this.__array_observer__.flushChangeRecords(),a=this.slice());var b=gb.apply(this,arguments);return void 0!==this.__array_observer__&&this.__array_observer__.reset(a),b},Array.prototype.shift=function(){var a=this.length>0,b=hb.apply(this,arguments);return a&&void 0!==this.__array_observer__&&this.__array_observer__.addChangeRecord({type:"delete",object:this,name:0,oldValue:b}),b},Array.prototype.sort=function(){var a=void 0;void 0!==this.__array_observer__&&(this.__array_observer__.flushChangeRecords(),a=this.slice());var b=ib.apply(this,arguments);return void 0!==this.__array_observer__&&this.__array_observer__.reset(a),b},Array.prototype.splice=function(){var a=jb.apply(this,arguments);return void 0!==this.__array_observer__&&this.__array_observer__.addChangeRecord({type:"splice",object:this,index:arguments[0],removed:a,addedCount:arguments.length>2?arguments.length-2:0}),a},Array.prototype.unshift=function(){var a=kb.apply(this,arguments);return void 0!==this.__array_observer__&&this.__array_observer__.addChangeRecord({type:"splice",object:this,index:0,removed:[],addedCount:arguments.length}),a},a.getArrayObserver=K;var lb=function(a){function b(b,c){return g(this,a.call(this,b,c))}return h(b,a),b["for"]=function(a,c){return"__array_observer__"in c||Reflect.defineProperty(c,"__array_observer__",{value:b.create(a,c),enumerable:!1,configurable:!1}),c.__array_observer__},b.create=function(a,c){return new b(a,c)},b}(cb),mb=a.Expression=function(){function a(){this.isChain=!1,this.isAssignable=!1}return a.prototype.evaluate=function(a,b,c){throw new Error('Binding expression "'+this+'" cannot be evaluated.')},a.prototype.assign=function(a,b,c){throw new Error('Binding expression "'+this+'" cannot be assigned to.')},a.prototype.toString=function(){return Fb.unparse(this)},a}(),nb=a.Chain=function(a){function b(b){var c=g(this,a.call(this));return c.expressions=b,c.isChain=!0,c}return h(b,a),b.prototype.evaluate=function(a,b){for(var c=void 0,d=this.expressions,e=void 0,f=0,g=d.length;f<g;++f)e=d[f].evaluate(a,b),null!==e&&(c=e);return c},b.prototype.accept=function(a){return a.visitChain(this)},b}(mb),ob=a.BindingBehavior=function(a){function b(b,c,d){var e=g(this,a.call(this));return e.expression=b,e.name=c,e.args=d,e}return h(b,a),b.prototype.evaluate=function(a,b){return this.expression.evaluate(a,b)},b.prototype.assign=function(a,b,c){return this.expression.assign(a,b,c)},b.prototype.accept=function(a){return a.visitBindingBehavior(this)},b.prototype.connect=function(a,b){this.expression.connect(a,b)},b.prototype.bind=function(a,b,c){this.expression.expression&&this.expression.bind&&this.expression.bind(a,b,c);var d=c.bindingBehaviors(this.name);if(!d)throw new Error('No BindingBehavior named "'+this.name+'" was found!');var e="behavior-"+this.name;if(a[e])throw new Error('A binding behavior named "'+this.name+'" has already been applied to "'+this.expression+'"');a[e]=d,d.bind.apply(d,[a,b].concat(L(b,this.args,a.lookupFunctions)))},b.prototype.unbind=function(a,b){var c="behavior-"+this.name;a[c].unbind(a,b),a[c]=null,this.expression.expression&&this.expression.unbind&&this.expression.unbind(a,b)},b}(mb),pb=a.ValueConverter=function(a){function b(b,c,d,e){var f=g(this,a.call(this));return f.expression=b,f.name=c,f.args=d,f.allArgs=e,f}return h(b,a),b.prototype.evaluate=function(a,b){var c=b.valueConverters(this.name);if(!c)throw new Error('No ValueConverter named "'+this.name+'" was found!');return"toView"in c?c.toView.apply(c,L(a,this.allArgs,b)):this.allArgs[0].evaluate(a,b)},b.prototype.assign=function(a,b,c){var d=c.valueConverters(this.name);if(!d)throw new Error('No ValueConverter named "'+this.name+'" was found!');return"fromView"in d&&(b=d.fromView.apply(d,[b].concat(L(a,this.args,c)))),this.allArgs[0].assign(a,b,c)},b.prototype.accept=function(a){return a.visitValueConverter(this)},b.prototype.connect=function(a,b){for(var c=this.allArgs,d=c.length;d--;)c[d].connect(a,b)},b}(mb),qb=a.Assign=function(a){function b(b,c){var d=g(this,a.call(this));return d.target=b,d.value=c,d}return h(b,a),b.prototype.evaluate=function(a,b){return this.target.assign(a,this.value.evaluate(a,b))},b.prototype.accept=function(a){a.visitAssign(this)},b.prototype.connect=function(a,b){},b}(mb),rb=a.Conditional=function(a){function b(b,c,d){var e=g(this,a.call(this));return e.condition=b,e.yes=c,e.no=d,e}return h(b,a),b.prototype.evaluate=function(a,b){return this.condition.evaluate(a)?this.yes.evaluate(a):this.no.evaluate(a)},b.prototype.accept=function(a){return a.visitConditional(this)},b.prototype.connect=function(a,b){this.condition.connect(a,b),this.condition.evaluate(b)?this.yes.connect(a,b):this.no.connect(a,b)},b}(mb),sb=a.AccessThis=function(a){function b(b){var c=g(this,a.call(this));return c.ancestor=b,c}return h(b,a),b.prototype.evaluate=function(a,b){for(var c=a.overrideContext,d=this.ancestor;d--&&c;)c=c.parentOverrideContext;return d<1&&c?c.bindingContext:void 0},b.prototype.accept=function(a){return a.visitAccessThis(this)},b.prototype.connect=function(a,b){},b}(mb),tb=a.AccessScope=function(a){function b(b,c){var d=g(this,a.call(this));return d.name=b,d.ancestor=c,d.isAssignable=!0,d}return h(b,a),b.prototype.evaluate=function(a,b){var c=k(this.name,a,this.ancestor);return c[this.name]},b.prototype.assign=function(a,b){var c=k(this.name,a,this.ancestor);return c?c[this.name]=b:void 0},b.prototype.accept=function(a){return a.visitAccessScope(this)},b.prototype.connect=function(a,b){var c=k(this.name,b,this.ancestor);a.observeProperty(c,this.name)},b}(mb),ub=a.AccessMember=function(a){function b(b,c){var d=g(this,a.call(this));return d.object=b,d.name=c,d.isAssignable=!0,d}return h(b,a),b.prototype.evaluate=function(a,b){var c=this.object.evaluate(a,b);return null===c||void 0===c?c:c[this.name]},b.prototype.assign=function(a,b){var c=this.object.evaluate(a);return null!==c&&void 0!==c||(c={},this.object.assign(a,c)),c[this.name]=b,b},b.prototype.accept=function(a){return a.visitAccessMember(this)},b.prototype.connect=function(a,b){this.object.connect(a,b);var c=this.object.evaluate(b);c&&a.observeProperty(c,this.name)},b}(mb),vb=a.AccessKeyed=function(a){function b(b,c){var d=g(this,a.call(this));return d.object=b,d.key=c,d.isAssignable=!0,d}return h(b,a),b.prototype.evaluate=function(a,b){var c=this.object.evaluate(a,b),d=this.key.evaluate(a,b);return O(c,d)},b.prototype.assign=function(a,b){var c=this.object.evaluate(a),d=this.key.evaluate(a);return P(c,d,b)},b.prototype.accept=function(a){return a.visitAccessKeyed(this)},b.prototype.connect=function(a,b){this.object.connect(a,b);var c=this.object.evaluate(b);if(c instanceof Object){this.key.connect(a,b);var d=this.key.evaluate(b);null===d||void 0===d||Array.isArray(c)&&"number"==typeof d||a.observeProperty(c,d)}},b}(mb),wb=a.CallScope=function(a){function b(b,c,d){var e=g(this,a.call(this));return e.name=b,e.args=c,e.ancestor=d,e}return h(b,a),b.prototype.evaluate=function(a,b,c){var d=L(a,this.args,b),e=k(this.name,a,this.ancestor),f=N(e,this.name,c);if(f)return f.apply(e,d)},b.prototype.accept=function(a){return a.visitCallScope(this)},b.prototype.connect=function(a,b){for(var c=this.args,d=c.length;d--;)c[d].connect(a,b)},b}(mb),xb=a.CallMember=function(a){function b(b,c,d){var e=g(this,a.call(this));return e.object=b,e.name=c,e.args=d,e}return h(b,a),b.prototype.evaluate=function(a,b,c){var d=this.object.evaluate(a,b),e=L(a,this.args,b),f=N(d,this.name,c);if(f)return f.apply(d,e)},b.prototype.accept=function(a){return a.visitCallMember(this)},b.prototype.connect=function(a,b){this.object.connect(a,b);var c=this.object.evaluate(b);if(N(c,this.name,!1))for(var d=this.args,e=d.length;e--;)d[e].connect(a,b)},b}(mb),yb=a.CallFunction=function(a){function b(b,c){var d=g(this,a.call(this));return d.func=b,d.args=c,d}return h(b,a),b.prototype.evaluate=function(a,b,c){var d=this.func.evaluate(a,b);if("function"==typeof d)return d.apply(null,L(a,this.args,b));if(c||null!==d&&void 0!==d)throw new Error(this.func+" is not a function")},b.prototype.accept=function(a){return a.visitCallFunction(this)},b.prototype.connect=function(a,b){this.func.connect(a,b);var c=this.func.evaluate(b);if("function"==typeof c)for(var d=this.args,e=d.length;e--;)d[e].connect(a,b)},b}(mb),zb=a.Binary=function(a){function b(b,c,d){var e=g(this,a.call(this));return e.operation=b,e.left=c,e.right=d,e}return h(b,a),b.prototype.evaluate=function(a,b){var c=this.left.evaluate(a);switch(this.operation){case"&&":return c&&this.right.evaluate(a);case"||":return c||this.right.evaluate(a)}var d=this.right.evaluate(a);switch(this.operation){case"==":return c==d;case"===":return c===d;case"!=":return c!=d;case"!==":return c!==d}if(null===c||null===d||void 0===c||void 0===d){switch(this.operation){case"+":return null!==c&&void 0!==c?c:null!==d&&void 0!==d?d:0;case"-":return null!==c&&void 0!==c?c:null!==d&&void 0!==d?0-d:0}return null}switch(this.operation){case"+":return M(c,d);case"-":return c-d;case"*":return c*d;case"/":return c/d;case"%":return c%d;case"<":return c<d;case">":return c>d;case"<=":return c<=d;case">=":return c>=d;case"^":return c^d}throw new Error("Internal error ["+this.operation+"] not handled")},b.prototype.accept=function(a){return a.visitBinary(this)},b.prototype.connect=function(a,b){this.left.connect(a,b);var c=this.left.evaluate(b);"&&"===this.operation&&!c||"||"===this.operation&&c||this.right.connect(a,b)},b}(mb),Ab=a.PrefixNot=function(a){function b(b,c){var d=g(this,a.call(this));return d.operation=b,d.expression=c,d}return h(b,a),b.prototype.evaluate=function(a,b){return!this.expression.evaluate(a)},b.prototype.accept=function(a){return a.visitPrefix(this)},b.prototype.connect=function(a,b){this.expression.connect(a,b)},b}(mb),Bb=a.LiteralPrimitive=function(a){function b(b){var c=g(this,a.call(this));return c.value=b,c}return h(b,a),b.prototype.evaluate=function(a,b){return this.value},b.prototype.accept=function(a){return a.visitLiteralPrimitive(this)},b.prototype.connect=function(a,b){},b}(mb),Cb=a.LiteralString=function(a){function b(b){var c=g(this,a.call(this));return c.value=b,c}return h(b,a),b.prototype.evaluate=function(a,b){return this.value},b.prototype.accept=function(a){return a.visitLiteralString(this)},b.prototype.connect=function(a,b){},b}(mb),Db=a.LiteralArray=function(a){function b(b){var c=g(this,a.call(this));return c.elements=b,c}return h(b,a),b.prototype.evaluate=function(a,b){for(var c=this.elements,d=[],e=0,f=c.length;e<f;++e)d[e]=c[e].evaluate(a,b);return d},b.prototype.accept=function(a){return a.visitLiteralArray(this)},b.prototype.connect=function(a,b){for(var c=this.elements.length,d=0;d<c;d++)this.elements[d].connect(a,b)},b}(mb),Eb=a.LiteralObject=function(a){function b(b,c){var d=g(this,a.call(this));return d.keys=b,d.values=c,d}return h(b,a),b.prototype.evaluate=function(a,b){for(var c={},d=this.keys,e=this.values,f=0,g=d.length;f<g;++f)c[d[f]]=e[f].evaluate(a,b);return c},b.prototype.accept=function(a){return a.visitLiteralObject(this)},b.prototype.connect=function(a,b){for(var c=this.keys.length,d=0;d<c;d++)this.values[d].connect(a,b)},b}(mb),Fb=a.Unparser=function(){function a(a){this.buffer=a}return a.unparse=function(b){var c=[],d=new a(c);return b.accept(d),c.join("")},a.prototype.write=function(a){this.buffer.push(a)},a.prototype.writeArgs=function(a){this.write("(");for(var b=0,c=a.length;b<c;++b)0!==b&&this.write(","),a[b].accept(this);this.write(")")},a.prototype.visitChain=function(a){for(var b=a.expressions,c=0,d=expression.length;c<d;++c)0!==c&&this.write(";"),b[c].accept(this)},a.prototype.visitBindingBehavior=function(a){var b=a.args;a.expression.accept(this),this.write("&"+a.name);for(var c=0,d=b.length;c<d;++c)this.write(":"),b[c].accept(this)},a.prototype.visitValueConverter=function(a){var b=a.args;a.expression.accept(this),this.write("|"+a.name);for(var c=0,d=b.length;c<d;++c)this.write(":"),b[c].accept(this)},a.prototype.visitAssign=function(a){a.target.accept(this),this.write("="),a.value.accept(this)},a.prototype.visitConditional=function(a){a.condition.accept(this),this.write("?"),a.yes.accept(this),this.write(":"),a.no.accept(this)},a.prototype.visitAccessThis=function(a){if(0===a.ancestor)return void this.write("$this");this.write("$parent");for(var b=a.ancestor-1;b--;)this.write(".$parent")},a.prototype.visitAccessScope=function(a){for(var b=a.ancestor;b--;)this.write("$parent.");this.write(a.name)},a.prototype.visitAccessMember=function(a){a.object.accept(this),this.write("."+a.name)},a.prototype.visitAccessKeyed=function(a){a.object.accept(this),this.write("["),a.key.accept(this),this.write("]")},a.prototype.visitCallScope=function(a){for(var b=a.ancestor;b--;)this.write("$parent.");this.write(a.name),this.writeArgs(a.args)},a.prototype.visitCallFunction=function(a){a.func.accept(this),this.writeArgs(a.args)},a.prototype.visitCallMember=function(a){a.object.accept(this),this.write("."+a.name),this.writeArgs(a.args)},a.prototype.visitPrefix=function(a){this.write("("+a.operation),a.expression.accept(this),this.write(")")},a.prototype.visitBinary=function(a){a.left.accept(this),this.write(a.operation),a.right.accept(this)},a.prototype.visitLiteralPrimitive=function(a){this.write(""+a.value)},a.prototype.visitLiteralArray=function(a){var b=a.elements;this.write("[");for(var c=0,d=b.length;c<d;++c)0!==c&&this.write(","),b[c].accept(this);this.write("]")},a.prototype.visitLiteralObject=function(a){var b=a.keys,c=a.values;this.write("{");for(var d=0,e=b.length;d<e;++d)0!==d&&this.write(","),this.write("'"+b[d]+"':"),c[d].accept(this);this.write("}")},a.prototype.visitLiteralString=function(a){var b=a.value.replace(/'/g,"'");this.write("'"+b+"'")},a}(),Gb=a.ExpressionCloner=function(){function a(){}return a.prototype.cloneExpressionArray=function(a){for(var b=[],c=a.length;c--;)b[c]=a[c].accept(this);return b},a.prototype.visitChain=function(a){return new nb(this.cloneExpressionArray(a.expressions))},a.prototype.visitBindingBehavior=function(a){return new ob(a.expression.accept(this),a.name,this.cloneExpressionArray(a.args))},a.prototype.visitValueConverter=function(a){return new pb(a.expression.accept(this),a.name,this.cloneExpressionArray(a.args))},a.prototype.visitAssign=function(a){return new qb(a.target.accept(this),a.value.accept(this))},a.prototype.visitConditional=function(a){return new rb(a.condition.accept(this),a.yes.accept(this),a.no.accept(this))},a.prototype.visitAccessThis=function(a){return new sb(a.ancestor)},a.prototype.visitAccessScope=function(a){return new tb(a.name,a.ancestor)},a.prototype.visitAccessMember=function(a){return new ub(a.object.accept(this),a.name)},a.prototype.visitAccessKeyed=function(a){return new vb(a.object.accept(this),a.key.accept(this))},a.prototype.visitCallScope=function(a){return new wb(a.name,this.cloneExpressionArray(a.args),a.ancestor)},a.prototype.visitCallFunction=function(a){return new yb(a.func.accept(this),this.cloneExpressionArray(a.args))},a.prototype.visitCallMember=function(a){return new xb(a.object.accept(this),a.name,this.cloneExpressionArray(a.args))},a.prototype.visitPrefix=function(a){return new Ab(a.operation,a.expression.accept(this))},a.prototype.visitBinary=function(a){return new zb(a.operation,a.left.accept(this),a.right.accept(this))},a.prototype.visitLiteralPrimitive=function(a){return new Bb(a)},a.prototype.visitLiteralArray=function(a){return new Db(this.cloneExpressionArray(a.elements))},a.prototype.visitLiteralObject=function(a){return new Eb(a.keys,this.cloneExpressionArray(a.values))},a.prototype.visitLiteralString=function(a){return new Cb(a.value)},a}(),Hb=a.bindingMode={oneTime:0,oneWay:1,twoWay:2},Ib=a.Token=function(){function a(a,b){this.index=a,this.text=b}return a.prototype.withOp=function(a){return this.opKey=a,this},a.prototype.withGetterSetter=function(a){return this.key=a,this},a.prototype.withValue=function(a){return this.value=a,this},a.prototype.toString=function(){return"Token("+this.text+")"},a}(),Jb=a.Lexer=function(){function a(){}return a.prototype.lex=function(a){for(var b=new Kb(a),c=[],d=b.scanToken();d;)c.push(d),d=b.scanToken();return c},a}(),Kb=a.Scanner=function(){function a(a){this.input=a,this.length=a.length,this.peek=0,this.index=-1,this.advance()}return a.prototype.scanToken=function(){for(;this.peek<=Sb;){if(++this.index>=this.length)return this.peek=Mb,null;this.peek=this.input.charCodeAt(this.index)}if(S(this.peek))return this.scanIdentifier();if(U(this.peek))return this.scanNumber(this.index);var a=this.index;switch(this.peek){case dc:return this.advance(),U(this.peek)?this.scanNumber(a):new Ib(a,".");case Zb:case $b:case Ec:case Gc:case qc:case sc:case bc:case fc:case gc:return this.scanCharacter(a,String.fromCharCode(this.peek));case Yb:case Ub:return this.scanString();case ac:case cc:case _b:case ec:case Wb:case tc:case kc:return this.scanOperator(a,String.fromCharCode(this.peek));case hc:case jc:case Tb:case ic:return this.scanComplexOperator(a,ic,String.fromCharCode(this.peek),"=");case Xb:return this.scanComplexOperator(a,Xb,"&","&");case Fc:return this.scanComplexOperator(a,Fc,"|","|");case Hc:for(;R(this.peek);)this.advance();return this.scanToken()}var b=String.fromCharCode(this.peek);return this.error("Unexpected character ["+b+"]"),null},a.prototype.scanCharacter=function(a,b){return Y(this.peek===b.charCodeAt(0)),this.advance(),new Ib(a,b)},a.prototype.scanOperator=function(a,b){return Y(this.peek===b.charCodeAt(0)),Y(Lb.indexOf(b)!==-1),this.advance(),new Ib(a,b).withOp(b)},a.prototype.scanComplexOperator=function(a,b,c,d){Y(this.peek===c.charCodeAt(0)),this.advance();var e=c;return this.peek===b&&(this.advance(),e+=d),this.peek===b&&(this.advance(),e+=d),Y(Lb.indexOf(e)!==-1),new Ib(a,e).withOp(e)},a.prototype.scanIdentifier=function(){Y(S(this.peek));var a=this.index;for(this.advance();T(this.peek);)this.advance();var b=this.input.substring(a,this.index),c=new Ib(a,b);return Lb.indexOf(b)!==-1?c.withOp(b):c.withGetterSetter(b),c},a.prototype.scanNumber=function(a){Y(U(this.peek));var b=this.index===a;for(this.advance();;){if(!U(this.peek))if(this.peek===dc)b=!1;else{if(!V(this.peek))break;this.advance(),W(this.peek)&&this.advance(),U(this.peek)||this.error("Invalid exponent",-1),b=!1}this.advance()}var c=this.input.substring(a,this.index),d=b?parseInt(c,10):parseFloat(c);return new Ib(a,c).withValue(d)},a.prototype.scanString=function(){Y(this.peek===Yb||this.peek===Ub);var a=this.index,b=this.peek;this.advance();for(var c=void 0,d=this.index;this.peek!==b;)if(this.peek===rc){c||(c=[]),c.push(this.input.substring(d,this.index)),this.advance();var e=void 0;if(this.peek===Bc){var f=this.input.substring(this.index+1,this.index+5);/[A-Z0-9]{4}/.test(f)||this.error("Invalid unicode escape [\\u"+f+"]"),e=parseInt(f,16);for(var g=0;g<5;++g)this.advance()}else e=X(this.peek),this.advance();c.push(String.fromCharCode(e)),d=this.index}else this.peek===Mb?this.error("Unterminated quote"):this.advance();var h=this.input.substring(d,this.index);this.advance();var i=this.input.substring(a,this.index),j=h;return null!==c&&void 0!==c&&(c.push(h),j=c.join("")),new Ib(a,i).withValue(j)},a.prototype.advance=function(){++this.index>=this.length?this.peek=Mb:this.peek=this.input.charCodeAt(this.index)},a.prototype.error=function(a){var b=arguments.length<=1||void 0===arguments[1]?0:arguments[1],c=this.index+b;throw new Error("Lexer Error: "+a+" at column "+c+" in expression ["+this.input+"]")},a}(),Lb=["undefined","null","true","false","+","-","*","/","%","^","=","==","===","!=","!==","<",">","<=",">=","&&","||","&","|","!","?"],Mb=0,Nb=9,Ob=10,Pb=11,Qb=12,Rb=13,Sb=32,Tb=33,Ub=34,Vb=36,Wb=37,Xb=38,Yb=39,Zb=40,$b=41,_b=42,ac=43,bc=44,cc=45,dc=46,ec=47,fc=58,gc=59,hc=60,ic=61,jc=62,kc=63,lc=48,mc=57,nc=65,oc=69,pc=90,qc=91,rc=92,sc=93,tc=94,uc=95,vc=97,wc=101,xc=102,yc=110,zc=114,Ac=116,Bc=117,Cc=118,Dc=122,Ec=123,Fc=124,Gc=125,Hc=160,Ic=new Ib((-1),null),Jc=a.Parser=function(){function a(){this.cache={},this.lexer=new Jb}return a.prototype.parse=function(a){return a=a||"",this.cache[a]||(this.cache[a]=new Kc(this.lexer,a).parseChain())},a}(),Kc=a.ParserImplementation=function(){function a(a,b){this.index=0,this.input=b,this.tokens=a.lex(b)}return a.prototype.parseChain=function(){for(var a=!1,b=[];this.optional(";");)a=!0;for(;this.index<this.tokens.length;){")"!==this.peek.text&&"}"!==this.peek.text&&"]"!==this.peek.text||this.error("Unconsumed token "+this.peek.text);var c=this.parseBindingBehavior();for(b.push(c);this.optional(";");)a=!0;a&&this.error("Multiple expressions are not allowed.")}return 1===b.length?b[0]:new nb(b)},a.prototype.parseBindingBehavior=function(){for(var a=this.parseValueConverter();this.optional("&");){var b=this.peek.text,c=[];for(this.advance();this.optional(":");)c.push(this.parseExpression());a=new ob(a,b,c)}return a},a.prototype.parseValueConverter=function(){for(var a=this.parseExpression();this.optional("|");){var b=this.peek.text,c=[];for(this.advance();this.optional(":");)c.push(this.parseExpression());a=new pb(a,b,c,[a].concat(c))}return a},a.prototype.parseExpression=function(){for(var a=this.peek.index,b=this.parseConditional();"="===this.peek.text;){if(!b.isAssignable){var c=this.index<this.tokens.length?this.peek.index:this.input.length,d=this.input.substring(a,c);this.error("Expression "+d+" is not assignable")}this.expect("="),b=new qb(b,this.parseConditional())}return b},a.prototype.parseConditional=function(){var a=this.peek.index,b=this.parseLogicalOr();if(this.optional("?")){var c=this.parseExpression();if(!this.optional(":")){var d=this.index<this.tokens.length?this.peek.index:this.input.length,e=this.input.substring(a,d);this.error("Conditional expression "+e+" requires all 3 expressions")}var f=this.parseExpression();b=new rb(b,c,f)}return b},a.prototype.parseLogicalOr=function(){for(var a=this.parseLogicalAnd();this.optional("||");)a=new zb("||",a,this.parseLogicalAnd());return a},a.prototype.parseLogicalAnd=function(){for(var a=this.parseEquality();this.optional("&&");)a=new zb("&&",a,this.parseEquality());return a},a.prototype.parseEquality=function(){for(var a=this.parseRelational();;)if(this.optional("=="))a=new zb("==",a,this.parseRelational());else if(this.optional("!="))a=new zb("!=",a,this.parseRelational());else if(this.optional("==="))a=new zb("===",a,this.parseRelational());else{if(!this.optional("!=="))return a;a=new zb("!==",a,this.parseRelational())}},a.prototype.parseRelational=function(){for(var a=this.parseAdditive();;)if(this.optional("<"))a=new zb("<",a,this.parseAdditive());else if(this.optional(">"))a=new zb(">",a,this.parseAdditive());else if(this.optional("<="))a=new zb("<=",a,this.parseAdditive());else{if(!this.optional(">="))return a;a=new zb(">=",a,this.parseAdditive())}},a.prototype.parseAdditive=function(){for(var a=this.parseMultiplicative();;)if(this.optional("+"))a=new zb("+",a,this.parseMultiplicative());else{if(!this.optional("-"))return a;a=new zb("-",a,this.parseMultiplicative())}},a.prototype.parseMultiplicative=function(){for(var a=this.parsePrefix();;)if(this.optional("*"))a=new zb("*",a,this.parsePrefix());else if(this.optional("%"))a=new zb("%",a,this.parsePrefix());else{if(!this.optional("/"))return a;a=new zb("/",a,this.parsePrefix())}},a.prototype.parsePrefix=function(){return this.optional("+")?this.parsePrefix():this.optional("-")?new zb("-",new Bb(0),this.parsePrefix()):this.optional("!")?new Ab("!",this.parsePrefix()):this.parseAccessOrCallMember()},a.prototype.parseAccessOrCallMember=function(){for(var a=this.parsePrimary();;)if(this.optional(".")){var b=this.peek.text;if(this.advance(),this.optional("(")){var c=this.parseExpressionList(")");this.expect(")"),a=a instanceof sb?new wb(b,c,a.ancestor):new xb(a,b,c)}else a=a instanceof sb?new tb(b,a.ancestor):new ub(a,b)}else if(this.optional("[")){var d=this.parseExpression();this.expect("]"),a=new vb(a,d)}else{if(!this.optional("("))return a;var e=this.parseExpressionList(")");this.expect(")"),a=new yb(a,e)}},a.prototype.parsePrimary=function(){if(this.optional("(")){var a=this.parseExpression();return this.expect(")"),a}if(this.optional("null"))return new Bb(null);if(this.optional("undefined"))return new Bb((void 0));if(this.optional("true"))return new Bb((!0));if(this.optional("false"))return new Bb((!1));if(this.optional("[")){var b=this.parseExpressionList("]");return this.expect("]"),new Db(b)}if("{"===this.peek.text)return this.parseObject();if(null!==this.peek.key&&void 0!==this.peek.key)return this.parseAccessOrCallScope();if(null!==this.peek.value&&void 0!==this.peek.value){var c=this.peek.value;return this.advance(),c instanceof String||"string"==typeof c?new Cb(c):new Bb(c)}if(this.index>=this.tokens.length)throw new Error("Unexpected end of expression: "+this.input);this.error("Unexpected token "+this.peek.text)},a.prototype.parseAccessOrCallScope=function(){var a=this.peek.key;if(this.advance(),"$this"===a)return new sb(0);for(var b=0;"$parent"===a;)if(b++,this.optional("."))a=this.peek.key,this.advance();else{if(this.peek===Ic||"("===this.peek.text||"["===this.peek.text||"}"===this.peek.text||","===this.peek.text)return new sb(b);
this.error("Unexpected token "+this.peek.text)}if(this.optional("(")){var c=this.parseExpressionList(")");return this.expect(")"),new wb(a,c,b)}return new tb(a,b)},a.prototype.parseObject=function(){var a=[],b=[];if(this.expect("{"),"}"!==this.peek.text)do{var c=this.peek,d=c.value;a.push("string"==typeof d?d:c.text),this.advance(),!c.key||","!==this.peek.text&&"}"!==this.peek.text?(this.expect(":"),b.push(this.parseExpression())):(--this.index,b.push(this.parseAccessOrCallScope()))}while(this.optional(","));return this.expect("}"),new Eb(a,b)},a.prototype.parseExpressionList=function(a){var b=[];if(this.peek.text!==a)do b.push(this.parseExpression());while(this.optional(","));return b},a.prototype.optional=function(a){return this.peek.text===a&&(this.advance(),!0)},a.prototype.expect=function(a){this.peek.text===a?this.advance():this.error("Missing expected "+a)},a.prototype.advance=function(){this.index++},a.prototype.error=function(a){var b=this.index<this.tokens.length?"at column "+(this.tokens[this.index].index+1)+" in":"at the end of the expression";throw new Error("Parser Error: "+a+" "+b+" ["+this.input+"]")},Ka(a,[{key:"peek",get:function(){return this.index<this.tokens.length?this.tokens[this.index]:Ic}}]),a}(),Lc=Map.prototype;a.getMapObserver=Z;var Mc=function(a){function b(b,c){return g(this,a.call(this,b,c))}return h(b,a),b["for"]=function(a,c){return"__map_observer__"in c||Reflect.defineProperty(c,"__map_observer__",{value:b.create(a,c),enumerable:!1,configurable:!1}),c.__map_observer__},b.create=function(a,c){var d=new b(a,c),e=Lc;return e.add===c.add&&e["delete"]===c["delete"]&&e.clear===c.clear||(e={add:c.add,"delete":c["delete"],clear:c.clear}),c.set=function(){var a=c.has(arguments[0]),b=a?"update":"add",f=c.get(arguments[0]),g=e.set.apply(c,arguments);return a&&f===c.get(arguments[0])||d.addChangeRecord({type:b,object:c,key:arguments[0],oldValue:f}),g},c["delete"]=function(){var a=c.has(arguments[0]),b=c.get(arguments[0]),f=e["delete"].apply(c,arguments);return a&&d.addChangeRecord({type:"delete",object:c,key:arguments[0],oldValue:b}),f},c.clear=function(){var a=e.clear.apply(c,arguments);return d.addChangeRecord({type:"clear",object:c}),a},d},b}(cb),Nc=function(){function a(a){this.eventName=a,this.count=0}return a.prototype.increment=function(){this.count++,1===this.count&&c.DOM.addEventListener(this.eventName,aa,!1)},a.prototype.decrement=function(){this.count--,0===this.count&&c.DOM.removeEventListener(this.eventName,aa)},a}(),Oc=function(){function a(){this.delegatedHandlers={}}return a.prototype.subscribe=function(a,b,c,d){var e=this;if(d){var f=function(){var d=e.delegatedHandlers,f=d[b]||(d[b]=new Nc(b)),g=a.delegatedCallbacks||(a.delegatedCallbacks={});return f.increment(),g[b]=c,{v:function(){f.decrement(),g[b]=null}}}();if("object"===("undefined"==typeof f?"undefined":Ja(f)))return f.v}return a.addEventListener(b,c,!1),function(){a.removeEventListener(b,c)}},a}(),Pc=a.EventManager=function(){function a(){this.elementHandlerLookup={},this.eventStrategyLookup={},this.registerElementConfig({tagName:"input",properties:{value:["change","input"],checked:["change","input"],files:["change","input"]}}),this.registerElementConfig({tagName:"textarea",properties:{value:["change","input"]}}),this.registerElementConfig({tagName:"select",properties:{value:["change"]}}),this.registerElementConfig({tagName:"content editable",properties:{value:["change","input","blur","keyup","paste"]}}),this.registerElementConfig({tagName:"scrollable element",properties:{scrollTop:["scroll"],scrollLeft:["scroll"]}}),this.defaultEventStrategy=new Oc}return a.prototype.registerElementConfig=function(a){var b=a.tagName.toLowerCase(),c=a.properties,d=void 0;this.elementHandlerLookup[b]={};for(d in c)c.hasOwnProperty(d)&&this.registerElementPropertyConfig(b,d,c[d])},a.prototype.registerElementPropertyConfig=function(a,b,c){this.elementHandlerLookup[a][b]=this.createElementHandler(c)},a.prototype.createElementHandler=function(a){return{subscribe:function(b,c){return a.forEach(function(a){b.addEventListener(a,c,!1)}),function(){a.forEach(function(a){b.removeEventListener(a,c)})}}}},a.prototype.registerElementHandler=function(a,b){this.elementHandlerLookup[a.toLowerCase()]=b},a.prototype.registerEventStrategy=function(a,b){this.eventStrategyLookup[a]=b},a.prototype.getElementHandler=function(a,b){var c=void 0,d=this.elementHandlerLookup;if(a.tagName){if(c=a.tagName.toLowerCase(),d[c]&&d[c][b])return d[c][b];if("textContent"===b||"innerHTML"===b)return d["content editable"].value;if("scrollTop"===b||"scrollLeft"===b)return d["scrollable element"][b]}return null},a.prototype.addEventListener=function(a,b,c,d){return(this.eventStrategyLookup[b]||this.defaultEventStrategy).subscribe(a,b,c,d)},a}(),Qc=a.DirtyChecker=function(){function a(){this.tracked=[],this.checkDelay=120}return a.prototype.addProperty=function(a){var b=this.tracked;b.push(a),1===b.length&&this.scheduleDirtyCheck()},a.prototype.removeProperty=function(a){var b=this.tracked;b.splice(b.indexOf(a),1)},a.prototype.scheduleDirtyCheck=function(){var a=this;setTimeout(function(){return a.check()},this.checkDelay)},a.prototype.check=function(){for(var a=this.tracked,b=a.length;b--;){var c=a[b];c.isDirty()&&c.call()}a.length&&this.scheduleDirtyCheck()},a}(),Rc=a.DirtyCheckProperty=(sa=y(),sa(ta=function(){function a(a,b,c){this.dirtyChecker=a,this.obj=b,this.propertyName=c}return a.prototype.getValue=function(){return this.obj[this.propertyName]},a.prototype.setValue=function(a){this.obj[this.propertyName]=a},a.prototype.call=function(){var a=this.oldValue,b=this.getValue();this.callSubscribers(b,a),this.oldValue=b},a.prototype.isDirty=function(){return this.oldValue!==this.obj[this.propertyName]},a.prototype.subscribe=function(a,b){this.hasSubscribers()||(this.oldValue=this.getValue(),this.dirtyChecker.addProperty(this)),this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)&&!this.hasSubscribers()&&this.dirtyChecker.removeProperty(this)},a}())||ta),Sc=Ia.getLogger("property-observation"),Tc=a.propertyAccessor={getValue:function(a,b){return a[b]},setValue:function(a,b,c){b[c]=a}},Uc=a.PrimitiveObserver=function(){function a(a,b){this.doNotCache=!0,this.primitive=a,this.propertyName=b}return a.prototype.getValue=function(){return this.primitive[this.propertyName]},a.prototype.setValue=function(){var a=Ja(this.primitive);throw new Error("The "+this.propertyName+" property of a "+a+" ("+this.primitive+") cannot be assigned.")},a.prototype.subscribe=function(){},a.prototype.unsubscribe=function(){},a}(),Vc=a.SetterObserver=(ua=y(),ua(va=function(){function a(a,b,c){this.taskQueue=a,this.obj=b,this.propertyName=c,this.queued=!1,this.observing=!1}return a.prototype.getValue=function(){return this.obj[this.propertyName]},a.prototype.setValue=function(a){this.obj[this.propertyName]=a},a.prototype.getterValue=function(){return this.currentValue},a.prototype.setterValue=function(a){var b=this.currentValue;b!==a&&(this.queued||(this.oldValue=b,this.queued=!0,this.taskQueue.queueMicroTask(this)),this.currentValue=a)},a.prototype.call=function(){var a=this.oldValue,b=this.currentValue;this.queued=!1,this.callSubscribers(b,a)},a.prototype.subscribe=function(a,b){this.observing||this.convertProperty(),this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)},a.prototype.convertProperty=function(){this.observing=!0,this.currentValue=this.obj[this.propertyName],this.setValue=this.setterValue,this.getValue=this.getterValue,Reflect.defineProperty(this.obj,this.propertyName,{configurable:!0,enumerable:!(this.propertyName in this.obj)||this.obj.propertyIsEnumerable(this.propertyName),get:this.getValue.bind(this),set:this.setValue.bind(this)})||Sc.warn("Cannot observe property '"+this.propertyName+"' of object",this.obj)},a}())||va),Wc=a.XLinkAttributeObserver=function(){function a(a,b,c){this.element=a,this.propertyName=b,this.attributeName=c}return a.prototype.getValue=function(){return this.element.getAttributeNS("http://www.w3.org/1999/xlink",this.attributeName)},a.prototype.setValue=function(a){return this.element.setAttributeNS("http://www.w3.org/1999/xlink",this.attributeName,a)},a.prototype.subscribe=function(){throw new Error('Observation of a "'+this.element.nodeName+'" element\'s "'+this.propertyName+'" property is not supported.')},a}(),Xc=a.dataAttributeAccessor={getValue:function(a,b){return a.getAttribute(b)},setValue:function(a,b,c){return b.setAttribute(c,a)}},Yc=a.DataAttributeObserver=function(){function a(a,b){this.element=a,this.propertyName=b}return a.prototype.getValue=function(){return this.element.getAttribute(this.propertyName)},a.prototype.setValue=function(a){return this.element.setAttribute(this.propertyName,a)},a.prototype.subscribe=function(){throw new Error('Observation of a "'+this.element.nodeName+'" element\'s "'+this.propertyName+'" property is not supported.')},a}(),Zc=a.StyleObserver=function(){function a(a,b){this.element=a,this.propertyName=b,this.styles=null,this.version=0}return a.prototype.getValue=function(){return this.element.style.cssText},a.prototype._setProperty=function(a,b){var c="";null!==b&&void 0!==b&&"function"==typeof b.indexOf&&b.indexOf("!important")!==-1&&(c="important",b=b.replace("!important","")),this.element.style.setProperty(a,b,c)},a.prototype.setValue=function(a){var b=this.styles||{},c=void 0,d=this.version;if(null!==a&&void 0!==a)if(a instanceof Object)for(c in a)a.hasOwnProperty(c)&&(b[c]=d,this._setProperty(c,a[c]));else if(a.length)for(var e=/\s*([\w\-]+)\s*:\s*((?:(?:[\w\-]+\(\s*(?:"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[\w\-]+\(\s*(?:^"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[^\)]*)\),?|[^\)]*)\),?|"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[^;]*),?\s*)+);?/g,f=void 0;null!==(f=e.exec(a));)c=f[1],c&&(b[c]=d,this._setProperty(c,f[2]));if(this.styles=b,this.version+=1,0!==d){d-=1;for(c in b)b.hasOwnProperty(c)&&b[c]===d&&this.element.style.removeProperty(c)}},a.prototype.subscribe=function(){throw new Error('Observation of a "'+this.element.nodeName+'" element\'s "'+this.propertyName+'" property is not supported.')},a}(),$c=a.ValueAttributeObserver=(wa=y(),wa(xa=function(){function a(a,b,c){this.element=a,this.propertyName=b,this.handler=c,"files"===b&&(this.setValue=function(){})}return a.prototype.getValue=function(){return this.element[this.propertyName]},a.prototype.setValue=function(a){a=void 0===a||null===a?"":a,this.element[this.propertyName]!==a&&(this.element[this.propertyName]=a,this.notify())},a.prototype.notify=function(){var a=this.oldValue,b=this.getValue();this.callSubscribers(b,a),this.oldValue=b},a.prototype.subscribe=function(a,b){this.hasSubscribers()||(this.oldValue=this.getValue(),this.disposeHandler=this.handler.subscribe(this.element,this.notify.bind(this))),this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)&&!this.hasSubscribers()&&(this.disposeHandler(),this.disposeHandler=null)},a}())||xa),_c="CheckedObserver:array",ad="CheckedObserver:value",bd=a.CheckedObserver=(ya=y(),ya(za=function(){function a(a,b,c){this.element=a,this.handler=b,this.observerLocator=c}return a.prototype.getValue=function(){return this.value},a.prototype.setValue=function(a){this.value!==a&&(this.arrayObserver&&(this.arrayObserver.unsubscribe(_c,this),this.arrayObserver=null),"checkbox"===this.element.type&&Array.isArray(a)&&(this.arrayObserver=this.observerLocator.getArrayObserver(a),this.arrayObserver.subscribe(_c,this)),this.oldValue=this.value,this.value=a,this.synchronizeElement(),this.notify(),this.initialSync||(this.initialSync=!0,this.observerLocator.taskQueue.queueMicroTask(this)))},a.prototype.call=function(a,b){this.synchronizeElement(),this.valueObserver||(this.valueObserver=this.element.__observers__.model||this.element.__observers__.value,this.valueObserver&&this.valueObserver.subscribe(ad,this))},a.prototype.synchronizeElement=function(){var a=this.value,b=this.element,c=b.hasOwnProperty("model")?b.model:b.value,d="radio"===b.type,e=b.matcher||function(a,b){return a===b};b.checked=d&&!!e(a,c)||!d&&a===!0||!d&&Array.isArray(a)&&a.findIndex(function(a){return!!e(a,c)})!==-1},a.prototype.synchronizeValue=function(){var a=this.value,b=this.element,c=b.hasOwnProperty("model")?b.model:b.value,d=void 0,e=b.matcher||function(a,b){return a===b};if("checkbox"===b.type){if(Array.isArray(a))return d=a.findIndex(function(a){return!!e(a,c)}),void(b.checked&&d===-1?a.push(c):b.checked||d===-1||a.splice(d,1));a=b.checked}else{if(!b.checked)return;a=c}this.oldValue=this.value,this.value=a,this.notify()},a.prototype.notify=function(){var a=this.oldValue,b=this.value;this.callSubscribers(b,a)},a.prototype.subscribe=function(a,b){this.hasSubscribers()||(this.disposeHandler=this.handler.subscribe(this.element,this.synchronizeValue.bind(this,!1))),this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)&&!this.hasSubscribers()&&(this.disposeHandler(),this.disposeHandler=null)},a.prototype.unbind=function(){this.arrayObserver&&(this.arrayObserver.unsubscribe(_c,this),this.arrayObserver=null),this.valueObserver&&this.valueObserver.unsubscribe(ad,this)},a}())||za),cd="SelectValueObserver:array",dd=a.SelectValueObserver=(Aa=y(),Aa(Ba=function(){function a(a,b,c){this.element=a,this.handler=b,this.observerLocator=c}return a.prototype.getValue=function(){return this.value},a.prototype.setValue=function(a){if(null!==a&&void 0!==a&&this.element.multiple&&!Array.isArray(a))throw new Error("Only null or Array instances can be bound to a multi-select.");this.value!==a&&(this.arrayObserver&&(this.arrayObserver.unsubscribe(cd,this),this.arrayObserver=null),Array.isArray(a)&&(this.arrayObserver=this.observerLocator.getArrayObserver(a),this.arrayObserver.subscribe(cd,this)),this.oldValue=this.value,this.value=a,this.synchronizeOptions(),this.notify(),this.initialSync||(this.initialSync=!0,this.observerLocator.taskQueue.queueMicroTask(this)))},a.prototype.call=function(a,b){this.synchronizeOptions()},a.prototype.synchronizeOptions=function(){var a=this.value,b=void 0,c=void 0;null===a||void 0===a?b=!0:Array.isArray(a)&&(c=!0);for(var d=this.element.options,e=d.length,f=this.element.matcher||function(a,b){return a===b},g=function(){var g=d.item(e);if(b)return g.selected=!1,"continue";var h=g.hasOwnProperty("model")?g.model:g.value;return c?(g.selected=a.findIndex(function(a){return!!f(h,a)})!==-1,"continue"):void(g.selected=!!f(h,a))};e--;){g()}},a.prototype.synchronizeValue=function(){for(var a=this,b=this.element.options,c=0,d=[],e=0,f=b.length;e<f;e++){var g=b.item(e);g.selected&&(d.push(g.hasOwnProperty("model")?g.model:g.value),c++)}if(this.element.multiple){if(Array.isArray(this.value)){var h=function(){for(var b=a.element.matcher||function(a,b){return a===b},c=0,e=function(){var e=a.value[c];d.findIndex(function(a){return b(e,a)})===-1?a.value.splice(c,1):c++};c<a.value.length;)e();c=0;for(var f=function(){var e=d[c];a.value.findIndex(function(a){return b(e,a)})===-1&&a.value.push(e),c++};c<d.length;)f();return{v:void 0}}();if("object"===("undefined"==typeof h?"undefined":Ja(h)))return h.v}}else d=0===c?null:d[0];d!==this.value&&(this.oldValue=this.value,this.value=d,this.notify())},a.prototype.notify=function(){var a=this.oldValue,b=this.value;this.callSubscribers(b,a)},a.prototype.subscribe=function(a,b){this.hasSubscribers()||(this.disposeHandler=this.handler.subscribe(this.element,this.synchronizeValue.bind(this,!1))),this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)&&!this.hasSubscribers()&&(this.disposeHandler(),this.disposeHandler=null)},a.prototype.bind=function(){var a=this;this.domObserver=c.DOM.createMutationObserver(function(){a.synchronizeOptions(),a.synchronizeValue()}),this.domObserver.observe(this.element,{childList:!0,subtree:!0})},a.prototype.unbind=function(){this.domObserver.disconnect(),this.domObserver=null,this.arrayObserver&&(this.arrayObserver.unsubscribe(cd,this),this.arrayObserver=null)},a}())||Ba),ed=a.ClassObserver=function(){function a(a){this.element=a,this.doNotCache=!0,this.value="",this.version=0}return a.prototype.getValue=function(){return this.value},a.prototype.setValue=function(a){var b=this.nameIndex||{},c=this.version,d=void 0,e=void 0;if(null!==a&&void 0!==a&&a.length){d=a.split(/\s+/);for(var f=0,g=d.length;f<g;f++)e=d[f],""!==e&&(b[e]=c,this.element.classList.add(e))}if(this.value=a,this.nameIndex=b,this.version+=1,0!==c){c-=1;for(e in b)b.hasOwnProperty(e)&&b[e]===c&&this.element.classList.remove(e)}},a.prototype.subscribe=function(){throw new Error('Observation of a "'+this.element.nodeName+'" element\'s "class" property is not supported.')},a}(),fd=a.ComputedExpression=function(a){function b(b,c){var d=g(this,a.call(this));return d.name=b,d.dependencies=c,d.isAssignable=!0,d}return h(b,a),b.prototype.evaluate=function(a,b){return a.bindingContext[this.name]},b.prototype.assign=function(a,b){a.bindingContext[this.name]=b},b.prototype.accept=function(a){throw new Error("not implemented")},b.prototype.connect=function(a,b){for(var c=this.dependencies,d=c.length;d--;)c[d].connect(a,b)},b}(mb),gd=a.elements={a:["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","style","systemLanguage","target","transform","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],altGlyph:["class","dx","dy","externalResourcesRequired","format","glyphRef","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","rotate","style","systemLanguage","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],altGlyphDef:["id","xml:base","xml:lang","xml:space"],altGlyphItem:["id","xml:base","xml:lang","xml:space"],animate:["accumulate","additive","attributeName","attributeType","begin","by","calcMode","dur","end","externalResourcesRequired","fill","from","id","keySplines","keyTimes","max","min","onbegin","onend","onload","onrepeat","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","systemLanguage","to","values","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],animateColor:["accumulate","additive","attributeName","attributeType","begin","by","calcMode","dur","end","externalResourcesRequired","fill","from","id","keySplines","keyTimes","max","min","onbegin","onend","onload","onrepeat","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","systemLanguage","to","values","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],animateMotion:["accumulate","additive","begin","by","calcMode","dur","end","externalResourcesRequired","fill","from","id","keyPoints","keySplines","keyTimes","max","min","onbegin","onend","onload","onrepeat","origin","path","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","rotate","systemLanguage","to","values","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],animateTransform:["accumulate","additive","attributeName","attributeType","begin","by","calcMode","dur","end","externalResourcesRequired","fill","from","id","keySplines","keyTimes","max","min","onbegin","onend","onload","onrepeat","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","systemLanguage","to","type","values","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],circle:["class","cx","cy","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","r","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],clipPath:["class","clipPathUnits","externalResourcesRequired","id","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],"color-profile":["id","local","name","rendering-intent","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],cursor:["externalResourcesRequired","id","requiredExtensions","requiredFeatures","systemLanguage","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],defs:["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],desc:["class","id","style","xml:base","xml:lang","xml:space"],ellipse:["class","cx","cy","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","rx","ry","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],feBlend:["class","height","id","in","in2","mode","result","style","width","x","xml:base","xml:lang","xml:space","y"],feColorMatrix:["class","height","id","in","result","style","type","values","width","x","xml:base","xml:lang","xml:space","y"],feComponentTransfer:["class","height","id","in","result","style","width","x","xml:base","xml:lang","xml:space","y"],feComposite:["class","height","id","in","in2","k1","k2","k3","k4","operator","result","style","width","x","xml:base","xml:lang","xml:space","y"],feConvolveMatrix:["bias","class","divisor","edgeMode","height","id","in","kernelMatrix","kernelUnitLength","order","preserveAlpha","result","style","targetX","targetY","width","x","xml:base","xml:lang","xml:space","y"],feDiffuseLighting:["class","diffuseConstant","height","id","in","kernelUnitLength","result","style","surfaceScale","width","x","xml:base","xml:lang","xml:space","y"],feDisplacementMap:["class","height","id","in","in2","result","scale","style","width","x","xChannelSelector","xml:base","xml:lang","xml:space","y","yChannelSelector"],feDistantLight:["azimuth","elevation","id","xml:base","xml:lang","xml:space"],feFlood:["class","height","id","result","style","width","x","xml:base","xml:lang","xml:space","y"],feFuncA:["amplitude","exponent","id","intercept","offset","slope","tableValues","type","xml:base","xml:lang","xml:space"],feFuncB:["amplitude","exponent","id","intercept","offset","slope","tableValues","type","xml:base","xml:lang","xml:space"],feFuncG:["amplitude","exponent","id","intercept","offset","slope","tableValues","type","xml:base","xml:lang","xml:space"],feFuncR:["amplitude","exponent","id","intercept","offset","slope","tableValues","type","xml:base","xml:lang","xml:space"],feGaussianBlur:["class","height","id","in","result","stdDeviation","style","width","x","xml:base","xml:lang","xml:space","y"],feImage:["class","externalResourcesRequired","height","id","preserveAspectRatio","result","style","width","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],feMerge:["class","height","id","result","style","width","x","xml:base","xml:lang","xml:space","y"],feMergeNode:["id","xml:base","xml:lang","xml:space"],feMorphology:["class","height","id","in","operator","radius","result","style","width","x","xml:base","xml:lang","xml:space","y"],feOffset:["class","dx","dy","height","id","in","result","style","width","x","xml:base","xml:lang","xml:space","y"],fePointLight:["id","x","xml:base","xml:lang","xml:space","y","z"],feSpecularLighting:["class","height","id","in","kernelUnitLength","result","specularConstant","specularExponent","style","surfaceScale","width","x","xml:base","xml:lang","xml:space","y"],feSpotLight:["id","limitingConeAngle","pointsAtX","pointsAtY","pointsAtZ","specularExponent","x","xml:base","xml:lang","xml:space","y","z"],feTile:["class","height","id","in","result","style","width","x","xml:base","xml:lang","xml:space","y"],feTurbulence:["baseFrequency","class","height","id","numOctaves","result","seed","stitchTiles","style","type","width","x","xml:base","xml:lang","xml:space","y"],filter:["class","externalResourcesRequired","filterRes","filterUnits","height","id","primitiveUnits","style","width","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],font:["class","externalResourcesRequired","horiz-adv-x","horiz-origin-x","horiz-origin-y","id","style","vert-adv-y","vert-origin-x","vert-origin-y","xml:base","xml:lang","xml:space"],"font-face":["accent-height","alphabetic","ascent","bbox","cap-height","descent","font-family","font-size","font-stretch","font-style","font-variant","font-weight","hanging","id","ideographic","mathematical","overline-position","overline-thickness","panose-1","slope","stemh","stemv","strikethrough-position","strikethrough-thickness","underline-position","underline-thickness","unicode-range","units-per-em","v-alphabetic","v-hanging","v-ideographic","v-mathematical","widths","x-height","xml:base","xml:lang","xml:space"],"font-face-format":["id","string","xml:base","xml:lang","xml:space"],"font-face-name":["id","name","xml:base","xml:lang","xml:space"],"font-face-src":["id","xml:base","xml:lang","xml:space"],"font-face-uri":["id","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],foreignObject:["class","externalResourcesRequired","height","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","style","systemLanguage","transform","width","x","xml:base","xml:lang","xml:space","y"],g:["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],glyph:["arabic-form","class","d","glyph-name","horiz-adv-x","id","lang","orientation","style","unicode","vert-adv-y","vert-origin-x","vert-origin-y","xml:base","xml:lang","xml:space"],glyphRef:["class","dx","dy","format","glyphRef","id","style","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],hkern:["g1","g2","id","k","u1","u2","xml:base","xml:lang","xml:space"],image:["class","externalResourcesRequired","height","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","preserveAspectRatio","requiredExtensions","requiredFeatures","style","systemLanguage","transform","width","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],line:["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","style","systemLanguage","transform","x1","x2","xml:base","xml:lang","xml:space","y1","y2"],linearGradient:["class","externalResourcesRequired","gradientTransform","gradientUnits","id","spreadMethod","style","x1","x2","xlink:arcrole","xlink:href","xlink:role","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y1","y2"],marker:["class","externalResourcesRequired","id","markerHeight","markerUnits","markerWidth","orient","preserveAspectRatio","refX","refY","style","viewBox","xml:base","xml:lang","xml:space"],mask:["class","externalResourcesRequired","height","id","maskContentUnits","maskUnits","requiredExtensions","requiredFeatures","style","systemLanguage","width","x","xml:base","xml:lang","xml:space","y"],metadata:["id","xml:base","xml:lang","xml:space"],"missing-glyph":["class","d","horiz-adv-x","id","style","vert-adv-y","vert-origin-x","vert-origin-y","xml:base","xml:lang","xml:space"],mpath:["externalResourcesRequired","id","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],path:["class","d","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","pathLength","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],pattern:["class","externalResourcesRequired","height","id","patternContentUnits","patternTransform","patternUnits","preserveAspectRatio","requiredExtensions","requiredFeatures","style","systemLanguage","viewBox","width","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],polygon:["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","points","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],polyline:["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","points","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],radialGradient:["class","cx","cy","externalResourcesRequired","fx","fy","gradientTransform","gradientUnits","id","r","spreadMethod","style","xlink:arcrole","xlink:href","xlink:role","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],rect:["class","externalResourcesRequired","height","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","rx","ry","style","systemLanguage","transform","width","x","xml:base","xml:lang","xml:space","y"],script:["externalResourcesRequired","id","type","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],set:["attributeName","attributeType","begin","dur","end","externalResourcesRequired","fill","id","max","min","onbegin","onend","onload","onrepeat","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","systemLanguage","to","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],stop:["class","id","offset","style","xml:base","xml:lang","xml:space"],style:["id","media","title","type","xml:base","xml:lang","xml:space"],svg:["baseProfile","class","contentScriptType","contentStyleType","externalResourcesRequired","height","id","onabort","onactivate","onclick","onerror","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onresize","onscroll","onunload","onzoom","preserveAspectRatio","requiredExtensions","requiredFeatures","style","systemLanguage","version","viewBox","width","x","xml:base","xml:lang","xml:space","y","zoomAndPan"],"switch":["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],
symbol:["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","preserveAspectRatio","style","viewBox","xml:base","xml:lang","xml:space"],text:["class","dx","dy","externalResourcesRequired","id","lengthAdjust","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","rotate","style","systemLanguage","textLength","transform","x","xml:base","xml:lang","xml:space","y"],textPath:["class","externalResourcesRequired","id","lengthAdjust","method","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","spacing","startOffset","style","systemLanguage","textLength","xlink:arcrole","xlink:href","xlink:role","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],title:["class","id","style","xml:base","xml:lang","xml:space"],tref:["class","dx","dy","externalResourcesRequired","id","lengthAdjust","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","rotate","style","systemLanguage","textLength","x","xlink:arcrole","xlink:href","xlink:role","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],tspan:["class","dx","dy","externalResourcesRequired","id","lengthAdjust","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","rotate","style","systemLanguage","textLength","x","xml:base","xml:lang","xml:space","y"],use:["class","externalResourcesRequired","height","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","style","systemLanguage","transform","width","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],view:["externalResourcesRequired","id","preserveAspectRatio","viewBox","viewTarget","xml:base","xml:lang","xml:space","zoomAndPan"],vkern:["g1","g2","id","k","u1","u2","xml:base","xml:lang","xml:space"]},hd=a.presentationElements={a:!0,altGlyph:!0,animate:!0,animateColor:!0,circle:!0,clipPath:!0,defs:!0,ellipse:!0,feBlend:!0,feColorMatrix:!0,feComponentTransfer:!0,feComposite:!0,feConvolveMatrix:!0,feDiffuseLighting:!0,feDisplacementMap:!0,feFlood:!0,feGaussianBlur:!0,feImage:!0,feMerge:!0,feMorphology:!0,feOffset:!0,feSpecularLighting:!0,feTile:!0,feTurbulence:!0,filter:!0,font:!0,foreignObject:!0,g:!0,glyph:!0,glyphRef:!0,image:!0,line:!0,linearGradient:!0,marker:!0,mask:!0,"missing-glyph":!0,path:!0,pattern:!0,polygon:!0,polyline:!0,radialGradient:!0,rect:!0,stop:!0,svg:!0,"switch":!0,symbol:!0,text:!0,textPath:!0,tref:!0,tspan:!0,use:!0},id=a.presentationAttributes={"alignment-baseline":!0,"baseline-shift":!0,"clip-path":!0,"clip-rule":!0,clip:!0,"color-interpolation-filters":!0,"color-interpolation":!0,"color-profile":!0,"color-rendering":!0,color:!0,cursor:!0,direction:!0,display:!0,"dominant-baseline":!0,"enable-background":!0,"fill-opacity":!0,"fill-rule":!0,fill:!0,filter:!0,"flood-color":!0,"flood-opacity":!0,"font-family":!0,"font-size-adjust":!0,"font-size":!0,"font-stretch":!0,"font-style":!0,"font-variant":!0,"font-weight":!0,"glyph-orientation-horizontal":!0,"glyph-orientation-vertical":!0,"image-rendering":!0,kerning:!0,"letter-spacing":!0,"lighting-color":!0,"marker-end":!0,"marker-mid":!0,"marker-start":!0,mask:!0,opacity:!0,overflow:!0,"pointer-events":!0,"shape-rendering":!0,"stop-color":!0,"stop-opacity":!0,"stroke-dasharray":!0,"stroke-dashoffset":!0,"stroke-linecap":!0,"stroke-linejoin":!0,"stroke-miterlimit":!0,"stroke-opacity":!0,"stroke-width":!0,stroke:!0,"text-anchor":!0,"text-decoration":!0,"text-rendering":!0,"unicode-bidi":!0,visibility:!0,"word-spacing":!0,"writing-mode":!0},jd=a.SVGAnalyzer=function(){function a(){"altglyph"===fa("<svg><altGlyph /></svg>").firstElementChild.nodeName&&gd.altGlyph&&(gd.altglyph=gd.altGlyph,delete gd.altGlyph,gd.altglyphdef=gd.altGlyphDef,delete gd.altGlyphDef,gd.altglyphitem=gd.altGlyphItem,delete gd.altGlyphItem,gd.glyphref=gd.glyphRef,delete gd.glyphRef)}return a.prototype.isStandardSvgAttribute=function(a,b){return hd[a]&&id[b]||gd[a]&&gd[a].indexOf(b)!==-1},a}(),kd=a.ObserverLocator=(Da=Ca=function(){function a(a,b,c,d,e){this.taskQueue=a,this.eventManager=b,this.dirtyChecker=c,this.svgAnalyzer=d,this.parser=e,this.adapters=[],this.logger=Ia.getLogger("observer-locator")}return a.prototype.getObserver=function(a,b){var c=a.__observers__,d=void 0;return c&&b in c?c[b]:(d=this.createPropertyObserver(a,b),d.doNotCache||(void 0===c&&(c=this.getOrCreateObserversLookup(a)),c[b]=d),d)},a.prototype.getOrCreateObserversLookup=function(a){return a.__observers__||this.createObserversLookup(a)},a.prototype.createObserversLookup=function(a){var b={};return Reflect.defineProperty(a,"__observers__",{enumerable:!1,configurable:!1,writable:!1,value:b})||this.logger.warn("Cannot add observers to object",a),b},a.prototype.addAdapter=function(a){this.adapters.push(a)},a.prototype.getAdapterObserver=function(a,b,c){for(var d=0,e=this.adapters.length;d<e;d++){var f=this.adapters[d],g=f.getObserver(a,b,c);if(g)return g}return null},a.prototype.createPropertyObserver=function(a,b){var d=void 0,e=void 0,f=void 0;if(!(a instanceof Object))return new Uc(a,b);if(a instanceof c.DOM.Element){if("class"===b)return new ed(a);if("style"===b||"css"===b)return new Zc(a,b);if(e=this.eventManager.getElementHandler(a,b),"value"===b&&"select"===a.tagName.toLowerCase())return new dd(a,e,this);if("checked"===b&&"input"===a.tagName.toLowerCase())return new bd(a,e,this);if(e)return new $c(a,b,e);if(f=/^xlink:(.+)$/.exec(b))return new Wc(a,b,f[1]);if("role"===b&&(a instanceof c.DOM.Element||a instanceof c.DOM.SVGElement)||/^\w+:|^data-|^aria-/.test(b)||a instanceof c.DOM.SVGElement&&this.svgAnalyzer.isStandardSvgAttribute(a.nodeName,b))return new Yc(a,b)}if(d=Object.getPropertyDescriptor(a,b),ba(d))return ea(a,b,d,this);if(d){var g=d.get||d.set;if(g){if(g.getObserver)return g.getObserver(a);var h=this.getAdapterObserver(a,b,d);return h?h:new Rc(this.dirtyChecker,a,b)}}return a instanceof Array?"length"===b?this.getArrayObserver(a).getLengthObserver():new Rc(this.dirtyChecker,a,b):a instanceof Map?"size"===b?this.getMapObserver(a).getLengthObserver():new Rc(this.dirtyChecker,a,b):a instanceof Set?"size"===b?this.getSetObserver(a).getLengthObserver():new Rc(this.dirtyChecker,a,b):new Vc(this.taskQueue,a,b)},a.prototype.getAccessor=function(a,b){if(a instanceof c.DOM.Element){if("class"===b||"style"===b||"css"===b||"value"===b&&("input"===a.tagName.toLowerCase()||"select"===a.tagName.toLowerCase())||"checked"===b&&"input"===a.tagName.toLowerCase()||"model"===b&&"input"===a.tagName.toLowerCase()||/^xlink:.+$/.exec(b))return this.getObserver(a,b);if(/^\w+:|^data-|^aria-/.test(b)||a instanceof c.DOM.SVGElement&&this.svgAnalyzer.isStandardSvgAttribute(a.nodeName,b))return Xc}return Tc},a.prototype.getArrayObserver=function(a){return K(this.taskQueue,a)},a.prototype.getMapObserver=function(a){return Z(this.taskQueue,a)},a.prototype.getSetObserver=function(a){return ja(this.taskQueue,a)},a}(),Ca.inject=[d.TaskQueue,Pc,Qc,jd,Jc],Da),ld=(a.ObjectObservationAdapter=function(){function a(){}return a.prototype.getObserver=function(a,b,c){throw new Error("BindingAdapters must implement getObserver(object, propertyName).")},a}(),a.BindingExpression=function(){function a(a,b,c,d,e,f){this.observerLocator=a,this.targetProperty=b,this.sourceExpression=c,this.mode=d,this.lookupFunctions=e,this.attribute=f,this.discrete=!1}return a.prototype.createBinding=function(a){return new nd(this.observerLocator,this.sourceExpression,a,this.targetProperty,this.mode,this.lookupFunctions)},a}()),md="Binding:target",nd=a.Binding=(Ea=q(),Ea(Fa=function(){function a(a,b,c,d,e,f){this.observerLocator=a,this.sourceExpression=b,this.target=c,this.targetProperty=d,this.mode=e,this.lookupFunctions=f}return a.prototype.updateTarget=function(a){this.targetObserver.setValue(a,this.target,this.targetProperty)},a.prototype.updateSource=function(a){this.sourceExpression.assign(this.source,a,this.lookupFunctions)},a.prototype.call=function(a,b,c){if(this.isBound){if(a===Ma)return c=this.targetObserver.getValue(this.target,this.targetProperty),b=this.sourceExpression.evaluate(this.source,this.lookupFunctions),b!==c&&this.updateTarget(b),void(this.mode!==Hb.oneTime&&(this._version++,this.sourceExpression.connect(this,this.source),this.unobserve(!1)));if(a===md)return void(b!==this.sourceExpression.evaluate(this.source,this.lookupFunctions)&&this.updateSource(b));throw new Error("Unexpected call context "+a)}},a.prototype.bind=function(a){if(this.isBound){if(this.source===a)return;this.unbind()}this.isBound=!0,this.source=a,this.sourceExpression.bind&&this.sourceExpression.bind(this,a,this.lookupFunctions);var b=this.mode;if(!this.targetObserver){var c=b===Hb.twoWay?"getObserver":"getAccessor";this.targetObserver=this.observerLocator[c](this.target,this.targetProperty)}"bind"in this.targetObserver&&this.targetObserver.bind();var d=this.sourceExpression.evaluate(a,this.lookupFunctions);this.updateTarget(d),b===Hb.oneWay?s(this):b===Hb.twoWay&&(this.sourceExpression.connect(this,a),this.targetObserver.subscribe(md,this))},a.prototype.unbind=function(){this.isBound&&(this.isBound=!1,this.sourceExpression.unbind&&this.sourceExpression.unbind(this,this.source),this.source=null,"unbind"in this.targetObserver&&this.targetObserver.unbind(),this.targetObserver.unsubscribe&&this.targetObserver.unsubscribe(md,this),this.unobserve(!0))},a.prototype.connect=function(a){if(this.isBound){if(a){var b=this.sourceExpression.evaluate(this.source,this.lookupFunctions);this.updateTarget(b)}this.sourceExpression.connect(this,this.source)}},a}())||Fa),od=(a.CallExpression=function(){function a(a,b,c,d){this.observerLocator=a,this.targetProperty=b,this.sourceExpression=c,this.lookupFunctions=d}return a.prototype.createBinding=function(a){return new od(this.observerLocator,this.sourceExpression,a,this.targetProperty,this.lookupFunctions)},a}(),a.Call=function(){function a(a,b,c,d,e){this.sourceExpression=b,this.target=c,this.targetProperty=a.getObserver(c,d),this.lookupFunctions=e}return a.prototype.callSource=function(a){var b=this.source.overrideContext;Object.assign(b,a),b.$event=a;var c=!0,d=this.sourceExpression.evaluate(this.source,this.lookupFunctions,c);delete b.$event;for(var e in a)delete b[e];return d},a.prototype.bind=function(a){var b=this;if(this.isBound){if(this.source===a)return;this.unbind()}this.isBound=!0,this.source=a,this.sourceExpression.bind&&this.sourceExpression.bind(this,a,this.lookupFunctions),this.targetProperty.setValue(function(a){return b.callSource(a)})},a.prototype.unbind=function(){this.isBound&&(this.isBound=!1,this.sourceExpression.unbind&&this.sourceExpression.unbind(this,this.source),this.source=null,this.targetProperty.setValue(null))},a}()),pd=a.ValueConverterResource=function(){function a(a){this.name=a}return a.convention=function(b){if(b.endsWith("ValueConverter"))return new a(i(b.substring(0,b.length-14)))},a.prototype.initialize=function(a,b){this.instance=a.get(b)},a.prototype.register=function(a,b){a.registerValueConverter(b||this.name,this.instance)},a.prototype.load=function(a,b){},a}(),qd=a.BindingBehaviorResource=function(){function a(a){this.name=a}return a.convention=function(b){if(b.endsWith("BindingBehavior"))return new a(i(b.substring(0,b.length-15)))},a.prototype.initialize=function(a,b){this.instance=a.get(b)},a.prototype.register=function(a,b){a.registerBindingBehavior(b||this.name,this.instance)},a.prototype.load=function(a,b){},a}(),rd=(a.ListenerExpression=function(){function a(a,b,c,d,e,f){this.eventManager=a,this.targetEvent=b,this.sourceExpression=c,this.delegate=d,this.discrete=!0,this.preventDefault=e,this.lookupFunctions=f}return a.prototype.createBinding=function(a){return new rd(this.eventManager,this.targetEvent,this.delegate,this.sourceExpression,a,this.preventDefault,this.lookupFunctions)},a}(),a.Listener=function(){function a(a,b,c,d,e,f,g){this.eventManager=a,this.targetEvent=b,this.delegate=c,this.sourceExpression=d,this.target=e,this.preventDefault=f,this.lookupFunctions=g}return a.prototype.callSource=function(a){var b=this.source.overrideContext;b.$event=a;var c=!0,d=this.sourceExpression.evaluate(this.source,this.lookupFunctions,c);return delete b.$event,d!==!0&&this.preventDefault&&a.preventDefault(),d},a.prototype.bind=function(a){var b=this;if(this.isBound){if(this.source===a)return;this.unbind()}this.isBound=!0,this.source=a,this.sourceExpression.bind&&this.sourceExpression.bind(this,a,this.lookupFunctions),this._disposeListener=this.eventManager.addEventListener(this.target,this.targetEvent,function(a){return b.callSource(a)},this.delegate)},a.prototype.unbind=function(){this.isBound&&(this.isBound=!1,this.sourceExpression.unbind&&this.sourceExpression.unbind(this,this.source),this.source=null,this._disposeListener(),this._disposeListener=null)},a}()),sd=(a.NameExpression=function(){function a(a,b,c){this.sourceExpression=a,this.apiName=b,this.lookupFunctions=c,this.discrete=!0}return a.prototype.createBinding=function(b){return new sd(this.sourceExpression,a.locateAPI(b,this.apiName),this.lookupFunctions)},a.locateAPI=function(a,b){switch(b){case"element":return a;case"controller":return ia(a).controller;case"view-model":return ia(a).controller.viewModel;case"view":return ia(a).controller.view;default:var c=ia(a)[b];if(void 0===c)throw new Error('Attempted to reference "'+b+"\", but it was not found amongst the target's API.");return c.viewModel}},a}(),function(){function a(a,b,c){this.sourceExpression=a,this.target=b,this.lookupFunctions=c}return a.prototype.bind=function(a){if(this.isBound){if(this.source===a)return;this.unbind()}this.isBound=!0,this.source=a,this.sourceExpression.bind&&this.sourceExpression.bind(this,a,this.lookupFunctions),this.sourceExpression.assign(this.source,this.target,this.lookupFunctions)},a.prototype.unbind=function(){this.isBound&&(this.isBound=!1,this.sourceExpression.evaluate(this.source,this.lookupFunctions)===this.target&&this.sourceExpression.assign(this.source,null,this.lookupFunctions),this.sourceExpression.unbind&&this.sourceExpression.unbind(this,this.source),this.source=null)},a}()),td={bindingBehaviors:function(a){return null},valueConverters:function(a){return null}},ud=(a.BindingEngine=(Ha=Ga=function(){function a(a,b){this.observerLocator=a,this.parser=b}return a.prototype.createBindingExpression=function(a,b){var c=arguments.length<=2||void 0===arguments[2]?Hb.oneWay:arguments[2],d=arguments.length<=3||void 0===arguments[3]?td:arguments[3];return new ld(this.observerLocator,a,this.parser.parse(b),c,d)},a.prototype.propertyObserver=function(a,b){var c=this;return{subscribe:function(d){var e=c.observerLocator.getObserver(a,b);return e.subscribe(d),{dispose:function(){return e.unsubscribe(d)}}}}},a.prototype.collectionObserver=function(a){var b=this;return{subscribe:function(c){var d=void 0;if(a instanceof Array)d=b.observerLocator.getArrayObserver(a);else if(a instanceof Map)d=b.observerLocator.getMapObserver(a);else{if(!(a instanceof Set))throw new Error("collection must be an instance of Array, Map or Set.");d=b.observerLocator.getSetObserver(a)}return d.subscribe(c),{dispose:function(){return d.unsubscribe(c)}}}}},a.prototype.expressionObserver=function(a,b){var c={bindingContext:a,overrideContext:j(a)};return new Ya(c,this.parser.parse(b),this.observerLocator,td)},a.prototype.parseExpression=function(a){return this.parser.parse(a)},a.prototype.registerAdapter=function(a){this.observerLocator.addAdapter(a)},a}(),Ga.inject=[kd,Jc],Ha),Set.prototype);a.getSetObserver=ja;var vd=function(a){function b(b,c){return g(this,a.call(this,b,c))}return h(b,a),b["for"]=function(a,c){return"__set_observer__"in c||Reflect.defineProperty(c,"__set_observer__",{value:b.create(a,c),enumerable:!1,configurable:!1}),c.__set_observer__},b.create=function(a,c){var d=new b(a,c),e=ud;return e.add===c.add&&e["delete"]===c["delete"]&&e.clear===c.clear||(e={add:c.add,"delete":c["delete"],clear:c.clear}),c.add=function(){var a="add",b=c.size,f=e.add.apply(c,arguments),g=c.size===b;return g||d.addChangeRecord({type:a,object:c,value:Array.from(c).pop()}),f},c["delete"]=function(){var a=c.has(arguments[0]),b=e["delete"].apply(c,arguments);return a&&d.addChangeRecord({type:"delete",object:c,value:arguments[0]}),b},c.clear=function(){var a=e.clear.apply(c,arguments);return d.addChangeRecord({type:"clear",object:c}),a},d},b}(cb)})}(),function(){var a=System.amdDefine;a("npm:aurelia-binding@1.0.9.js",["npm:aurelia-binding@1.0.9/aurelia-binding"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-task-queue@1.1.0/aurelia-task-queue.js",["exports","aurelia-pal"],function(a,b){"use strict";function c(a){var c=1,d=b.DOM.createMutationObserver(a),e=b.DOM.createTextNode("");return d.observe(e,{characterData:!0}),function(){c=-c,e.data=c}}function d(a){return function(){function b(){clearTimeout(c),clearInterval(d),a()}var c=setTimeout(b,0),d=setInterval(b,50)}}function e(a,b){"onError"in b?b.onError(a):f?setImmediate(function(){throw a}):setTimeout(function(){throw a},0)}Object.defineProperty(a,"__esModule",{value:!0}),a.TaskQueue=void 0;var f="function"==typeof setImmediate;a.TaskQueue=function(){function a(){var a=this;this.flushing=!1,this.microTaskQueue=[],this.microTaskQueueCapacity=1024,this.taskQueue=[],b.FEATURE.mutationObserver?this.requestFlushMicroTaskQueue=c(function(){return a.flushMicroTaskQueue()}):this.requestFlushMicroTaskQueue=d(function(){return a.flushMicroTaskQueue()}),this.requestFlushTaskQueue=d(function(){return a.flushTaskQueue()})}return a.prototype.queueMicroTask=function(a){this.microTaskQueue.length<1&&this.requestFlushMicroTaskQueue(),this.microTaskQueue.push(a)},a.prototype.queueTask=function(a){this.taskQueue.length<1&&this.requestFlushTaskQueue(),this.taskQueue.push(a)},a.prototype.flushTaskQueue=function(){var a=this.taskQueue,b=0,c=void 0;this.taskQueue=[];try{for(this.flushing=!0;b<a.length;)c=a[b],c.call(),b++}catch(d){e(d,c)}finally{this.flushing=!1}},a.prototype.flushMicroTaskQueue=function(){var a=this.microTaskQueue,b=this.microTaskQueueCapacity,c=0,d=void 0;try{for(this.flushing=!0;c<a.length;)if(d=a[c],d.call(),c++,c>b){for(var f=0,g=a.length-c;f<g;f++)a[f]=a[f+c];a.length-=c,c=0}}catch(h){e(h,d)}finally{this.flushing=!1}a.length=0},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-task-queue@1.1.0.js",["npm:aurelia-task-queue@1.1.0/aurelia-task-queue"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating@1.1.1/aurelia-templating.js",["exports","aurelia-logging","aurelia-metadata","aurelia-pal","aurelia-path","aurelia-loader","aurelia-dependency-injection","aurelia-binding","aurelia-task-queue"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function k(a){return"-"+a.toLowerCase()}function l(a){return(a.charAt(0).toLowerCase()+a.slice(1)).replace(Ra,k)}function m(a){return!(a.auInterpolationTarget||/[^\t\n\r ]/.test(a.textContent))}function n(a){var b=function(a){c.metadata.define(c.metadata.resource,new Sa,a)};return a?b(a):b}function o(a){throw new Error("BindingLanguage must implement "+a+"().")}function p(a,b,c,d){if(b){var e=a[b];if(e){if(e!==c)throw new Error("Attempted to register "+d+" when one with the same name already exists. Name: "+b+".")}else a[b]=c}}function q(a){if(void 0!==a.animatableElement)return a.animatableElement;for(var b=a.firstChild;b&&1!==b.nodeType;)b=b.nextSibling;return b&&1===b.nodeType?a.animatableElement=b.classList.contains("au-animate")?b:null:a.animatableElement=null}function r(a){if(a===d.DOM.Element)return this.element;if(a===ob){if(this.boundViewFactory)return this.boundViewFactory;var b=this.instruction.viewFactory,c=this.partReplacements;return c&&(b=c[b.part]||b),this.boundViewFactory=new ob(this,b,c),this.boundViewFactory}return a===lb?(void 0===this.viewSlot&&(this.viewSlot=new lb(this.element,this.instruction.anchorIsContainer),this.element.isContentProjectionSource=this.instruction.lifting,this.children.push(this.viewSlot)),this.viewSlot):a===Ta?this.elementEvents||(this.elementEvents=new Ta(this.element)):a===Qa?this.compositionTransaction||(this.compositionTransaction=this.parent.get(a)):a===jb?this.viewResources:a===Xa?this.instruction:this.superGet(a)}function s(a,b,c,d,e,f){var g=a.createChild(),h=void 0,i=void 0;for(g.element=b,g.instruction=c,g.children=d,g.viewResources=f,g.partReplacements=e,h=c.providers,i=h.length;i--;)g._resolvers.set(h[i],nb);return g.superGet=g.get,g.get=r,g}function t(a,b){var c=d.DOM.createComment("anchor");if(b){var e=a.firstChild;e&&"AU-CONTENT"===e.tagName&&(c.contentElement=e),c.hasAttribute=function(b){return a.hasAttribute(b)},c.getAttribute=function(b){return a.getAttribute(b)},c.setAttribute=function(b,c){a.setAttribute(b,c)}}return d.DOM.replaceNode(c,a),c}function u(a,b,c,e,f,g,h,i,j){var k=c.behaviorInstructions,l=c.expressions,m=void 0,n=void 0,o=void 0,p=void 0,q=void 0;if(c.contentExpression)return f.push(c.contentExpression.createBinding(b.nextSibling)),b.nextSibling.auInterpolationTarget=!0,void b.parentNode.removeChild(b);if(c.shadowSlot){var r=d.DOM.createComment("slot"),u=void 0;return u=c.slotDestination?new gb(r,c.slotName,c.slotDestination,c.slotFallbackFactory):new hb(r,c.slotName,c.slotFallbackFactory),d.DOM.replaceNode(r,b),h[c.slotName]=u,void e.push(u)}if(k.length)for(c.anchorIsContainer||(b=t(b,c.elementInstruction)),a[c.injectorId]=m=s(a[c.parentInjectorId],b,c,g,i,j),n=0,o=k.length;n<o;++n)p=k[n],q=p.type.create(m,p,b,f),e.push(q);for(n=0,o=l.length;n<o;++n)f.push(l[n].createBinding(b))}function v(a,b){var c=a.split(";"),d=void 0,e=void 0,f=void 0,g=void 0,h=void 0;for(b=b||{},e=0;e<c.length;e++)f=c[e],d=f.indexOf(":"),g=f.substring(0,d).trim(),h=f.substring(d+1).trim(),b[g]=h;return b}function w(a){var b="";for(var c in a)b+=c+":"+a[c]+";";return b}function x(a,b,c,d,e,f){var g=c.behaviorInstructions,h=c.expressions,i=c.providers,j=c.values,k=void 0,l=void 0,m=void 0,n=void 0,o=void 0;for(k=i.length;k--;)a._resolvers.set(i[k],nb);for(var p in j)if(o=b.getAttribute(p)){if("class"===p)b.setAttribute("class",o+" "+j[p]);else if("style"===p){var q=v(j[p]);v(o,q),b.setAttribute("style",w(q))}}else b.setAttribute(p,j[p]);if(g.length)for(k=0,l=g.length;k<l;++k)m=g[k],n=m.type.create(a,m,b,e),n.contentView&&f.push(n.contentView),d.push(n);for(k=0,l=h.length;k<l;++k)e.push(h[k].createBinding(b))}function y(){return++qb}function z(a,b){var c=a.type,d=a.attrName,e=a.attributes,f=void 0,g=void 0,h=void 0,i=b.mapAttribute(d);i&&d in e&&i!==d&&(e[i]=e[d],delete e[d]);for(g in e)h=e[g],null!==h&&"object"===("undefined"==typeof h?"undefined":Ma(h))&&(f=c.attributes[g],void 0!==f?h.targetProperty=f.name:h.targetProperty=g)}function A(){return(++rb).toString()}function B(a){var b=a.getAttribute("class"),c=A();return a.setAttribute("class",b?b+=" au-target":"au-target"),a.setAttribute("au-target-id",c),c}function C(a,b,c,e,f){var g=d.DOM.createElement("au-shadow-slot");d.DOM.replaceNode(g,c);var h=B(g),i=Xa.shadowSlot(f);if(i.slotName=c.getAttribute("name")||ib.defaultSlotKey,i.slotDestination=c.getAttribute("slot"),c.innerHTML.trim()){for(var j=d.DOM.createDocumentFragment(),k=void 0;k=c.firstChild;)j.appendChild(k);i.slotFallbackFactory=a.compile(j,b)}return e[h]=i,g}function D(a,b){return b instanceof f.TemplateRegistryEntry?Promise.resolve(b):a.loadTemplate(b)}function E(a,b,c){var d=b.__observers__;return void 0===d&&(a.isInitialized||a.initialize(g.Container.instance||new g.Container,b.constructor),d=a.observerLocator.getOrCreateObserversLookup(b),a._ensurePropertiesDefined(b,d)),d[c]}function F(){return++Cb}function G(){return!0}function H(){}function I(a,b){return function(d,e,f){var g="string"==typeof e?d.constructor:d,h=c.metadata.getOrCreateOwn(c.metadata.resource,Db,g);"string"==typeof a&&(a={selector:a,name:e}),f&&(f.writable=!0),a.all=b,h.addChildBinding(new Eb(a))}}function J(a){return I(a,!0)}function K(a){return I(a,!1)}function L(a,b,c){var d=a.get(b);d||(d=[],a.set(b,d)),d.push(c)}function M(a,b){for(var c=b.binders,d=c.length,e=new Map,f=0,g=a.length;f<g;++f){for(var h=a[f],i=h.addedNodes,j=h.removedNodes,k=0,l=j.length;k<l;++k){var m=j[k];if(1===m.nodeType)for(var n=0;n<d;++n){var o=c[n];o.onRemove(m)&&L(e,o,h)}}for(var p=0,q=i.length;p<q;++p){var r=i[p];if(1===r.nodeType)for(var s=0;s<d;++s){var t=c[s];t.onAdd(r)&&L(e,t,h)}}}e.forEach(function(a,b){null!==b.changeHandler&&b.viewModel[b.changeHandler](a)})}function N(a){return a.skipActivation||"function"!=typeof a.viewModel.activate?Promise.resolve():a.viewModel.activate(a.model)||Promise.resolve()}function O(a,b){if(/[A-Z]/.test(a)){var c=l(a);return Ka.getLogger("templating").warn("'"+a+"' is not a valid "+b+" name and has been converted to '"+c+"'. Upper-case letters are not allowed because the DOM is not case-sensitive."),c}return a}function P(a){return function(b){c.metadata.define(c.metadata.resource,a,b)}}function Q(a){return function(b){if(a instanceof Db)c.metadata.define(c.metadata.resource,a,b);else{var d=c.metadata.getOrCreateOwn(c.metadata.resource,Db,b);Object.assign(d,a)}}}function R(a){return function(b){var d=c.metadata.getOrCreateOwn(c.metadata.resource,Db,b);d.elementName=O(a,"custom element")}}function S(a,b){return function(d){var e=c.metadata.getOrCreateOwn(c.metadata.resource,Db,d);e.attributeName=O(a,"custom attribute"),e.attributeDefaultBindingMode=b}}function T(a){var b=function(a){var b=c.metadata.getOrCreateOwn(c.metadata.resource,Db,a);b.liftsContent=!0};return a?b(a):b}function U(a,b,d){var e=function(b,d,e){var f=d?b.constructor:b,g=c.metadata.getOrCreateOwn(c.metadata.resource,Db,f),h=void 0;return d&&(a=a||{},a.name=d),h=new Bb(a),h.registerWith(f,g,e)};if(!a)return e;if(b){var f=a;return a=null,e(f,b,d)}return e}function V(a){var b=function(a){var b=c.metadata.getOrCreateOwn(c.metadata.resource,Db,a);b.hasDynamicOptions=!0};return a?b(a):b}function W(a){var b="function"!=typeof a&&a?a:Jb,d=function(a){var d=c.metadata.getOrCreateOwn(c.metadata.resource,Db,a);d.targetShadowDOM=!0,d.shadowDOMOptions=b};return"function"==typeof a?d(a):d}function X(a){return function(b){var d=c.metadata.getOrCreateOwn(c.metadata.resource,Db,b);d.processAttributes=function(b,c,d,e,f){try{a(b,c,d,e,f)}catch(g){Ka.getLogger("templating").error(g)}}}}function Y(){return!1}function Z(a){return function(b){var d=c.metadata.getOrCreateOwn(c.metadata.resource,Db,b);d.processContent=a?function(b,c,d,e){try{return a(b,c,d,e)}catch(f){return Ka.getLogger("templating").error(f),!1}}:Y}}function $(a){var b=function(a){var b=c.metadata.getOrCreateOwn(c.metadata.resource,Db,a);b.containerless=!0};return a?b(a):b}function _(a){return function(b){c.metadata.define(cb.viewStrategyMetadataKey,a,b)}}function aa(a){return _(new Za(a))}function ba(a,b,c){return _(new bb(a,b,c))}function ca(a,b){var d=void 0,e=void 0;"function"==typeof a?d=a:(e=a,d=void 0);var f=function(a){c.metadata.define(cb.viewStrategyMetadataKey,new _a(e,b),a)};return d?f(d):f}function da(a){var b=function(a){c.metadata.define(c.metadata.resource,new Ib,a)};return a?b(a):b}function ea(){return function(a){c.metadata.define(yb.viewModelRequireMetadataKey,resources,a)}}Object.defineProperty(a,"__esModule",{value:!0}),a.TemplatingEngine=a.ElementConfigResource=a.CompositionEngine=a.HtmlBehaviorResource=a.BindableProperty=a.BehaviorPropertyObserver=a.Controller=a.ViewEngine=a.ModuleAnalyzer=a.ResourceDescription=a.ResourceModule=a.ViewCompiler=a.ViewFactory=a.BoundViewFactory=a.ViewSlot=a.View=a.ViewResources=a.ShadowDOM=a.ShadowSlot=a.PassThroughSlot=a.SlotCustomAttribute=a.BindingLanguage=a.ViewLocator=a.InlineViewStrategy=a.TemplateRegistryViewStrategy=a.NoViewStrategy=a.ConventionalViewStrategy=a.RelativeViewStrategy=a.viewStrategy=a.TargetInstruction=a.BehaviorInstruction=a.ViewCompileInstruction=a.ResourceLoadContext=a.ElementEvents=a.ViewEngineHooksResource=a.CompositionTransaction=a.CompositionTransactionOwnershipToken=a.CompositionTransactionNotifier=a.Animator=a.animationEvent=void 0,a._hyphenate=l,a._isAllWhitespace=m,a.viewEngineHooks=n,a.children=J,a.child=K,a.resource=P,a.behavior=Q,a.customElement=R,a.customAttribute=S,a.templateController=T,a.bindable=U,a.dynamicOptions=V,a.useShadowDOM=W,a.processAttributes=X,a.processContent=Z,a.containerless=$,a.useViewStrategy=_,a.useView=aa,a.inlineView=ba,a.noView=ca,a.elementConfig=da,a.viewResources=ea;var fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,Da,Ea,Fa,Ga,Ha,Ia,Ja,Ka=j(b),La=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),Ma="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},Na=(a.animationEvent={enterBegin:"animation:enter:begin",enterActive:"animation:enter:active",enterDone:"animation:enter:done",enterTimeout:"animation:enter:timeout",leaveBegin:"animation:leave:begin",leaveActive:"animation:leave:active",leaveDone:"animation:leave:done",leaveTimeout:"animation:leave:timeout",staggerNext:"animation:stagger:next",removeClassBegin:"animation:remove-class:begin",removeClassActive:"animation:remove-class:active",removeClassDone:"animation:remove-class:done",removeClassTimeout:"animation:remove-class:timeout",addClassBegin:"animation:add-class:begin",addClassActive:"animation:add-class:active",addClassDone:"animation:add-class:done",addClassTimeout:"animation:add-class:timeout",animateBegin:"animation:animate:begin",animateActive:"animation:animate:active",animateDone:"animation:animate:done",animateTimeout:"animation:animate:timeout",sequenceBegin:"animation:sequence:begin",sequenceDone:"animation:sequence:done"},a.Animator=function(){function a(){}return a.prototype.enter=function(a){return Promise.resolve(!1)},a.prototype.leave=function(a){return Promise.resolve(!1)},a.prototype.removeClass=function(a,b){return a.classList.remove(b),Promise.resolve(!1)},a.prototype.addClass=function(a,b){return a.classList.add(b),Promise.resolve(!1)},a.prototype.animate=function(a,b){return Promise.resolve(!1)},a.prototype.runSequence=function(a){},a.prototype.registerEffect=function(a,b){},a.prototype.unregisterEffect=function(a){},a}()),Oa=a.CompositionTransactionNotifier=function(){function a(a){this.owner=a,this.owner._compositionCount++}return a.prototype.done=function(){this.owner._compositionCount--,this.owner._tryCompleteTransaction()},a}(),Pa=a.CompositionTransactionOwnershipToken=function(){function a(a){this.owner=a,this.owner._ownershipToken=this,this.thenable=this._createThenable()}return a.prototype.waitForCompositionComplete=function(){return this.owner._tryCompleteTransaction(),this.thenable},a.prototype.resolve=function(){this._resolveCallback()},a.prototype._createThenable=function(){var a=this;return new Promise(function(b,c){a._resolveCallback=b})},a}(),Qa=a.CompositionTransaction=function(){function a(){this._ownershipToken=null,this._compositionCount=0}return a.prototype.tryCapture=function(){return null===this._ownershipToken?new Pa(this):null},a.prototype.enlist=function(){return new Oa(this)},a.prototype._tryCompleteTransaction=function(){
if(this._compositionCount<=0&&(this._compositionCount=0,null!==this._ownershipToken)){var a=this._ownershipToken;this._ownershipToken=null,a.resolve()}},a}(),Ra=/([A-Z])/g,Sa=a.ViewEngineHooksResource=function(){function a(){}return a.prototype.initialize=function(a,b){this.instance=a.get(b)},a.prototype.register=function(a,b){a.registerViewEngineHooks(this.instance)},a.prototype.load=function(a,b){},a.convention=function(b){if(b.endsWith("ViewEngineHooks"))return new a},a}(),Ta=a.ElementEvents=function(){function a(a){this.element=a,this.subscriptions={}}return a.prototype._enqueueHandler=function(a){this.subscriptions[a.eventName]=this.subscriptions[a.eventName]||[],this.subscriptions[a.eventName].push(a)},a.prototype._dequeueHandler=function(a){var b=void 0,c=this.subscriptions[a.eventName];return c&&(b=c.indexOf(a),b>-1&&c.splice(b,1)),a},a.prototype.publish=function(a){var b=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],c=arguments.length<=2||void 0===arguments[2]||arguments[2],e=arguments.length<=3||void 0===arguments[3]||arguments[3],f=d.DOM.createCustomEvent(a,{cancelable:e,bubbles:c,detail:b});this.element.dispatchEvent(f)},a.prototype.subscribe=function(a,b){var c=this,d=arguments.length<=2||void 0===arguments[2]||arguments[2];if(b&&"function"==typeof b)return b.eventName=a,b.handler=b,b.bubbles=d,b.dispose=function(){c.element.removeEventListener(a,b,d),c._dequeueHandler(b)},this.element.addEventListener(a,b,d),this._enqueueHandler(b),b},a.prototype.subscribeOnce=function(a,b){var c=this,d=arguments.length<=2||void 0===arguments[2]||arguments[2];if(b&&"function"==typeof b){var e=function(){var e=function f(a){b(a),f.dispose()};return{v:c.subscribe(a,e,d)}}();if("object"===("undefined"==typeof e?"undefined":Ma(e)))return e.v}},a.prototype.dispose=function(a){if(a&&"string"==typeof a){var b=this.subscriptions[a];if(b)for(;b.length;){var c=b.pop();c&&c.dispose()}}else this.disposeAll()},a.prototype.disposeAll=function(){for(var a in this.subscriptions)this.dispose(a)},a}(),Ua=a.ResourceLoadContext=function(){function a(){this.dependencies={}}return a.prototype.addDependency=function(a){this.dependencies[a]=!0},a.prototype.hasDependency=function(a){return a in this.dependencies},a}(),Va=a.ViewCompileInstruction=function(){var a=!(arguments.length<=0||void 0===arguments[0])&&arguments[0],b=!(arguments.length<=1||void 0===arguments[1])&&arguments[1];this.targetShadowDOM=a,this.compileSurrogate=b,this.associatedModuleId=null};Va.normal=new Va;var Wa=a.BehaviorInstruction=function(){function a(){this.initiatedByBehavior=!1,this.enhance=!1,this.partReplacements=null,this.viewFactory=null,this.originalAttrName=null,this.skipContentProcessing=!1,this.contentFactory=null,this.viewModel=null,this.anchorIsContainer=!1,this.host=null,this.attributes=null,this.type=null,this.attrName=null,this.inheritBindingContext=!1}return a.enhance=function(){var b=new a;return b.enhance=!0,b},a.unitTest=function(b,c){var d=new a;return d.type=b,d.attributes=c||{},d},a.element=function(b,c){var d=new a;return d.type=c,d.attributes={},d.anchorIsContainer=!(b.hasAttribute("containerless")||c.containerless),d.initiatedByBehavior=!0,d},a.attribute=function(b,c){var d=new a;return d.attrName=b,d.type=c||null,d.attributes={},d},a.dynamic=function(b,c,d){var e=new a;return e.host=b,e.viewModel=c,e.viewFactory=d,e.inheritBindingContext=!0,e},a}();Wa.normal=new Wa;var Xa=a.TargetInstruction=(ga=fa=function(){function a(){this.injectorId=null,this.parentInjectorId=null,this.shadowSlot=!1,this.slotName=null,this.slotFallbackFactory=null,this.contentExpression=null,this.expressions=null,this.behaviorInstructions=null,this.providers=null,this.viewFactory=null,this.anchorIsContainer=!1,this.elementInstruction=null,this.lifting=!1,this.values=null}return a.shadowSlot=function(b){var c=new a;return c.parentInjectorId=b,c.shadowSlot=!0,c},a.contentExpression=function(b){var c=new a;return c.contentExpression=b,c},a.lifting=function(b,c){var d=new a;return d.parentInjectorId=b,d.expressions=a.noExpressions,d.behaviorInstructions=[c],d.viewFactory=c.viewFactory,d.providers=[c.type.target],d.lifting=!0,d},a.normal=function(b,c,d,e,f,g){var h=new a;return h.injectorId=b,h.parentInjectorId=c,h.providers=d,h.behaviorInstructions=e,h.expressions=f,h.anchorIsContainer=!g||g.anchorIsContainer,h.elementInstruction=g,h},a.surrogate=function(b,c,d,e){var f=new a;return f.expressions=d,f.behaviorInstructions=c,f.providers=b,f.values=e,f},a}(),fa.noExpressions=Object.freeze([]),ga),Ya=a.viewStrategy=c.protocol.create("aurelia:view-strategy",{validate:function(a){return"function"==typeof a.loadViewFactory||"View strategies must implement: loadViewFactory(viewEngine: ViewEngine, compileInstruction: ViewCompileInstruction, loadContext?: ResourceLoadContext): Promise<ViewFactory>"},compose:function(a){"function"!=typeof a.makeRelativeTo&&(a.makeRelativeTo=d.PLATFORM.noop)}}),Za=a.RelativeViewStrategy=(ha=Ya(),ha(ia=function(){function a(a){this.path=a,this.absolutePath=null}return a.prototype.loadViewFactory=function(a,b,c,d){return null===this.absolutePath&&this.moduleId&&(this.absolutePath=(0,e.relativeToFile)(this.path,this.moduleId)),b.associatedModuleId=this.moduleId,a.loadViewFactory(this.absolutePath||this.path,b,c,d)},a.prototype.makeRelativeTo=function(a){null===this.absolutePath&&(this.absolutePath=(0,e.relativeToFile)(this.path,a))},a}())||ia),$a=a.ConventionalViewStrategy=(ja=Ya(),ja(ka=function(){function a(a,b){this.moduleId=b.moduleId,this.viewUrl=a.convertOriginToViewUrl(b)}return a.prototype.loadViewFactory=function(a,b,c,d){return b.associatedModuleId=this.moduleId,a.loadViewFactory(this.viewUrl,b,c,d)},a}())||ka),_a=a.NoViewStrategy=(la=Ya(),la(ma=function(){function a(a,b){this.dependencies=a||null,this.dependencyBaseUrl=b||""}return a.prototype.loadViewFactory=function(a,b,c,d){var e=this.entry,g=this.dependencies;if(e&&e.factoryIsReady)return Promise.resolve(null);if(this.entry=e=new f.TemplateRegistryEntry(this.moduleId||this.dependencyBaseUrl),e.dependencies=[],e.templateIsLoaded=!0,null!==g)for(var h=0,i=g.length;h<i;++h){var j=g[h];"string"==typeof j||"function"==typeof j?e.addDependency(j):e.addDependency(j.from,j.as)}return b.associatedModuleId=this.moduleId,a.loadViewFactory(e,b,c,d)},a}())||ma),ab=a.TemplateRegistryViewStrategy=(na=Ya(),na(oa=function(){function a(a,b){this.moduleId=a,this.entry=b}return a.prototype.loadViewFactory=function(a,b,c,d){var e=this.entry;return e.factoryIsReady?Promise.resolve(e.factory):(b.associatedModuleId=this.moduleId,a.loadViewFactory(e,b,c,d))},a}())||oa),bb=a.InlineViewStrategy=(pa=Ya(),pa(qa=function(){function a(a,b,c){this.markup=a,this.dependencies=b||null,this.dependencyBaseUrl=c||""}return a.prototype.loadViewFactory=function(a,b,c,e){var g=this.entry,h=this.dependencies;if(g&&g.factoryIsReady)return Promise.resolve(g.factory);if(this.entry=g=new f.TemplateRegistryEntry(this.moduleId||this.dependencyBaseUrl),g.template=d.DOM.createTemplateFromMarkup(this.markup),null!==h)for(var i=0,j=h.length;i<j;++i){var k=h[i];"string"==typeof k||"function"==typeof k?g.addDependency(k):g.addDependency(k.from,k.as)}return b.associatedModuleId=this.moduleId,a.loadViewFactory(g,b,c,e)},a}())||qa),cb=a.ViewLocator=(sa=ra=function(){function a(){}return a.prototype.getViewStrategy=function(b){if(!b)return null;if("object"===("undefined"==typeof b?"undefined":Ma(b))&&"getViewStrategy"in b){var d=c.Origin.get(b.constructor);return b=b.getViewStrategy(),"string"==typeof b&&(b=new Za(b)),Ya.assert(b),d.moduleId&&b.makeRelativeTo(d.moduleId),b}if("string"==typeof b&&(b=new Za(b)),Ya.validate(b))return b;"function"!=typeof b&&(b=b.constructor);var e=c.Origin.get(b),f=c.metadata.get(a.viewStrategyMetadataKey,b);if(f)e.moduleId&&(f.moduleId=e.moduleId);else{if(!e.moduleId)throw new Error("Cannot determine default view strategy for object.",b);f=this.createFallbackViewStrategy(e)}return f},a.prototype.createFallbackViewStrategy=function(a){return new $a(this,a)},a.prototype.convertOriginToViewUrl=function(a){var b=a.moduleId,c=b.endsWith(".js")||b.endsWith(".ts")?b.substring(0,b.length-3):b;return c+".html"},a}(),ra.viewStrategyMetadataKey="aurelia:view-strategy",sa),db=a.BindingLanguage=function(){function a(){}return a.prototype.inspectAttribute=function(a,b,c,d){o("inspectAttribute")},a.prototype.createAttributeInstruction=function(a,b,c,d){o("createAttributeInstruction")},a.prototype.inspectTextContent=function(a,b){o("inspectTextContent")},a}(),eb=Object.freeze([]),fb=a.SlotCustomAttribute=(ta=(0,g.inject)(d.DOM.Element),ta(ua=function(){function a(a){this.element=a,this.element.auSlotAttribute=this}return a.prototype.valueChanged=function(a,b){},a}())||ua),gb=a.PassThroughSlot=function(){function a(a,b,c,d){this.anchor=a,this.anchor.viewSlot=this,this.name=b,this.destinationName=c,this.fallbackFactory=d,this.destinationSlot=null,this.projections=0,this.contentView=null;var e=new fb(this.anchor);e.value=this.destinationName}return a.prototype.renderFallbackContent=function(a,b,c,d){if(null===this.contentView){this.contentView=this.fallbackFactory.create(this.ownerView.container),this.contentView.bind(this.ownerView.bindingContext,this.ownerView.overrideContext);var e=Object.create(null);e[this.destinationSlot.name]=this.destinationSlot,ib.distributeView(this.contentView,e,c,d,this.destinationSlot.name)}},a.prototype.passThroughTo=function(a){this.destinationSlot=a},a.prototype.addNode=function(b,c,d,e){return null!==this.contentView&&(this.contentView.removeNodes(),this.contentView.detached(),this.contentView.unbind(),this.contentView=null),c.viewSlot instanceof a?void c.viewSlot.passThroughTo(this):(this.projections++,void this.destinationSlot.addNode(b,c,d,e))},a.prototype.removeView=function(a,b){this.projections--,this.destinationSlot.removeView(a,b),this.needsFallbackRendering&&this.renderFallbackContent(null,eb,b)},a.prototype.removeAll=function(a){this.projections=0,this.destinationSlot.removeAll(a),this.needsFallbackRendering&&this.renderFallbackContent(null,eb,a)},a.prototype.projectFrom=function(a,b){this.destinationSlot.projectFrom(a,b)},a.prototype.created=function(a){this.ownerView=a},a.prototype.bind=function(a){this.contentView&&this.contentView.bind(a.bindingContext,a.overrideContext)},a.prototype.attached=function(){this.contentView&&this.contentView.attached()},a.prototype.detached=function(){this.contentView&&this.contentView.detached()},a.prototype.unbind=function(){this.contentView&&this.contentView.unbind()},La(a,[{key:"needsFallbackRendering",get:function(){return this.fallbackFactory&&0===this.projections}}]),a}(),hb=a.ShadowSlot=function(){function a(a,b,c){this.anchor=a,this.anchor.isContentProjectionSource=!0,this.anchor.viewSlot=this,this.name=b,this.fallbackFactory=c,this.contentView=null,this.projections=0,this.children=[],this.projectFromAnchors=null,this.destinationSlots=null}return a.prototype.addNode=function(a,b,c,d,e){if(null!==this.contentView&&(this.contentView.removeNodes(),this.contentView.detached(),this.contentView.unbind(),this.contentView=null),b.viewSlot instanceof gb)return void b.viewSlot.passThroughTo(this);if(null!==this.destinationSlots)ib.distributeNodes(a,[b],this.destinationSlots,this,d);else{b.auOwnerView=a,b.auProjectionSource=c,b.auAssignedSlot=this;var f=this._findAnchor(a,b,c,d),g=f.parentNode;g.insertBefore(b,f),this.children.push(b),this.projections++}},a.prototype.removeView=function(a,b){if(null!==this.destinationSlots)ib.undistributeView(a,this.destinationSlots,this);else if(this.contentView&&this.contentView.hasSlots)ib.undistributeView(a,this.contentView.slots,b);else{var c=this.children.find(function(a){return a.auSlotProjectFrom===b});if(c){for(var d=c.auProjectionChildren,e=0,f=d.length;e<f;++e){var g=d[e];g.auOwnerView===a&&(d.splice(e,1),a.fragment.appendChild(g),e--,f--,this.projections--)}this.needsFallbackRendering&&this.renderFallbackContent(a,eb,b)}}},a.prototype.removeAll=function(a){if(null!==this.destinationSlots)ib.undistributeAll(this.destinationSlots,this);else if(this.contentView&&this.contentView.hasSlots)ib.undistributeAll(this.contentView.slots,a);else{var b=this.children.find(function(b){return b.auSlotProjectFrom===a});if(b){for(var c=b.auProjectionChildren,d=0,e=c.length;d<e;++d){var f=c[d];f.auOwnerView.fragment.appendChild(f),this.projections--}b.auProjectionChildren=[],this.needsFallbackRendering&&this.renderFallbackContent(null,eb,a)}}},a.prototype._findAnchor=function(a,b,c,d){if(c){var e=this.children.find(function(a){return a.auSlotProjectFrom===c});if(e){if(void 0!==d)for(var f=e.auProjectionChildren,g=-1,h=void 0,i=0,j=f.length;i<j;++i){var k=f[i];if(k.auOwnerView!==h&&(g++,h=k.auOwnerView,g>=d&&h!==a))return f.splice(i,0,b),k}return e.auProjectionChildren.push(b),e}}return this.anchor},a.prototype.projectTo=function(a){this.destinationSlots=a},a.prototype.projectFrom=function(a,b){var c=d.DOM.createComment("anchor"),e=this.anchor.parentNode;c.auSlotProjectFrom=b,c.auOwnerView=a,c.auProjectionChildren=[],e.insertBefore(c,this.anchor),this.children.push(c),null===this.projectFromAnchors&&(this.projectFromAnchors=[]),this.projectFromAnchors.push(c)},a.prototype.renderFallbackContent=function(a,b,c,d){if(null===this.contentView&&(this.contentView=this.fallbackFactory.create(this.ownerView.container),this.contentView.bind(this.ownerView.bindingContext,this.ownerView.overrideContext),this.contentView.insertNodesBefore(this.anchor)),this.contentView.hasSlots){var e=this.contentView.slots,f=this.projectFromAnchors;if(null!==f)for(var g in e)for(var h=e[g],i=0,j=f.length;i<j;++i){var k=f[i];h.projectFrom(k.auOwnerView,k.auSlotProjectFrom)}this.fallbackSlots=e,ib.distributeNodes(a,b,e,c,d)}},a.prototype.created=function(a){this.ownerView=a},a.prototype.bind=function(a){this.contentView&&this.contentView.bind(a.bindingContext,a.overrideContext)},a.prototype.attached=function(){this.contentView&&this.contentView.attached()},a.prototype.detached=function(){this.contentView&&this.contentView.detached()},a.prototype.unbind=function(){this.contentView&&this.contentView.unbind()},La(a,[{key:"needsFallbackRendering",get:function(){return this.fallbackFactory&&0===this.projections}}]),a}(),ib=a.ShadowDOM=(wa=va=function(){function a(){}return a.getSlotName=function(b){return void 0===b.auSlotAttribute?a.defaultSlotKey:b.auSlotAttribute.value},a.distributeView=function(b,c,d,e,f){var g=void 0;if(null===b)g=eb;else{var h=b.fragment.childNodes,i=h.length;g=new Array(i);for(var j=0;j<i;++j)g[j]=h[j]}a.distributeNodes(b,g,c,d,e,f)},a.undistributeView=function(a,b,c){for(var d in b)b[d].removeView(a,c)},a.undistributeAll=function(a,b){for(var c in a)a[c].removeAll(b)},a.distributeNodes=function(b,c,d,e,f,g){for(var h=0,i=c.length;h<i;++h){var j=c[h],k=j.nodeType;if(j.isContentProjectionSource){j.viewSlot.projectTo(d);for(var l in d)d[l].projectFrom(b,j.viewSlot);c.splice(h,1),i--,h--}else if(1===k||3===k||j.viewSlot instanceof gb)if(3===k&&m(j))c.splice(h,1),i--,h--;else{var n=d[g||a.getSlotName(j)];n&&(n.addNode(b,j,e,f),c.splice(h,1),i--,h--)}else c.splice(h,1),i--,h--}for(var o in d){var p=d[o];p.needsFallbackRendering&&p.renderFallbackContent(b,c,e,f)}},a}(),va.defaultSlotKey="__au-default-slot-key__",wa),jb=a.ViewResources=function(){function a(a,b){this.bindingLanguage=null,this.parent=a||null,this.hasParent=null!==this.parent,this.viewUrl=b||"",this.lookupFunctions={valueConverters:this.getValueConverter.bind(this),bindingBehaviors:this.getBindingBehavior.bind(this)},this.attributes=Object.create(null),this.elements=Object.create(null),this.valueConverters=Object.create(null),this.bindingBehaviors=Object.create(null),this.attributeMap=Object.create(null),this.values=Object.create(null),this.beforeCompile=this.afterCompile=this.beforeCreate=this.afterCreate=this.beforeBind=this.beforeUnbind=!1}return a.prototype._tryAddHook=function(a,b){if("function"==typeof a[b]){for(var c=a[b].bind(a),d=1,e=void 0;void 0!==this[e=b+d.toString()];)d++;this[b]=!0,this[e]=c}},a.prototype._invokeHook=function(a,b,c,d,e){if(this.hasParent&&this.parent._invokeHook(a,b,c,d,e),this[a]){this[a+"1"](b,c,d,e);var f=a+"2";if(this[f]&&(this[f](b,c,d,e),f=a+"3",this[f])){this[f](b,c,d,e);for(var g=4;void 0!==this[f=a+g.toString()];)this[f](b,c,d,e),g++}}},a.prototype.registerViewEngineHooks=function(a){this._tryAddHook(a,"beforeCompile"),this._tryAddHook(a,"afterCompile"),this._tryAddHook(a,"beforeCreate"),this._tryAddHook(a,"afterCreate"),this._tryAddHook(a,"beforeBind"),this._tryAddHook(a,"beforeUnbind")},a.prototype.getBindingLanguage=function(a){return this.bindingLanguage||(this.bindingLanguage=a)},a.prototype.patchInParent=function(a){var b=this.parent;this.parent=a||null,this.hasParent=null!==this.parent,null===a.parent&&(a.parent=b,a.hasParent=null!==b)},a.prototype.relativeToView=function(a){return(0,e.relativeToFile)(a,this.viewUrl)},a.prototype.registerElement=function(a,b){p(this.elements,a,b,"an Element")},a.prototype.getElement=function(a){return this.elements[a]||(this.hasParent?this.parent.getElement(a):null)},a.prototype.mapAttribute=function(a){return this.attributeMap[a]||(this.hasParent?this.parent.mapAttribute(a):null)},a.prototype.registerAttribute=function(a,b,c){this.attributeMap[a]=c,p(this.attributes,a,b,"an Attribute")},a.prototype.getAttribute=function(a){return this.attributes[a]||(this.hasParent?this.parent.getAttribute(a):null)},a.prototype.registerValueConverter=function(a,b){p(this.valueConverters,a,b,"a ValueConverter")},a.prototype.getValueConverter=function(a){return this.valueConverters[a]||(this.hasParent?this.parent.getValueConverter(a):null)},a.prototype.registerBindingBehavior=function(a,b){p(this.bindingBehaviors,a,b,"a BindingBehavior")},a.prototype.getBindingBehavior=function(a){return this.bindingBehaviors[a]||(this.hasParent?this.parent.getBindingBehavior(a):null)},a.prototype.registerValue=function(a,b){p(this.values,a,b,"a value")},a.prototype.getValue=function(a){return this.values[a]||(this.hasParent?this.parent.getValue(a):null)},a}(),kb=a.View=function(){function a(a,b,c,d,e,f,g){this.container=a,this.viewFactory=b,this.resources=b.resources,this.fragment=c,this.firstChild=c.firstChild,this.lastChild=c.lastChild,this.controllers=d,this.bindings=e,this.children=f,this.slots=g,this.hasSlots=!1,this.fromCache=!1,this.isBound=!1,this.isAttached=!1,this.bindingContext=null,this.overrideContext=null,this.controller=null,this.viewModelScope=null,this.animatableElement=void 0,this._isUserControlled=!1,this.contentView=null;for(var h in g){this.hasSlots=!0;break}}return a.prototype.returnToCache=function(){this.viewFactory.returnViewToCache(this)},a.prototype.created=function(){var a=void 0,b=void 0,c=this.controllers;for(a=0,b=c.length;a<b;++a)c[a].created(this)},a.prototype.bind=function(a,b,c){var d=void 0,e=void 0,f=void 0,g=void 0,i=void 0;if(!c||!this._isUserControlled){if(this.isBound){if(this.bindingContext===a)return;this.unbind()}for(this.isBound=!0,this.bindingContext=a,this.overrideContext=b||(0,h.createOverrideContext)(a),this.resources._invokeHook("beforeBind",this),e=this.bindings,g=0,i=e.length;g<i;++g)e[g].bind(this);for(null!==this.viewModelScope&&(a.bind(this.viewModelScope.bindingContext,this.viewModelScope.overrideContext),this.viewModelScope=null),d=this.controllers,g=0,i=d.length;g<i;++g)d[g].bind(this);for(f=this.children,g=0,i=f.length;g<i;++g)f[g].bind(a,b,!0);this.hasSlots&&ib.distributeView(this.contentView,this.slots)}},a.prototype.addBinding=function(a){this.bindings.push(a),this.isBound&&a.bind(this)},a.prototype.unbind=function(){var a=void 0,b=void 0,c=void 0,d=void 0,e=void 0;if(this.isBound){for(this.isBound=!1,this.resources._invokeHook("beforeUnbind",this),null!==this.controller&&this.controller.unbind(),b=this.bindings,d=0,e=b.length;d<e;++d)b[d].unbind();for(a=this.controllers,d=0,e=a.length;d<e;++d)a[d].unbind();for(c=this.children,d=0,e=c.length;d<e;++d)c[d].unbind();this.bindingContext=null,this.overrideContext=null}},a.prototype.insertNodesBefore=function(a){a.parentNode.insertBefore(this.fragment,a)},a.prototype.appendNodesTo=function(a){a.appendChild(this.fragment)},a.prototype.removeNodes=function(){for(var a=this.fragment,b=this.firstChild,c=this.lastChild,d=void 0;b&&(d=b.nextSibling,a.appendChild(b),b!==c);)b=d},a.prototype.attached=function(){var a=void 0,b=void 0,c=void 0,d=void 0;if(!this.isAttached){for(this.isAttached=!0,null!==this.controller&&this.controller.attached(),a=this.controllers,c=0,d=a.length;c<d;++c)a[c].attached();for(b=this.children,c=0,d=b.length;c<d;++c)b[c].attached()}},a.prototype.detached=function(){var a=void 0,b=void 0,c=void 0,d=void 0;if(this.isAttached){for(this.isAttached=!1,null!==this.controller&&this.controller.detached(),a=this.controllers,c=0,d=a.length;c<d;++c)a[c].detached();for(b=this.children,c=0,d=b.length;c<d;++c)b[c].detached()}},a}(),lb=a.ViewSlot=function(){function a(a,b){var c=arguments.length<=2||void 0===arguments[2]?Na.instance:arguments[2];this.anchor=a,this.anchorIsContainer=b,this.bindingContext=null,this.overrideContext=null,this.animator=c,this.children=[],this.isBound=!1,this.isAttached=!1,this.contentSelectors=null,a.viewSlot=this,a.isContentProjectionSource=!1}return a.prototype.animateView=function(a){var b=arguments.length<=1||void 0===arguments[1]?"enter":arguments[1],c=q(a);if(null!==c)switch(b){case"enter":return this.animator.enter(c);case"leave":return this.animator.leave(c);default:throw new Error("Invalid animation direction: "+b)}},a.prototype.transformChildNodesIntoView=function(){var a=this.anchor;this.children.push({fragment:a,firstChild:a.firstChild,lastChild:a.lastChild,returnToCache:function(){},removeNodes:function(){for(var b=void 0;b=a.lastChild;)a.removeChild(b)},created:function(){},bind:function(){},unbind:function(){},attached:function(){},detached:function(){}})},a.prototype.bind=function(a,b){var c=void 0,d=void 0,e=void 0;if(this.isBound){if(this.bindingContext===a)return;this.unbind()}for(this.isBound=!0,this.bindingContext=a=a||this.bindingContext,this.overrideContext=b=b||this.overrideContext,e=this.children,c=0,d=e.length;c<d;++c)e[c].bind(a,b,!0)},a.prototype.unbind=function(){if(this.isBound){var a=void 0,b=void 0,c=this.children;for(this.isBound=!1,this.bindingContext=null,this.overrideContext=null,a=0,b=c.length;a<b;++a)c[a].unbind()}},a.prototype.add=function(a){if(this.anchorIsContainer?a.appendNodesTo(this.anchor):a.insertNodesBefore(this.anchor),this.children.push(a),this.isAttached)return a.attached(),this.animateView(a,"enter")},a.prototype.insert=function(a,b){var c=this.children,d=c.length;return 0===a&&0===d||a>=d?this.add(b):(b.insertNodesBefore(c[a].firstChild),c.splice(a,0,b),this.isAttached?(b.attached(),this.animateView(b,"enter")):void 0)},a.prototype.move=function(a,b){if(a!==b){var c=this.children,d=c[a];d.removeNodes(),d.insertNodesBefore(c[b].firstChild),c.splice(a,1),c.splice(b,0,d)}},a.prototype.remove=function(a,b,c){return this.removeAt(this.children.indexOf(a),b,c)},a.prototype.removeMany=function(a,b,c){var d=this,e=this.children,f=a.length,g=void 0,h=[];a.forEach(function(a){if(c)return void a.removeNodes();var b=d.animateView(a,"leave");b?h.push(b.then(function(){return a.removeNodes()})):a.removeNodes()});var i=function(){if(d.isAttached)for(g=0;g<f;++g)a[g].detached();if(b)for(g=0;g<f;++g)a[g].returnToCache();for(g=0;g<f;++g){var c=e.indexOf(a[g]);c>=0&&e.splice(c,1)}};return h.length>0?Promise.all(h).then(function(){return i()}):i()},a.prototype.removeAt=function(a,b,c){var d=this,e=this.children[a],f=function(){return a=d.children.indexOf(e),e.removeNodes(),d.children.splice(a,1),d.isAttached&&e.detached(),b&&e.returnToCache(),e};if(!c){var g=this.animateView(e,"leave");if(g)return g.then(function(){return f()})}return f()},a.prototype.removeAll=function(a,b){var c=this,d=this.children,e=d.length,f=void 0,g=[];d.forEach(function(a){if(b)return void a.removeNodes();var d=c.animateView(a,"leave");d?g.push(d.then(function(){return a.removeNodes()})):a.removeNodes()});var h=function(){if(c.isAttached)for(f=0;f<e;++f)d[f].detached();if(a)for(f=0;f<e;++f)d[f].returnToCache();c.children=[]};return g.length>0?Promise.all(g).then(function(){return h()}):h()},a.prototype.attached=function(){var a=void 0,b=void 0,c=void 0,d=void 0;if(!this.isAttached)for(this.isAttached=!0,c=this.children,a=0,b=c.length;a<b;++a)d=c[a],d.attached(),this.animateView(d,"enter")},a.prototype.detached=function(){var a=void 0,b=void 0,c=void 0;if(this.isAttached)for(this.isAttached=!1,c=this.children,a=0,b=c.length;a<b;++a)c[a].detached()},a.prototype.projectTo=function(a){var b=this;this.projectToSlots=a,this.add=this._projectionAdd,this.insert=this._projectionInsert,this.move=this._projectionMove,this.remove=this._projectionRemove,this.removeAt=this._projectionRemoveAt,this.removeMany=this._projectionRemoveMany,this.removeAll=this._projectionRemoveAll,this.children.forEach(function(c){return ib.distributeView(c,a,b)})},a.prototype._projectionAdd=function(a){ib.distributeView(a,this.projectToSlots,this),this.children.push(a),this.isAttached&&a.attached()},a.prototype._projectionInsert=function(a,b){0===a&&!this.children.length||a>=this.children.length?this.add(b):(ib.distributeView(b,this.projectToSlots,this,a),this.children.splice(a,0,b),this.isAttached&&b.attached())},a.prototype._projectionMove=function(a,b){if(a!==b){var c=this.children,d=c[a];ib.undistributeView(d,this.projectToSlots,this),ib.distributeView(d,this.projectToSlots,this,b),c.splice(a,1),c.splice(b,0,d)}},a.prototype._projectionRemove=function(a,b){ib.undistributeView(a,this.projectToSlots,this),this.children.splice(this.children.indexOf(a),1),this.isAttached&&a.detached()},a.prototype._projectionRemoveAt=function(a,b){var c=this.children[a];ib.undistributeView(c,this.projectToSlots,this),this.children.splice(a,1),this.isAttached&&c.detached()},a.prototype._projectionRemoveMany=function(a,b){var c=this;a.forEach(function(a){return c.remove(a,b)})},a.prototype._projectionRemoveAll=function(a){ib.undistributeAll(this.projectToSlots,this);var b=this.children;if(this.isAttached)for(var c=0,d=b.length;c<d;++c)b[c].detached();this.children=[]},a}(),mb=(0,g.resolver)(xa=function(){function a(){}return a.prototype.get=function(a,b){var c=b.__providerId__;return c in a?a[c]:a[c]=a.invoke(b)},a}())||xa,nb=new mb,ob=a.BoundViewFactory=function(){function a(a,b,c){this.parentContainer=a,this.viewFactory=b,this.factoryCreateInstruction={partReplacements:c}}return a.prototype.create=function(){var a=this.viewFactory.create(this.parentContainer.createChild(),this.factoryCreateInstruction);return a._isUserControlled=!0,a},a.prototype.setCacheSize=function(a,b){this.viewFactory.setCacheSize(a,b)},a.prototype.getCachedView=function(){return this.viewFactory.getCachedView()},a.prototype.returnViewToCache=function(a){this.viewFactory.returnViewToCache(a)},La(a,[{key:"isCaching",get:function(){return this.viewFactory.isCaching}}]),a}(),pb=a.ViewFactory=function(){function a(a,b,c){this.isCaching=!1,this.template=a,this.instructions=b,this.resources=c,this.cacheSize=-1,this.cache=null}return a.prototype.setCacheSize=function(a,b){a&&("*"===a?a=Number.MAX_VALUE:"string"==typeof a&&(a=parseInt(a,10))),this.cacheSize!==-1&&b||(this.cacheSize=a),this.cacheSize>0?this.cache=[]:this.cache=null,this.isCaching=this.cacheSize>0},a.prototype.getCachedView=function(){return null!==this.cache?this.cache.pop()||null:null},a.prototype.returnViewToCache=function(a){a.isAttached&&a.detached(),a.isBound&&a.unbind(),null!==this.cache&&this.cache.length<this.cacheSize&&(a.fromCache=!0,this.cache.push(a))},a.prototype.create=function(a,b,c){b=b||Wa.normal;var d=this.getCachedView();if(null!==d)return d;var e=b.enhance?this.template:this.template.cloneNode(!0),f=e.querySelectorAll(".au-target"),g=this.instructions,h=this.resources,i=[],j=[],k=[],l=Object.create(null),m={root:a},n=b.partReplacements,o=void 0,p=void 0,q=void 0,r=void 0,s=void 0;for(this.resources._invokeHook("beforeCreate",this,a,e,b),c&&null!==this.surrogateInstruction&&x(a,c,this.surrogateInstruction,i,j,k),b.enhance&&e.hasAttribute("au-target-id")&&(r=e,s=g[r.getAttribute("au-target-id")],u(m,r,s,i,j,k,l,n,h)),o=0,p=f.length;o<p;++o)r=f[o],s=g[r.getAttribute("au-target-id")],u(m,r,s,i,j,k,l,n,h);return q=new kb(a,this,e,i,j,k,l),b.initiatedByBehavior||q.created(),this.resources._invokeHook("afterCreate",q),q},a}(),qb=0,rb=0,sb=a.ViewCompiler=(ya=(0,g.inject)(db,jb),ya(za=function(){function a(a,b){this.bindingLanguage=a,this.resources=b}return a.prototype.compile=function(a,b,c){b=b||this.resources,c=c||Va.normal,a="string"==typeof a?d.DOM.createTemplateFromMarkup(a):a;var e=void 0,f=void 0,g=void 0;a.content?(f=a.getAttribute("part"),g=a.getAttribute("view-cache"),e=d.DOM.adoptNode(a.content)):e=a,c.targetShadowDOM=c.targetShadowDOM&&d.FEATURE.shadowDOM,b._invokeHook("beforeCompile",e,b,c);var h={};this._compileNode(e,b,h,a,"root",!c.targetShadowDOM);var i=e.firstChild;if(i&&1===i.nodeType){var j=i.getAttribute("au-target-id");if(j){var k=h[j];(k.shadowSlot||k.lifting)&&e.insertBefore(d.DOM.createComment("view"),i)}}var l=new pb(e,h,b);return l.surrogateInstruction=c.compileSurrogate?this._compileSurrogate(a,b):null,l.part=f,g&&l.setCacheSize(g),b._invokeHook("afterCompile",l),l},a.prototype._compileNode=function(a,b,c,e,f,g){switch(a.nodeType){case 1:return this._compileElement(a,b,c,e,f,g);case 3:var h=b.getBindingLanguage(this.bindingLanguage).inspectTextContent(b,a.wholeText);if(h){var i=d.DOM.createElement("au-marker"),j=B(i);for((a.parentNode||e).insertBefore(i,a),a.textContent=" ",c[j]=Xa.contentExpression(h);a.nextSibling&&3===a.nextSibling.nodeType;)(a.parentNode||e).removeChild(a.nextSibling)}else for(;a.nextSibling&&3===a.nextSibling.nodeType;)a=a.nextSibling;return a.nextSibling;case 11:for(var k=a.firstChild;k;)k=this._compileNode(k,b,c,a,f,g)}return a.nextSibling},a.prototype._compileSurrogate=function(a,b){var c=a.tagName.toLowerCase(),d=a.attributes,e=b.getBindingLanguage(this.bindingLanguage),f=void 0,g=void 0,h=void 0,i=void 0,j=void 0,k=void 0,l=void 0,m=void 0,n=void 0,o=void 0,p=[],q=void 0,r=[],s={},t=!1,u=[];for(i=0,j=d.length;i<j;++i)if(k=d[i],l=k.name,m=k.value,n=e.inspectAttribute(b,c,l,m),o=b.getAttribute(n.attrName),o&&(f=b.mapAttribute(n.attrName),f&&(g=o.attributes[f],g&&(n.defaultBindingMode=g.defaultBindingMode,n.command||n.expression||(n.command=g.hasOptions?"options":null)))),h=e.createAttributeInstruction(b,a,n,void 0,o))if(h.alteredAttr&&(o=b.getAttribute(h.attrName)),h.discrete)p.push(h);else if(o){if(h.type=o,z(h,b),o.liftsContent)throw new Error("You cannot place a template controller on a surrogate element.");r.push(h)}else p.push(h.attributes[h.attrName]);else if(o){if(h=Wa.attribute(l,o),h.attributes[b.mapAttribute(l)]=m,o.liftsContent)throw new Error("You cannot place a template controller on a surrogate element.");r.push(h)}else"id"!==l&&"part"!==l&&"replace-part"!==l&&(t=!0,s[l]=m);if(p.length||r.length||t){for(i=0,j=r.length;i<j;++i)h=r[i],h.type.compile(this,b,a,h),u.push(h.type.target);for(i=0,j=p.length;i<j;++i)q=p[i],void 0!==q.attrToRemove&&a.removeAttribute(q.attrToRemove);return Xa.surrogate(u,r,p,s)}return null},a.prototype._compileElement=function(a,b,c,d,e,f){var g=a.tagName.toLowerCase(),h=a.attributes,i=[],j=void 0,k=[],l=[],m=b.getBindingLanguage(this.bindingLanguage),n=void 0,o=void 0,p=void 0,q=void 0,r=void 0,s=void 0,t=void 0,u=void 0,v=void 0,w=void 0,x=void 0,A=void 0,D=void 0,E=void 0,F=void 0,G=void 0;if("slot"===g)return f&&(a=C(this,b,a,c,e)),a.nextSibling;for("template"===g?(o=this.compile(a,b),o.part=a.getAttribute("part")):(p=b.getElement(a.getAttribute("as-element")||g),p&&(q=Wa.element(a,p),p.processAttributes(this,b,a,h,q),k.push(q))),s=0,t=h.length;s<t;++s)if(u=h[s],v=u.name,w=u.value,A=m.inspectAttribute(b,g,v,w),f&&"slot"===A.attrName&&(A.attrName=v="au-slot"),p=b.getAttribute(A.attrName),
r=null,p?(E=b.mapAttribute(A.attrName),E&&(D=p.attributes[E],D&&(A.defaultBindingMode=D.defaultBindingMode,A.command||A.expression||(A.command=D.hasOptions?"options":null)))):q&&(r=q.type.attributes[A.attrName],r&&(A.defaultBindingMode=r.defaultBindingMode)),x=r?m.createAttributeInstruction(b,a,A,q):m.createAttributeInstruction(b,a,A,void 0,p))if(x.alteredAttr&&(p=b.getAttribute(x.attrName)),x.discrete)i.push(x);else if(p){if(x.type=p,z(x,b),p.liftsContent){x.originalAttrName=v,n=x;break}k.push(x)}else r?q.attributes[A.attrName].targetProperty=r.name:i.push(x.attributes[x.attrName]);else if(p){if(x=Wa.attribute(v,p),x.attributes[b.mapAttribute(v)]=w,p.liftsContent){x.originalAttrName=v,n=x;break}k.push(x)}else r&&(q.attributes[v]=w);if(n)n.viewFactory=o,a=n.type.compile(this,b,a,n,d),F=B(a),c[F]=Xa.lifting(e,n);else{if(i.length||k.length){for(G=!!k.length&&y(),s=0,t=k.length;s<t;++s)x=k[s],x.type.compile(this,b,a,x,d),l.push(x.type.target);for(s=0,t=i.length;s<t;++s)j=i[s],void 0!==j.attrToRemove&&a.removeAttribute(j.attrToRemove);F=B(a),c[F]=Xa.normal(G,e,l,k,i,q)}if(q&&q.skipContentProcessing)return a.nextSibling;for(var H=a.firstChild;H;)H=this._compileNode(H,b,c,a,G||e,f)}return a.nextSibling},a}())||za),tb=a.ResourceModule=function(){function a(a){this.id=a,this.moduleInstance=null,this.mainResource=null,this.resources=null,this.viewStrategy=null,this.isInitialized=!1,this.onLoaded=null,this.loadContext=null}return a.prototype.initialize=function(a){var b=this.mainResource,c=this.resources,d=this.viewStrategy;if(!this.isInitialized){this.isInitialized=!0,void 0!==b&&(b.metadata.viewStrategy=d,b.initialize(a));for(var e=0,f=c.length;e<f;++e)b=c[e],b.metadata.viewStrategy=d,b.initialize(a)}},a.prototype.register=function(a,b){var c=this.mainResource,d=this.resources;void 0!==c&&(c.register(a,b),b=null);for(var e=0,f=d.length;e<f;++e)d[e].register(a,b),b=null},a.prototype.load=function(a,b){if(null!==this.onLoaded)return this.loadContext===b?Promise.resolve():this.onLoaded;var c=this.mainResource,d=this.resources,e=void 0;if(void 0!==c){e=new Array(d.length+1),e[0]=c.load(a,b);for(var f=0,g=d.length;f<g;++f)e[f+1]=d[f].load(a,b)}else{e=new Array(d.length);for(var h=0,i=d.length;h<i;++h)e[h]=d[h].load(a,b)}return this.loadContext=b,this.onLoaded=Promise.all(e),this.onLoaded},a}(),ub=a.ResourceDescription=function(){function a(a,b,d){d||(d=c.metadata.get(c.metadata.resource,b),d||(d=new Db,d.elementName=l(a),c.metadata.define(c.metadata.resource,d,b))),d instanceof Db?void 0===d.elementName?d.elementName=l(a):void 0===d.attributeName?d.attributeName=l(a):null===d.attributeName&&null===d.elementName&&Db.convention(a,d):d.name||(d.name=l(a)),this.metadata=d,this.value=b}return a.prototype.initialize=function(a){this.metadata.initialize(a,this.value)},a.prototype.register=function(a,b){this.metadata.register(a,b)},a.prototype.load=function(a,b){return this.metadata.load(a,this.value,b)},a}(),vb=a.ModuleAnalyzer=function(){function a(){this.cache=Object.create(null)}return a.prototype.getAnalysis=function(a){return this.cache[a]},a.prototype.analyze=function(a,b,d){var e=void 0,g=void 0,i=void 0,j=void 0,k=void 0,m=void 0,n=[],o=void 0,p=void 0,q=void 0;if(q=this.cache[a])return q;q=new tb(a),this.cache[a]=q,"function"==typeof b&&(b={"default":b}),d&&(e=new ub(d,b[d]));for(k in b)m=b[k],k!==d&&"function"==typeof m&&(j=c.metadata.get(c.metadata.resource,m),j?(null===j.attributeName&&null===j.elementName&&Db.convention(k,j),null===j.attributeName&&null===j.elementName&&(j.elementName=l(k)),!e&&j instanceof Db&&null!==j.elementName?e=new ub(k,m,j):n.push(new ub(k,m,j))):Ya.decorates(m)?p=m:m instanceof f.TemplateRegistryEntry?p=new ab(a,m):(o=Db.convention(k))?(null===o.elementName||e?n.push(new ub(k,m,o)):e=new ub(k,m,o),c.metadata.define(c.metadata.resource,o,m)):(o=h.ValueConverterResource.convention(k)||h.BindingBehaviorResource.convention(k)||Sa.convention(k))?(n.push(new ub(k,m,o)),c.metadata.define(c.metadata.resource,o,m)):g||(g=m,i=k));return!e&&g&&(e=new ub(i,g)),q.moduleInstance=b,q.mainResource=e,q.resources=n,q.viewStrategy=p,q},a}(),wb=Ka.getLogger("templating"),xb=function(){function a(a){var b=this;a.then(function(a){return b.viewFactory=a})}return a.prototype.create=function(a,b,c,d){return this.viewFactory.create(a,b,c,d)},a.prototype.setCacheSize=function(a,b){this.viewFactory.setCacheSize(a,b)},a.prototype.getCachedView=function(){return this.viewFactory.getCachedView()},a.prototype.returnViewToCache=function(a){this.viewFactory.returnViewToCache(a)},La(a,[{key:"isCaching",get:function(){return this.viewFactory.isCaching}}]),a}(),yb=a.ViewEngine=(Aa=(0,g.inject)(f.Loader,g.Container,sb,vb,jb),Aa((Da=Ca=function(){function a(a,b,c,d,e){this.loader=a,this.container=b,this.viewCompiler=c,this.moduleAnalyzer=d,this.appResources=e,this._pluginMap={};var f=new Db;f.attributeName="au-slot",f.initialize(b,fb),f.register(e)}return a.prototype.addResourcePlugin=function(a,b){var c=a.replace(".","")+"-resource-plugin";this._pluginMap[a]=c,this.loader.addPlugin(c,b)},a.prototype.loadViewFactory=function(a,b,c,d){var e=this;return c=c||new Ua,D(this.loader,a).then(function(f){return f.onReady?c.hasDependency(a)?null===f.template?f.onReady:Promise.resolve(new xb(f.onReady)):(c.addDependency(a),f.onReady):(c.addDependency(a),f.onReady=e.loadTemplateResources(f,b,c,d).then(function(a){if(f.resources=a,null===f.template)return f.factory=null;var c=e.viewCompiler.compile(f.template,a,b);return f.factory=c}),f.onReady)})},a.prototype.loadTemplateResources=function(b,d,f,g){var h=new jb(this.appResources,b.address),i=b.dependencies,j=void 0,k=void 0;if(d=d||Va.normal,0===i.length&&!d.associatedModuleId)return Promise.resolve(h);if(j=i.map(function(a){return a.src}),k=i.map(function(a){return a.name}),wb.debug("importing resources for "+b.address,j),g){var l=c.metadata.get(a.viewModelRequireMetadataKey,g);if(l){for(var m=j.length,n=0,o=l.length;n<o;++n){var p=l[n],q="function"==typeof p?c.Origin.get(p).moduleId:(0,e.relativeToFile)(p.src||p,b.address);j.indexOf(q)===-1&&(j.push(q),k.push(p.as))}wb.debug("importing ViewModel resources for "+d.associatedModuleId,j.slice(m))}}return this.importViewResources(j,k,h,d,f)},a.prototype.importViewModelResource=function(a,b){var d=this;return this.loader.loadModule(a).then(function(e){var f=c.Origin.get(e).moduleId,g=d.moduleAnalyzer.analyze(f,e,b);if(!g.mainResource)throw new Error('No view model found in module "'+a+'".');return g.initialize(d.container),g.mainResource})},a.prototype.importViewResources=function(a,b,d,e,f){var g=this;return f=f||new Ua,e=e||Va.normal,a=a.map(function(a){return g._applyLoaderPlugin(a)}),this.loader.loadAllModules(a).then(function(a){var h=void 0,i=void 0,j=void 0,k=void 0,l=void 0,m=void 0,n=g.container,o=g.moduleAnalyzer,p=new Array(a.length);for(h=0,i=a.length;h<i;++h)l=a[h],k=c.Origin.get(l).moduleId,j=o.analyze(k,l),j.initialize(n),j.register(d,b[h]),p[h]=j;for(e.associatedModuleId&&(m=o.getAnalysis(e.associatedModuleId),m&&m.register(d)),h=0,i=p.length;h<i;++h)p[h]=p[h].load(n,f);return Promise.all(p).then(function(){return d})})},a.prototype._applyLoaderPlugin=function(a){var b=a.lastIndexOf(".");if(b!==-1){var c=a.substring(b),d=this._pluginMap[c];return void 0===d?a:this.loader.applyPluginToUrl(a,d)}return a},a}(),Ca.viewModelRequireMetadataKey="aurelia:view-model-require",Ba=Da))||Ba),zb=a.Controller=function(){function a(a,b,c,d){this.behavior=a,this.instruction=b,this.viewModel=c,this.isAttached=!1,this.view=null,this.isBound=!1,this.scope=null,this.container=d,this.elementEvents=d.elementEvents||null;var e=a.observerLocator.getOrCreateObserversLookup(c),f=a.handlesBind,g=b.attributes,h=this.boundProperties=[],i=a.properties,j=void 0,k=void 0;for(a._ensurePropertiesDefined(c,e),j=0,k=i.length;j<k;++j)i[j]._initialize(c,e,g,f,h)}return a.prototype.created=function(a){this.behavior.handlesCreated&&this.viewModel.created(a,this.view)},a.prototype.automate=function(a,b){this.view.bindingContext=this.viewModel,this.view.overrideContext=a||(0,h.createOverrideContext)(this.viewModel),this.view._isUserControlled=!0,this.behavior.handlesCreated&&this.viewModel.created(b||null,this.view),this.bind(this.view)},a.prototype.bind=function(a){var b=this.behavior.handlesBind,c=this.boundProperties,d=void 0,e=void 0,f=void 0,g=void 0,i=void 0;if(this.isBound){if(this.scope===a)return;this.unbind()}for(this.isBound=!0,this.scope=a,d=0,e=c.length;d<e;++d)f=c[d],g=f.observer,i=g.selfSubscriber,g.publishing=!1,b&&(g.selfSubscriber=null),f.binding.bind(a),g.call(),g.publishing=!0,g.selfSubscriber=i;var j=void 0;null!==this.view?(b&&(this.view.viewModelScope=a),this.viewModel===a.overrideContext.bindingContext?j=a.overrideContext:this.instruction.inheritBindingContext?j=(0,h.createOverrideContext)(this.viewModel,a.overrideContext):(j=(0,h.createOverrideContext)(this.viewModel),j.__parentOverrideContext=a.overrideContext),this.view.bind(this.viewModel,j)):b&&(j=a.overrideContext,void 0!==a.overrideContext.__parentOverrideContext&&this.viewModel.viewFactory&&this.viewModel.viewFactory.factoryCreateInstruction.partReplacements&&(j=Object.assign({},a.overrideContext),j.parentOverrideContext=a.overrideContext.__parentOverrideContext),this.viewModel.bind(a.bindingContext,j))},a.prototype.unbind=function(){if(this.isBound){var a=this.boundProperties,b=void 0,c=void 0;for(this.isBound=!1,this.scope=null,null!==this.view&&this.view.unbind(),this.behavior.handlesUnbind&&this.viewModel.unbind(),null!==this.elementEvents&&this.elementEvents.disposeAll(),b=0,c=a.length;b<c;++b)a[b].binding.unbind()}},a.prototype.attached=function(){this.isAttached||(this.isAttached=!0,this.behavior.handlesAttached&&this.viewModel.attached(),null!==this.view&&this.view.attached())},a.prototype.detached=function(){this.isAttached&&(this.isAttached=!1,null!==this.view&&this.view.detached(),this.behavior.handlesDetached&&this.viewModel.detached())},a}(),Ab=a.BehaviorPropertyObserver=(Ea=(0,h.subscriberCollection)(),Ea(Fa=function(){function a(a,b,c,d,e){this.taskQueue=a,this.obj=b,this.propertyName=c,this.notqueued=!0,this.publishing=!1,this.selfSubscriber=d,this.currentValue=this.oldValue=e}return a.prototype.getValue=function(){return this.currentValue},a.prototype.setValue=function(a){var b=this.currentValue;b!==a&&(this.oldValue=b,this.currentValue=a,this.publishing&&this.notqueued&&(this.taskQueue.flushing?this.call():(this.notqueued=!1,this.taskQueue.queueMicroTask(this))))},a.prototype.call=function(){var a=this.oldValue,b=this.currentValue;this.notqueued=!0,b!==a&&(this.selfSubscriber&&this.selfSubscriber(b,a),this.callSubscribers(b,a),this.oldValue=b)},a.prototype.subscribe=function(a,b){this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)},a}())||Fa),Bb=a.BindableProperty=function(){function a(a){"string"==typeof a?this.name=a:Object.assign(this,a),this.attribute=this.attribute||l(this.name),null!==this.defaultBindingMode&&void 0!==this.defaultBindingMode||(this.defaultBindingMode=h.bindingMode.oneWay),this.changeHandler=this.changeHandler||null,this.owner=null,this.descriptor=null}return a.prototype.registerWith=function(a,b,c){if(b.properties.push(this),b.attributes[this.attribute]=this,this.owner=b,c)return this.descriptor=c,this._configureDescriptor(b,c)},a.prototype._configureDescriptor=function(a,b){var c=this.name;return b.configurable=!0,b.enumerable=!0,"initializer"in b&&(this.defaultValue=b.initializer,delete b.initializer,delete b.writable),"value"in b&&(this.defaultValue=b.value,delete b.value,delete b.writable),b.get=function(){return E(a,this,c).getValue()},b.set=function(b){E(a,this,c).setValue(b)},b.get.getObserver=function(b){return E(a,b,c)},b},a.prototype.defineOn=function(a,b){var c=this.name,d=void 0;null===this.changeHandler&&(d=c+"Changed",d in a.prototype&&(this.changeHandler=d)),null===this.descriptor&&Object.defineProperty(a.prototype,c,this._configureDescriptor(b,{}))},a.prototype.createObserver=function(a){var b=null,c=this.defaultValue,d=this.changeHandler,e=this.name,f=void 0;if(!this.hasOptions){if(d in a)b="propertyChanged"in a?function(b,c){a[d](b,c),a.propertyChanged(e,b,c)}:function(b,c){return a[d](b,c)};else if("propertyChanged"in a)b=function(b,c){return a.propertyChanged(e,b,c)};else if(null!==d)throw new Error("Change handler "+d+" was specified but not declared on the class.");return void 0!==c&&(f="function"==typeof c?c.call(a):c),new Ab(this.owner.taskQueue,a,this.name,b,f)}},a.prototype._initialize=function(a,b,c,d,e){var f=void 0,g=void 0,h=void 0,i=this.defaultValue;if(this.isDynamic)for(var j in c)this._createDynamicProperty(a,b,d,j,c[j],e);else this.hasOptions||(g=b[this.name],null!==c&&(f=g.selfSubscriber,h=c[this.attribute],d&&(g.selfSubscriber=null),"string"==typeof h?(a[this.name]=h,g.call()):h?e.push({observer:g,binding:h.createBinding(a)}):void 0!==i&&g.call(),g.selfSubscriber=f),g.publishing=!0)},a.prototype._createDynamicProperty=function(a,b,c,d,e,f){var g=d+"Changed",h=null,i=void 0,j=void 0;g in a?h="propertyChanged"in a?function(b,c){a[g](b,c),a.propertyChanged(d,b,c)}:function(b,c){return a[g](b,c)}:"propertyChanged"in a&&(h=function(b,c){return a.propertyChanged(d,b,c)}),i=b[d]=new Ab(this.owner.taskQueue,a,d,h),Object.defineProperty(a,d,{configurable:!0,enumerable:!0,get:i.getValue.bind(i),set:i.setValue.bind(i)}),c&&(i.selfSubscriber=null),"string"==typeof e?(a[d]=e,i.call()):e&&(j={observer:i,binding:e.createBinding(a)},f.push(j)),i.publishing=!0,i.selfSubscriber=h},a}(),Cb=0,Db=a.HtmlBehaviorResource=function(){function a(){this.elementName=null,this.attributeName=null,this.attributeDefaultBindingMode=void 0,this.liftsContent=!1,this.targetShadowDOM=!1,this.shadowDOMOptions=null,this.processAttributes=H,this.processContent=G,this.usesShadowDOM=!1,this.childBindings=null,this.hasDynamicOptions=!1,this.containerless=!1,this.properties=[],this.attributes={},this.isInitialized=!1}return a.convention=function(b,c){var d=void 0;return b.endsWith("CustomAttribute")&&(d=c||new a,d.attributeName=l(b.substring(0,b.length-15))),b.endsWith("CustomElement")&&(d=c||new a,d.elementName=l(b.substring(0,b.length-13))),d},a.prototype.addChildBinding=function(a){null===this.childBindings&&(this.childBindings=[]),this.childBindings.push(a)},a.prototype.initialize=function(a,b){var c=b.prototype,e=this.properties,f=this.attributeName,g=this.attributeDefaultBindingMode,j=void 0,k=void 0,l=void 0;if(!this.isInitialized)if(this.isInitialized=!0,b.__providerId__=F(),this.observerLocator=a.get(h.ObserverLocator),this.taskQueue=a.get(i.TaskQueue),this.target=b,this.usesShadowDOM=this.targetShadowDOM&&d.FEATURE.shadowDOM,this.handlesCreated="created"in c,this.handlesBind="bind"in c,this.handlesUnbind="unbind"in c,this.handlesAttached="attached"in c,this.handlesDetached="detached"in c,this.htmlName=this.elementName||this.attributeName,null!==f)if(0===e.length&&new Bb({name:"value",changeHandler:"valueChanged"in c?"valueChanged":null,attribute:f,defaultBindingMode:g}).registerWith(b,this),l=e[0],1===e.length&&"value"===l.name)l.isDynamic=l.hasOptions=this.hasDynamicOptions,l.defineOn(b,this);else{for(j=0,k=e.length;j<k;++j)e[j].defineOn(b,this);l=new Bb({name:"value",changeHandler:"valueChanged"in c?"valueChanged":null,attribute:f,defaultBindingMode:g}),l.hasOptions=!0,l.registerWith(b,this)}else for(j=0,k=e.length;j<k;++j)e[j].defineOn(b,this)},a.prototype.register=function(a,b){null!==this.attributeName&&a.registerAttribute(b||this.attributeName,this,this.attributeName),null!==this.elementName&&a.registerElement(b||this.elementName,this)},a.prototype.load=function(a,b,d,e,f){var g=this,h=void 0;return null!==this.elementName?(e=a.get(cb).getViewStrategy(e||this.viewStrategy||b),h=new Va(this.targetShadowDOM,(!0)),e.moduleId||(e.moduleId=c.Origin.get(b).moduleId),e.loadViewFactory(a.get(yb),h,d,b).then(function(a){return f&&g.viewFactory||(g.viewFactory=a),a})):Promise.resolve(this)},a.prototype.compile=function(a,b,c,e,f){if(this.liftsContent){if(!e.viewFactory){var g=d.DOM.createElement("template"),h=d.DOM.createDocumentFragment(),i=c.getAttribute("view-cache"),j=c.getAttribute("part");c.removeAttribute(e.originalAttrName),d.DOM.replaceNode(g,c,f),h.appendChild(c),e.viewFactory=a.compile(h,b),j&&(e.viewFactory.part=j,c.removeAttribute("part")),i&&(e.viewFactory.setCacheSize(i),c.removeAttribute("view-cache")),c=g}}else if(null!==this.elementName){var k={};if(this.processContent(a,b,c,e)&&c.hasChildNodes()){for(var l=c.firstChild,n=this.usesShadowDOM?null:d.DOM.createElement("au-content"),o=void 0,p=void 0;l;)o=l.nextSibling,"TEMPLATE"===l.tagName&&(p=l.getAttribute("replace-part"))?(k[p]=a.compile(l,b),d.DOM.removeNode(l,f),e.partReplacements=k):null!==n&&(3===l.nodeType&&m(l)?d.DOM.removeNode(l,f):n.appendChild(l)),l=o;null!==n&&n.hasChildNodes()&&c.appendChild(n),e.skipContentProcessing=!1}else e.skipContentProcessing=!0}return c},a.prototype.create=function(a,b,c,e){var f=void 0,g=null;b=b||Wa.normal,c=c||null,e=e||null,null!==this.elementName&&c&&(this.usesShadowDOM?(f=c.attachShadow(this.shadowDOMOptions),a.registerInstance(d.DOM.boundary,f)):(f=c,this.targetShadowDOM&&a.registerInstance(d.DOM.boundary,f))),null!==c&&(c.au=g=c.au||{});var h=b.viewModel||a.get(this.target),i=new zb(this,b,h,a),j=this.childBindings,k=void 0;if(this.liftsContent)g.controller=i;else if(null!==this.elementName){if(k=b.viewFactory||this.viewFactory,a.viewModel=h,k&&(i.view=k.create(a,b,c)),null!==c){if(g.controller=i,i.view){if(!this.usesShadowDOM&&(1===c.childNodes.length||c.contentElement)){var l=c.childNodes[0]||c.contentElement;i.view.contentView={fragment:l},l.parentNode&&d.DOM.removeNode(l)}if(b.anchorIsContainer){if(null!==j)for(var m=0,n=j.length;m<n;++m)i.view.addBinding(j[m].create(c,h,i));i.view.appendNodesTo(f)}else i.view.insertNodesBefore(f)}else if(null!==j)for(var o=0,p=j.length;o<p;++o)e.push(j[o].create(c,h,i))}else if(i.view){if(i.view.controller=i,null!==j)for(var q=0,r=j.length;q<r;++q)i.view.addBinding(j[q].create(b.host,h,i))}else if(null!==j)for(var s=0,t=j.length;s<t;++s)e.push(j[s].create(b.host,h,i))}else if(null!==j)for(var u=0,v=j.length;u<v;++u)e.push(j[u].create(c,h,i));return null!==g&&(g[this.htmlName]=i),b.initiatedByBehavior&&k&&i.view.created(),i},a.prototype._ensurePropertiesDefined=function(a,b){var c=void 0,d=void 0,e=void 0,f=void 0;if(!("__propertiesDefined__"in b))for(b.__propertiesDefined__=!0,c=this.properties,d=0,e=c.length;d<e;++d)f=c[d].createObserver(a),void 0!==f&&(b[f.propertyName]=f)},a}(),Eb=function(){function a(a){this.name=a.name,this.changeHandler=a.changeHandler||this.name+"Changed",this.selector=a.selector,this.all=a.all}return a.prototype.create=function(a,b,c){return new Gb(this.selector,a,this.name,b,c,this.changeHandler,this.all)},a}(),Fb=[],Gb=function(){function a(a,b,c,d,e,f,g){this.selector=a,this.viewHost=b,this.property=c,this.viewModel=d,this.controller=e,this.changeHandler=f in d?f:null,this.usesShadowDOM=e.behavior.usesShadowDOM,this.all=g,!this.usesShadowDOM&&e.view&&e.view.contentView?this.contentView=e.view.contentView:this.contentView=null}return a.prototype.matches=function(a){if(a.matches(this.selector)){if(null===this.contentView)return!0;var b=this.contentView,c=a.auAssignedSlot;if(c&&c.projectFromAnchors){for(var d=c.projectFromAnchors,e=0,f=d.length;e<f;++e)if(d[e].auOwnerView===b)return!0;return!1}return a.auOwnerView===b}return!1},a.prototype.bind=function(a){var b=this.viewHost,c=this.viewModel,e=b.__childObserver__;if(!e){e=b.__childObserver__=d.DOM.createMutationObserver(M);var f={childList:!0,subtree:!this.usesShadowDOM};e.observe(b,f),e.binders=[]}if(e.binders.push(this),this.usesShadowDOM){var g=b.firstElementChild;if(this.all){var h=c[this.property];for(h?h.length=0:h=c[this.property]=[];g;)this.matches(g)&&h.push(g.au&&g.au.controller?g.au.controller.viewModel:g),g=g.nextElementSibling;null!==this.changeHandler&&this.viewModel[this.changeHandler](Fb)}else for(;g;){if(this.matches(g)){var i=g.au&&g.au.controller?g.au.controller.viewModel:g;this.viewModel[this.property]=i,null!==this.changeHandler&&this.viewModel[this.changeHandler](i);break}g=g.nextElementSibling}}},a.prototype.onRemove=function(a){if(this.matches(a)){var b=a.au&&a.au.controller?a.au.controller.viewModel:a;if(this.all){var c=this.viewModel[this.property]||(this.viewModel[this.property]=[]),d=c.indexOf(b);return d!==-1&&c.splice(d,1),!0}return!1}return!1},a.prototype.onAdd=function(a){if(this.matches(a)){var b=a.au&&a.au.controller?a.au.controller.viewModel:a;if(this.all){for(var c=this.viewModel[this.property]||(this.viewModel[this.property]=[]),d=0,e=a.previousElementSibling;e;)this.matches(e)&&d++,e=e.previousElementSibling;return c.splice(d,0,b),!0}this.viewModel[this.property]=b,null!==this.changeHandler&&this.viewModel[this.changeHandler](b)}return!1},a.prototype.unbind=function(){this.viewHost.__childObserver__&&(this.viewHost.__childObserver__.disconnect(),this.viewHost.__childObserver__=null)},a}(),Hb=a.CompositionEngine=(Ga=(0,g.inject)(yb,cb),Ga(Ha=function(){function a(a,b){this.viewEngine=a,this.viewLocator=b}return a.prototype._createControllerAndSwap=function(a){function b(b){return Promise.resolve(a.viewSlot.removeAll(!0)).then(function(){return a.currentController&&a.currentController.unbind(),a.viewSlot.add(b.view),a.compositionTransactionNotifier&&a.compositionTransactionNotifier.done(),b})}return this.createController(a).then(function(c){return c.automate(a.overrideContext,a.owningView),a.compositionTransactionOwnershipToken?a.compositionTransactionOwnershipToken.waitForCompositionComplete().then(function(){return b(c)}):b(c)})},a.prototype.createController=function(a){var b=this,c=void 0,d=void 0,e=void 0,f=void 0;return this.ensureViewModel(a).then(N).then(function(){c=a.childContainer,d=a.viewModel,e=a.viewModelResource,f=e.metadata;var g=b.viewLocator.getViewStrategy(a.view||d);return a.viewResources&&g.makeRelativeTo(a.viewResources.viewUrl),f.load(c,e.value,null,g,!0)}).then(function(b){return f.create(c,Wa.dynamic(a.host,d,b))})},a.prototype.ensureViewModel=function(a){var b=a.childContainer=a.childContainer||a.container.createChild();if("string"==typeof a.viewModel)return a.viewModel=a.viewResources?a.viewResources.relativeToView(a.viewModel):a.viewModel,this.viewEngine.importViewModelResource(a.viewModel).then(function(c){return b.autoRegister(c.value),a.host&&b.registerInstance(d.DOM.Element,a.host),a.viewModel=b.viewModel=b.get(c.value),a.viewModelResource=c,a});var e=c.metadata.getOrCreateOwn(c.metadata.resource,Db,a.viewModel.constructor);return e.elementName=e.elementName||"dynamic-element",e.initialize(a.container||b,a.viewModel.constructor),a.viewModelResource={metadata:e,value:a.viewModel.constructor},b.viewModel=a.viewModel,Promise.resolve(a)},a.prototype.compose=function(a){a.childContainer=a.childContainer||a.container.createChild(),a.view=this.viewLocator.getViewStrategy(a.view);var b=a.childContainer.get(Qa),c=b.tryCapture();return c?a.compositionTransactionOwnershipToken=c:a.compositionTransactionNotifier=b.enlist(),a.viewModel?this._createControllerAndSwap(a):a.view?(a.viewResources&&a.view.makeRelativeTo(a.viewResources.viewUrl),a.view.loadViewFactory(this.viewEngine,new Va).then(function(b){var c=b.create(a.childContainer);c.bind(a.bindingContext,a.overrideContext);var d=function(){return Promise.resolve(a.viewSlot.removeAll(!0)).then(function(){return a.viewSlot.add(c),a.compositionTransactionNotifier&&a.compositionTransactionNotifier.done(),c})};return a.compositionTransactionOwnershipToken?a.compositionTransactionOwnershipToken.waitForCompositionComplete().then(d):d()})):a.viewSlot?(a.viewSlot.removeAll(),a.compositionTransactionNotifier&&a.compositionTransactionNotifier.done(),Promise.resolve(null)):Promise.resolve(null)},a}())||Ha),Ib=a.ElementConfigResource=function(){function a(){}return a.prototype.initialize=function(a,b){},a.prototype.register=function(a,b){},a.prototype.load=function(a,b){var c=new b,d=a.get(h.EventManager);d.registerElementConfig(c)},a}(),Jb={mode:"open"};a.TemplatingEngine=(Ia=(0,g.inject)(g.Container,vb,sb,Hb),Ia(Ja=function(){function a(a,b,c,d){this._container=a,this._moduleAnalyzer=b,this._viewCompiler=c,this._compositionEngine=d,a.registerInstance(Na,Na.instance=new Na)}return a.prototype.configureAnimator=function(a){this._container.unregister(Na),this._container.registerInstance(Na,Na.instance=a)},a.prototype.compose=function(a){return this._compositionEngine.compose(a)},a.prototype.enhance=function(a){a instanceof d.DOM.Element&&(a={element:a});var b={},c=a.resources||this._container.get(jb);this._viewCompiler._compileNode(a.element,c,b,a.element.parentNode,"root",!0);var e=new pb(a.element,b,c),f=a.container||this._container.createChild(),g=e.create(f,Wa.enhance());return g.bind(a.bindingContext||{},a.overrideContext),g},a}())||Ja)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating@1.1.1.js",["npm:aurelia-templating@1.1.1/aurelia-templating"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-path@1.1.1/aurelia-path.js",["exports"],function(a){"use strict";function b(a){for(var b=0;b<a.length;++b){var c=a[b];if("."===c)a.splice(b,1),b-=1;else if(".."===c){if(0===b||1===b&&".."===a[2]||".."===a[b-1])continue;b>0&&(a.splice(b-1,2),b-=2)}}}function c(a,c){var d=c&&c.split("/"),e=a.trim().split("/");if("."===e[0].charAt(0)&&d){var f=d.slice(0,d.length-1);e.unshift.apply(e,f)}return b(e),e.join("/")}function d(a,b){if(!a)return b;if(!b)return a;var c=a.match(/^([^\/]*?:)\//),d=c&&c.length>0?c[1]:"";a=a.substr(d.length);var e=void 0;e=0===a.indexOf("///")&&"file:"===d?"///":0===a.indexOf("//")?"//":0===a.indexOf("/")?"/":"";for(var f="/"===b.slice(-1)?"/":"",g=a.split("/"),h=b.split("/"),i=[],j=0,k=g.length;j<k;++j)if(".."===g[j])i.pop();else{if("."===g[j]||""===g[j])continue;i.push(g[j])}for(var l=0,m=h.length;l<m;++l)if(".."===h[l])i.pop();else{if("."===h[l]||""===h[l])continue;i.push(h[l])}return d+e+i.join("/")+f}function e(a,b,c){var d=[];if(null===b||void 0===b)return d;if(Array.isArray(b))for(var f=0,g=b.length;f<g;f++)if(c)d.push(l(a)+"="+k(b[f]));else{var h=a+"["+("object"===j(b[f])&&null!==b[f]?f:"")+"]";d=d.concat(e(h,b[f]))}else if("object"!==("undefined"==typeof b?"undefined":j(b))||c)d.push(l(a)+"="+k(b));else for(var i in b)d=d.concat(e(a+"["+i+"]",b[i]));return d}function f(a,b){for(var c=[],d=Object.keys(a||{}).sort(),f=0,g=d.length;f<g;f++){var h=d[f];c=c.concat(e(h,a[h],b))}return 0===c.length?"":c.join("&")}function g(a,b){return Array.isArray(a)?(a.push(b),a):void 0!==a?[a,b]:b}function h(a,b,c){for(var d=a,e=b.length-1,f=0;f<=e;f++){var g=""===b[f]?d.length:b[f];if(f<e){var h=d[g]&&"object"!==j(d[g])?[d[g]]:d[g];d=d[g]=h||(isNaN(b[f+1])?{}:[])}else d=d[g]=c}}function i(a){var b={};if(!a||"string"!=typeof a)return b;var c=a;"?"===c.charAt(0)&&(c=c.substr(1));for(var d=c.replace(/\+/g," ").split("&"),e=0;e<d.length;e++){var f=d[e].split("="),i=decodeURIComponent(f[0]);if(i){var j=i.split("]["),k=j.length-1;if(/\[/.test(j[0])&&/\]$/.test(j[k])?(j[k]=j[k].replace(/\]$/,""),j=j.shift().split("[").concat(j),k=j.length-1):k=0,f.length>=2){var l=f[1]?decodeURIComponent(f[1]):"";k?h(b,j,l):b[i]=g(b[i],l)}else b[i]=!0}}return b}Object.defineProperty(a,"__esModule",{value:!0}),a.relativeToFile=c,a.join=d,a.buildQueryString=f,a.parseQueryString=i;var j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},k=encodeURIComponent,l=function(a){return k(a).replace("%24","$")}})}(),function(){var a=System.amdDefine;a("npm:aurelia-path@1.1.1.js",["npm:aurelia-path@1.1.1/aurelia-path"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-route-recognizer@1.1.0/aurelia-route-recognizer.js",["exports","aurelia-path"],function(a,b){"use strict";function c(a,b,c,d){var e=a;"/"===a.charAt(0)&&(e=a.substr(1));for(var f=[],g=e.split("/"),h=0,i=g.length;h<i;++h){var j=g[h],o=j.match(/^:([^?]+)(\?)?$/);if(o){var p=o,q=p[1],r=p[2];if(q.indexOf("=")!==-1)throw new Error("Parameter "+q+" in route "+a+" has a default value, which is not supported.");f.push(new l(q,(!!r))),b.push(q),c.dynamics++}else o=j.match(/^\*(.+)$/),o?(f.push(new m(o[1])),b.push(o[1]),c.stars++):""===j?f.push(new n):(f.push(new k(j,d)),c.statics++)}return f}function d(a){return a.sort(function(a,b){if(a.types.stars!==b.types.stars)return a.types.stars-b.types.stars;if(a.types.stars){if(a.types.statics!==b.types.statics)return b.types.statics-a.types.statics;if(a.types.dynamics!==b.types.dynamics)return b.types.dynamics-a.types.dynamics}return a.types.dynamics!==b.types.dynamics?a.types.dynamics-b.types.dynamics:a.types.statics!==b.types.statics?b.types.statics-a.types.statics:0})}function e(a,b){for(var c=[],d=0,e=a.length;d<e;d++){var f=a[d];c.push.apply(c,f.match(b))}for(var g=c.filter(function(a){return a.epsilon}),h=function(){var a=[];g.forEach(function(b){c.push.apply(c,b.epsilon),a.push.apply(a,b.epsilon)}),g=a.filter(function(a){return a.epsilon})};g.length>0;)h();return c}function f(a,b,c){for(var d=a.handlers,e=a.regex,f=b.match(e),g=1,h=new o(c),i=0,j=d.length;i<j;i++){for(var k=d[i],l=k.names,m={},n=0,p=l.length;n<p;n++)m[l[n]]=f[g++];h.push({handler:k.handler,params:m,isDynamic:!!l.length})}return h}function g(a,b){var c=a.put({validChars:"/"});return b.eachChar(function(a){c=c.put(a)}),b.optional&&(a.epsilon=a.epsilon||[],a.epsilon.push(c)),c}Object.defineProperty(a,"__esModule",{value:!0}),a.RouteRecognizer=a.EpsilonSegment=a.StarSegment=a.DynamicSegment=a.StaticSegment=a.State=void 0;var h=a.State=function(){function a(a){this.charSpec=a,this.nextStates=[]}return a.prototype.get=function(a){for(var b=this.nextStates,c=Array.isArray(b),d=0,b=c?b:b[Symbol.iterator]();;){var e;if(c){if(d>=b.length)break;e=b[d++]}else{if(d=b.next(),d.done)break;e=d.value}var f=e,g=f.charSpec.validChars===a.validChars&&f.charSpec.invalidChars===a.invalidChars;if(g)return f}},a.prototype.put=function(b){var c=this.get(b);return c?c:(c=new a(b),this.nextStates.push(c),b.repeat&&c.nextStates.push(c),c)},a.prototype.match=function(a){for(var b=this.nextStates,c=[],d=0,e=b.length;d<e;d++){var f=b[d],g=f.charSpec;void 0!==g.validChars?g.validChars.indexOf(a)!==-1&&c.push(f):void 0!==g.invalidChars&&g.invalidChars.indexOf(a)===-1&&c.push(f)}return c},a}(),i=["/",".","*","+","?","|","(",")","[","]","{","}","\\"],j=new RegExp("(\\"+i.join("|\\")+")","g"),k=a.StaticSegment=function(){function a(a,b){this.string=a,this.caseSensitive=b}return a.prototype.eachChar=function(a){for(var b=this.string,c=0,d=b.length;c<d;++c){var e=b[c];a({validChars:this.caseSensitive?e:e.toUpperCase()+e.toLowerCase()})}},a.prototype.regex=function(){return this.string.replace(j,"\\$1")},a.prototype.generate=function(){return this.string},a}(),l=a.DynamicSegment=function(){function a(a,b){this.name=a,this.optional=b}return a.prototype.eachChar=function(a){a({invalidChars:"/",repeat:!0})},a.prototype.regex=function(){return this.optional?"([^/]+)?":"([^/]+)"},a.prototype.generate=function(a,b){return b[this.name]=!0,a[this.name]},a}(),m=a.StarSegment=function(){function a(a){this.name=a}return a.prototype.eachChar=function(a){a({invalidChars:"",repeat:!0})},a.prototype.regex=function(){return"(.+)"},a.prototype.generate=function(a,b){return b[this.name]=!0,a[this.name]},a}(),n=a.EpsilonSegment=function(){function a(){}return a.prototype.eachChar=function(){},a.prototype.regex=function(){return""},a.prototype.generate=function(){return""},a}(),o=(a.RouteRecognizer=function(){function a(){this.rootState=new h,this.names={}}return a.prototype.add=function(a){var b=this;if(Array.isArray(a))return void a.forEach(function(a){return b.add(a)});for(var d=this.rootState,e="^",f={statics:0,dynamics:0,stars:0},h=[],i=a.handler.name,j=!0,k=!0,l=c(a.path,h,f,a.caseSensitive),m=0,o=l.length;m<o;m++){
var p=l[m];p instanceof n||(j=!1,k=k&&p.optional,d=g(d,p),e+=p.optional?"/?":"/",e+=p.regex())}if(k)if(j)d=d.put({validChars:"/"}),e+="/";else{var q=this.rootState.put({validChars:"/"});d.epsilon=[q],d=q}var r=[{handler:a.handler,names:h}];if(i)for(var s=Array.isArray(i)?i:[i],t=0;t<s.length;t++)this.names[s[t]]={segments:l,handlers:r};return d.handlers=r,d.regex=new RegExp(e+"$",a.caseSensitive?"":"i"),d.types=f,d},a.prototype.handlersFor=function(a){var b=this.names[a];if(!b)throw new Error("There is no route named "+a);return[].concat(b.handlers)},a.prototype.hasRoute=function(a){return!!this.names[a]},a.prototype.generate=function(a,c){var d=this.names[a];if(!d)throw new Error("There is no route named "+a);var e=d.handlers[0].handler;if(e.generationUsesHref)return e.href;for(var f=Object.assign({},c),g=d.segments,h={},i="",j=0,k=g.length;j<k;j++){var l=g[j];if(!(l instanceof n)){var m=l.generate(f,h);if(null===m||void 0===m){if(!l.optional)throw new Error("A value is required for route parameter '"+l.name+"' in route '"+a+"'.")}else i+="/",i+=m}}"/"!==i.charAt(0)&&(i="/"+i);for(var o in h)delete f[o];var p=(0,b.buildQueryString)(f);return i+=p?"?"+p:""},a.prototype.recognize=function(a){var c=[this.rootState],g={},h=!1,i=a,j=i.indexOf("?");if(j!==-1){var k=i.substr(j+1,i.length);i=i.substr(0,j),g=(0,b.parseQueryString)(k)}i=decodeURI(i),"/"!==i.charAt(0)&&(i="/"+i);var l=i.length;l>1&&"/"===i.charAt(l-1)&&(i=i.substr(0,l-1),h=!0);for(var m=0,n=i.length;m<n&&(c=e(c,i.charAt(m)),c.length);m++);for(var o=[],p=0,q=c.length;p<q;p++)c[p].handlers&&o.push(c[p]);c=d(o);var r=o[0];if(r&&r.handlers)return h&&"(.+)$"===r.regex.source.slice(-5)&&(i+="/"),f(r,i,g)},a}(),function(a){this.splice=Array.prototype.splice,this.slice=Array.prototype.slice,this.push=Array.prototype.push,this.length=0,this.queryParams=a||{}})})}(),function(){var a=System.amdDefine;a("npm:aurelia-route-recognizer@1.1.0.js",["npm:aurelia-route-recognizer@1.1.0/aurelia-route-recognizer"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-metadata@1.0.3/aurelia-metadata.js",["exports","aurelia-pal"],function(a,b){"use strict";function c(a){return a&&("function"==typeof a||"object"===("undefined"==typeof a?"undefined":n(a)))}function d(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];var d=function(a,c,d){var e=b.length;if(c){for(d=d||{value:a[c],writable:!0,configurable:!0,enumerable:!0};e--;)d=b[e](a,c,d)||d;Object.defineProperty(a,c,d)}else for(;e--;)a=b[e](a)||a;return a};return d.on=d,d}function e(a,b,c){function d(c,d,e){var f=c.constructor.name+"#"+d,g=b?{}:a||{},h="DEPRECATION - "+f;if("function"!=typeof e.value)throw new SyntaxError("Only methods can be marked as deprecated.");return g.message&&(h+=" - "+g.message),m({},e,{value:function(){if(g.error)throw new Error(h);return console.warn(h),e.value.apply(this,arguments)}})}return b?d(a,b,c):d}function f(a){function b(b){var d=function(b){for(var d="function"==typeof b?b.prototype:b,e=c.length;e--;){var f=c[e];Object.defineProperty(d,f,{value:a[f],writable:!0})}};return b?d(b):d}var c=Object.keys(a);return b}function g(){return!0}function h(){}function i(a){return void 0===a?a={}:"function"==typeof a&&(a={validate:a}),a.validate||(a.validate=g),a.compose||(a.compose=h),a}function j(a){return function(b){var c=a(b);return c===!0}}function k(a,b){return function(c){var d=b(c);if(d!==!0)throw new Error(d||a+" was not correctly implemented.")}}function l(a,b){b=i(b);var c=function d(c){var e="function"==typeof c?c.prototype:c;b.compose(e),d.assert(e),Object.defineProperty(e,"protocol:"+a,{enumerable:!1,configurable:!1,writable:!1,value:!0})};return c.validate=j(b.validate),c.assert=k(a,b.validate),c}Object.defineProperty(a,"__esModule",{value:!0}),a.Origin=a.metadata=void 0,a.decorators=d,a.deprecated=e,a.mixin=f,a.protocol=l;var m=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a},n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},o=a.metadata={resource:"aurelia:resource",paramTypes:"design:paramtypes",propertyType:"design:type",properties:"design:properties",get:function(a,b,d){if(c(b)){var e=o.getOwn(a,b,d);return void 0===e?o.get(a,Object.getPrototypeOf(b),d):e}},getOwn:function(a,b,d){if(c(b))return Reflect.getOwnMetadata(a,b,d)},define:function(a,b,c,d){Reflect.defineMetadata(a,b,c,d)},getOrCreateOwn:function(a,b,c,d){var e=o.getOwn(a,c,d);return void 0===e&&(e=new b,Reflect.defineMetadata(a,e,c,d)),e}},p=new Map,q=Object.freeze({moduleId:void 0,moduleMember:void 0});a.Origin=function(){function a(a,b){this.moduleId=a,this.moduleMember=b}return a.get=function(c){var d=p.get(c);return void 0===d&&b.PLATFORM.eachModule(function(b,e){if("object"===("undefined"==typeof e?"undefined":n(e)))for(var f in e){var g=e[f];if(g===c)return p.set(c,d=new a(b,f)),!0}return e===c&&(p.set(c,d=new a(b,"default")),!0)}),d||q},a.set=function(a,b){p.set(a,b)},a}();l.create=function(a,b){b=i(b);var c="protocol:"+a,d=function(c){var d=l(a,b);return c?d(c):d};return d.decorates=function(a){return a[c]===!0},d.validate=j(b.validate),d.assert=k(a,b.validate),d}})}(),function(){var a=System.amdDefine;a("npm:aurelia-metadata@1.0.3.js",["npm:aurelia-metadata@1.0.3/aurelia-metadata"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-dependency-injection@1.3.1/aurelia-dependency-injection.js",["exports","aurelia-metadata","aurelia-pal"],function(a,b,c){"use strict";function d(a,c){var d=a.inject;if("function"==typeof d)throw new Error("Decorator "+c+' cannot be used with "inject()". Please use an array instead.');return d||(d=b.metadata.getOwn(b.metadata.paramTypes,a).slice(),a.inject=d),d}function e(a){return function(b,c,e){var f=d(b,"lazy");f[e]=K.of(a)}}function f(a){return function(b,c,e){var f=d(b,"all");f[e]=L.of(a)}}function g(){var a=arguments.length<=0||void 0===arguments[0]||arguments[0],b=function(a){return function(b,c,e){var f=d(b,"optional");f[e]=M.of(f[e],a)}};return b("boolean"==typeof a?a:!0)}function h(a,b,c){var e=d(a,"parent");e[c]=N.of(e[c])}function i(a,b){return function(c,e,f){var g=d(c,"factory"),h=P.of(a);g[f]=b?h.as(b):h}}function j(a){for(var b=arguments.length,c=Array(b>1?b-1:0),e=1;e<b;e++)c[e-1]=arguments[e];var f=function(a){return function(b,e,f){var g=d(b,"newInstance");g[f]=Q.of.apply(Q,[g[f]].concat(c)),a&&g[f].as(a)}};return arguments.length>=1?f(a):f()}function k(a){return function(c){b.metadata.define(b.metadata.invoker,a,c)}}function l(a){var c=function(a){b.metadata.define(b.metadata.invoker,R.instance,a)};return a?c(a):c}function m(a){return function(c){b.metadata.define(b.metadata.registration,a,c)}}function n(a){return m(new S(a))}function o(a){var b=!(arguments.length<=1||void 0===arguments[1])&&arguments[1];return m(new T(a,b))}function p(a){if(null===a||void 0===a)throw new Error("key/value cannot be null or undefined. Are you trying to inject/register something that doesn't exist with DI?")}function q(a,b,c,d){for(var e=c.length,f=new Array(e);e--;)f[e]=a.get(c[e]);return void 0!==d&&(f=f.concat(d)),Reflect.construct(b,f)}function r(a){return a.hasOwnProperty("inject")?"function"==typeof a.inject?a.inject():a.inject:[]}function s(a){var c=function(a){var c=a.inject?a.inject.slice():null,d=b.metadata.getOwn(b.metadata.paramTypes,a)||U;if(c){for(var e=0;e<d.length;e++)if(c[e]&&c[e]!==d[e]){var f=c.indexOf(d[e]);f>-1&&c.splice(f,1),c.splice(f>-1&&f<e?e-1:e,0,d[e])}else c[e]||(c[e]=d[e]);a.inject=c}else a.inject=d};return a?c(a):c}function t(){for(var a=arguments.length,c=Array(a),d=0;d<a;d++)c[d]=arguments[d];return function(a,d,e){if("number"==typeof e&&1===c.length){var f=a.inject;if("function"==typeof f)throw new Error('Decorator inject cannot be used with "inject()". Please use an array instead.');return f||(f=b.metadata.getOwn(b.metadata.paramTypes,a).slice(),a.inject=f),void(f[e]=c[0])}if(e){var g=e.value;g.inject=c}else a.inject=c}}Object.defineProperty(a,"__esModule",{value:!0}),a.Container=a.InvocationHandler=a._emptyParameters=a.SingletonRegistration=a.TransientRegistration=a.FactoryInvoker=a.NewInstance=a.Factory=a.StrategyResolver=a.Parent=a.Optional=a.All=a.Lazy=a.resolver=void 0,a.getDecoratorDependencies=d,a.lazy=e,a.all=f,a.optional=g,a.parent=h,a.factory=i,a.newInstance=j,a.invoker=k,a.invokeAsFactory=l,a.registration=m,a["transient"]=n,a.singleton=o,a.autoinject=s,a.inject=t;var u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J=a.resolver=b.protocol.create("aurelia:resolver",function(a){return"function"==typeof a.get||"Resolvers must implement: get(container: Container, key: any): any"}),K=a.Lazy=(u=J(),u(v=function(){function a(a){this._key=a}return a.prototype.get=function(a){var b=this;return function(){return a.get(b._key)}},a.of=function(b){return new a(b)},a}())||v),L=a.All=(w=J(),w(x=function(){function a(a){this._key=a}return a.prototype.get=function(a){return a.getAll(this._key)},a.of=function(b){return new a(b)},a}())||x),M=a.Optional=(y=J(),y(z=function(){function a(a){var b=arguments.length<=1||void 0===arguments[1]||arguments[1];this._key=a,this._checkParent=b}return a.prototype.get=function(a){return a.hasResolver(this._key,this._checkParent)?a.get(this._key):null},a.of=function(b){var c=arguments.length<=1||void 0===arguments[1]||arguments[1];return new a(b,c)},a}())||z),N=a.Parent=(A=J(),A(B=function(){function a(a){this._key=a}return a.prototype.get=function(a){return a.parent?a.parent.get(this._key):null},a.of=function(b){return new a(b)},a}())||B),O=a.StrategyResolver=(C=J(),C(D=function(){function a(a,b){this.strategy=a,this.state=b}return a.prototype.get=function(a,b){switch(this.strategy){case 0:return this.state;case 1:var c=a.invoke(this.state);return this.state=c,this.strategy=0,c;case 2:return a.invoke(this.state);case 3:return this.state(a,b,this);case 4:return this.state[0].get(a,b);case 5:return a.get(this.state);default:throw new Error("Invalid strategy: "+this.strategy)}},a}())||D),P=a.Factory=(E=J(),E(F=function(){function a(a){this._key=a}return a.prototype.get=function(a){var b=this;return function(){for(var c=arguments.length,d=Array(c),e=0;e<c;e++)d[e]=arguments[e];return a.invoke(b._key,d)}},a.of=function(b){return new a(b)},a}())||F),Q=a.NewInstance=(G=J(),G(H=function(){function a(a){this.key=a,this.asKey=a;for(var b=arguments.length,c=Array(b>1?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];this.dynamicDependencies=c}return a.prototype.get=function(a){var b=this.dynamicDependencies.length>0?this.dynamicDependencies.map(function(b){return b["protocol:aurelia:resolver"]?b.get(a):a.get(b)}):void 0,c=a.invoke(this.key,b);return a.registerInstance(this.asKey,c),c},a.prototype.as=function(a){return this.asKey=a,this},a.of=function(b){for(var c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];return new(Function.prototype.bind.apply(a,[null].concat([b],d)))},a}())||H),R=a.FactoryInvoker=function(){function a(){}return a.prototype.invoke=function(a,b,c){for(var d=c.length,e=new Array(d);d--;)e[d]=a.get(c[d]);return b.apply(void 0,e)},a.prototype.invokeWithDynamicDependencies=function(a,b,c,d){for(var e=c.length,f=new Array(e);e--;)f[e]=a.get(c[e]);return void 0!==d&&(f=f.concat(d)),b.apply(void 0,f)},a}();R.instance=new R;var S=a.TransientRegistration=function(){function a(a){this._key=a}return a.prototype.registerResolver=function(a,b,c){var d=a.getResolver(this._key||b);return void 0===d?a.registerTransient(this._key||b,c):d},a}(),T=a.SingletonRegistration=function(){function a(a){var b=!(arguments.length<=1||void 0===arguments[1])&&arguments[1];"boolean"==typeof a?this._registerInChild=a:(this._key=a,this._registerInChild=b)}return a.prototype.registerResolver=function(a,b,c){var d=this._registerInChild?a:a.root,e=d.getResolver(this._key||b);return void 0===e?d.registerSingleton(this._key||b,c):e},a}(),U=a._emptyParameters=Object.freeze([]);b.metadata.registration="aurelia:registration",b.metadata.invoker="aurelia:invoker";var V=J.decorates,W=a.InvocationHandler=function(){function a(a,b,c){this.fn=a,this.invoker=b,this.dependencies=c}return a.prototype.invoke=function(a,b){return void 0!==b?this.invoker.invokeWithDynamicDependencies(a,this.fn,this.dependencies,b):this.invoker.invoke(a,this.fn,this.dependencies)},a}(),X=(I={},I[0]={invoke:function(a,b){return new b},invokeWithDynamicDependencies:q},I[1]={invoke:function(a,b,c){return new b(a.get(c[0]))},invokeWithDynamicDependencies:q},I[2]={invoke:function(a,b,c){return new b(a.get(c[0]),a.get(c[1]))},invokeWithDynamicDependencies:q},I[3]={invoke:function(a,b,c){return new b(a.get(c[0]),a.get(c[1]),a.get(c[2]))},invokeWithDynamicDependencies:q},I[4]={invoke:function(a,b,c){return new b(a.get(c[0]),a.get(c[1]),a.get(c[2]),a.get(c[3]))},invokeWithDynamicDependencies:q},I[5]={invoke:function(a,b,c){return new b(a.get(c[0]),a.get(c[1]),a.get(c[2]),a.get(c[3]),a.get(c[4]))},invokeWithDynamicDependencies:q},I.fallback={invoke:q,invokeWithDynamicDependencies:q},I);a.Container=function(){function a(a){void 0===a&&(a={}),this._configuration=a,this._onHandlerCreated=a.onHandlerCreated,this._handlers=a.handlers||(a.handlers=new Map),this._resolvers=new Map,this.root=this,this.parent=null}return a.prototype.makeGlobal=function(){return a.instance=this,this},a.prototype.setHandlerCreatedCallback=function(a){this._onHandlerCreated=a,this._configuration.onHandlerCreated=a},a.prototype.registerInstance=function(a,b){return this.registerResolver(a,new O(0,void 0===b?a:b))},a.prototype.registerSingleton=function(a,b){return this.registerResolver(a,new O(1,void 0===b?a:b))},a.prototype.registerTransient=function(a,b){return this.registerResolver(a,new O(2,void 0===b?a:b))},a.prototype.registerHandler=function(a,b){return this.registerResolver(a,new O(3,b))},a.prototype.registerAlias=function(a,b){return this.registerResolver(b,new O(5,a))},a.prototype.registerResolver=function(a,b){p(a);var c=this._resolvers,d=c.get(a);return void 0===d?c.set(a,b):4===d.strategy?d.state.push(b):c.set(a,new O(4,[d,b])),b},a.prototype.autoRegister=function(a,c){if(c=void 0===c?a:c,"function"==typeof c){var d=b.metadata.get(b.metadata.registration,c);return void 0===d?this.registerResolver(a,new O(1,c)):d.registerResolver(this,a,c)}return this.registerResolver(a,new O(0,c))},a.prototype.autoRegisterAll=function(a){for(var b=a.length;b--;)this.autoRegister(a[b])},a.prototype.unregister=function(a){this._resolvers["delete"](a)},a.prototype.hasResolver=function(a){var b=!(arguments.length<=1||void 0===arguments[1])&&arguments[1];return p(a),this._resolvers.has(a)||b&&null!==this.parent&&this.parent.hasResolver(a,b)},a.prototype.getResolver=function(a){return this._resolvers.get(a)},a.prototype.get=function(c){if(p(c),c===a)return this;if(V(c))return c.get(this,c);var d=this._resolvers.get(c);if(void 0===d){if(null===this.parent)return this.autoRegister(c).get(this,c);var e=b.metadata.get(b.metadata.registration,c);return void 0===e?this.parent._get(c):e.registerResolver(this,c,c).get(this,c)}return d.get(this,c)},a.prototype._get=function(a){var b=this._resolvers.get(a);return void 0===b?null===this.parent?this.autoRegister(a).get(this,a):this.parent._get(a):b.get(this,a)},a.prototype.getAll=function(a){p(a);var b=this._resolvers.get(a);if(void 0===b)return null===this.parent?U:this.parent.getAll(a);if(4===b.strategy){for(var c=b.state,d=c.length,e=new Array(d);d--;)e[d]=c[d].get(this,a);return e}return[b.get(this,a)]},a.prototype.createChild=function(){var b=new a(this._configuration);return b.root=this.root,b.parent=this,b},a.prototype.invoke=function(a,b){try{var d=this._handlers.get(a);return void 0===d&&(d=this._createInvocationHandler(a),this._handlers.set(a,d)),d.invoke(this,b)}catch(e){throw new c.AggregateError("Error invoking "+a.name+". Check the inner error for details.",e,(!0))}},a.prototype._createInvocationHandler=function(a){var c=void 0;if(void 0===a.inject)c=b.metadata.getOwn(b.metadata.paramTypes,a)||U;else{c=[];for(var d=a;"function"==typeof d;){var e;(e=c).push.apply(e,r(d)),d=Object.getPrototypeOf(d)}}var f=b.metadata.getOwn(b.metadata.invoker,a)||X[c.length]||X.fallback,g=new W(a,f,c);return void 0!==this._onHandlerCreated?this._onHandlerCreated(g):g},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-dependency-injection@1.3.1.js",["npm:aurelia-dependency-injection@1.3.1/aurelia-dependency-injection"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-history@1.0.0/aurelia-history.js",["exports"],function(a){"use strict";function b(a){throw new Error("History must implement "+a+"().")}Object.defineProperty(a,"__esModule",{value:!0});a.History=function(){function a(){}return a.prototype.activate=function(a){b("activate")},a.prototype.deactivate=function(){b("deactivate")},a.prototype.getAbsoluteRoot=function(){b("getAbsoluteRoot")},a.prototype.navigate=function(a,c){b("navigate")},a.prototype.navigateBack=function(){b("navigateBack")},a.prototype.setTitle=function(a){b("setTitle")},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-history@1.0.0.js",["npm:aurelia-history@1.0.0/aurelia-history"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-event-aggregator@1.0.1/aurelia-event-aggregator.js",["exports","aurelia-logging"],function(a,b){"use strict";function c(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function d(a,b,c){try{a(b,c)}catch(d){i.error(d)}}function e(a,b){try{a.handle(b)}catch(c){i.error(c)}}function f(a){var b=new k;return a.subscribeOnce=function(a,c){return b.subscribeOnce(a,c)},a.subscribe=function(a,c){return b.subscribe(a,c)},a.publish=function(a,c){b.publish(a,c)},b}function g(a){a.instance(k,f(a.aurelia))}Object.defineProperty(a,"__esModule",{value:!0}),a.EventAggregator=void 0,a.includeEventsIn=f,a.configure=g;var h=c(b),i=h.getLogger("event-aggregator"),j=function(){function a(a,b){this.messageType=a,this.callback=b}return a.prototype.handle=function(a){a instanceof this.messageType&&this.callback.call(null,a)},a}(),k=a.EventAggregator=function(){function a(){this.eventLookup={},this.messageHandlers=[]}return a.prototype.publish=function(a,b){var c=void 0,f=void 0;if(!a)throw new Error("Event was invalid.");if("string"==typeof a){if(c=this.eventLookup[a])for(c=c.slice(),f=c.length;f--;)d(c[f],b,a)}else for(c=this.messageHandlers.slice(),f=c.length;f--;)e(c[f],a)},a.prototype.subscribe=function(a,b){var c=void 0,d=void 0;if(!a)throw new Error("Event channel/type was invalid.");return"string"==typeof a?(c=b,d=this.eventLookup[a]||(this.eventLookup[a]=[])):(c=new j(a,b),d=this.messageHandlers),d.push(c),{dispose:function(){var a=d.indexOf(c);a!==-1&&d.splice(a,1)}}},a.prototype.subscribeOnce=function(a,b){var c=this.subscribe(a,function(a,d){return c.dispose(),b(a,d)});return c},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-event-aggregator@1.0.1.js",["npm:aurelia-event-aggregator@1.0.1/aurelia-event-aggregator"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-router@1.3.0/aurelia-router.js",["exports","aurelia-logging","aurelia-route-recognizer","aurelia-dependency-injection","aurelia-history","aurelia-event-aggregator"],function(a,b,c,d,e,f){"use strict";function g(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function h(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function i(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function j(a,b){var c=!(arguments.length<=2||void 0===arguments[2])&&arguments[2];return b||"#"===a[0]||(a="#"+a),b&&c&&(a=a.substring(1,a.length)),a}function k(a,b,c,d){if(M.test(a))return a;var e="";return b.length&&"/"!==b[0]&&(e+="/"),e+=b,e.length&&"/"===e[e.length-1]||"/"===a[0]||(e+="/"),e.length&&"/"===e[e.length-1]&&"/"===a[0]&&(e=e.substring(0,e.length-1)),j(e+a,c,d)}function l(a,b,c){return L.test(a)?j(a,c):k(a,b,c)}function m(a,b){return function(a){return Promise.resolve({status:b,output:a,completed:b===N.completed})}}function n(a){a.previousInstruction=null,a.plan=null}function o(a){return a&&"function"==typeof a.navigate}function p(a,b){var c=a.previousInstruction,d=a.config,e={};if("redirect"in d){var f=l(d.redirect,r(a));return a.queryString&&(f+="?"+a.queryString),Promise.reject(new S(f))}if(c){var g=q(c,a),h=[],i=function(f){var i=c.viewPortInstructions[f],j=d.viewPorts[f];if(!j)throw new Error('Invalid Route Config: Configuration for viewPort "'+f+'" was not found for route: "'+a.config.route+'."');var k=e[f]={name:f,config:j,prevComponent:i.component,prevModuleId:i.moduleId};if(i.moduleId!==j.moduleId)k.strategy=U.replace;else if("determineActivationStrategy"in i.component.viewModel){var l;k.strategy=(l=i.component.viewModel).determineActivationStrategy.apply(l,a.lifecycleArgs)}else d.activationStrategy?k.strategy=d.activationStrategy:g||b?k.strategy=U.invokeLifecycle:k.strategy=U.noChange;if(k.strategy!==U.replace&&i.childRouter){var m=a.getWildcardPath(),n=i.childRouter._createNavigationInstruction(m,a).then(function(a){return k.childNavigationInstruction=a,p(a,k.strategy===U.invokeLifecycle).then(function(b){a.plan=b})});h.push(n)}};for(var j in c.viewPortInstructions)i(j);return Promise.all(h).then(function(){return e})}for(var k in d.viewPorts)e[k]={name:k,strategy:U.replace,config:a.config.viewPorts[k]};return Promise.resolve(e)}function q(a,b){var c=a.params,d=b.params,e=b.config.hasChildRouter?b.getWildCardName():null;for(var f in d)if(f!==e&&c[f]!==d[f])return!0;for(var g in c)if(g!==e&&c[g]!==d[g])return!0;if(!b.options.compareQueryParams)return!1;var h=a.queryParams,i=b.queryParams;for(var j in i)if(h[j]!==i[j])return!0;for(var k in h)if(h[k]!==i[k])return!0;return!1}function r(a){var b=[];for(a=a.parentInstruction;a;)b.unshift(a.getBaseUrl()),a=a.parentInstruction;return b.unshift("/"),b.join("")}function s(a,b){if("object"!==("undefined"==typeof a?"undefined":J(a)))throw new Error("Invalid Route Config");if("string"!=typeof a.route){var c=a.name||"(no name)";throw new Error('Invalid Route Config for "'+c+'": You must specify a "route:" pattern.')}if(!("redirect"in a||a.moduleId||a.navigationStrategy||a.viewPorts))throw new Error('Invalid Route Config for "'+a.route+'": You must specify a "moduleId:", "redirect:", "navigationStrategy:", or "viewPorts:".')}function t(a,b,c){return Promise.resolve(b.call(c,a)).then(function(){return"viewPorts"in a.config||(a.config.viewPorts={"default":{moduleId:a.config.moduleId}}),a})}function u(a,b,c,d){function e(a){return d||z(a)?f():c.cancel(a)}function f(){if(h--)try{var a=g[h],d=a[b]();return A(d,e,c.cancel)}catch(f){return c.cancel(f)}return c()}var g=v(a,b),h=g.length;return f()}function v(a,b){var c=arguments.length<=2||void 0===arguments[2]?[]:arguments[2];for(var d in a){var e=a[d],f=e.prevComponent;if((e.strategy===U.invokeLifecycle||e.strategy===U.replace)&&f){var g=f.viewModel;b in g&&c.push(g)}e.childNavigationInstruction?v(e.childNavigationInstruction.plan,b,c):f&&w(f,b,c)}return c}function w(a,b,c){var d=a.childRouter;if(d&&d.currentInstruction){var e=d.currentInstruction.viewPortInstructions;for(var f in e){var g=e[f],h=g.component,i=h.viewModel;b in i&&c.push(i),w(h,b,c)}}}function x(a,b,c,d){function e(a,b){return d||z(a,b)?f():c.cancel(a)}function f(){if(i++,i<h)try{var a=function(){var a,d=g[i],f=(a=d.viewModel)[b].apply(a,d.lifecycleArgs);return{v:A(f,function(a){return e(a,d.router)},c.cancel)}}();if("object"===("undefined"==typeof a?"undefined":J(a)))return a.v}catch(d){return c.cancel(d)}return c()}var g=y(a,b),h=g.length,i=-1;return f()}function y(a,b){var c=arguments.length<=2||void 0===arguments[2]?[]:arguments[2],d=arguments[3],e=a.plan;return Object.keys(e).filter(function(f){var g=e[f],h=a.viewPortInstructions[f],i=h.component.viewModel;(g.strategy===U.invokeLifecycle||g.strategy===U.replace)&&b in i&&c.push({viewModel:i,lifecycleArgs:h.lifecycleArgs,router:d}),g.childNavigationInstruction&&y(g.childNavigationInstruction,b,c,h.component.childRouter||d)}),c}function z(a,b){return!(a instanceof Error)&&(o(a)?("function"==typeof a.setRouter&&a.setRouter(b),!!a.shouldContinueProcessing):void 0===a||a)}function A(a,b,c){if(a&&"function"==typeof a.then)return Promise.resolve(a).then(b)["catch"](c);if(a&&"function"==typeof a.subscribe){var d=function(){var d=a;return{v:new _(function(e){return d.subscribe({next:function(){e.subscribed&&(e.unsubscribe(),b(a))},error:function(a){e.subscribed&&(e.unsubscribe(),c(a))},complete:function(){e.subscribed&&(e.unsubscribe(),b(a))}})})}}();if("object"===("undefined"==typeof d?"undefined":J(d)))return d.v}try{return b(a)}catch(e){return c(e)}}function B(a,b){var c=C(b),d=c.map(function(b){return D(a,b.navigationInstruction,b.viewPortPlan)});return Promise.all(d)}function C(a){var b=arguments.length<=1||void 0===arguments[1]?[]:arguments[1],c=a.plan;for(var d in c){var e=c[d];if(e.strategy===U.replace)b.push({viewPortPlan:e,navigationInstruction:a}),e.childNavigationInstruction&&C(e.childNavigationInstruction,b);else{var f=a.addViewPortInstruction(d,e.strategy,e.prevModuleId,e.prevComponent);e.childNavigationInstruction&&(f.childNavigationInstruction=e.childNavigationInstruction,C(e.childNavigationInstruction,b))}}return b}function D(a,b,c){var d=c.config.moduleId;return E(a,b,c.config).then(function(e){var f=b.addViewPortInstruction(c.name,c.strategy,d,e),g=e.childRouter;if(g){var h=b.getWildcardPath();return g._createNavigationInstruction(h,b).then(function(b){return c.childNavigationInstruction=b,p(b).then(function(c){return b.plan=c,f.childNavigationInstruction=b,B(a,b)})})}})}function E(a,b,c){var d=b.router,e=b.lifecycleArgs;return a.loadRoute(d,c,b).then(function(a){var b=a.viewModel,f=a.childContainer;if(a.router=d,a.config=c,"configureRouter"in b){var g=function(){var c=f.getChildRouter();return a.childRouter=c,{v:c.configure(function(a){return b.configureRouter.apply(b,[a,c].concat(e))}).then(function(){return a})}}();if("object"===("undefined"==typeof g?"undefined":J(g)))return g.v}return a})}function F(a,b,c,d){b&&"completed"in b&&"output"in b||(b=b||{},b.output=new Error("Expected router pipeline to return a navigation result, but got ["+JSON.stringify(b)+"] instead."));var e=null;return o(b.output)?b.output.navigate(d):(e=b,b.completed||(b.output instanceof Error&&ea.error(b.output),H(d))),d._dequeueInstruction(c+1).then(function(a){return e||a||b})}function G(a,b,c,d){a.resolve(b);var e={instruction:a,result:b};if(c)d.events.publish("router:navigation:child:complete",e);else{d.isNavigating=!1,d.isExplicitNavigation=!1,d.isExplicitNavigationBack=!1;var f=void 0;if(b.output instanceof Error)f="error";else if(b.completed){var g=a.queryString?"?"+a.queryString:"";d.history.previousLocation=a.fragment+g,f="success"}else f="canceled";d.events.publish("router:navigation:"+f,e),d.events.publish("router:navigation:complete",e)}return b}function H(a){var b=a.history.previousLocation;b?a.navigate(a.history.previousLocation,{trigger:!1,replace:!0}):a.fallbackRoute?a.navigate(a.fallbackRoute,{trigger:!0,replace:!0}):ea.error("Router navigation failed, and no previous location or fallbackRoute could be restored.")}Object.defineProperty(a,"__esModule",{value:!0}),a.AppRouter=a.PipelineProvider=a.LoadRouteStep=a.RouteLoader=a.ActivateNextStep=a.DeactivatePreviousStep=a.CanActivateNextStep=a.CanDeactivatePreviousStep=a.Router=a.BuildNavigationPlanStep=a.activationStrategy=a.RouterConfiguration=a.RedirectToRoute=a.Redirect=a.NavModel=a.NavigationInstruction=a.CommitChangesStep=a.Pipeline=a.pipelineStatus=void 0,a._normalizeAbsolutePath=j,a._createRootedPath=k,a._resolveUrl=l,a.isNavigationCommand=o,a._buildNavigationPlan=p;var I=g(b),J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},K=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),L=/^#?\//,M=/^([a-z][a-z0-9+\-.]*:)?\/\//i,N=a.pipelineStatus={completed:"completed",canceled:"canceled",rejected:"rejected",running:"running"},O=a.Pipeline=function(){function a(){this.steps=[]}return a.prototype.addStep=function(a){var b=void 0;if("function"==typeof a)b=a;else{if("function"==typeof a.getSteps){for(var c=a.getSteps(),d=0,e=c.length;d<e;d++)this.addStep(c[d]);return this}b=a.run.bind(a)}return this.steps.push(b),this},a.prototype.run=function(a){function b(){if(c++,!(c<d.length))return b.complete();var e=d[c];try{return e(a,b)}catch(f){return b.reject(f)}}var c=-1,d=this.steps;return b.complete=m(b,N.completed),b.cancel=m(b,N.canceled),b.reject=m(b,N.rejected),b()},a}(),P=a.CommitChangesStep=function(){function a(){}return a.prototype.run=function(a,b){return a._commitChanges(!0).then(function(){return a._updateTitle(),b()})},a}(),Q=a.NavigationInstruction=function(){function a(a){this.plan=null,this.options={},Object.assign(this,a),this.params=this.params||{},this.viewPortInstructions={};var b=[],c=this;do{var d=Object.assign({},c.params);c.config&&c.config.hasChildRouter&&delete d[c.getWildCardName()],b.unshift(d),c=c.parentInstruction}while(c);var e=Object.assign.apply(Object,[{},this.queryParams].concat(b));this.lifecycleArgs=[e,this.config,this]}return a.prototype.getAllInstructions=function(){var a=[this];for(var b in this.viewPortInstructions){var c=this.viewPortInstructions[b].childNavigationInstruction;c&&a.push.apply(a,c.getAllInstructions())}return a},a.prototype.getAllPreviousInstructions=function(){return this.getAllInstructions().map(function(a){return a.previousInstruction}).filter(function(a){return a})},a.prototype.addViewPortInstruction=function(a,b,c,d){var e=Object.assign({},this.lifecycleArgs[1],{currentViewPort:a}),f=this.viewPortInstructions[a]={name:a,strategy:b,moduleId:c,component:d,childRouter:d.childRouter,lifecycleArgs:[].concat(this.lifecycleArgs[0],e,this.lifecycleArgs[2])};return f},a.prototype.getWildCardName=function(){var a=this.config.route.lastIndexOf("*");return this.config.route.substr(a+1)},a.prototype.getWildcardPath=function(){var a=this.getWildCardName(),b=this.params[a]||"";return this.queryString&&(b+="?"+this.queryString),b},a.prototype.getBaseUrl=function(){var a=this,b=this.fragment;if(""===b){var c=this.router.routes.find(function(b){return b.name===a.config.name&&""!==b.route});c&&(b=c.route)}if(!this.params)return b;var d=this.getWildCardName(),e=this.params[d]||"";return e?(e=encodeURI(e),b.substr(0,b.lastIndexOf(e))):b},a.prototype._commitChanges=function(a){var b=this,c=this.router;c.currentInstruction=this,this.previousInstruction&&(this.previousInstruction.config.navModel.isActive=!1),this.config.navModel.isActive=!0,c._refreshBaseUrl(),c.refreshNavigation();var d=[],e=[],f=function(f){var g=b.viewPortInstructions[f],h=c.viewPorts[f];if(!h)throw new Error("There was no router-view found in the view for "+g.moduleId+".");g.strategy===U.replace?(a&&e.push({viewPort:h,viewPortInstruction:g}),d.push(h.process(g,a).then(function(a){if(g.childNavigationInstruction)return g.childNavigationInstruction._commitChanges()}))):g.childNavigationInstruction&&d.push(g.childNavigationInstruction._commitChanges(a))};for(var g in this.viewPortInstructions)f(g);
-return Promise.all(d).then(function(){return e.forEach(function(a){return a.viewPort.swap(a.viewPortInstruction)}),null}).then(function(){return n(b)})},a.prototype._updateTitle=function(){var a=this._buildTitle();a&&this.router.history.setTitle(a)},a.prototype._buildTitle=function(){var a=arguments.length<=0||void 0===arguments[0]?" | ":arguments[0],b="",c=[];this.config.navModel.title&&(b=this.router.transformTitle(this.config.navModel.title));for(var d in this.viewPortInstructions){var e=this.viewPortInstructions[d];if(e.childNavigationInstruction){var f=e.childNavigationInstruction._buildTitle(a);f&&c.push(f)}}return c.length&&(b=c.join(a)+(b?a:"")+b),this.router.title&&(b+=(b?a:"")+this.router.transformTitle(this.router.title)),b},a}(),R=a.NavModel=function(){function a(a,b){this.isActive=!1,this.title=null,this.href=null,this.relativeHref=null,this.settings={},this.config=null,this.router=a,this.relativeHref=b}return a.prototype.setTitle=function(a){this.title=a,this.isActive&&this.router.updateTitle()},a}(),S=a.Redirect=function(){function a(a){var b=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];this.url=a,this.options=Object.assign({trigger:!0,replace:!0},b),this.shouldContinueProcessing=!1}return a.prototype.setRouter=function(a){this.router=a},a.prototype.navigate=function(a){var b=this.options.useAppRouter?a:this.router||a;b.navigate(this.url,this.options)},a}(),T=(a.RedirectToRoute=function(){function a(a){var b=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],c=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];this.route=a,this.params=b,this.options=Object.assign({trigger:!0,replace:!0},c),this.shouldContinueProcessing=!1}return a.prototype.setRouter=function(a){this.router=a},a.prototype.navigate=function(a){var b=this.options.useAppRouter?a:this.router||a;b.navigateToRoute(this.route,this.params,this.options)},a}(),a.RouterConfiguration=function(){function a(){this.instructions=[],this.options={},this.pipelineSteps=[]}return a.prototype.addPipelineStep=function(a,b){return this.pipelineSteps.push({name:a,step:b}),this},a.prototype.addAuthorizeStep=function(a){return this.addPipelineStep("authorize",a)},a.prototype.addPreActivateStep=function(a){return this.addPipelineStep("preActivate",a)},a.prototype.addPreRenderStep=function(a){return this.addPipelineStep("preRender",a)},a.prototype.addPostRenderStep=function(a){return this.addPipelineStep("postRender",a)},a.prototype.fallbackRoute=function(a){return this._fallbackRoute=a,this},a.prototype.map=function(a){return Array.isArray(a)?(a.forEach(this.map.bind(this)),this):this.mapRoute(a)},a.prototype.mapRoute=function(a){return this.instructions.push(function(b){var c=[];if(Array.isArray(a.route))for(var d=0,e=a.route.length;d<e;++d){var f=Object.assign({},a);f.route=a.route[d],c.push(f)}else c.push(Object.assign({},a));for(var g=void 0,h=0,i=c.length;h<i;++h){var j=c[h];j.settings=j.settings||{},g||(g=b.createNavModel(j)),b.addRoute(j,g)}}),this},a.prototype.mapUnknownRoutes=function(a){return this.unknownRouteConfig=a,this},a.prototype.exportToRouter=function(a){for(var b=this.instructions,c=0,d=b.length;c<d;++c)b[c](a);this.title&&(a.title=this.title),this.unknownRouteConfig&&a.handleUnknownRoutes(this.unknownRouteConfig),this._fallbackRoute&&(a.fallbackRoute=this._fallbackRoute),a.options=this.options;var e=this.pipelineSteps;if(e.length){if(!a.isRoot)throw new Error("Pipeline steps can only be added to the root router");for(var f=a.pipelineProvider,g=0,h=e.length;g<h;++g){var i=e[g],j=i.name,k=i.step;f.addStep(j,k)}}},a}()),U=a.activationStrategy={noChange:"no-change",invokeLifecycle:"invoke-lifecycle",replace:"replace"},V=a.BuildNavigationPlanStep=function(){function a(){}return a.prototype.run=function(a,b){return p(a).then(function(c){return a.plan=c,b()})["catch"](b.cancel)},a}(),W=a.Router=function(){function a(a,b){var c=this;this.parent=null,this.options={},this.transformTitle=function(a){return c.parent?c.parent.transformTitle(a):a},this.container=a,this.history=b,this.reset()}return a.prototype.reset=function(){var a=this;this.viewPorts={},this.routes=[],this.baseUrl="",this.isConfigured=!1,this.isNavigating=!1,this.isExplicitNavigation=!1,this.isExplicitNavigationBack=!1,this.navigation=[],this.currentInstruction=null,this._fallbackOrder=100,this._recognizer=new c.RouteRecognizer,this._childRecognizer=new c.RouteRecognizer,this._configuredPromise=new Promise(function(b){a._resolveConfiguredPromise=b})},a.prototype.registerViewPort=function(a,b){b=b||"default",this.viewPorts[b]=a},a.prototype.ensureConfigured=function(){return this._configuredPromise},a.prototype.configure=function(a){var b=this;this.isConfigured=!0;var c=a,d=void 0;return"function"==typeof a&&(d=new T,c=a(d)),Promise.resolve(c).then(function(a){a&&a.exportToRouter&&(d=a),d.exportToRouter(b),b.isConfigured=!0,b._resolveConfiguredPromise()})},a.prototype.navigate=function(a,b){return!this.isConfigured&&this.parent?this.parent.navigate(a,b):(this.isExplicitNavigation=!0,this.history.navigate(l(a,this.baseUrl,this.history._hasPushState),b))},a.prototype.navigateToRoute=function(a,b,c){var d=this.generate(a,b);return this.navigate(d,c)},a.prototype.navigateBack=function(){this.isExplicitNavigationBack=!0,this.history.navigateBack()},a.prototype.createChild=function(b){var c=new a(b||this.container.createChild(),this.history);return c.parent=this,c},a.prototype.generate=function(a,b){var c=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],d=this._recognizer.hasRoute(a);if((!this.isConfigured||!d)&&this.parent)return this.parent.generate(a,b);if(!d)throw new Error("A route with name '"+a+"' could not be found. Check that `name: '"+a+"'` was specified in the route's config.");var e=this._recognizer.generate(a,b),f=k(e,this.baseUrl,this.history._hasPushState,c.absolute);return c.absolute?""+this.history.getAbsoluteRoot()+f:f},a.prototype.createNavModel=function(a){var b=new R(this,"href"in a?a.href:a.route);return b.title=a.title,b.order=a.nav,b.href=a.href,b.settings=a.settings,b.config=a,b},a.prototype.addRoute=function(a,b){s(a,this.routes),"viewPorts"in a||a.navigationStrategy||(a.viewPorts={"default":{moduleId:a.moduleId,view:a.view}}),b||(b=this.createNavModel(a)),this.routes.push(a);var c=a.route;"/"===c.charAt(0)&&(c=c.substr(1));var d=a.caseSensitive===!0,e=this._recognizer.add({path:c,handler:a,caseSensitive:d});if(c){var f=a.settings;delete a.settings;var g=JSON.parse(JSON.stringify(a));a.settings=f,g.route=c+"/*childRoute",g.hasChildRouter=!0,this._childRecognizer.add({path:g.route,handler:g,caseSensitive:d}),g.navModel=b,g.settings=a.settings,g.navigationStrategy=a.navigationStrategy}if(a.navModel=b,(b.order||0===b.order)&&this.navigation.indexOf(b)===-1){if(!b.href&&""!==b.href&&(e.types.dynamics||e.types.stars))throw new Error('Invalid route config for "'+a.route+'" : dynamic routes must specify an "href:" to be included in the navigation model.');"number"!=typeof b.order&&(b.order=++this._fallbackOrder),this.navigation.push(b),this.navigation=this.navigation.sort(function(a,b){return a.order-b.order})}},a.prototype.hasRoute=function(a){return!!(this._recognizer.hasRoute(a)||this.parent&&this.parent.hasRoute(a))},a.prototype.hasOwnRoute=function(a){return this._recognizer.hasRoute(a)},a.prototype.handleUnknownRoutes=function(a){var b=this;if(!a)throw new Error("Invalid unknown route handler");this.catchAllHandler=function(c){return b._createRouteConfig(a,c).then(function(a){return c.config=a,c})}},a.prototype.updateTitle=function(){return this.parent?this.parent.updateTitle():void(this.currentInstruction&&this.currentInstruction._updateTitle())},a.prototype.refreshNavigation=function(){for(var a=this.navigation,b=0,c=a.length;b<c;b++){var d=a[b];d.config.href?d.href=j(d.config.href,this.history._hasPushState):d.href=k(d.relativeHref,this.baseUrl,this.history._hasPushState)}},a.prototype._refreshBaseUrl=function(){if(this.parent){var a=this.parent.currentInstruction.getBaseUrl();this.baseUrl=this.parent.baseUrl+a}},a.prototype._createNavigationInstruction=function(){var a=arguments.length<=0||void 0===arguments[0]?"":arguments[0],b=arguments.length<=1||void 0===arguments[1]?null:arguments[1],c=a,d="",e=a.indexOf("?");e!==-1&&(c=a.substr(0,e),d=a.substr(e+1));var f=this._recognizer.recognize(a);f&&f.length||(f=this._childRecognizer.recognize(a));var g={fragment:c,queryString:d,config:null,parentInstruction:b,previousInstruction:this.currentInstruction,router:this,options:{compareQueryParams:this.options.compareQueryParams}};if(f&&f.length){var h=f[0],i=new Q(Object.assign({},g,{params:h.params,queryParams:h.queryParams||f.queryParams,config:h.config||h.handler}));return"function"==typeof h.handler?t(i,h.handler,h):h.handler&&"function"==typeof h.handler.navigationStrategy?t(i,h.handler.navigationStrategy,h.handler):Promise.resolve(i)}if(this.catchAllHandler){var j=new Q(Object.assign({},g,{params:{path:c},queryParams:f&&f.queryParams,config:null}));return t(j,this.catchAllHandler)}return Promise.reject(new Error("Route not found: "+a))},a.prototype._createRouteConfig=function(a,b){var c=this;return Promise.resolve(a).then(function(a){return"string"==typeof a?{moduleId:a}:"function"==typeof a?a(b):a}).then(function(a){return"string"==typeof a?{moduleId:a}:a}).then(function(a){return a.route=b.params.path,s(a,c.routes),a.navModel||(a.navModel=c.createNavModel(a)),a})},K(a,[{key:"isRoot",get:function(){return!this.parent}}]),a}(),X=a.CanDeactivatePreviousStep=function(){function a(){}return a.prototype.run=function(a,b){return u(a.plan,"canDeactivate",b)},a}(),Y=a.CanActivateNextStep=function(){function a(){}return a.prototype.run=function(a,b){return x(a,"canActivate",b)},a}(),Z=a.DeactivatePreviousStep=function(){function a(){}return a.prototype.run=function(a,b){return u(a.plan,"deactivate",b,!0)},a}(),$=a.ActivateNextStep=function(){function a(){}return a.prototype.run=function(a,b){return x(a,"activate",b,!0)},a}(),_=function(){function a(a){this._subscribed=!0,this._subscription=a(this),this._subscribed||this.unsubscribe()}return a.prototype.unsubscribe=function(){this._subscribed&&this._subscription&&this._subscription.unsubscribe(),this._subscribed=!1},K(a,[{key:"subscribed",get:function(){return this._subscribed}}]),a}(),aa=a.RouteLoader=function(){function a(){}return a.prototype.loadRoute=function(a,b,c){throw Error('Route loaders must implement "loadRoute(router, config, navigationInstruction)".')},a}(),ba=a.LoadRouteStep=function(){function a(a){this.routeLoader=a}return a.inject=function(){return[aa]},a.prototype.run=function(a,b){return B(this.routeLoader,a).then(b)["catch"](b.cancel)},a}(),ca=function(){function a(a,b,c){this.steps=[],this.container=a,this.slotName=b,this.slotAlias=c}return a.prototype.getSteps=function(){var a=this;return this.steps.map(function(b){return a.container.get(b)})},a}(),da=a.PipelineProvider=function(){function a(a){this.container=a,this.steps=[V,X,ba,this._createPipelineSlot("authorize"),Y,this._createPipelineSlot("preActivate","modelbind"),Z,$,this._createPipelineSlot("preRender","precommit"),P,this._createPipelineSlot("postRender","postcomplete")]}return a.inject=function(){return[d.Container]},a.prototype.createPipeline=function(){var a=this,b=new O;return this.steps.forEach(function(c){return b.addStep(a.container.get(c))}),b},a.prototype._findStep=function(a){return this.steps.find(function(b){return b.slotName===a||b.slotAlias===a})},a.prototype.addStep=function(a,b){var c=this._findStep(a);if(!c)throw new Error("Invalid pipeline slot name: "+a+".");c.steps.includes(b)||c.steps.push(b)},a.prototype.removeStep=function(a,b){var c=this._findStep(a);c&&c.steps.splice(c.steps.indexOf(b),1)},a.prototype._clearSteps=function(){var a=arguments.length<=0||void 0===arguments[0]?"":arguments[0],b=this._findStep(a);b&&(b.steps=[])},a.prototype.reset=function(){this._clearSteps("authorize"),this._clearSteps("preActivate"),this._clearSteps("preRender"),this._clearSteps("postRender")},a.prototype._createPipelineSlot=function(a,b){return new ca(this.container,a,b)},a}(),ea=I.getLogger("app-router");a.AppRouter=function(a){function b(b,c,d,e){var f=h(this,a.call(this,b,c));return f.pipelineProvider=d,f.events=e,f}return i(b,a),b.inject=function(){return[d.Container,e.History,da,f.EventAggregator]},b.prototype.reset=function(){a.prototype.reset.call(this),this.maxInstructionCount=10,this._queue?this._queue.length=0:this._queue=[]},b.prototype.loadUrl=function(a){var b=this;return this._createNavigationInstruction(a).then(function(a){return b._queueInstruction(a)})["catch"](function(a){ea.error(a),H(b)})},b.prototype.registerViewPort=function(b,c){var d=this;if(a.prototype.registerViewPort.call(this,b,c),this.isActive)this._dequeueInstruction();else{var e=function(){var a=d._findViewModel(b);if("configureRouter"in a){if(!d.isConfigured){var c=function(){var b=d._resolveConfiguredPromise;return d._resolveConfiguredPromise=function(){},{v:{v:d.configure(function(b){return a.configureRouter(b,d)}).then(function(){d.activate(),b()})}}}();if("object"===("undefined"==typeof c?"undefined":J(c)))return c.v}}else d.activate()}();if("object"===("undefined"==typeof e?"undefined":J(e)))return e.v}return Promise.resolve()},b.prototype.activate=function(a){this.isActive||(this.isActive=!0,this.options=Object.assign({routeHandler:this.loadUrl.bind(this)},this.options,a),this.history.activate(this.options),this._dequeueInstruction())},b.prototype.deactivate=function(){this.isActive=!1,this.history.deactivate()},b.prototype._queueInstruction=function(a){var b=this;return new Promise(function(c){a.resolve=c,b._queue.unshift(a),b._dequeueInstruction()})},b.prototype._dequeueInstruction=function(){var a=this,b=arguments.length<=0||void 0===arguments[0]?0:arguments[0];return Promise.resolve().then(function(){if(!a.isNavigating||b){var c=a._queue.shift();if(a._queue.length=0,c){if(a.isNavigating=!0,c.previousInstruction=a.currentInstruction,b){if(b===a.maxInstructionCount-1)return ea.error(b+1+" navigation instructions have been attempted without success. Restoring last known good location."),H(a),a._dequeueInstruction(b+1);if(b>a.maxInstructionCount)throw new Error("Maximum navigation attempts exceeded. Giving up.")}else a.events.publish("router:navigation:processing",{instruction:c});var d=a.pipelineProvider.createPipeline();return d.run(c).then(function(d){return F(c,d,b,a)})["catch"](function(a){return{output:a instanceof Error?a:new Error(a)}}).then(function(d){return G(c,d,!!b,a)})}}})},b.prototype._findViewModel=function(a){if(this.container.viewModel)return this.container.viewModel;if(a.container)for(var b=a.container;b;){if(b.viewModel)return this.container.viewModel=b.viewModel,b.viewModel;b=b.parent}},b}(W)})}(),function(){var a=System.amdDefine;a("npm:aurelia-router@1.3.0.js",["npm:aurelia-router@1.3.0/aurelia-router"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-pal@1.3.0/aurelia-pal.js",["exports"],function(a){"use strict";function b(a,b,c){if(b){if(b.innerError&&c)return b;var d="\n------------------------------------------------\n";a+=d+"Inner Error:\n","string"==typeof b?a+="Message: "+b:(a+=b.message?"Message: "+b.message:"Unknown Inner Error Type. Displaying Inner Error as JSON:\n "+JSON.stringify(b,null," "),b.stack&&(a+="\nInner Error Stack:\n"+b.stack,a+="\nEnd Inner Error Stack")),a+=d}var e=new Error(a);return b&&(e.innerError=b),e}function c(b){h||(a.isInitialized=h=!0,"function"!=typeof Object.getPropertyDescriptor&&(Object.getPropertyDescriptor=function(a,b){for(var c=Object.getOwnPropertyDescriptor(a,b),d=Object.getPrototypeOf(a);"undefined"==typeof c&&null!==d;)c=Object.getOwnPropertyDescriptor(d,b),d=Object.getPrototypeOf(d);return c}),b(f,e,g))}function d(){a.isInitialized=h=!1}Object.defineProperty(a,"__esModule",{value:!0}),a.AggregateError=b,a.initializePAL=c,a.reset=d;var e=a.FEATURE={},f=a.PLATFORM={noop:function(){},eachModule:function(){},moduleName:function(a){function b(b){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){return a})};f.global=function(){return"undefined"!=typeof self?self:"undefined"!=typeof global?global:new Function("return this")()}();var g=a.DOM={},h=a.isInitialized=!1})}(),function(){var a=System.amdDefine;a("npm:aurelia-pal@1.3.0.js",["npm:aurelia-pal@1.3.0/aurelia-pal"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging@1.3.1/aurelia-logging.js",["exports"],function(a){"use strict";function b(){return[this].concat(Array.prototype.slice.call(arguments))}function c(a){var c=j[a];return function(){if(!(this.level<c))for(var d=b.apply(this,arguments),e=l.length;e--;){var f;(f=l[e])[a].apply(f,d)}}}function d(){var a=n.prototype;a.debug=c("debug"),a.info=c("info"),a.warn=c("warn"),a.error=c("error")}function e(a){return k[a]||new n(a)}function f(a){1===l.push(a)&&d()}function g(a){l=l.filter(function(b){return b!==a})}function h(a){m=a;for(var b in k)k[b].setLevel(a)}function i(){return m}Object.defineProperty(a,"__esModule",{value:!0}),a.getLogger=e,a.addAppender=f,a.removeAppender=g,a.setLevel=h,a.getLevel=i;var j=a.logLevel={none:0,error:1,warn:2,info:3,debug:4},k={},l=[],m=j.none,n=a.Logger=function(){function a(a){var b=k[a];return b?b:(k[a]=this,this.id=a,void(this.level=m))}return a.prototype.debug=function(a){},a.prototype.info=function(a){},a.prototype.warn=function(a){},a.prototype.error=function(a){},a.prototype.setLevel=function(a){this.level=a},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging@1.3.1.js",["npm:aurelia-logging@1.3.1/aurelia-logging"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/route-href.js",["exports","aurelia-templating","aurelia-dependency-injection","aurelia-router","aurelia-pal","aurelia-logging"],function(a,b,c,d,e,f){"use strict";function g(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}Object.defineProperty(a,"__esModule",{value:!0}),a.RouteHref=void 0;var h,i,j,k,l,m,n=g(f),o=n.getLogger("route-href");a.RouteHref=(h=(0,b.customAttribute)("route-href"),i=(0,b.bindable)({name:"route",changeHandler:"processChange"}),j=(0,b.bindable)({name:"params",changeHandler:"processChange"}),k=(0,b.bindable)({name:"attribute",defaultValue:"href"}),l=(0,c.inject)(d.Router,e.DOM.Element),h(m=i(m=j(m=k(m=l(m=function(){function a(a,b){this.router=a,this.element=b}return a.prototype.bind=function(){this.isActive=!0,this.processChange()},a.prototype.unbind=function(){this.isActive=!1},a.prototype.attributeChanged=function(a,b){b&&this.element.removeAttribute(b),this.processChange()},a.prototype.processChange=function(){var a=this;return this.router.ensureConfigured().then(function(){if(!a.isActive)return null;var b=a.router.generate(a.route,a.params);return a.element.setAttribute(a.attribute,b),null})["catch"](function(a){o.error(a)})},a}())||m)||m)||m)||m)||m)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/aurelia-templating-router.js",["exports","aurelia-router","./route-loader","./router-view","./route-href"],function(a,b,c,d,e){"use strict";function f(a){a.singleton(b.RouteLoader,c.TemplatingRouteLoader).singleton(b.Router,b.AppRouter).globalResources("./router-view","./route-href"),a.container.registerAlias(b.Router,b.AppRouter)}Object.defineProperty(a,"__esModule",{value:!0}),a.configure=a.RouteHref=a.RouterView=a.TemplatingRouteLoader=void 0,a.TemplatingRouteLoader=c.TemplatingRouteLoader,a.RouterView=d.RouterView,a.RouteHref=e.RouteHref,a.configure=f})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0.js",["npm:aurelia-templating-router@1.0.0/aurelia-templating-router"],function(a){return a})}(),System.registerDynamic("npm:font-awesome@4.7.0/css/font-awesome.css!github:systemjs/plugin-css@0.1.33.js",[],!1,function(a,b,c){var d=System.get("@@global-helpers").prepareGlobal(c.id,null,null);return function(a){}(this),d()}),System.registerDynamic("npm:font-awesome@4.7.0.js",["npm:font-awesome@4.7.0/css/font-awesome.css!"],!0,function(a,b,c){this||self;c.exports=a("npm:font-awesome@4.7.0/css/font-awesome.css!")}),function(){var a=System.amdDefine;!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(b,c){function d(a){var b=!!a&&"length"in a&&a.length,c=ga.type(a);return"function"!==c&&!ga.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}function e(a,b,c){if(ga.isFunction(b))return ga.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return ga.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(qa.test(b))return ga.filter(b,a,c);b=ga.filter(b,a)}return ga.grep(a,function(a){return aa.call(b,a)>-1!==c})}function f(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function g(a){var b={};return ga.each(a.match(wa)||[],function(a,c){b[c]=!0}),b}function h(){Y.removeEventListener("DOMContentLoaded",h),b.removeEventListener("load",h),ga.ready()}function i(){this.expando=ga.expando+i.uid++}function j(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Da,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:Ca.test(c)?ga.parseJSON(c):c)}catch(e){}Ba.set(a,b,c)}else c=void 0;return c}function k(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return ga.css(a,b,"")},i=h(),j=c&&c[3]||(ga.cssNumber[b]?"":"px"),k=(ga.cssNumber[b]||"px"!==j&&+i)&&Fa.exec(ga.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,ga.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}function l(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&ga.nodeName(a,b)?ga.merge([a],c):c}function m(a,b){for(var c=0,d=a.length;c<d;c++)Aa.set(a[c],"globalEval",!b||Aa.get(b[c],"globalEval"))}function n(a,b,c,d,e){for(var f,g,h,i,j,k,n=b.createDocumentFragment(),o=[],p=0,q=a.length;p<q;p++)if(f=a[p],f||0===f)if("object"===ga.type(f))ga.merge(o,f.nodeType?[f]:f);else if(Ma.test(f)){for(g=g||n.appendChild(b.createElement("div")),h=(Ja.exec(f)||["",""])[1].toLowerCase(),i=La[h]||La._default,g.innerHTML=i[1]+ga.htmlPrefilter(f)+i[2],k=i[0];k--;)g=g.lastChild;ga.merge(o,g.childNodes),g=n.firstChild,g.textContent=""}else o.push(b.createTextNode(f));for(n.textContent="",p=0;f=o[p++];)if(d&&ga.inArray(f,d)>-1)e&&e.push(f);else if(j=ga.contains(f.ownerDocument,f),g=l(n.appendChild(f),"script"),j&&m(g),c)for(k=0;f=g[k++];)Ka.test(f.type||"")&&c.push(f);return n}function o(){return!0}function p(){return!1}function q(){try{return Y.activeElement}catch(a){}}function r(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)r(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=p;else if(!e)return a;return 1===f&&(g=e,e=function(a){return ga().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=ga.guid++)),a.each(function(){ga.event.add(this,b,e,d,c)})}function s(a,b){return ga.nodeName(a,"table")&&ga.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function t(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function u(a){var b=Ta.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function v(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(Aa.hasData(a)&&(f=Aa.access(a),g=Aa.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)ga.event.add(b,e,j[e][c])}Ba.hasData(a)&&(h=Ba.access(a),i=ga.extend({},h),Ba.set(b,i))}}function w(a,b){var c=b.nodeName.toLowerCase();"input"===c&&Ia.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function x(a,b,c,d){b=$.apply([],b);var e,f,g,h,i,j,k=0,m=a.length,o=m-1,p=b[0],q=ga.isFunction(p);if(q||m>1&&"string"==typeof p&&!ea.checkClone&&Sa.test(p))return a.each(function(e){var f=a.eq(e);q&&(b[0]=p.call(this,e,f.html())),x(f,b,c,d)});if(m&&(e=n(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(g=ga.map(l(e,"script"),t),h=g.length;k<m;k++)i=e,k!==o&&(i=ga.clone(i,!0,!0),h&&ga.merge(g,l(i,"script"))),c.call(a[k],i,k);if(h)for(j=g[g.length-1].ownerDocument,ga.map(g,u),k=0;k<h;k++)i=g[k],Ka.test(i.type||"")&&!Aa.access(i,"globalEval")&&ga.contains(j,i)&&(i.src?ga._evalUrl&&ga._evalUrl(i.src):ga.globalEval(i.textContent.replace(Ua,"")))}return a}function y(a,b,c){for(var d,e=b?ga.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||ga.cleanData(l(d)),d.parentNode&&(c&&ga.contains(d.ownerDocument,d)&&m(l(d,"script")),d.parentNode.removeChild(d));return a}function z(a,b){var c=ga(b.createElement(a)).appendTo(b.body),d=ga.css(c[0],"display");return c.detach(),d}function A(a){var b=Y,c=Wa[a];return c||(c=z(a,b),"none"!==c&&c||(Va=(Va||ga("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=Va[0].contentDocument,b.write(),b.close(),c=z(a,b),Va.detach()),Wa[a]=c),c}function B(a,b,c){var d,e,f,g,h=a.style;return c=c||Za(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||ga.contains(a.ownerDocument,a)||(g=ga.style(a,b)),c&&!ea.pixelMarginRight()&&Ya.test(g)&&Xa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0!==g?g+"":g}function C(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}function D(a){if(a in eb)return a;for(var b=a[0].toUpperCase()+a.slice(1),c=db.length;c--;)if(a=db[c]+b,a in eb)return a}function E(a,b,c){var d=Fa.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function F(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=ga.css(a,c+Ga[f],!0,e)),d?("content"===c&&(g-=ga.css(a,"padding"+Ga[f],!0,e)),"margin"!==c&&(g-=ga.css(a,"border"+Ga[f]+"Width",!0,e))):(g+=ga.css(a,"padding"+Ga[f],!0,e),"padding"!==c&&(g+=ga.css(a,"border"+Ga[f]+"Width",!0,e)));return g}function G(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Za(a),g="border-box"===ga.css(a,"boxSizing",!1,f);if(e<=0||null==e){if(e=B(a,b,f),(e<0||null==e)&&(e=a.style[b]),Ya.test(e))return e;d=g&&(ea.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+F(a,b,c||(g?"border":"content"),d,f)+"px"}function H(a,b){for(var c,d,e,f=[],g=0,h=a.length;g<h;g++)d=a[g],d.style&&(f[g]=Aa.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&Ha(d)&&(f[g]=Aa.access(d,"olddisplay",A(d.nodeName)))):(e=Ha(d),"none"===c&&e||Aa.set(d,"olddisplay",e?c:ga.css(d,"display"))));for(g=0;g<h;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function I(a,b,c,d,e){return new I.prototype.init(a,b,c,d,e)}function J(){return b.setTimeout(function(){fb=void 0}),fb=ga.now()}function K(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=Ga[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function L(a,b,c){for(var d,e=(O.tweeners[b]||[]).concat(O.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function M(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},n=a.style,o=a.nodeType&&Ha(a),p=Aa.get(a,"fxshow");c.queue||(h=ga._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,ga.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[n.overflow,n.overflowX,n.overflowY],j=ga.css(a,"display"),k="none"===j?Aa.get(a,"olddisplay")||A(a.nodeName):j,"inline"===k&&"none"===ga.css(a,"float")&&(n.display="inline-block")),c.overflow&&(n.overflow="hidden",l.always(function(){n.overflow=c.overflow[0],n.overflowX=c.overflow[1],n.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],hb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(o?"hide":"show")){if("show"!==e||!p||void 0===p[d])continue;o=!0}m[d]=p&&p[d]||ga.style(a,d)}else j=void 0;if(ga.isEmptyObject(m))"inline"===("none"===j?A(a.nodeName):j)&&(n.display=j);else{p?"hidden"in p&&(o=p.hidden):p=Aa.access(a,"fxshow",{}),f&&(p.hidden=!o),o?ga(a).show():l.done(function(){ga(a).hide()}),l.done(function(){var b;Aa.remove(a,"fxshow");for(b in m)ga.style(a,b,m[b])});for(d in m)g=L(o?p[d]:0,d,l),d in p||(p[d]=g.start,o&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function N(a,b){var c,d,e,f,g;for(c in a)if(d=ga.camelCase(c),e=b[d],f=a[c],ga.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=ga.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function O(a,b,c){var d,e,f=0,g=O.prefilters.length,h=ga.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=fb||J(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:ga.extend({},b),opts:ga.extend(!0,{specialEasing:{},easing:ga.easing._default},c),originalProperties:b,originalOptions:c,startTime:fb||J(),duration:c.duration,tweens:[],createTween:function(b,c){var d=ga.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(N(k,j.opts.specialEasing);f<g;f++)if(d=O.prefilters[f].call(j,a,k,j.opts))return ga.isFunction(d.stop)&&(ga._queueHooks(j.elem,j.opts.queue).stop=ga.proxy(d.stop,d)),d;return ga.map(k,L,j),ga.isFunction(j.opts.start)&&j.opts.start.call(a,j),ga.fx.timer(ga.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function P(a){return a.getAttribute&&a.getAttribute("class")||""}function Q(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(wa)||[];if(ga.isFunction(c))for(;d=f[e++];)"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function R(a,b,c,d){function e(h){var i;return f[h]=!0,ga.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||g||f[j]?g?!(i=j):void 0:(b.dataTypes.unshift(j),e(j),!1)}),i}var f={},g=a===Bb;return e(b.dataTypes[0])||!f["*"]&&e("*")}function S(a,b){var c,d,e=ga.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&ga.extend(!0,a,d),a}function T(a,b,c){for(var d,e,f,g,h=a.contents,i=a.dataTypes;"*"===i[0];)i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function U(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];for(f=k.shift();f;)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{
+return Promise.all(d).then(function(){return e.forEach(function(a){return a.viewPort.swap(a.viewPortInstruction)}),null}).then(function(){return n(b)})},a.prototype._updateTitle=function(){var a=this._buildTitle();a&&this.router.history.setTitle(a)},a.prototype._buildTitle=function(){var a=arguments.length<=0||void 0===arguments[0]?" | ":arguments[0],b="",c=[];this.config.navModel.title&&(b=this.router.transformTitle(this.config.navModel.title));for(var d in this.viewPortInstructions){var e=this.viewPortInstructions[d];if(e.childNavigationInstruction){var f=e.childNavigationInstruction._buildTitle(a);f&&c.push(f)}}return c.length&&(b=c.join(a)+(b?a:"")+b),this.router.title&&(b+=(b?a:"")+this.router.transformTitle(this.router.title)),b},a}(),R=a.NavModel=function(){function a(a,b){this.isActive=!1,this.title=null,this.href=null,this.relativeHref=null,this.settings={},this.config=null,this.router=a,this.relativeHref=b}return a.prototype.setTitle=function(a){this.title=a,this.isActive&&this.router.updateTitle()},a}(),S=a.Redirect=function(){function a(a){var b=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];this.url=a,this.options=Object.assign({trigger:!0,replace:!0},b),this.shouldContinueProcessing=!1}return a.prototype.setRouter=function(a){this.router=a},a.prototype.navigate=function(a){var b=this.options.useAppRouter?a:this.router||a;b.navigate(this.url,this.options)},a}(),T=(a.RedirectToRoute=function(){function a(a){var b=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],c=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];this.route=a,this.params=b,this.options=Object.assign({trigger:!0,replace:!0},c),this.shouldContinueProcessing=!1}return a.prototype.setRouter=function(a){this.router=a},a.prototype.navigate=function(a){var b=this.options.useAppRouter?a:this.router||a;b.navigateToRoute(this.route,this.params,this.options)},a}(),a.RouterConfiguration=function(){function a(){this.instructions=[],this.options={},this.pipelineSteps=[]}return a.prototype.addPipelineStep=function(a,b){return this.pipelineSteps.push({name:a,step:b}),this},a.prototype.addAuthorizeStep=function(a){return this.addPipelineStep("authorize",a)},a.prototype.addPreActivateStep=function(a){return this.addPipelineStep("preActivate",a)},a.prototype.addPreRenderStep=function(a){return this.addPipelineStep("preRender",a)},a.prototype.addPostRenderStep=function(a){return this.addPipelineStep("postRender",a)},a.prototype.fallbackRoute=function(a){return this._fallbackRoute=a,this},a.prototype.map=function(a){return Array.isArray(a)?(a.forEach(this.map.bind(this)),this):this.mapRoute(a)},a.prototype.mapRoute=function(a){return this.instructions.push(function(b){var c=[];if(Array.isArray(a.route))for(var d=0,e=a.route.length;d<e;++d){var f=Object.assign({},a);f.route=a.route[d],c.push(f)}else c.push(Object.assign({},a));for(var g=void 0,h=0,i=c.length;h<i;++h){var j=c[h];j.settings=j.settings||{},g||(g=b.createNavModel(j)),b.addRoute(j,g)}}),this},a.prototype.mapUnknownRoutes=function(a){return this.unknownRouteConfig=a,this},a.prototype.exportToRouter=function(a){for(var b=this.instructions,c=0,d=b.length;c<d;++c)b[c](a);this.title&&(a.title=this.title),this.unknownRouteConfig&&a.handleUnknownRoutes(this.unknownRouteConfig),this._fallbackRoute&&(a.fallbackRoute=this._fallbackRoute),a.options=this.options;var e=this.pipelineSteps;if(e.length){if(!a.isRoot)throw new Error("Pipeline steps can only be added to the root router");for(var f=a.pipelineProvider,g=0,h=e.length;g<h;++g){var i=e[g],j=i.name,k=i.step;f.addStep(j,k)}}},a}()),U=a.activationStrategy={noChange:"no-change",invokeLifecycle:"invoke-lifecycle",replace:"replace"},V=a.BuildNavigationPlanStep=function(){function a(){}return a.prototype.run=function(a,b){return p(a).then(function(c){return a.plan=c,b()})["catch"](b.cancel)},a}(),W=a.Router=function(){function a(a,b){var c=this;this.parent=null,this.options={},this.transformTitle=function(a){return c.parent?c.parent.transformTitle(a):a},this.container=a,this.history=b,this.reset()}return a.prototype.reset=function(){var a=this;this.viewPorts={},this.routes=[],this.baseUrl="",this.isConfigured=!1,this.isNavigating=!1,this.isExplicitNavigation=!1,this.isExplicitNavigationBack=!1,this.navigation=[],this.currentInstruction=null,this._fallbackOrder=100,this._recognizer=new c.RouteRecognizer,this._childRecognizer=new c.RouteRecognizer,this._configuredPromise=new Promise(function(b){a._resolveConfiguredPromise=b})},a.prototype.registerViewPort=function(a,b){b=b||"default",this.viewPorts[b]=a},a.prototype.ensureConfigured=function(){return this._configuredPromise},a.prototype.configure=function(a){var b=this;this.isConfigured=!0;var c=a,d=void 0;return"function"==typeof a&&(d=new T,c=a(d)),Promise.resolve(c).then(function(a){a&&a.exportToRouter&&(d=a),d.exportToRouter(b),b.isConfigured=!0,b._resolveConfiguredPromise()})},a.prototype.navigate=function(a,b){return!this.isConfigured&&this.parent?this.parent.navigate(a,b):(this.isExplicitNavigation=!0,this.history.navigate(l(a,this.baseUrl,this.history._hasPushState),b))},a.prototype.navigateToRoute=function(a,b,c){var d=this.generate(a,b);return this.navigate(d,c)},a.prototype.navigateBack=function(){this.isExplicitNavigationBack=!0,this.history.navigateBack()},a.prototype.createChild=function(b){var c=new a(b||this.container.createChild(),this.history);return c.parent=this,c},a.prototype.generate=function(a,b){var c=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],d=this._recognizer.hasRoute(a);if((!this.isConfigured||!d)&&this.parent)return this.parent.generate(a,b);if(!d)throw new Error("A route with name '"+a+"' could not be found. Check that `name: '"+a+"'` was specified in the route's config.");var e=this._recognizer.generate(a,b),f=k(e,this.baseUrl,this.history._hasPushState,c.absolute);return c.absolute?""+this.history.getAbsoluteRoot()+f:f},a.prototype.createNavModel=function(a){var b=new R(this,"href"in a?a.href:a.route);return b.title=a.title,b.order=a.nav,b.href=a.href,b.settings=a.settings,b.config=a,b},a.prototype.addRoute=function(a,b){s(a,this.routes),"viewPorts"in a||a.navigationStrategy||(a.viewPorts={"default":{moduleId:a.moduleId,view:a.view}}),b||(b=this.createNavModel(a)),this.routes.push(a);var c=a.route;"/"===c.charAt(0)&&(c=c.substr(1));var d=a.caseSensitive===!0,e=this._recognizer.add({path:c,handler:a,caseSensitive:d});if(c){var f=a.settings;delete a.settings;var g=JSON.parse(JSON.stringify(a));a.settings=f,g.route=c+"/*childRoute",g.hasChildRouter=!0,this._childRecognizer.add({path:g.route,handler:g,caseSensitive:d}),g.navModel=b,g.settings=a.settings,g.navigationStrategy=a.navigationStrategy}if(a.navModel=b,(b.order||0===b.order)&&this.navigation.indexOf(b)===-1){if(!b.href&&""!==b.href&&(e.types.dynamics||e.types.stars))throw new Error('Invalid route config for "'+a.route+'" : dynamic routes must specify an "href:" to be included in the navigation model.');"number"!=typeof b.order&&(b.order=++this._fallbackOrder),this.navigation.push(b),this.navigation=this.navigation.sort(function(a,b){return a.order-b.order})}},a.prototype.hasRoute=function(a){return!!(this._recognizer.hasRoute(a)||this.parent&&this.parent.hasRoute(a))},a.prototype.hasOwnRoute=function(a){return this._recognizer.hasRoute(a)},a.prototype.handleUnknownRoutes=function(a){var b=this;if(!a)throw new Error("Invalid unknown route handler");this.catchAllHandler=function(c){return b._createRouteConfig(a,c).then(function(a){return c.config=a,c})}},a.prototype.updateTitle=function(){return this.parent?this.parent.updateTitle():void(this.currentInstruction&&this.currentInstruction._updateTitle())},a.prototype.refreshNavigation=function(){for(var a=this.navigation,b=0,c=a.length;b<c;b++){var d=a[b];d.config.href?d.href=j(d.config.href,this.history._hasPushState):d.href=k(d.relativeHref,this.baseUrl,this.history._hasPushState)}},a.prototype._refreshBaseUrl=function(){if(this.parent){var a=this.parent.currentInstruction.getBaseUrl();this.baseUrl=this.parent.baseUrl+a}},a.prototype._createNavigationInstruction=function(){var a=arguments.length<=0||void 0===arguments[0]?"":arguments[0],b=arguments.length<=1||void 0===arguments[1]?null:arguments[1],c=a,d="",e=a.indexOf("?");e!==-1&&(c=a.substr(0,e),d=a.substr(e+1));var f=this._recognizer.recognize(a);f&&f.length||(f=this._childRecognizer.recognize(a));var g={fragment:c,queryString:d,config:null,parentInstruction:b,previousInstruction:this.currentInstruction,router:this,options:{compareQueryParams:this.options.compareQueryParams}};if(f&&f.length){var h=f[0],i=new Q(Object.assign({},g,{params:h.params,queryParams:h.queryParams||f.queryParams,config:h.config||h.handler}));return"function"==typeof h.handler?t(i,h.handler,h):h.handler&&"function"==typeof h.handler.navigationStrategy?t(i,h.handler.navigationStrategy,h.handler):Promise.resolve(i)}if(this.catchAllHandler){var j=new Q(Object.assign({},g,{params:{path:c},queryParams:f&&f.queryParams,config:null}));return t(j,this.catchAllHandler)}return Promise.reject(new Error("Route not found: "+a))},a.prototype._createRouteConfig=function(a,b){var c=this;return Promise.resolve(a).then(function(a){return"string"==typeof a?{moduleId:a}:"function"==typeof a?a(b):a}).then(function(a){return"string"==typeof a?{moduleId:a}:a}).then(function(a){return a.route=b.params.path,s(a,c.routes),a.navModel||(a.navModel=c.createNavModel(a)),a})},K(a,[{key:"isRoot",get:function(){return!this.parent}}]),a}(),X=a.CanDeactivatePreviousStep=function(){function a(){}return a.prototype.run=function(a,b){return u(a.plan,"canDeactivate",b)},a}(),Y=a.CanActivateNextStep=function(){function a(){}return a.prototype.run=function(a,b){return x(a,"canActivate",b)},a}(),Z=a.DeactivatePreviousStep=function(){function a(){}return a.prototype.run=function(a,b){return u(a.plan,"deactivate",b,!0)},a}(),$=a.ActivateNextStep=function(){function a(){}return a.prototype.run=function(a,b){return x(a,"activate",b,!0)},a}(),_=function(){function a(a){this._subscribed=!0,this._subscription=a(this),this._subscribed||this.unsubscribe()}return a.prototype.unsubscribe=function(){this._subscribed&&this._subscription&&this._subscription.unsubscribe(),this._subscribed=!1},K(a,[{key:"subscribed",get:function(){return this._subscribed}}]),a}(),aa=a.RouteLoader=function(){function a(){}return a.prototype.loadRoute=function(a,b,c){throw Error('Route loaders must implement "loadRoute(router, config, navigationInstruction)".')},a}(),ba=a.LoadRouteStep=function(){function a(a){this.routeLoader=a}return a.inject=function(){return[aa]},a.prototype.run=function(a,b){return B(this.routeLoader,a).then(b)["catch"](b.cancel)},a}(),ca=function(){function a(a,b,c){this.steps=[],this.container=a,this.slotName=b,this.slotAlias=c}return a.prototype.getSteps=function(){var a=this;return this.steps.map(function(b){return a.container.get(b)})},a}(),da=a.PipelineProvider=function(){function a(a){this.container=a,this.steps=[V,X,ba,this._createPipelineSlot("authorize"),Y,this._createPipelineSlot("preActivate","modelbind"),Z,$,this._createPipelineSlot("preRender","precommit"),P,this._createPipelineSlot("postRender","postcomplete")]}return a.inject=function(){return[d.Container]},a.prototype.createPipeline=function(){var a=this,b=new O;return this.steps.forEach(function(c){return b.addStep(a.container.get(c))}),b},a.prototype._findStep=function(a){return this.steps.find(function(b){return b.slotName===a||b.slotAlias===a})},a.prototype.addStep=function(a,b){var c=this._findStep(a);if(!c)throw new Error("Invalid pipeline slot name: "+a+".");c.steps.includes(b)||c.steps.push(b)},a.prototype.removeStep=function(a,b){var c=this._findStep(a);c&&c.steps.splice(c.steps.indexOf(b),1)},a.prototype._clearSteps=function(){var a=arguments.length<=0||void 0===arguments[0]?"":arguments[0],b=this._findStep(a);b&&(b.steps=[])},a.prototype.reset=function(){this._clearSteps("authorize"),this._clearSteps("preActivate"),this._clearSteps("preRender"),this._clearSteps("postRender")},a.prototype._createPipelineSlot=function(a,b){return new ca(this.container,a,b)},a}(),ea=I.getLogger("app-router");a.AppRouter=function(a){function b(b,c,d,e){var f=h(this,a.call(this,b,c));return f.pipelineProvider=d,f.events=e,f}return i(b,a),b.inject=function(){return[d.Container,e.History,da,f.EventAggregator]},b.prototype.reset=function(){a.prototype.reset.call(this),this.maxInstructionCount=10,this._queue?this._queue.length=0:this._queue=[]},b.prototype.loadUrl=function(a){var b=this;return this._createNavigationInstruction(a).then(function(a){return b._queueInstruction(a)})["catch"](function(a){ea.error(a),H(b)})},b.prototype.registerViewPort=function(b,c){var d=this;if(a.prototype.registerViewPort.call(this,b,c),this.isActive)this._dequeueInstruction();else{var e=function(){var a=d._findViewModel(b);if("configureRouter"in a){if(!d.isConfigured){var c=function(){var b=d._resolveConfiguredPromise;return d._resolveConfiguredPromise=function(){},{v:{v:d.configure(function(b){return a.configureRouter(b,d)}).then(function(){d.activate(),b()})}}}();if("object"===("undefined"==typeof c?"undefined":J(c)))return c.v}}else d.activate()}();if("object"===("undefined"==typeof e?"undefined":J(e)))return e.v}return Promise.resolve()},b.prototype.activate=function(a){this.isActive||(this.isActive=!0,this.options=Object.assign({routeHandler:this.loadUrl.bind(this)},this.options,a),this.history.activate(this.options),this._dequeueInstruction())},b.prototype.deactivate=function(){this.isActive=!1,this.history.deactivate()},b.prototype._queueInstruction=function(a){var b=this;return new Promise(function(c){a.resolve=c,b._queue.unshift(a),b._dequeueInstruction()})},b.prototype._dequeueInstruction=function(){var a=this,b=arguments.length<=0||void 0===arguments[0]?0:arguments[0];return Promise.resolve().then(function(){if(!a.isNavigating||b){var c=a._queue.shift();if(a._queue.length=0,c){if(a.isNavigating=!0,c.previousInstruction=a.currentInstruction,b){if(b===a.maxInstructionCount-1)return ea.error(b+1+" navigation instructions have been attempted without success. Restoring last known good location."),H(a),a._dequeueInstruction(b+1);if(b>a.maxInstructionCount)throw new Error("Maximum navigation attempts exceeded. Giving up.")}else a.events.publish("router:navigation:processing",{instruction:c});var d=a.pipelineProvider.createPipeline();return d.run(c).then(function(d){return F(c,d,b,a)})["catch"](function(a){return{output:a instanceof Error?a:new Error(a)}}).then(function(d){return G(c,d,!!b,a)})}}})},b.prototype._findViewModel=function(a){if(this.container.viewModel)return this.container.viewModel;if(a.container)for(var b=a.container;b;){if(b.viewModel)return this.container.viewModel=b.viewModel,b.viewModel;b=b.parent}},b}(W)})}(),function(){var a=System.amdDefine;a("npm:aurelia-router@1.3.0.js",["npm:aurelia-router@1.3.0/aurelia-router"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-pal@1.4.0/aurelia-pal.js",["exports"],function(a){"use strict";function b(a,b,c){if(b){if(b.innerError&&c)return b;var d="\n------------------------------------------------\n";a+=d+"Inner Error:\n","string"==typeof b?a+="Message: "+b:(a+=b.message?"Message: "+b.message:"Unknown Inner Error Type. Displaying Inner Error as JSON:\n "+JSON.stringify(b,null," "),b.stack&&(a+="\nInner Error Stack:\n"+b.stack,a+="\nEnd Inner Error Stack")),a+=d}var e=new Error(a);return b&&(e.innerError=b),e}function c(b){h||(a.isInitialized=h=!0,"function"!=typeof Object.getPropertyDescriptor&&(Object.getPropertyDescriptor=function(a,b){for(var c=Object.getOwnPropertyDescriptor(a,b),d=Object.getPrototypeOf(a);"undefined"==typeof c&&null!==d;)c=Object.getOwnPropertyDescriptor(d,b),d=Object.getPrototypeOf(d);return c}),b(f,e,g))}function d(){a.isInitialized=h=!1}Object.defineProperty(a,"__esModule",{value:!0}),a.AggregateError=b,a.initializePAL=c,a.reset=d;var e=a.FEATURE={},f=a.PLATFORM={noop:function(){},eachModule:function(){},moduleName:function(a){function b(b){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){return a})};f.global=function(){return"undefined"!=typeof self?self:"undefined"!=typeof global?global:new Function("return this")()}();var g=a.DOM={},h=a.isInitialized=!1})}(),function(){var a=System.amdDefine;a("npm:aurelia-pal@1.4.0.js",["npm:aurelia-pal@1.4.0/aurelia-pal"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging@1.3.1/aurelia-logging.js",["exports"],function(a){"use strict";function b(){return[this].concat(Array.prototype.slice.call(arguments))}function c(a){var c=j[a];return function(){if(!(this.level<c))for(var d=b.apply(this,arguments),e=l.length;e--;){var f;(f=l[e])[a].apply(f,d)}}}function d(){var a=n.prototype;a.debug=c("debug"),a.info=c("info"),a.warn=c("warn"),a.error=c("error")}function e(a){return k[a]||new n(a)}function f(a){1===l.push(a)&&d()}function g(a){l=l.filter(function(b){return b!==a})}function h(a){m=a;for(var b in k)k[b].setLevel(a)}function i(){return m}Object.defineProperty(a,"__esModule",{value:!0}),a.getLogger=e,a.addAppender=f,a.removeAppender=g,a.setLevel=h,a.getLevel=i;var j=a.logLevel={none:0,error:1,warn:2,info:3,debug:4},k={},l=[],m=j.none,n=a.Logger=function(){function a(a){var b=k[a];return b?b:(k[a]=this,this.id=a,void(this.level=m))}return a.prototype.debug=function(a){},a.prototype.info=function(a){},a.prototype.warn=function(a){},a.prototype.error=function(a){},a.prototype.setLevel=function(a){this.level=a},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging@1.3.1.js",["npm:aurelia-logging@1.3.1/aurelia-logging"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/route-href.js",["exports","aurelia-templating","aurelia-dependency-injection","aurelia-router","aurelia-pal","aurelia-logging"],function(a,b,c,d,e,f){"use strict";function g(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}Object.defineProperty(a,"__esModule",{value:!0}),a.RouteHref=void 0;var h,i,j,k,l,m,n=g(f),o=n.getLogger("route-href");a.RouteHref=(h=(0,b.customAttribute)("route-href"),i=(0,b.bindable)({name:"route",changeHandler:"processChange"}),j=(0,b.bindable)({name:"params",changeHandler:"processChange"}),k=(0,b.bindable)({name:"attribute",defaultValue:"href"}),l=(0,c.inject)(d.Router,e.DOM.Element),h(m=i(m=j(m=k(m=l(m=function(){function a(a,b){this.router=a,this.element=b}return a.prototype.bind=function(){this.isActive=!0,this.processChange()},a.prototype.unbind=function(){this.isActive=!1},a.prototype.attributeChanged=function(a,b){b&&this.element.removeAttribute(b),this.processChange()},a.prototype.processChange=function(){var a=this;return this.router.ensureConfigured().then(function(){if(!a.isActive)return null;var b=a.router.generate(a.route,a.params);return a.element.setAttribute(a.attribute,b),null})["catch"](function(a){o.error(a)})},a}())||m)||m)||m)||m)||m)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/aurelia-templating-router.js",["exports","aurelia-router","./route-loader","./router-view","./route-href"],function(a,b,c,d,e){"use strict";function f(a){a.singleton(b.RouteLoader,c.TemplatingRouteLoader).singleton(b.Router,b.AppRouter).globalResources("./router-view","./route-href"),a.container.registerAlias(b.Router,b.AppRouter)}Object.defineProperty(a,"__esModule",{value:!0}),a.configure=a.RouteHref=a.RouterView=a.TemplatingRouteLoader=void 0,a.TemplatingRouteLoader=c.TemplatingRouteLoader,a.RouterView=d.RouterView,a.RouteHref=e.RouteHref,a.configure=f})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0.js",["npm:aurelia-templating-router@1.0.0/aurelia-templating-router"],function(a){return a})}(),System.registerDynamic("npm:font-awesome@4.7.0/css/font-awesome.css!github:systemjs/plugin-css@0.1.33.js",[],!1,function(a,b,c){var d=System.get("@@global-helpers").prepareGlobal(c.id,null,null);return function(a){}(this),d()}),System.registerDynamic("npm:font-awesome@4.7.0.js",["npm:font-awesome@4.7.0/css/font-awesome.css!"],!0,function(a,b,c){this||self;c.exports=a("npm:font-awesome@4.7.0/css/font-awesome.css!")}),function(){var a=System.amdDefine;!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(b,c){function d(a){var b=!!a&&"length"in a&&a.length,c=ga.type(a);return"function"!==c&&!ga.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}function e(a,b,c){if(ga.isFunction(b))return ga.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return ga.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(qa.test(b))return ga.filter(b,a,c);b=ga.filter(b,a)}return ga.grep(a,function(a){return aa.call(b,a)>-1!==c})}function f(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function g(a){var b={};return ga.each(a.match(wa)||[],function(a,c){b[c]=!0}),b}function h(){Y.removeEventListener("DOMContentLoaded",h),b.removeEventListener("load",h),ga.ready()}function i(){this.expando=ga.expando+i.uid++}function j(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Da,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:Ca.test(c)?ga.parseJSON(c):c)}catch(e){}Ba.set(a,b,c)}else c=void 0;return c}function k(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return ga.css(a,b,"")},i=h(),j=c&&c[3]||(ga.cssNumber[b]?"":"px"),k=(ga.cssNumber[b]||"px"!==j&&+i)&&Fa.exec(ga.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,ga.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}function l(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&ga.nodeName(a,b)?ga.merge([a],c):c}function m(a,b){for(var c=0,d=a.length;c<d;c++)Aa.set(a[c],"globalEval",!b||Aa.get(b[c],"globalEval"))}function n(a,b,c,d,e){for(var f,g,h,i,j,k,n=b.createDocumentFragment(),o=[],p=0,q=a.length;p<q;p++)if(f=a[p],f||0===f)if("object"===ga.type(f))ga.merge(o,f.nodeType?[f]:f);else if(Ma.test(f)){for(g=g||n.appendChild(b.createElement("div")),h=(Ja.exec(f)||["",""])[1].toLowerCase(),i=La[h]||La._default,g.innerHTML=i[1]+ga.htmlPrefilter(f)+i[2],k=i[0];k--;)g=g.lastChild;ga.merge(o,g.childNodes),g=n.firstChild,g.textContent=""}else o.push(b.createTextNode(f));for(n.textContent="",p=0;f=o[p++];)if(d&&ga.inArray(f,d)>-1)e&&e.push(f);else if(j=ga.contains(f.ownerDocument,f),g=l(n.appendChild(f),"script"),j&&m(g),c)for(k=0;f=g[k++];)Ka.test(f.type||"")&&c.push(f);return n}function o(){return!0}function p(){return!1}function q(){try{return Y.activeElement}catch(a){}}function r(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)r(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=p;else if(!e)return a;return 1===f&&(g=e,e=function(a){return ga().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=ga.guid++)),a.each(function(){ga.event.add(this,b,e,d,c)})}function s(a,b){return ga.nodeName(a,"table")&&ga.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function t(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function u(a){var b=Ta.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function v(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(Aa.hasData(a)&&(f=Aa.access(a),g=Aa.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)ga.event.add(b,e,j[e][c])}Ba.hasData(a)&&(h=Ba.access(a),i=ga.extend({},h),Ba.set(b,i))}}function w(a,b){var c=b.nodeName.toLowerCase();"input"===c&&Ia.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function x(a,b,c,d){b=$.apply([],b);var e,f,g,h,i,j,k=0,m=a.length,o=m-1,p=b[0],q=ga.isFunction(p);if(q||m>1&&"string"==typeof p&&!ea.checkClone&&Sa.test(p))return a.each(function(e){var f=a.eq(e);q&&(b[0]=p.call(this,e,f.html())),x(f,b,c,d)});if(m&&(e=n(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(g=ga.map(l(e,"script"),t),h=g.length;k<m;k++)i=e,k!==o&&(i=ga.clone(i,!0,!0),h&&ga.merge(g,l(i,"script"))),c.call(a[k],i,k);if(h)for(j=g[g.length-1].ownerDocument,ga.map(g,u),k=0;k<h;k++)i=g[k],Ka.test(i.type||"")&&!Aa.access(i,"globalEval")&&ga.contains(j,i)&&(i.src?ga._evalUrl&&ga._evalUrl(i.src):ga.globalEval(i.textContent.replace(Ua,"")))}return a}function y(a,b,c){for(var d,e=b?ga.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||ga.cleanData(l(d)),d.parentNode&&(c&&ga.contains(d.ownerDocument,d)&&m(l(d,"script")),d.parentNode.removeChild(d));return a}function z(a,b){var c=ga(b.createElement(a)).appendTo(b.body),d=ga.css(c[0],"display");return c.detach(),d}function A(a){var b=Y,c=Wa[a];return c||(c=z(a,b),"none"!==c&&c||(Va=(Va||ga("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=Va[0].contentDocument,b.write(),b.close(),c=z(a,b),Va.detach()),Wa[a]=c),c}function B(a,b,c){var d,e,f,g,h=a.style;return c=c||Za(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||ga.contains(a.ownerDocument,a)||(g=ga.style(a,b)),c&&!ea.pixelMarginRight()&&Ya.test(g)&&Xa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0!==g?g+"":g}function C(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}function D(a){if(a in eb)return a;for(var b=a[0].toUpperCase()+a.slice(1),c=db.length;c--;)if(a=db[c]+b,a in eb)return a}function E(a,b,c){var d=Fa.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function F(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=ga.css(a,c+Ga[f],!0,e)),d?("content"===c&&(g-=ga.css(a,"padding"+Ga[f],!0,e)),"margin"!==c&&(g-=ga.css(a,"border"+Ga[f]+"Width",!0,e))):(g+=ga.css(a,"padding"+Ga[f],!0,e),"padding"!==c&&(g+=ga.css(a,"border"+Ga[f]+"Width",!0,e)));return g}function G(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Za(a),g="border-box"===ga.css(a,"boxSizing",!1,f);if(e<=0||null==e){if(e=B(a,b,f),(e<0||null==e)&&(e=a.style[b]),Ya.test(e))return e;d=g&&(ea.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+F(a,b,c||(g?"border":"content"),d,f)+"px"}function H(a,b){for(var c,d,e,f=[],g=0,h=a.length;g<h;g++)d=a[g],d.style&&(f[g]=Aa.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&Ha(d)&&(f[g]=Aa.access(d,"olddisplay",A(d.nodeName)))):(e=Ha(d),"none"===c&&e||Aa.set(d,"olddisplay",e?c:ga.css(d,"display"))));for(g=0;g<h;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function I(a,b,c,d,e){return new I.prototype.init(a,b,c,d,e)}function J(){return b.setTimeout(function(){fb=void 0}),fb=ga.now()}function K(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=Ga[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function L(a,b,c){for(var d,e=(O.tweeners[b]||[]).concat(O.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function M(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},n=a.style,o=a.nodeType&&Ha(a),p=Aa.get(a,"fxshow");c.queue||(h=ga._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,ga.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[n.overflow,n.overflowX,n.overflowY],j=ga.css(a,"display"),k="none"===j?Aa.get(a,"olddisplay")||A(a.nodeName):j,"inline"===k&&"none"===ga.css(a,"float")&&(n.display="inline-block")),c.overflow&&(n.overflow="hidden",l.always(function(){n.overflow=c.overflow[0],n.overflowX=c.overflow[1],n.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],hb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(o?"hide":"show")){if("show"!==e||!p||void 0===p[d])continue;o=!0}m[d]=p&&p[d]||ga.style(a,d)}else j=void 0;if(ga.isEmptyObject(m))"inline"===("none"===j?A(a.nodeName):j)&&(n.display=j);else{p?"hidden"in p&&(o=p.hidden):p=Aa.access(a,"fxshow",{}),f&&(p.hidden=!o),o?ga(a).show():l.done(function(){ga(a).hide()}),l.done(function(){var b;Aa.remove(a,"fxshow");for(b in m)ga.style(a,b,m[b])});for(d in m)g=L(o?p[d]:0,d,l),d in p||(p[d]=g.start,o&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function N(a,b){var c,d,e,f,g;for(c in a)if(d=ga.camelCase(c),e=b[d],f=a[c],ga.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=ga.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function O(a,b,c){var d,e,f=0,g=O.prefilters.length,h=ga.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=fb||J(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:ga.extend({},b),opts:ga.extend(!0,{specialEasing:{},easing:ga.easing._default},c),originalProperties:b,originalOptions:c,startTime:fb||J(),duration:c.duration,tweens:[],createTween:function(b,c){var d=ga.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(N(k,j.opts.specialEasing);f<g;f++)if(d=O.prefilters[f].call(j,a,k,j.opts))return ga.isFunction(d.stop)&&(ga._queueHooks(j.elem,j.opts.queue).stop=ga.proxy(d.stop,d)),d;return ga.map(k,L,j),ga.isFunction(j.opts.start)&&j.opts.start.call(a,j),ga.fx.timer(ga.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function P(a){return a.getAttribute&&a.getAttribute("class")||""}function Q(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(wa)||[];if(ga.isFunction(c))for(;d=f[e++];)"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function R(a,b,c,d){function e(h){var i;return f[h]=!0,ga.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||g||f[j]?g?!(i=j):void 0:(b.dataTypes.unshift(j),e(j),!1)}),i}var f={},g=a===Bb;return e(b.dataTypes[0])||!f["*"]&&e("*")}function S(a,b){var c,d,e=ga.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&ga.extend(!0,a,d),a}function T(a,b,c){for(var d,e,f,g,h=a.contents,i=a.dataTypes;"*"===i[0];)i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function U(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];for(f=k.shift();f;)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{
b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}function V(a,b,c,d){var e;if(ga.isArray(b))ga.each(b,function(b,e){c||Fb.test(a)?d(a,e):V(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==ga.type(b))d(a,b);else for(e in b)V(a+"["+e+"]",b[e],c,d)}function W(a){return ga.isWindow(a)?a:9===a.nodeType&&a.defaultView}var X=[],Y=b.document,Z=X.slice,$=X.concat,_=X.push,aa=X.indexOf,ba={},ca=ba.toString,da=ba.hasOwnProperty,ea={},fa="2.2.4",ga=function(a,b){return new ga.fn.init(a,b)},ha=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ia=/^-ms-/,ja=/-([\da-z])/gi,ka=function(a,b){return b.toUpperCase()};ga.fn=ga.prototype={jquery:fa,constructor:ga,selector:"",length:0,toArray:function(){return Z.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:Z.call(this)},pushStack:function(a){var b=ga.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return ga.each(this,a)},map:function(a){return this.pushStack(ga.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(Z.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:_,sort:X.sort,splice:X.splice},ga.extend=ga.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||ga.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(ga.isPlainObject(d)||(e=ga.isArray(d)))?(e?(e=!1,f=c&&ga.isArray(c)?c:[]):f=c&&ga.isPlainObject(c)?c:{},g[b]=ga.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},ga.extend({expando:"jQuery"+(fa+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===ga.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!ga.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==ga.type(a)||a.nodeType||ga.isWindow(a))return!1;if(a.constructor&&!da.call(a,"constructor")&&!da.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||da.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?ba[ca.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=ga.trim(a),a&&(1===a.indexOf("use strict")?(b=Y.createElement("script"),b.text=a,Y.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(ia,"ms-").replace(ja,ka)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,e=0;if(d(a))for(c=a.length;e<c&&b.call(a[e],e,a[e])!==!1;e++);else for(e in a)if(b.call(a[e],e,a[e])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(ha,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(d(Object(a))?ga.merge(c,"string"==typeof a?[a]:a):_.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:aa.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var e,f,g=0,h=[];if(d(a))for(e=a.length;g<e;g++)f=b(a[g],g,c),null!=f&&h.push(f);else for(g in a)f=b(a[g],g,c),null!=f&&h.push(f);return $.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),ga.isFunction(a))return d=Z.call(arguments,2),e=function(){return a.apply(b||this,d.concat(Z.call(arguments)))},e.guid=a.guid=a.guid||ga.guid++,e},now:Date.now,support:ea}),"function"==typeof Symbol&&(ga.fn[Symbol.iterator]=X[Symbol.iterator]),ga.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){ba["[object "+b+"]"]=b.toLowerCase()});var la=function(a){function b(a,b,c,d){var e,f,g,h,i,j,l,n,o=b&&b.ownerDocument,p=b?b.nodeType:9;if(c=c||[],"string"!=typeof a||!a||1!==p&&9!==p&&11!==p)return c;if(!d&&((b?b.ownerDocument||b:O)!==G&&F(b),b=b||G,I)){if(11!==p&&(j=ra.exec(a)))if(e=j[1]){if(9===p){if(!(g=b.getElementById(e)))return c;if(g.id===e)return c.push(g),c}else if(o&&(g=o.getElementById(e))&&M(b,g)&&g.id===e)return c.push(g),c}else{if(j[2])return $.apply(c,b.getElementsByTagName(a)),c;if((e=j[3])&&v.getElementsByClassName&&b.getElementsByClassName)return $.apply(c,b.getElementsByClassName(e)),c}if(v.qsa&&!T[a+" "]&&(!J||!J.test(a))){if(1!==p)o=b,n=a;else if("object"!==b.nodeName.toLowerCase()){for((h=b.getAttribute("id"))?h=h.replace(ta,"\\$&"):b.setAttribute("id",h=N),l=z(a),f=l.length,i=ma.test(h)?"#"+h:"[id='"+h+"']";f--;)l[f]=i+" "+m(l[f]);n=l.join(","),o=sa.test(a)&&k(b.parentNode)||b}if(n)try{return $.apply(c,o.querySelectorAll(n)),c}catch(q){}finally{h===N&&b.removeAttribute("id")}}}return B(a.replace(ha,"$1"),b,c,d)}function c(){function a(c,d){return b.push(c+" ")>w.cacheLength&&delete a[b.shift()],a[c+" "]=d}var b=[];return a}function d(a){return a[N]=!0,a}function e(a){var b=G.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function f(a,b){for(var c=a.split("|"),d=c.length;d--;)w.attrHandle[c[d]]=b}function g(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||V)-(~a.sourceIndex||V);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function h(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function i(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function j(a){return d(function(b){return b=+b,d(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function k(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}function l(){}function m(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function n(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=Q++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[P,f];if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e){if(j=b[N]||(b[N]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===P&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function o(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function p(a,c,d){for(var e=0,f=c.length;e<f;e++)b(a,c[e],d);return d}function q(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function r(a,b,c,e,f,g){return e&&!e[N]&&(e=r(e)),f&&!f[N]&&(f=r(f,g)),d(function(d,g,h,i){var j,k,l,m=[],n=[],o=g.length,r=d||p(b||"*",h.nodeType?[h]:h,[]),s=!a||!d&&b?r:q(r,m,a,h,i),t=c?f||(d?a:o||e)?[]:g:s;if(c&&c(s,t,h,i),e)for(j=q(t,n),e(j,[],h,i),k=j.length;k--;)(l=j[k])&&(t[n[k]]=!(s[n[k]]=l));if(d){if(f||a){if(f){for(j=[],k=t.length;k--;)(l=t[k])&&j.push(s[k]=l);f(null,t=[],j,i)}for(k=t.length;k--;)(l=t[k])&&(j=f?aa(d,l):m[k])>-1&&(d[j]=!(g[j]=l))}}else t=q(t===g?t.splice(o,t.length):t),f?f(null,g,t,i):$.apply(g,t)})}function s(a){for(var b,c,d,e=a.length,f=w.relative[a[0].type],g=f||w.relative[" "],h=f?1:0,i=n(function(a){return a===b},g,!0),j=n(function(a){return aa(b,a)>-1},g,!0),k=[function(a,c,d){var e=!f&&(d||c!==C)||((b=c).nodeType?i(a,c,d):j(a,c,d));return b=null,e}];h<e;h++)if(c=w.relative[a[h].type])k=[n(o(k),c)];else{if(c=w.filter[a[h].type].apply(null,a[h].matches),c[N]){for(d=++h;d<e&&!w.relative[a[d].type];d++);return r(h>1&&o(k),h>1&&m(a.slice(0,h-1).concat({value:" "===a[h-2].type?"*":""})).replace(ha,"$1"),c,h<d&&s(a.slice(h,d)),d<e&&s(a=a.slice(d)),d<e&&m(a))}k.push(c)}return o(k)}function t(a,c){var e=c.length>0,f=a.length>0,g=function(d,g,h,i,j){var k,l,m,n=0,o="0",p=d&&[],r=[],s=C,t=d||f&&w.find.TAG("*",j),u=P+=null==s?1:Math.random()||.1,v=t.length;for(j&&(C=g===G||g||j);o!==v&&null!=(k=t[o]);o++){if(f&&k){for(l=0,g||k.ownerDocument===G||(F(k),h=!I);m=a[l++];)if(m(k,g||G,h)){i.push(k);break}j&&(P=u)}e&&((k=!m&&k)&&n--,d&&p.push(k))}if(n+=o,e&&o!==n){for(l=0;m=c[l++];)m(p,r,g,h);if(d){if(n>0)for(;o--;)p[o]||r[o]||(r[o]=Y.call(i));r=q(r)}$.apply(i,r),j&&!d&&r.length>0&&n+c.length>1&&b.uniqueSort(i)}return j&&(P=u,C=s),p};return e?d(g):g}var u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N="sizzle"+1*new Date,O=a.document,P=0,Q=0,R=c(),S=c(),T=c(),U=function(a,b){return a===b&&(E=!0),0},V=1<<31,W={}.hasOwnProperty,X=[],Y=X.pop,Z=X.push,$=X.push,_=X.slice,aa=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},ba="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ca="[\\x20\\t\\r\\n\\f]",da="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ea="\\["+ca+"*("+da+")(?:"+ca+"*([*^$|!~]?=)"+ca+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+da+"))|)"+ca+"*\\]",fa=":("+da+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ea+")*)|.*)\\)|)",ga=new RegExp(ca+"+","g"),ha=new RegExp("^"+ca+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ca+"+$","g"),ia=new RegExp("^"+ca+"*,"+ca+"*"),ja=new RegExp("^"+ca+"*([>+~]|"+ca+")"+ca+"*"),ka=new RegExp("="+ca+"*([^\\]'\"]*?)"+ca+"*\\]","g"),la=new RegExp(fa),ma=new RegExp("^"+da+"$"),na={ID:new RegExp("^#("+da+")"),CLASS:new RegExp("^\\.("+da+")"),TAG:new RegExp("^("+da+"|[*])"),ATTR:new RegExp("^"+ea),PSEUDO:new RegExp("^"+fa),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ca+"*(even|odd|(([+-]|)(\\d*)n|)"+ca+"*(?:([+-]|)"+ca+"*(\\d+)|))"+ca+"*\\)|)","i"),bool:new RegExp("^(?:"+ba+")$","i"),needsContext:new RegExp("^"+ca+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ca+"*((?:-\\d)?\\d*)"+ca+"*\\)|)(?=[^-]|$)","i")},oa=/^(?:input|select|textarea|button)$/i,pa=/^h\d$/i,qa=/^[^{]+\{\s*\[native \w/,ra=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,sa=/[+~]/,ta=/'|\\/g,ua=new RegExp("\\\\([\\da-f]{1,6}"+ca+"?|("+ca+")|.)","ig"),va=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},wa=function(){F()};try{$.apply(X=_.call(O.childNodes),O.childNodes),X[O.childNodes.length].nodeType}catch(xa){$={apply:X.length?function(a,b){Z.apply(a,_.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}v=b.support={},y=b.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},F=b.setDocument=function(a){var b,c,d=a?a.ownerDocument||a:O;return d!==G&&9===d.nodeType&&d.documentElement?(G=d,H=G.documentElement,I=!y(G),(c=G.defaultView)&&c.top!==c&&(c.addEventListener?c.addEventListener("unload",wa,!1):c.attachEvent&&c.attachEvent("onunload",wa)),v.attributes=e(function(a){return a.className="i",!a.getAttribute("className")}),v.getElementsByTagName=e(function(a){return a.appendChild(G.createComment("")),!a.getElementsByTagName("*").length}),v.getElementsByClassName=qa.test(G.getElementsByClassName),v.getById=e(function(a){return H.appendChild(a).id=N,!G.getElementsByName||!G.getElementsByName(N).length}),v.getById?(w.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&I){var c=b.getElementById(a);return c?[c]:[]}},w.filter.ID=function(a){var b=a.replace(ua,va);return function(a){return a.getAttribute("id")===b}}):(delete w.find.ID,w.filter.ID=function(a){var b=a.replace(ua,va);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),w.find.TAG=v.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):v.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},w.find.CLASS=v.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&I)return b.getElementsByClassName(a)},K=[],J=[],(v.qsa=qa.test(G.querySelectorAll))&&(e(function(a){H.appendChild(a).innerHTML="<a id='"+N+"'></a><select id='"+N+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&J.push("[*^$]="+ca+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||J.push("\\["+ca+"*(?:value|"+ba+")"),a.querySelectorAll("[id~="+N+"-]").length||J.push("~="),a.querySelectorAll(":checked").length||J.push(":checked"),a.querySelectorAll("a#"+N+"+*").length||J.push(".#.+[+~]")}),e(function(a){var b=G.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&J.push("name"+ca+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||J.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),J.push(",.*:")})),(v.matchesSelector=qa.test(L=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&e(function(a){v.disconnectedMatch=L.call(a,"div"),L.call(a,"[s!='']:x"),K.push("!=",fa)}),J=J.length&&new RegExp(J.join("|")),K=K.length&&new RegExp(K.join("|")),b=qa.test(H.compareDocumentPosition),M=b||qa.test(H.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},U=b?function(a,b){if(a===b)return E=!0,0;var c=!a.compareDocumentPosition-!b.compareDocumentPosition;return c?c:(c=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&c||!v.sortDetached&&b.compareDocumentPosition(a)===c?a===G||a.ownerDocument===O&&M(O,a)?-1:b===G||b.ownerDocument===O&&M(O,b)?1:D?aa(D,a)-aa(D,b):0:4&c?-1:1)}:function(a,b){if(a===b)return E=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===G?-1:b===G?1:e?-1:f?1:D?aa(D,a)-aa(D,b):0;if(e===f)return g(a,b);for(c=a;c=c.parentNode;)h.unshift(c);for(c=b;c=c.parentNode;)i.unshift(c);for(;h[d]===i[d];)d++;return d?g(h[d],i[d]):h[d]===O?-1:i[d]===O?1:0},G):G},b.matches=function(a,c){return b(a,null,null,c)},b.matchesSelector=function(a,c){if((a.ownerDocument||a)!==G&&F(a),c=c.replace(ka,"='$1']"),v.matchesSelector&&I&&!T[c+" "]&&(!K||!K.test(c))&&(!J||!J.test(c)))try{var d=L.call(a,c);if(d||v.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return b(c,G,null,[a]).length>0},b.contains=function(a,b){return(a.ownerDocument||a)!==G&&F(a),M(a,b)},b.attr=function(a,b){(a.ownerDocument||a)!==G&&F(a);var c=w.attrHandle[b.toLowerCase()],d=c&&W.call(w.attrHandle,b.toLowerCase())?c(a,b,!I):void 0;return void 0!==d?d:v.attributes||!I?a.getAttribute(b):(d=a.getAttributeNode(b))&&d.specified?d.value:null},b.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},b.uniqueSort=function(a){var b,c=[],d=0,e=0;if(E=!v.detectDuplicates,D=!v.sortStable&&a.slice(0),a.sort(U),E){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return D=null,a},x=b.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=x(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d++];)c+=x(b);return c},w=b.selectors={cacheLength:50,createPseudo:d,match:na,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ua,va),a[3]=(a[3]||a[4]||a[5]||"").replace(ua,va),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||b.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&b.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return na.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&la.test(c)&&(b=z(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ua,va).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=R[a+" "];return b||(b=new RegExp("(^|"+ca+")"+a+"("+ca+"|$)"))&&R(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,c,d){return function(e){var f=b.attr(e,a);return null==f?"!="===c:!c||(f+="","="===c?f===d:"!="===c?f!==d:"^="===c?d&&0===f.indexOf(d):"*="===c?d&&f.indexOf(d)>-1:"$="===c?d&&f.slice(-d.length)===d:"~="===c?(" "+f.replace(ga," ")+" ").indexOf(d)>-1:"|="===c&&(f===d||f.slice(0,d.length+1)===d+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){for(;p;){for(m=b;m=m[p];)if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(m=q,l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===P&&j[1],t=n&&j[2],m=n&&q.childNodes[n];m=++n&&m&&m[p]||(t=n=0)||o.pop();)if(1===m.nodeType&&++t&&m===b){k[a]=[P,n,t];break}}else if(s&&(m=b,l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===P&&j[1],t=n),t===!1)for(;(m=++n&&m&&m[p]||(t=n=0)||o.pop())&&((h?m.nodeName.toLowerCase()!==r:1!==m.nodeType)||!++t||(s&&(l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[P,t]),m!==b)););return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,c){var e,f=w.pseudos[a]||w.setFilters[a.toLowerCase()]||b.error("unsupported pseudo: "+a);return f[N]?f(c):f.length>1?(e=[a,a,"",c],w.setFilters.hasOwnProperty(a.toLowerCase())?d(function(a,b){for(var d,e=f(a,c),g=e.length;g--;)d=aa(a,e[g]),a[d]=!(b[d]=e[g])}):function(a){return f(a,0,e)}):f}},pseudos:{not:d(function(a){var b=[],c=[],e=A(a.replace(ha,"$1"));return e[N]?d(function(a,b,c,d){for(var f,g=e(a,null,d,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,d,f){return b[0]=a,e(b,null,f,c),b[0]=null,!c.pop()}}),has:d(function(a){return function(c){return b(a,c).length>0}}),contains:d(function(a){return a=a.replace(ua,va),function(b){return(b.textContent||b.innerText||x(b)).indexOf(a)>-1}}),lang:d(function(a){return ma.test(a||"")||b.error("unsupported lang: "+a),a=a.replace(ua,va).toLowerCase(),function(b){var c;do if(c=I?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===H},focus:function(a){return a===G.activeElement&&(!G.hasFocus||G.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!w.pseudos.empty(a)},header:function(a){return pa.test(a.nodeName)},input:function(a){return oa.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:j(function(){return[0]}),last:j(function(a,b){return[b-1]}),eq:j(function(a,b,c){return[c<0?c+b:c]}),even:j(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:j(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:j(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:j(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},w.pseudos.nth=w.pseudos.eq;for(u in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[u]=h(u);for(u in{submit:!0,reset:!0})w.pseudos[u]=i(u);return l.prototype=w.filters=w.pseudos,w.setFilters=new l,z=b.tokenize=function(a,c){var d,e,f,g,h,i,j,k=S[a+" "];if(k)return c?0:k.slice(0);for(h=a,i=[],j=w.preFilter;h;){d&&!(e=ia.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),d=!1,(e=ja.exec(h))&&(d=e.shift(),f.push({value:d,type:e[0].replace(ha," ")}),h=h.slice(d.length));for(g in w.filter)!(e=na[g].exec(h))||j[g]&&!(e=j[g](e))||(d=e.shift(),f.push({value:d,type:g,matches:e}),h=h.slice(d.length));if(!d)break}return c?h.length:h?b.error(a):S(a,i).slice(0)},A=b.compile=function(a,b){var c,d=[],e=[],f=T[a+" "];if(!f){for(b||(b=z(a)),c=b.length;c--;)f=s(b[c]),f[N]?d.push(f):e.push(f);f=T(a,t(e,d)),f.selector=a}return f},B=b.select=function(a,b,c,d){var e,f,g,h,i,j="function"==typeof a&&a,l=!d&&z(a=j.selector||a);if(c=c||[],1===l.length){if(f=l[0]=l[0].slice(0),f.length>2&&"ID"===(g=f[0]).type&&v.getById&&9===b.nodeType&&I&&w.relative[f[1].type]){if(b=(w.find.ID(g.matches[0].replace(ua,va),b)||[])[0],!b)return c;j&&(b=b.parentNode),a=a.slice(f.shift().value.length)}for(e=na.needsContext.test(a)?0:f.length;e--&&(g=f[e],!w.relative[h=g.type]);)if((i=w.find[h])&&(d=i(g.matches[0].replace(ua,va),sa.test(f[0].type)&&k(b.parentNode)||b))){if(f.splice(e,1),a=d.length&&m(f),!a)return $.apply(c,d),c;break}}return(j||A(a,l))(d,b,!I,c,!b||sa.test(a)&&k(b.parentNode)||b),c},v.sortStable=N.split("").sort(U).join("")===N,v.detectDuplicates=!!E,F(),v.sortDetached=e(function(a){return 1&a.compareDocumentPosition(G.createElement("div"))}),e(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||f("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),v.attributes&&e(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||f("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),e(function(a){return null==a.getAttribute("disabled")})||f(ba,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),b}(b);ga.find=la,ga.expr=la.selectors,ga.expr[":"]=ga.expr.pseudos,ga.uniqueSort=ga.unique=la.uniqueSort,ga.text=la.getText,ga.isXMLDoc=la.isXML,ga.contains=la.contains;var ma=function(a,b,c){for(var d=[],e=void 0!==c;(a=a[b])&&9!==a.nodeType;)if(1===a.nodeType){if(e&&ga(a).is(c))break;d.push(a)}return d},na=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},oa=ga.expr.match.needsContext,pa=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,qa=/^.[^:#\[\.,]*$/;ga.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?ga.find.matchesSelector(d,a)?[d]:[]:ga.find.matches(a,ga.grep(b,function(a){return 1===a.nodeType}))},ga.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(ga(a).filter(function(){for(b=0;b<c;b++)if(ga.contains(e[b],this))return!0}));for(b=0;b<c;b++)ga.find(a,e[b],d);return d=this.pushStack(c>1?ga.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(e(this,a||[],!1))},not:function(a){return this.pushStack(e(this,a||[],!0))},is:function(a){return!!e(this,"string"==typeof a&&oa.test(a)?ga(a):a||[],!1).length}});var ra,sa=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ta=ga.fn.init=function(a,b,c){var d,e;if(!a)return this;if(c=c||ra,"string"==typeof a){if(d="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:sa.exec(a),!d||!d[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(d[1]){if(b=b instanceof ga?b[0]:b,ga.merge(this,ga.parseHTML(d[1],b&&b.nodeType?b.ownerDocument||b:Y,!0)),pa.test(d[1])&&ga.isPlainObject(b))for(d in b)ga.isFunction(this[d])?this[d](b[d]):this.attr(d,b[d]);return this}return e=Y.getElementById(d[2]),e&&e.parentNode&&(this.length=1,this[0]=e),this.context=Y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):ga.isFunction(a)?void 0!==c.ready?c.ready(a):a(ga):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),ga.makeArray(a,this))};ta.prototype=ga.fn,ra=ga(Y);var ua=/^(?:parents|prev(?:Until|All))/,va={children:!0,contents:!0,next:!0,prev:!0};ga.fn.extend({has:function(a){var b=ga(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(ga.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=oa.test(a)||"string"!=typeof a?ga(a,b||this.context):0;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&ga.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?ga.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?aa.call(ga(a),this[0]):aa.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(ga.uniqueSort(ga.merge(this.get(),ga(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),ga.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return ma(a,"parentNode")},parentsUntil:function(a,b,c){return ma(a,"parentNode",c)},next:function(a){return f(a,"nextSibling")},prev:function(a){return f(a,"previousSibling")},nextAll:function(a){return ma(a,"nextSibling")},prevAll:function(a){return ma(a,"previousSibling")},nextUntil:function(a,b,c){return ma(a,"nextSibling",c)},prevUntil:function(a,b,c){return ma(a,"previousSibling",c)},siblings:function(a){return na((a.parentNode||{}).firstChild,a)},children:function(a){return na(a.firstChild)},contents:function(a){return a.contentDocument||ga.merge([],a.childNodes)}},function(a,b){ga.fn[a]=function(c,d){var e=ga.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=ga.filter(d,e)),this.length>1&&(va[a]||ga.uniqueSort(e),ua.test(a)&&e.reverse()),this.pushStack(e)}});var wa=/\S+/g;ga.Callbacks=function(a){a="string"==typeof a?g(a):ga.extend({},a);var b,c,d,e,f=[],h=[],i=-1,j=function(){for(e=a.once,d=b=!0;h.length;i=-1)for(c=h.shift();++i<f.length;)f[i].apply(c[0],c[1])===!1&&a.stopOnFalse&&(i=f.length,c=!1);a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},k={add:function(){return f&&(c&&!b&&(i=f.length-1,h.push(c)),function d(b){ga.each(b,function(b,c){ga.isFunction(c)?a.unique&&k.has(c)||f.push(c):c&&c.length&&"string"!==ga.type(c)&&d(c)})}(arguments),c&&!b&&j()),this},remove:function(){return ga.each(arguments,function(a,b){for(var c;(c=ga.inArray(b,f,c))>-1;)f.splice(c,1),c<=i&&i--}),this},has:function(a){return a?ga.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=h=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=h=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],h.push(c),b||j()),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},ga.extend({Deferred:function(a){var b=[["resolve","done",ga.Callbacks("once memory"),"resolved"],["reject","fail",ga.Callbacks("once memory"),"rejected"],["notify","progress",ga.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return ga.Deferred(function(c){ga.each(b,function(b,f){var g=ga.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&ga.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?ga.extend(a,d):d}},e={};return d.pipe=d.then,ga.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=Z.call(arguments),g=f.length,h=1!==g||a&&ga.isFunction(a.promise)?g:0,i=1===h?a:ga.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?Z.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=new Array(g),c=new Array(g),d=new Array(g);e<g;e++)f[e]&&ga.isFunction(f[e].promise)?f[e].promise().progress(j(e,c,b)).done(j(e,d,f)).fail(i.reject):--h;return h||i.resolveWith(d,f),i.promise()}});var xa;ga.fn.ready=function(a){return ga.ready.promise().done(a),this},ga.extend({isReady:!1,readyWait:1,holdReady:function(a){a?ga.readyWait++:ga.ready(!0)},ready:function(a){(a===!0?--ga.readyWait:ga.isReady)||(ga.isReady=!0,a!==!0&&--ga.readyWait>0||(xa.resolveWith(Y,[ga]),ga.fn.triggerHandler&&(ga(Y).triggerHandler("ready"),ga(Y).off("ready"))))}}),ga.ready.promise=function(a){return xa||(xa=ga.Deferred(),"complete"===Y.readyState||"loading"!==Y.readyState&&!Y.documentElement.doScroll?b.setTimeout(ga.ready):(Y.addEventListener("DOMContentLoaded",h),b.addEventListener("load",h))),xa.promise(a)},ga.ready.promise();var ya=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===ga.type(c)){e=!0;for(h in c)ya(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,ga.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(ga(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},za=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};i.uid=1,i.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!za(a))return{};var b=a[this.expando];return b||(b={},za(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,ga.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{ga.isArray(b)?d=b.concat(b.map(ga.camelCase)):(e=ga.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(wa)||[])),c=d.length;for(;c--;)delete f[d[c]]}(void 0===b||ga.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!ga.isEmptyObject(b)}};var Aa=new i,Ba=new i,Ca=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Da=/[A-Z]/g;ga.extend({hasData:function(a){return Ba.hasData(a)||Aa.hasData(a)},data:function(a,b,c){return Ba.access(a,b,c)},removeData:function(a,b){Ba.remove(a,b)},_data:function(a,b,c){return Aa.access(a,b,c)},_removeData:function(a,b){Aa.remove(a,b)}}),ga.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=Ba.get(f),1===f.nodeType&&!Aa.get(f,"hasDataAttrs"))){for(c=g.length;c--;)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=ga.camelCase(d.slice(5)),j(f,d,e[d])));Aa.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){Ba.set(this,a)}):ya(this,function(b){
var c,d;if(f&&void 0===b){if(c=Ba.get(f,a)||Ba.get(f,a.replace(Da,"-$&").toLowerCase()),void 0!==c)return c;if(d=ga.camelCase(a),c=Ba.get(f,d),void 0!==c)return c;if(c=j(f,d,void 0),void 0!==c)return c}else d=ga.camelCase(a),this.each(function(){var c=Ba.get(this,d);Ba.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&Ba.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){Ba.remove(this,a)})}}),ga.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=Aa.get(a,b),c&&(!d||ga.isArray(c)?d=Aa.access(a,b,ga.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=ga.queue(a,b),d=c.length,e=c.shift(),f=ga._queueHooks(a,b),g=function(){ga.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return Aa.get(a,c)||Aa.access(a,c,{empty:ga.Callbacks("once memory").add(function(){Aa.remove(a,[b+"queue",c])})})}}),ga.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?ga.queue(this[0],a):void 0===b?this:this.each(function(){var c=ga.queue(this,a,b);ga._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&ga.dequeue(this,a)})},dequeue:function(a){return this.each(function(){ga.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=ga.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};for("string"!=typeof a&&(b=a,a=void 0),a=a||"fx";g--;)c=Aa.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Ea=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Fa=new RegExp("^(?:([+-])=|)("+Ea+")([a-z%]*)$","i"),Ga=["Top","Right","Bottom","Left"],Ha=function(a,b){return a=b||a,"none"===ga.css(a,"display")||!ga.contains(a.ownerDocument,a)},Ia=/^(?:checkbox|radio)$/i,Ja=/<([\w:-]+)/,Ka=/^$|\/(?:java|ecma)script/i,La={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};La.optgroup=La.option,La.tbody=La.tfoot=La.colgroup=La.caption=La.thead,La.th=La.td;var Ma=/<|&#?\w+;/;!function(){var a=Y.createDocumentFragment(),b=a.appendChild(Y.createElement("div")),c=Y.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),ea.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",ea.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var Na=/^key/,Oa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Pa=/^([^.]*)(?:\.(.+)|)/;ga.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=Aa.get(a);if(q)for(c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=ga.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof ga&&ga.event.triggered!==b.type?ga.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(wa)||[""],j=b.length;j--;)h=Pa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=ga.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=ga.event.special[n]||{},k=ga.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&ga.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),ga.event.global[n]=!0)},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=Aa.hasData(a)&&Aa.get(a);if(q&&(i=q.events)){for(b=(b||"").match(wa)||[""],j=b.length;j--;)if(h=Pa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){for(l=ga.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;f--;)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||ga.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)ga.event.remove(a,n+b[j],c,d,!0);ga.isEmptyObject(i)&&Aa.remove(a,"handle events")}},dispatch:function(a){a=ga.event.fix(a);var b,c,d,e,f,g=[],h=Z.call(arguments),i=(Aa.get(this,"events")||{})[a.type]||[],j=ga.event.special[a.type]||{};if(h[0]=a,a.delegateTarget=this,!j.preDispatch||j.preDispatch.call(this,a)!==!1){for(g=ga.event.handlers.call(this,a,i),b=0;(e=g[b++])&&!a.isPropagationStopped();)for(a.currentTarget=e.elem,c=0;(f=e.handlers[c++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(f.namespace)||(a.handleObj=f,a.data=f.data,d=((ga.event.special[f.origType]||{}).handle||f.handler).apply(e.elem,h),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()));return j.postDispatch&&j.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;c<h;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?ga(e,this).index(i)>-1:ga.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||Y,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[ga.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];for(g||(this.fixHooks[e]=g=Oa.test(e)?this.mouseHooks:Na.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new ga.Event(f),b=d.length;b--;)c=d[b],a[c]=f[c];return a.target||(a.target=Y),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==q()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===q()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&ga.nodeName(this,"input"))return this.click(),!1},_default:function(a){return ga.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},ga.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},ga.Event=function(a,b){return this instanceof ga.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?o:p):this.type=a,b&&ga.extend(this,b),this.timeStamp=a&&a.timeStamp||ga.now(),void(this[ga.expando]=!0)):new ga.Event(a,b)},ga.Event.prototype={constructor:ga.Event,isDefaultPrevented:p,isPropagationStopped:p,isImmediatePropagationStopped:p,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=o,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=o,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=o,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},ga.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){ga.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||ga.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),ga.fn.extend({on:function(a,b,c,d){return r(this,a,b,c,d)},one:function(a,b,c,d){return r(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,ga(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=p),this.each(function(){ga.event.remove(this,a,c,b)})}});var Qa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Ra=/<script|<style|<link/i,Sa=/checked\s*(?:[^=]|=\s*.checked.)/i,Ta=/^true\/(.*)/,Ua=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;ga.extend({htmlPrefilter:function(a){return a.replace(Qa,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=ga.contains(a.ownerDocument,a);if(!(ea.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||ga.isXMLDoc(a)))for(g=l(h),f=l(a),d=0,e=f.length;d<e;d++)w(f[d],g[d]);if(b)if(c)for(f=f||l(a),g=g||l(h),d=0,e=f.length;d<e;d++)v(f[d],g[d]);else v(a,h);return g=l(h,"script"),g.length>0&&m(g,!i&&l(a,"script")),h},cleanData:function(a){for(var b,c,d,e=ga.event.special,f=0;void 0!==(c=a[f]);f++)if(za(c)){if(b=c[Aa.expando]){if(b.events)for(d in b.events)e[d]?ga.event.remove(c,d):ga.removeEvent(c,d,b.handle);c[Aa.expando]=void 0}c[Ba.expando]&&(c[Ba.expando]=void 0)}}}),ga.fn.extend({domManip:x,detach:function(a){return y(this,a,!0)},remove:function(a){return y(this,a)},text:function(a){return ya(this,function(a){return void 0===a?ga.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return x(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=s(this,a);b.appendChild(a)}})},prepend:function(){return x(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=s(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return x(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return x(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(ga.cleanData(l(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return ga.clone(this,a,b)})},html:function(a){return ya(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Ra.test(a)&&!La[(Ja.exec(a)||["",""])[1].toLowerCase()]){a=ga.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(ga.cleanData(l(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return x(this,arguments,function(b){var c=this.parentNode;ga.inArray(this,a)<0&&(ga.cleanData(l(this)),c&&c.replaceChild(b,this))},a)}}),ga.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){ga.fn[a]=function(a){for(var c,d=[],e=ga(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),ga(e[g])[b](c),_.apply(d,c.get());return this.pushStack(d)}});var Va,Wa={HTML:"block",BODY:"block"},Xa=/^margin/,Ya=new RegExp("^("+Ea+")(?!px)[a-z%]+$","i"),Za=function(a){var c=a.ownerDocument.defaultView;return c&&c.opener||(c=b),c.getComputedStyle(a)},$a=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},_a=Y.documentElement;!function(){function a(){h.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",h.innerHTML="",_a.appendChild(g);var a=b.getComputedStyle(h);c="1%"!==a.top,f="2px"===a.marginLeft,d="4px"===a.width,h.style.marginRight="50%",e="4px"===a.marginRight,_a.removeChild(g)}var c,d,e,f,g=Y.createElement("div"),h=Y.createElement("div");h.style&&(h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",ea.clearCloneStyle="content-box"===h.style.backgroundClip,g.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",g.appendChild(h),ga.extend(ea,{pixelPosition:function(){return a(),c},boxSizingReliable:function(){return null==d&&a(),d},pixelMarginRight:function(){return null==d&&a(),e},reliableMarginLeft:function(){return null==d&&a(),f},reliableMarginRight:function(){var a,c=h.appendChild(Y.createElement("div"));return c.style.cssText=h.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",h.style.width="1px",_a.appendChild(g),a=!parseFloat(b.getComputedStyle(c).marginRight),_a.removeChild(g),h.removeChild(c),a}}))}();var ab=/^(none|table(?!-c[ea]).+)/,bb={position:"absolute",visibility:"hidden",display:"block"},cb={letterSpacing:"0",fontWeight:"400"},db=["Webkit","O","Moz","ms"],eb=Y.createElement("div").style;ga.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=B(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=ga.camelCase(b),i=a.style;return b=ga.cssProps[h]||(ga.cssProps[h]=D(h)||h),g=ga.cssHooks[b]||ga.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Fa.exec(c))&&e[1]&&(c=k(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(ga.cssNumber[h]?"":"px")),ea.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=ga.camelCase(b);return b=ga.cssProps[h]||(ga.cssProps[h]=D(h)||h),g=ga.cssHooks[b]||ga.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=B(a,b,d)),"normal"===e&&b in cb&&(e=cb[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),ga.each(["height","width"],function(a,b){ga.cssHooks[b]={get:function(a,c,d){if(c)return ab.test(ga.css(a,"display"))&&0===a.offsetWidth?$a(a,bb,function(){return G(a,b,d)}):G(a,b,d)},set:function(a,c,d){var e,f=d&&Za(a),g=d&&F(a,b,d,"border-box"===ga.css(a,"boxSizing",!1,f),f);return g&&(e=Fa.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=ga.css(a,b)),E(a,c,g)}}}),ga.cssHooks.marginLeft=C(ea.reliableMarginLeft,function(a,b){if(b)return(parseFloat(B(a,"marginLeft"))||a.getBoundingClientRect().left-$a(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),ga.cssHooks.marginRight=C(ea.reliableMarginRight,function(a,b){if(b)return $a(a,{display:"inline-block"},B,[a,"marginRight"])}),ga.each({margin:"",padding:"",border:"Width"},function(a,b){ga.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+Ga[d]+b]=f[d]||f[d-2]||f[0];return e}},Xa.test(a)||(ga.cssHooks[a+b].set=E)}),ga.fn.extend({css:function(a,b){return ya(this,function(a,b,c){var d,e,f={},g=0;if(ga.isArray(b)){for(d=Za(a),e=b.length;g<e;g++)f[b[g]]=ga.css(a,b[g],!1,d);return f}return void 0!==c?ga.style(a,b,c):ga.css(a,b)},a,b,arguments.length>1)},show:function(){return H(this,!0)},hide:function(){return H(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){Ha(this)?ga(this).show():ga(this).hide()})}}),ga.Tween=I,I.prototype={constructor:I,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||ga.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(ga.cssNumber[c]?"":"px")},cur:function(){var a=I.propHooks[this.prop];return a&&a.get?a.get(this):I.propHooks._default.get(this)},run:function(a){var b,c=I.propHooks[this.prop];return this.options.duration?this.pos=b=ga.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=ga.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){ga.fx.step[a.prop]?ga.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[ga.cssProps[a.prop]]&&!ga.cssHooks[a.prop]?a.elem[a.prop]=a.now:ga.style(a.elem,a.prop,a.now+a.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},ga.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},ga.fx=I.prototype.init,ga.fx.step={};var fb,gb,hb=/^(?:toggle|show|hide)$/,ib=/queueHooks$/;ga.Animation=ga.extend(O,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return k(c.elem,a,Fa.exec(b),c),c}]},tweener:function(a,b){ga.isFunction(a)?(b=a,a=["*"]):a=a.match(wa);for(var c,d=0,e=a.length;d<e;d++)c=a[d],O.tweeners[c]=O.tweeners[c]||[],O.tweeners[c].unshift(b)},prefilters:[M],prefilter:function(a,b){b?O.prefilters.unshift(a):O.prefilters.push(a)}}),ga.speed=function(a,b,c){var d=a&&"object"==typeof a?ga.extend({},a):{complete:c||!c&&b||ga.isFunction(a)&&a,duration:a,easing:c&&b||b&&!ga.isFunction(b)&&b};return d.duration=ga.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in ga.fx.speeds?ga.fx.speeds[d.duration]:ga.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){ga.isFunction(d.old)&&d.old.call(this),d.queue&&ga.dequeue(this,d.queue)},d},ga.fn.extend({fadeTo:function(a,b,c,d){return this.filter(Ha).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=ga.isEmptyObject(a),f=ga.speed(b,c,d),g=function(){var b=O(this,ga.extend({},a),f);(e||Aa.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=ga.timers,g=Aa.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&ib.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||ga.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=Aa.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=ga.timers,g=d?d.length:0;for(c.finish=!0,ga.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),ga.each(["toggle","show","hide"],function(a,b){var c=ga.fn[b];ga.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(K(b,!0),a,d,e)}}),ga.each({slideDown:K("show"),slideUp:K("hide"),slideToggle:K("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){ga.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),ga.timers=[],ga.fx.tick=function(){var a,b=0,c=ga.timers;for(fb=ga.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||ga.fx.stop(),fb=void 0},ga.fx.timer=function(a){ga.timers.push(a),a()?ga.fx.start():ga.timers.pop()},ga.fx.interval=13,ga.fx.start=function(){gb||(gb=b.setInterval(ga.fx.tick,ga.fx.interval))},ga.fx.stop=function(){b.clearInterval(gb),gb=null},ga.fx.speeds={slow:600,fast:200,_default:400},ga.fn.delay=function(a,c){return a=ga.fx?ga.fx.speeds[a]||a:a,c=c||"fx",this.queue(c,function(c,d){var e=b.setTimeout(c,a);d.stop=function(){b.clearTimeout(e)}})},function(){var a=Y.createElement("input"),b=Y.createElement("select"),c=b.appendChild(Y.createElement("option"));a.type="checkbox",ea.checkOn=""!==a.value,ea.optSelected=c.selected,b.disabled=!0,ea.optDisabled=!c.disabled,a=Y.createElement("input"),a.value="t",a.type="radio",ea.radioValue="t"===a.value}();var jb,kb=ga.expr.attrHandle;ga.fn.extend({attr:function(a,b){return ya(this,ga.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){ga.removeAttr(this,a)})}}),ga.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?ga.prop(a,b,c):(1===f&&ga.isXMLDoc(a)||(b=b.toLowerCase(),e=ga.attrHooks[b]||(ga.expr.match.bool.test(b)?jb:void 0)),void 0!==c?null===c?void ga.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=ga.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!ea.radioValue&&"radio"===b&&ga.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(wa);if(f&&1===a.nodeType)for(;c=f[e++];)d=ga.propFix[c]||c,ga.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)}}),jb={set:function(a,b,c){return b===!1?ga.removeAttr(a,c):a.setAttribute(c,c),c}},ga.each(ga.expr.match.bool.source.match(/\w+/g),function(a,b){var c=kb[b]||ga.find.attr;kb[b]=function(a,b,d){var e,f;return d||(f=kb[b],kb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,kb[b]=f),e}});var lb=/^(?:input|select|textarea|button)$/i,mb=/^(?:a|area)$/i;ga.fn.extend({prop:function(a,b){return ya(this,ga.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[ga.propFix[a]||a]})}}),ga.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&ga.isXMLDoc(a)||(b=ga.propFix[b]||b,e=ga.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=ga.find.attr(a,"tabindex");return b?parseInt(b,10):lb.test(a.nodeName)||mb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),ea.optSelected||(ga.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),ga.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ga.propFix[this.toLowerCase()]=this});var nb=/[\t\r\n\f]/g;ga.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(ga.isFunction(a))return this.each(function(b){ga(this).addClass(a.call(this,b,P(this)))});if("string"==typeof a&&a)for(b=a.match(wa)||[];c=this[i++];)if(e=P(c),d=1===c.nodeType&&(" "+e+" ").replace(nb," ")){for(g=0;f=b[g++];)d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=ga.trim(d),e!==h&&c.setAttribute("class",h)}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(ga.isFunction(a))return this.each(function(b){ga(this).removeClass(a.call(this,b,P(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a)for(b=a.match(wa)||[];c=this[i++];)if(e=P(c),d=1===c.nodeType&&(" "+e+" ").replace(nb," ")){for(g=0;f=b[g++];)for(;d.indexOf(" "+f+" ")>-1;)d=d.replace(" "+f+" "," ");h=ga.trim(d),e!==h&&c.setAttribute("class",h)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):ga.isFunction(a)?this.each(function(c){ga(this).toggleClass(a.call(this,c,P(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c)for(d=0,e=ga(this),f=a.match(wa)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else void 0!==a&&"boolean"!==c||(b=P(this),b&&Aa.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":Aa.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;for(b=" "+a+" ";c=this[d++];)if(1===c.nodeType&&(" "+P(c)+" ").replace(nb," ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g,pb=/[\x20\t\r\n\f]+/g;ga.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=ga.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,ga(this).val()):a,null==e?e="":"number"==typeof e?e+="":ga.isArray(e)&&(e=ga.map(e,function(a){return null==a?"":a+""})),b=ga.valHooks[this.type]||ga.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=ga.valHooks[e.type]||ga.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),ga.extend({valHooks:{option:{get:function(a){var b=ga.find.attr(a,"value");return null!=b?b:ga.trim(ga.text(a)).replace(pb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||e<0,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i<h;i++)if(c=d[i],(c.selected||i===e)&&(ea.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!ga.nodeName(c.parentNode,"optgroup"))){if(b=ga(c).val(),f)return b;g.push(b)}return g},set:function(a,b){for(var c,d,e=a.options,f=ga.makeArray(b),g=e.length;g--;)d=e[g],(d.selected=ga.inArray(ga.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),ga.each(["radio","checkbox"],function(){ga.valHooks[this]={set:function(a,b){if(ga.isArray(b))return a.checked=ga.inArray(ga(a).val(),b)>-1}},ea.checkOn||(ga.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var qb=/^(?:focusinfocus|focusoutblur)$/;ga.extend(ga.event,{trigger:function(a,c,d,e){var f,g,h,i,j,k,l,m=[d||Y],n=da.call(a,"type")?a.type:a,o=da.call(a,"namespace")?a.namespace.split("."):[];if(g=h=d=d||Y,3!==d.nodeType&&8!==d.nodeType&&!qb.test(n+ga.event.triggered)&&(n.indexOf(".")>-1&&(o=n.split("."),n=o.shift(),o.sort()),j=n.indexOf(":")<0&&"on"+n,a=a[ga.expando]?a:new ga.Event(n,"object"==typeof a&&a),a.isTrigger=e?2:3,a.namespace=o.join("."),a.rnamespace=a.namespace?new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,a.result=void 0,a.target||(a.target=d),c=null==c?[a]:ga.makeArray(c,[a]),l=ga.event.special[n]||{},e||!l.trigger||l.trigger.apply(d,c)!==!1)){if(!e&&!l.noBubble&&!ga.isWindow(d)){for(i=l.delegateType||n,qb.test(i+n)||(g=g.parentNode);g;g=g.parentNode)m.push(g),h=g;h===(d.ownerDocument||Y)&&m.push(h.defaultView||h.parentWindow||b)}for(f=0;(g=m[f++])&&!a.isPropagationStopped();)a.type=f>1?i:l.bindType||n,k=(Aa.get(g,"events")||{})[a.type]&&Aa.get(g,"handle"),k&&k.apply(g,c),k=j&&g[j],k&&k.apply&&za(g)&&(a.result=k.apply(g,c),a.result===!1&&a.preventDefault());return a.type=n,e||a.isDefaultPrevented()||l._default&&l._default.apply(m.pop(),c)!==!1||!za(d)||j&&ga.isFunction(d[n])&&!ga.isWindow(d)&&(h=d[j],h&&(d[j]=null),ga.event.triggered=n,d[n](),ga.event.triggered=void 0,h&&(d[j]=h)),a.result}},simulate:function(a,b,c){var d=ga.extend(new ga.Event,c,{type:a,isSimulated:!0});ga.event.trigger(d,null,b)}}),ga.fn.extend({trigger:function(a,b){return this.each(function(){ga.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return ga.event.trigger(a,b,c,!0)}}),ga.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){ga.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),ga.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),ea.focusin="onfocusin"in b,ea.focusin||ga.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){ga.event.simulate(b,a.target,ga.event.fix(a))};ga.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=Aa.access(d,b);e||d.addEventListener(a,c,!0),Aa.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=Aa.access(d,b)-1;e?Aa.access(d,b,e):(d.removeEventListener(a,c,!0),Aa.remove(d,b))}}});var rb=b.location,sb=ga.now(),tb=/\?/;ga.parseJSON=function(a){return JSON.parse(a+"")},ga.parseXML=function(a){var c;if(!a||"string"!=typeof a)return null;try{c=(new b.DOMParser).parseFromString(a,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||ga.error("Invalid XML: "+a),c};var ub=/#.*$/,vb=/([?&])_=[^&]*/,wb=/^(.*?):[ \t]*([^\r\n]*)$/gm,xb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,yb=/^(?:GET|HEAD)$/,zb=/^\/\//,Ab={},Bb={},Cb="*/".concat("*"),Db=Y.createElement("a");Db.href=rb.href,ga.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:rb.href,type:"GET",isLocal:xb.test(rb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Cb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":ga.parseJSON,"text xml":ga.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?S(S(a,ga.ajaxSettings),b):S(ga.ajaxSettings,a)},ajaxPrefilter:Q(Ab),ajaxTransport:Q(Bb),ajax:function(a,c){function d(a,c,d,h){var j,l,s,t,v,x=c;2!==u&&(u=2,i&&b.clearTimeout(i),e=void 0,g=h||"",w.readyState=a>0?4:0,j=a>=200&&a<300||304===a,d&&(t=T(m,w,d)),t=U(m,t,w,j),j?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&(ga.lastModified[f]=v),v=w.getResponseHeader("etag"),v&&(ga.etag[f]=v)),204===a||"HEAD"===m.type?x="nocontent":304===a?x="notmodified":(x=t.state,l=t.data,s=t.error,j=!s)):(s=x,!a&&x||(x="error",a<0&&(a=0))),w.status=a,w.statusText=(c||x)+"",j?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=void 0,k&&o.trigger(j?"ajaxSuccess":"ajaxError",[w,m,j?l:s]),q.fireWith(n,[w,x]),k&&(o.trigger("ajaxComplete",[w,m]),--ga.active||ga.event.trigger("ajaxStop")))}"object"==typeof a&&(c=a,a=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=ga.ajaxSetup({},c),n=m.context||m,o=m.context&&(n.nodeType||n.jquery)?ga(n):ga.event,p=ga.Deferred(),q=ga.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!h)for(h={};b=wb.exec(g);)h[b[1].toLowerCase()]=b[2];b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(u<2)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return e&&e.abort(b),d(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,m.url=((a||m.url||rb.href)+"").replace(ub,"").replace(zb,rb.protocol+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=ga.trim(m.dataType||"*").toLowerCase().match(wa)||[""],null==m.crossDomain){j=Y.createElement("a");try{j.href=m.url,j.href=j.href,m.crossDomain=Db.protocol+"//"+Db.host!=j.protocol+"//"+j.host;
}catch(x){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=ga.param(m.data,m.traditional)),R(Ab,m,c,w),2===u)return w;k=ga.event&&m.global,k&&0===ga.active++&&ga.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!yb.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(tb.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=vb.test(f)?f.replace(vb,"$1_="+sb++):f+(tb.test(f)?"&":"?")+"_="+sb++)),m.ifModified&&(ga.lastModified[f]&&w.setRequestHeader("If-Modified-Since",ga.lastModified[f]),ga.etag[f]&&w.setRequestHeader("If-None-Match",ga.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+Cb+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)w.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(n,w,m)===!1||2===u))return w.abort();v="abort";for(l in{success:1,error:1,complete:1})w[l](m[l]);if(e=R(Bb,m,c,w)){if(w.readyState=1,k&&o.trigger("ajaxSend",[w,m]),2===u)return w;m.async&&m.timeout>0&&(i=b.setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,e.send(s,d)}catch(x){if(!(u<2))throw x;d(-1,x)}}else d(-1,"No Transport");return w},getJSON:function(a,b,c){return ga.get(a,b,c,"json")},getScript:function(a,b){return ga.get(a,void 0,b,"script")}}),ga.each(["get","post"],function(a,b){ga[b]=function(a,c,d,e){return ga.isFunction(c)&&(e=e||d,d=c,c=void 0),ga.ajax(ga.extend({url:a,type:b,dataType:e,data:c,success:d},ga.isPlainObject(a)&&a))}}),ga._evalUrl=function(a){return ga.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},ga.fn.extend({wrapAll:function(a){var b;return ga.isFunction(a)?this.each(function(b){ga(this).wrapAll(a.call(this,b))}):(this[0]&&(b=ga(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstElementChild;)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return ga.isFunction(a)?this.each(function(b){ga(this).wrapInner(a.call(this,b))}):this.each(function(){var b=ga(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=ga.isFunction(a);return this.each(function(c){ga(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){ga.nodeName(this,"body")||ga(this).replaceWith(this.childNodes)}).end()}}),ga.expr.filters.hidden=function(a){return!ga.expr.filters.visible(a)},ga.expr.filters.visible=function(a){return a.offsetWidth>0||a.offsetHeight>0||a.getClientRects().length>0};var Eb=/%20/g,Fb=/\[\]$/,Gb=/\r?\n/g,Hb=/^(?:submit|button|image|reset|file)$/i,Ib=/^(?:input|select|textarea|keygen)/i;ga.param=function(a,b){var c,d=[],e=function(a,b){b=ga.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=ga.ajaxSettings&&ga.ajaxSettings.traditional),ga.isArray(a)||a.jquery&&!ga.isPlainObject(a))ga.each(a,function(){e(this.name,this.value)});else for(c in a)V(c,a[c],b,e);return d.join("&").replace(Eb,"+")},ga.fn.extend({serialize:function(){return ga.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=ga.prop(this,"elements");return a?ga.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!ga(this).is(":disabled")&&Ib.test(this.nodeName)&&!Hb.test(a)&&(this.checked||!Ia.test(a))}).map(function(a,b){var c=ga(this).val();return null==c?null:ga.isArray(c)?ga.map(c,function(a){return{name:b.name,value:a.replace(Gb,"\r\n")}}):{name:b.name,value:c.replace(Gb,"\r\n")}}).get()}}),ga.ajaxSettings.xhr=function(){try{return new b.XMLHttpRequest}catch(a){}};var Jb={0:200,1223:204},Kb=ga.ajaxSettings.xhr();ea.cors=!!Kb&&"withCredentials"in Kb,ea.ajax=Kb=!!Kb,ga.ajaxTransport(function(a){var c,d;if(ea.cors||Kb&&!a.crossDomain)return{send:function(e,f){var g,h=a.xhr();if(h.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(g in a.xhrFields)h[g]=a.xhrFields[g];a.mimeType&&h.overrideMimeType&&h.overrideMimeType(a.mimeType),a.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Jb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&b.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(a.hasContent&&a.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),ga.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return ga.globalEval(a),a}}}),ga.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),ga.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=ga("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),Y.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Lb=[],Mb=/(=)\?(?=&|$)|\?\?/;ga.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Lb.pop()||ga.expando+"_"+sb++;return this[a]=!0,a}}),ga.ajaxPrefilter("json jsonp",function(a,c,d){var e,f,g,h=a.jsonp!==!1&&(Mb.test(a.url)?"url":"string"==typeof a.data&&0===(a.contentType||"").indexOf("application/x-www-form-urlencoded")&&Mb.test(a.data)&&"data");if(h||"jsonp"===a.dataTypes[0])return e=a.jsonpCallback=ga.isFunction(a.jsonpCallback)?a.jsonpCallback():a.jsonpCallback,h?a[h]=a[h].replace(Mb,"$1"+e):a.jsonp!==!1&&(a.url+=(tb.test(a.url)?"&":"?")+a.jsonp+"="+e),a.converters["script json"]=function(){return g||ga.error(e+" was not called"),g[0]},a.dataTypes[0]="json",f=b[e],b[e]=function(){g=arguments},d.always(function(){void 0===f?ga(b).removeProp(e):b[e]=f,a[e]&&(a.jsonpCallback=c.jsonpCallback,Lb.push(e)),g&&ga.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),ga.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||Y;var d=pa.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n([a],b,e),e&&e.length&&ga(e).remove(),ga.merge([],d.childNodes))};var Nb=ga.fn.load;ga.fn.load=function(a,b,c){if("string"!=typeof a&&Nb)return Nb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=ga.trim(a.slice(h)),a=a.slice(0,h)),ga.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&ga.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?ga("<div>").append(ga.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},ga.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){ga.fn[b]=function(a){return this.on(b,a)}}),ga.expr.filters.animated=function(a){return ga.grep(ga.timers,function(b){return a===b.elem}).length},ga.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=ga.css(a,"position"),l=ga(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=ga.css(a,"top"),i=ga.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),ga.isFunction(b)&&(b=b.call(a,c,ga.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},ga.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){ga.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,ga.contains(b,d)?(e=d.getBoundingClientRect(),c=W(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===ga.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),ga.nodeName(a[0],"html")||(d=a.offset()),d.top+=ga.css(a[0],"borderTopWidth",!0),d.left+=ga.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-ga.css(c,"marginTop",!0),left:b.left-d.left-ga.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent;a&&"static"===ga.css(a,"position");)a=a.offsetParent;return a||_a})}}),ga.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;ga.fn[a]=function(d){return ya(this,function(a,d,e){var f=W(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),ga.each(["top","left"],function(a,b){ga.cssHooks[b]=C(ea.pixelPosition,function(a,c){if(c)return c=B(a,b),Ya.test(c)?ga(a).position()[b]+"px":c})}),ga.each({Height:"height",Width:"width"},function(a,b){ga.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){ga.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return ya(this,function(b,c,d){var e;return ga.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?ga.css(b,c,g):ga.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),ga.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)},size:function(){return this.length}}),ga.fn.andSelf=ga.fn.addBack,"function"==typeof a&&a.amd&&a("npm:jquery@2.2.4/dist/jquery.js",[],function(){return ga})&&a("jquery",["npm:jquery@2.2.4/dist/jquery.js"],function(a){return a});var Ob=b.jQuery,Pb=b.$;return ga.noConflict=function(a){return b.$===ga&&(b.$=Pb),a&&b.jQuery===ga&&(b.jQuery=Ob),ga},c||(b.jQuery=b.$=ga),ga})}(),function(){var a=System.amdDefine;a("npm:jquery@2.2.4.js",["npm:jquery@2.2.4/dist/jquery.js"],function(a){return a})}(),function(){var a=System.amdDefine;!function(b,c){"object"==typeof exports&&"undefined"!=typeof module?module.exports=c():"function"==typeof a&&a.amd?a("npm:moment@2.18.1/moment.js",[],c):b.moment=c()}(this,function(){"use strict";function a(){return sd.apply(null,arguments)}function b(a){sd=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a)return!1;return!0}function f(a){return void 0===a}function g(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function h(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function i(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function j(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function k(a,b){for(var c in b)j(b,c)&&(a[c]=b[c]);return j(b,"toString")&&(a.toString=b.toString),j(b,"valueOf")&&(a.valueOf=b.valueOf),a}function l(a,b,c,d){return sb(a,b,c,d,!0).utc()}function m(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function n(a){return null==a._pf&&(a._pf=m()),a._pf}function o(a){if(null==a._isValid){var b=n(a),c=ud.call(b.parsedDateParts,function(a){return null!=a}),d=!isNaN(a._d.getTime())&&b.overflow<0&&!b.empty&&!b.invalidMonth&&!b.invalidWeekday&&!b.nullInput&&!b.invalidFormat&&!b.userInvalidated&&(!b.meridiem||b.meridiem&&c);if(a._strict&&(d=d&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour),null!=Object.isFrozen&&Object.isFrozen(a))return d;a._isValid=d}return a._isValid}function p(a){var b=l(NaN);return null!=a?k(n(b),a):n(b).userInvalidated=!0,b}function q(a,b){var c,d,e;if(f(b._isAMomentObject)||(a._isAMomentObject=b._isAMomentObject),f(b._i)||(a._i=b._i),f(b._f)||(a._f=b._f),f(b._l)||(a._l=b._l),f(b._strict)||(a._strict=b._strict),f(b._tzm)||(a._tzm=b._tzm),f(b._isUTC)||(a._isUTC=b._isUTC),f(b._offset)||(a._offset=b._offset),f(b._pf)||(a._pf=n(b)),f(b._locale)||(a._locale=b._locale),vd.length>0)for(c=0;c<vd.length;c++)d=vd[c],e=b[d],f(e)||(a[d]=e);return a}function r(b){q(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),wd===!1&&(wd=!0,a.updateOffset(this),wd=!1)}function s(a){return a instanceof r||null!=a&&null!=a._isAMomentObject}function t(a){return a<0?Math.ceil(a)||0:Math.floor(a)}function u(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=t(b)),c}function v(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;d<e;d++)(c&&a[d]!==b[d]||!c&&u(a[d])!==u(b[d]))&&g++;return g+f}function w(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function x(b,c){var d=!0;return k(function(){if(null!=a.deprecationHandler&&a.deprecationHandler(null,b),d){for(var e,f=[],g=0;g<arguments.length;g++){if(e="","object"==typeof arguments[g]){e+="\n["+g+"] ";for(var h in arguments[0])e+=h+": "+arguments[0][h]+", ";e=e.slice(0,-2)}else e=arguments[g];f.push(e)}w(b+"\nArguments: "+Array.prototype.slice.call(f).join("")+"\n"+(new Error).stack),d=!1}return c.apply(this,arguments)},c)}function y(b,c){null!=a.deprecationHandler&&a.deprecationHandler(b,c),xd[b]||(w(c),xd[b]=!0)}function z(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function A(a){var b,c;for(c in a)b=a[c],z(b)?this[c]=b:this["_"+c]=b;this._config=a,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function B(a,b){var c,e=k({},a);for(c in b)j(b,c)&&(d(a[c])&&d(b[c])?(e[c]={},k(e[c],a[c]),k(e[c],b[c])):null!=b[c]?e[c]=b[c]:delete e[c]);for(c in a)j(a,c)&&!j(b,c)&&d(a[c])&&(e[c]=k({},e[c]));return e}function C(a){null!=a&&this.set(a)}function D(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;return z(d)?d.call(b,c):d}function E(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function F(){return this._invalidDate}function G(a){return this._ordinal.replace("%d",a)}function H(a,b,c,d){var e=this._relativeTime[c];return z(e)?e(a,b,c,d):e.replace(/%d/i,a)}function I(a,b){var c=this._relativeTime[a>0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b)}function J(a,b){var c=a.toLowerCase();Hd[c]=Hd[c+"s"]=Hd[b]=a}function K(a){return"string"==typeof a?Hd[a]||Hd[a.toLowerCase()]:void 0}function L(a){var b,c,d={};for(c in a)j(a,c)&&(b=K(c),b&&(d[b]=a[c]));return d}function M(a,b){Id[a]=b}function N(a){var b=[];for(var c in a)b.push({unit:c,priority:Id[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateOffset(this,c),this):P(this,b)}}function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}function R(a){return a=K(a),z(this[a])?this[a]():this}function S(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d<c.length;d++)this[c[d].unit](a[c[d].unit])}else if(a=K(a),z(this[a]))return this[a](b);return this}function T(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Md[a]=e),b&&(Md[b[0]]=function(){return T(e.apply(this,arguments),b[1],b[2])}),c&&(Md[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function W(a){var b,c,d=a.match(Jd);for(b=0,c=d.length;b<c;b++)Md[d[b]]?d[b]=Md[d[b]]:d[b]=V(d[b]);return function(b){var e,f="";for(e=0;e<c;e++)f+=z(d[e])?d[e].call(b,a):d[e];return f}}function X(a,b){return a.isValid()?(b=Y(b,a.localeData()),Ld[b]=Ld[b]||W(b),Ld[b](a)):a.localeData().invalidDate()}function Y(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Kd.lastIndex=0;d>=0&&Kd.test(a);)a=a.replace(Kd,c),Kd.lastIndex=0,d-=1;return a}function Z(a,b,c){ce[a]=z(b)?b:function(a,d){return a&&c?c:b}}function $(a,b){return j(ce,a)?ce[a](b._strict,b._locale):new RegExp(_(a))}function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),g(b)&&(d=function(a,c){c[b]=u(a)}),c=0;c<a.length;c++)de[a[c]]=d}function ca(a,b){ba(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function da(a,b,c){null!=b&&j(de,a)&&de[a](b,c._a,c,a)}function ea(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function fa(a,b){return a?c(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||oe).test(b)?"format":"standalone"][a.month()]:c(this._months)?this._months:this._months.standalone}function ga(a,b){return a?c(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[oe.test(b)?"format":"standalone"][a.month()]:c(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function ha(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],d=0;d<12;++d)f=l([2e3,d]),this._shortMonthsParse[d]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[d]=this.months(f,"").toLocaleLowerCase();return c?"MMM"===b?(e=ne.call(this._shortMonthsParse,g),e!==-1?e:null):(e=ne.call(this._longMonthsParse,g),e!==-1?e:null):"MMM"===b?(e=ne.call(this._shortMonthsParse,g),e!==-1?e:(e=ne.call(this._longMonthsParse,g),e!==-1?e:null)):(e=ne.call(this._longMonthsParse,g),e!==-1?e:(e=ne.call(this._shortMonthsParse,g),e!==-1?e:null))}function ia(a,b,c){var d,e,f;if(this._monthsParseExact)return ha.call(this,a,b,c);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;d<12;d++){if(e=l([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function ja(a,b){var c;if(!a.isValid())return a;if("string"==typeof b)if(/^\d+$/.test(b))b=u(b);else if(b=a.localeData().monthsParse(b),!g(b))return a;return c=Math.min(a.date(),ea(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a}function ka(b){return null!=b?(ja(this,b),a.updateOffset(this,!0),this):P(this,"Month")}function la(){return ea(this.year(),this.month())}function ma(a){return this._monthsParseExact?(j(this,"_monthsRegex")||oa.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(j(this,"_monthsShortRegex")||(this._monthsShortRegex=re),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex)}function na(a){return this._monthsParseExact?(j(this,"_monthsRegex")||oa.call(this),a?this._monthsStrictRegex:this._monthsRegex):(j(this,"_monthsRegex")||(this._monthsRegex=se),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex)}function oa(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;b<12;b++)c=l([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(d.sort(a),e.sort(a),f.sort(a),b=0;b<12;b++)d[b]=aa(d[b]),e[b]=aa(e[b]);for(b=0;b<24;b++)f[b]=aa(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")","i")}function pa(a){return qa(a)?366:365}function qa(a){return a%4===0&&a%100!==0||a%400===0}function ra(){return qa(this.year())}function sa(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return a<100&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ta(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function ua(a,b,c){var d=7+b-c,e=(7+ta(a,0,d).getUTCDay()-b)%7;return-e+d-1}function va(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ua(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=pa(f)+j):j>pa(a)?(f=a+1,g=j-pa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function wa(a,b,c){var d,e,f=ua(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+xa(e,b,c)):g>xa(a.year(),b,c)?(d=g-xa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function xa(a,b,c){var d=ua(a,b,c),e=ua(a+1,b,c);return(pa(a)-d+e)/7}function ya(a){return wa(a,this._week.dow,this._week.doy).week}function za(){return this._week.dow}function Aa(){return this._week.doy}function Ba(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ca(a){var b=wa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function Da(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Ea(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Fa(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:c(this._weekdays)?this._weekdays:this._weekdays.standalone}function Ga(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ha(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ia(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)f=l([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null)))}function Ja(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ia.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){if(e=l([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Da(a,this.localeData()),this.add(a-b,"d")):b}function La(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Ma(a){if(!this.isValid())return null!=a?this:NaN;if(null!=a){var b=Ea(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Na(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(j(this,"_weekdaysRegex")||(this._weekdaysRegex=ye),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Oa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(j(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ze),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Pa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(j(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ae),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;b<7;b++)c=l([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);for(g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;b<7;b++)h[b]=aa(h[b]),i[b]=aa(i[b]),j[b]=aa(j[b]);this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}function Ra(){return this.hours()%12||12}function Sa(){return this.hours()||24}function Ta(a,b){U(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Ua(a,b){return b._meridiemParse}function Va(a){return"p"===(a+"").toLowerCase().charAt(0)}function Wa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Xa(a){return a?a.toLowerCase().replace("_","-"):a}function Ya(a){for(var b,c,d,e,f=0;f<a.length;){for(e=Xa(a[f]).split("-"),b=e.length,c=Xa(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=Za(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)break;b--}f++}return null}function Za(a){var b=null;if(!Fe[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Be._abbr,require("./locale/"+a),$a(b)}catch(c){}return Fe[a]}function $a(a,b){var c;return a&&(c=f(b)?bb(a):_a(a,b),c&&(Be=c)),Be._abbr}function _a(a,b){if(null!==b){var c=Ee;if(b.abbr=a,null!=Fe[a])y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=Fe[a]._config;else if(null!=b.parentLocale){if(null==Fe[b.parentLocale])return Ge[b.parentLocale]||(Ge[b.parentLocale]=[]),Ge[b.parentLocale].push({name:a,config:b}),null;c=Fe[b.parentLocale]._config}return Fe[a]=new C(B(c,b)),Ge[a]&&Ge[a].forEach(function(a){_a(a.name,a.config)}),$a(a),Fe[a]}return delete Fe[a],null}function ab(a,b){if(null!=b){var c,d=Ee;null!=Fe[a]&&(d=Fe[a]._config),b=B(d,b),c=new C(b),c.parentLocale=Fe[a],Fe[a]=c,$a(a)}else null!=Fe[a]&&(null!=Fe[a].parentLocale?Fe[a]=Fe[a].parentLocale:null!=Fe[a]&&delete Fe[a]);return Fe[a]}function bb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Be;if(!c(a)){if(b=Za(a))return b;a=[a]}return Ya(a)}function cb(){return Ad(Fe)}function db(a){var b,c=a._a;return c&&n(a).overflow===-2&&(b=c[fe]<0||c[fe]>11?fe:c[ge]<1||c[ge]>ea(c[ee],c[fe])?ge:c[he]<0||c[he]>24||24===c[he]&&(0!==c[ie]||0!==c[je]||0!==c[ke])?he:c[ie]<0||c[ie]>59?ie:c[je]<0||c[je]>59?je:c[ke]<0||c[ke]>999?ke:-1,n(a)._overflowDayOfYear&&(b<ee||b>ge)&&(b=ge),n(a)._overflowWeeks&&b===-1&&(b=le),n(a)._overflowWeekday&&b===-1&&(b=me),n(a).overflow=b),a}function eb(a){var b,c,d,e,f,g,h=a._i,i=He.exec(h)||Ie.exec(h);if(i){for(n(a).iso=!0,b=0,c=Ke.length;b<c;b++)if(Ke[b][1].exec(i[1])){e=Ke[b][0],d=Ke[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=Le.length;b<c;b++)if(Le[b][1].exec(i[3])){f=(i[2]||" ")+Le[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!Je.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),lb(a)}else a._isValid=!1}function fb(a){var b,c,d,e,f,g,h,i,j={" GMT":" +0000"," EDT":" -0400"," EST":" -0500"," CDT":" -0500"," CST":" -0600"," MDT":" -0600"," MST":" -0700"," PDT":" -0700"," PST":" -0800"},k="YXWVUTSRQPONZABCDEFGHIKLM";if(b=a._i.replace(/\([^\)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s|\s$/g,""),c=Ne.exec(b)){if(d=c[1]?"ddd"+(5===c[1].length?", ":" "):"",e="D MMM "+(c[2].length>10?"YYYY ":"YY "),f="HH:mm"+(c[4]?":ss":""),c[1]){var l=new Date(c[2]),m=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][l.getDay()];if(c[1].substr(0,3)!==m)return n(a).weekdayMismatch=!0,void(a._isValid=!1)}switch(c[5].length){case 2:0===i?h=" +0000":(i=k.indexOf(c[5][1].toUpperCase())-12,h=(i<0?" -":" +")+(""+i).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:h=j[c[5]];break;default:h=j[" GMT"]}c[5]=h,a._i=c.splice(1).join(""),g=" ZZ",a._f=d+e+f+g,lb(a),n(a).rfc2822=!0}else a._isValid=!1}function gb(b){var c=Me.exec(b._i);return null!==c?void(b._d=new Date((+c[1]))):(eb(b),void(b._isValid===!1&&(delete b._isValid,fb(b),b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b)))))}function hb(a,b,c){return null!=a?a:null!=b?b:c}function ib(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}function jb(a){var b,c,d,e,f=[];if(!a._d){for(d=ib(a),a._w&&null==a._a[ge]&&null==a._a[fe]&&kb(a),null!=a._dayOfYear&&(e=hb(a._a[ee],d[ee]),(a._dayOfYear>pa(e)||0===a._dayOfYear)&&(n(a)._overflowDayOfYear=!0),c=ta(e,0,a._dayOfYear),a._a[fe]=c.getUTCMonth(),a._a[ge]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[he]&&0===a._a[ie]&&0===a._a[je]&&0===a._a[ke]&&(a._nextDay=!0,a._a[he]=0),a._d=(a._useUTC?ta:sa).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[he]=24)}}function kb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,c=hb(b.GG,a._a[ee],wa(tb(),1,4).year),d=hb(b.W,1),e=hb(b.E,1),(e<1||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=wa(tb(),f,g);c=hb(b.gg,a._a[ee],j.year),d=hb(b.w,j.week),null!=b.d?(e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f}d<1||d>xa(c,f,g)?n(a)._overflowWeeks=!0:null!=i?n(a)._overflowWeekday=!0:(h=va(c,d,e,f,g),a._a[ee]=h.year,a._dayOfYear=h.dayOfYear)}function lb(b){if(b._f===a.ISO_8601)return void eb(b);if(b._f===a.RFC_2822)return void fb(b);b._a=[],n(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=Y(b._f,b._locale).match(Jd)||[],c=0;c<e.length;c++)f=e[c],d=(h.match($(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&n(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Md[f]?(d?n(b).empty=!1:n(b).unusedTokens.push(f),da(f,d,b)):b._strict&&!d&&n(b).unusedTokens.push(f);
n(b).charsLeftOver=i-j,h.length>0&&n(b).unusedInput.push(h),b._a[he]<=12&&n(b).bigHour===!0&&b._a[he]>0&&(n(b).bigHour=void 0),n(b).parsedDateParts=b._a.slice(0),n(b).meridiem=b._meridiem,b._a[he]=mb(b._locale,b._a[he],b._meridiem),jb(b),db(b)}function mb(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b}function nb(a){var b,c,d,e,f;if(0===a._f.length)return n(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=q({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],lb(b),o(b)&&(f+=n(b).charsLeftOver,f+=10*n(b).unusedTokens.length,n(b).score=f,(null==d||f<d)&&(d=f,c=b));k(a,c||b)}function ob(a){if(!a._d){var b=L(a._i);a._a=i([b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],function(a){return a&&parseInt(a,10)}),jb(a)}}function pb(a){var b=new r(db(qb(a)));return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function qb(a){var b=a._i,d=a._f;return a._locale=a._locale||bb(a._l),null===b||void 0===d&&""===b?p({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),s(b)?new r(db(b)):(h(b)?a._d=b:c(d)?nb(a):d?lb(a):rb(a),o(a)||(a._d=null),a))}function rb(b){var e=b._i;f(e)?b._d=new Date(a.now()):h(e)?b._d=new Date(e.valueOf()):"string"==typeof e?gb(b):c(e)?(b._a=i(e.slice(0),function(a){return parseInt(a,10)}),jb(b)):d(e)?ob(b):g(e)?b._d=new Date(e):a.createFromInputFallback(b)}function sb(a,b,f,g,h){var i={};return f!==!0&&f!==!1||(g=f,f=void 0),(d(a)&&e(a)||c(a)&&0===a.length)&&(a=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=h,i._l=f,i._i=a,i._f=b,i._strict=g,pb(i)}function tb(a,b,c,d){return sb(a,b,c,d,!1)}function ub(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return tb();for(d=b[0],e=1;e<b.length;++e)b[e].isValid()&&!b[e][a](d)||(d=b[e]);return d}function vb(){var a=[].slice.call(arguments,0);return ub("isBefore",a)}function wb(){var a=[].slice.call(arguments,0);return ub("isAfter",a)}function xb(a){for(var b in a)if(Re.indexOf(b)===-1||null!=a[b]&&isNaN(a[b]))return!1;for(var c=!1,d=0;d<Re.length;++d)if(a[Re[d]]){if(c)return!1;parseFloat(a[Re[d]])!==u(a[Re[d]])&&(c=!0)}return!0}function yb(){return this._isValid}function zb(){return Sb(NaN)}function Ab(a){var b=L(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._isValid=xb(b),this._milliseconds=+k+1e3*j+6e4*i+1e3*h*60*60,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=bb(),this._bubble()}function Bb(a){return a instanceof Ab}function Cb(a){return a<0?Math.round(-1*a)*-1:Math.round(a)}function Db(a,b){U(a,0,0,function(){var a=this.utcOffset(),c="+";return a<0&&(a=-a,c="-"),c+T(~~(a/60),2)+b+T(~~a%60,2)})}function Eb(a,b){var c=(b||"").match(a);if(null===c)return null;var d=c[c.length-1]||[],e=(d+"").match(Se)||["-",0,0],f=+(60*e[1])+u(e[2]);return 0===f?0:"+"===e[0]?f:-f}function Fb(b,c){var d,e;return c._isUTC?(d=c.clone(),e=(s(b)||h(b)?b.valueOf():tb(b).valueOf())-d.valueOf(),d._d.setTime(d._d.valueOf()+e),a.updateOffset(d,!1),d):tb(b).local()}function Gb(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Hb(b,c,d){var e,f=this._offset||0;if(!this.isValid())return null!=b?this:NaN;if(null!=b){if("string"==typeof b){if(b=Eb(_d,b),null===b)return this}else Math.abs(b)<16&&!d&&(b=60*b);return!this._isUTC&&c&&(e=Gb(this)),this._offset=b,this._isUTC=!0,null!=e&&this.add(e,"m"),f!==b&&(!c||this._changeInProgress?Xb(this,Sb(b-f,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?f:Gb(this)}function Ib(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Jb(a){return this.utcOffset(0,a)}function Kb(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Gb(this),"m")),this}function Lb(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var a=Eb($d,this._i);null!=a?this.utcOffset(a):this.utcOffset(0,!0)}return this}function Mb(a){return!!this.isValid()&&(a=a?tb(a).utcOffset():0,(this.utcOffset()-a)%60===0)}function Nb(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ob(){if(!f(this._isDSTShifted))return this._isDSTShifted;var a={};if(q(a,this),a=qb(a),a._a){var b=a._isUTC?l(a._a):tb(a._a);this._isDSTShifted=this.isValid()&&v(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Pb(){return!!this.isValid()&&!this._isUTC}function Qb(){return!!this.isValid()&&this._isUTC}function Rb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Sb(a,b){var c,d,e,f=a,h=null;return Bb(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:g(a)?(f={},b?f[b]=a:f.milliseconds=a):(h=Te.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:u(h[ge])*c,h:u(h[he])*c,m:u(h[ie])*c,s:u(h[je])*c,ms:u(Cb(1e3*h[ke]))*c}):(h=Ue.exec(a))?(c="-"===h[1]?-1:1,f={y:Tb(h[2],c),M:Tb(h[3],c),w:Tb(h[4],c),d:Tb(h[5],c),h:Tb(h[6],c),m:Tb(h[7],c),s:Tb(h[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Vb(tb(f.from),tb(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new Ab(f),Bb(a)&&j(a,"_locale")&&(d._locale=a._locale),d}function Tb(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function Ub(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Vb(a,b){var c;return a.isValid()&&b.isValid()?(b=Fb(b,a),a.isBefore(b)?c=Ub(a,b):(c=Ub(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function Wb(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(y(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Sb(c,d),Xb(this,e,a),this}}function Xb(b,c,d,e){var f=c._milliseconds,g=Cb(c._days),h=Cb(c._months);b.isValid()&&(e=null==e||e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&Q(b,"Date",P(b,"Date")+g*d),h&&ja(b,P(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Yb(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse"}function Zb(b,c){var d=b||tb(),e=Fb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(z(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,tb(d)))}function $b(){return new r(this)}function _b(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid())&&(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()<this.clone().startOf(b).valueOf())}function ac(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid())&&(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()<c.valueOf():this.clone().endOf(b).valueOf()<c.valueOf())}function bc(a,b,c,d){return d=d||"()",("("===d[0]?this.isAfter(a,c):!this.isBefore(a,c))&&(")"===d[1]?this.isBefore(b,c):!this.isAfter(b,c))}function cc(a,b){var c,d=s(a)?a:tb(a);return!(!this.isValid()||!d.isValid())&&(b=K(b||"millisecond"),"millisecond"===b?this.valueOf()===d.valueOf():(c=d.valueOf(),this.clone().startOf(b).valueOf()<=c&&c<=this.clone().endOf(b).valueOf()))}function dc(a,b){return this.isSame(a,b)||this.isAfter(a,b)}function ec(a,b){return this.isSame(a,b)||this.isBefore(a,b)}function fc(a,b,c){var d,e,f,g;return this.isValid()?(d=Fb(a,this),d.isValid()?(e=6e4*(d.utcOffset()-this.utcOffset()),b=K(b),"year"===b||"month"===b||"quarter"===b?(g=gc(this,d),"quarter"===b?g/=3:"year"===b&&(g/=12)):(f=this-d,g="second"===b?f/1e3:"minute"===b?f/6e4:"hour"===b?f/36e5:"day"===b?(f-e)/864e5:"week"===b?(f-e)/6048e5:f),c?g:t(g)):NaN):NaN}function gc(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,"months");return b-f<0?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)||0}function hc(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ic(){if(!this.isValid())return null;var a=this.clone().utc();return a.year()<0||a.year()>9999?X(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):z(Date.prototype.toISOString)?this.toDate().toISOString():X(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function jc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f)}function kc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=X(this,b);return this.localeData().postformat(c)}function lc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function mc(a){return this.from(tb(),a)}function nc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function oc(a){return this.to(tb(),a)}function pc(a){var b;return void 0===a?this._locale._abbr:(b=bb(a),null!=b&&(this._locale=b),this)}function qc(){return this._locale}function rc(a){switch(a=K(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function sc(a){return a=K(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function tc(){return this._d.valueOf()-6e4*(this._offset||0)}function uc(){return Math.floor(this.valueOf()/1e3)}function vc(){return new Date(this.valueOf())}function wc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function xc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function yc(){return this.isValid()?this.toISOString():null}function zc(){return o(this)}function Ac(){return k({},n(this))}function Bc(){return n(this).overflow}function Cc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Dc(a,b){U(0,[a,a.length],0,b)}function Ec(a){return Ic.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Fc(a){return Ic.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Gc(){return xa(this.year(),1,4)}function Hc(){var a=this.localeData()._week;return xa(this.year(),a.dow,a.doy)}function Ic(a,b,c,d,e){var f;return null==a?wa(this,d,e).year:(f=xa(a,d,e),b>f&&(b=f),Jc.call(this,a,b,c,d,e))}function Jc(a,b,c,d,e){var f=va(a,b,c,d,e),g=ta(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}function Kc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Lc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Mc(a,b){b[ke]=u(1e3*("0."+a))}function Nc(){return this._isUTC?"UTC":""}function Oc(){return this._isUTC?"Coordinated Universal Time":""}function Pc(a){return tb(1e3*a)}function Qc(){return tb.apply(null,arguments).parseZone()}function Rc(a){return a}function Sc(a,b,c,d){var e=bb(),f=l().set(d,b);return e[c](f,a)}function Tc(a,b,c){if(g(a)&&(b=a,a=void 0),a=a||"",null!=b)return Sc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++)e[d]=Sc(a,d,c,"month");return e}function Uc(a,b,c,d){"boolean"==typeof a?(g(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,g(b)&&(c=b,b=void 0),b=b||"");var e=bb(),f=a?e._week.dow:0;if(null!=c)return Sc(b,(c+f)%7,d,"day");var h,i=[];for(h=0;h<7;h++)i[h]=Sc(b,(h+f)%7,d,"day");return i}function Vc(a,b){return Tc(a,b,"months")}function Wc(a,b){return Tc(a,b,"monthsShort")}function Xc(a,b,c){return Uc(a,b,c,"weekdays")}function Yc(a,b,c){return Uc(a,b,c,"weekdaysShort")}function Zc(a,b,c){return Uc(a,b,c,"weekdaysMin")}function $c(){var a=this._data;return this._milliseconds=df(this._milliseconds),this._days=df(this._days),this._months=df(this._months),a.milliseconds=df(a.milliseconds),a.seconds=df(a.seconds),a.minutes=df(a.minutes),a.hours=df(a.hours),a.months=df(a.months),a.years=df(a.years),this}function _c(a,b,c,d){var e=Sb(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function ad(a,b){return _c(this,a,b,1)}function bd(a,b){return _c(this,a,b,-1)}function cd(a){return a<0?Math.floor(a):Math.ceil(a)}function dd(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*cd(fd(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=t(f/1e3),i.seconds=a%60,b=t(a/60),i.minutes=b%60,c=t(b/60),i.hours=c%24,g+=t(c/24),e=t(ed(g)),h+=e,g-=cd(fd(e)),d=t(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function ed(a){return 4800*a/146097}function fd(a){return 146097*a/4800}function gd(a){if(!this.isValid())return NaN;var b,c,d=this._milliseconds;if(a=K(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+ed(b),"month"===a?c:c/12;switch(b=this._days+Math.round(fd(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function hd(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12):NaN}function id(a){return function(){return this.as(a)}}function jd(a){return a=K(a),this.isValid()?this[a+"s"]():NaN}function kd(a){return function(){return this.isValid()?this._data[a]:NaN}}function ld(){return t(this.days()/7)}function md(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function nd(a,b,c){var d=Sb(a).abs(),e=uf(d.as("s")),f=uf(d.as("m")),g=uf(d.as("h")),h=uf(d.as("d")),i=uf(d.as("M")),j=uf(d.as("y")),k=e<=vf.ss&&["s",e]||e<vf.s&&["ss",e]||f<=1&&["m"]||f<vf.m&&["mm",f]||g<=1&&["h"]||g<vf.h&&["hh",g]||h<=1&&["d"]||h<vf.d&&["dd",h]||i<=1&&["M"]||i<vf.M&&["MM",i]||j<=1&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,md.apply(null,k)}function od(a){return void 0===a?uf:"function"==typeof a&&(uf=a,!0)}function pd(a,b){return void 0!==vf[a]&&(void 0===b?vf[a]:(vf[a]=b,"s"===a&&(vf.ss=b-1),!0))}function qd(a){if(!this.isValid())return this.localeData().invalidDate();var b=this.localeData(),c=nd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function rd(){if(!this.isValid())return this.localeData().invalidDate();var a,b,c,d=wf(this._milliseconds)/1e3,e=wf(this._days),f=wf(this._months);a=t(d/60),b=t(a/60),d%=60,a%=60,c=t(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var sd,td;td=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d<c;d++)if(d in b&&a.call(this,b[d],d,b))return!0;return!1};var ud=td,vd=a.momentProperties=[],wd=!1,xd={};a.suppressDeprecationWarnings=!1,a.deprecationHandler=null;var yd;yd=Object.keys?Object.keys:function(a){var b,c=[];for(b in a)j(a,b)&&c.push(b);return c};var zd,Ad=yd,Bd={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Cd={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Dd="Invalid date",Ed="%d",Fd=/\d{1,2}/,Gd={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Hd={},Id={},Jd=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Kd=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ld={},Md={},Nd=/\d/,Od=/\d\d/,Pd=/\d{3}/,Qd=/\d{4}/,Rd=/[+-]?\d{6}/,Sd=/\d\d?/,Td=/\d\d\d\d?/,Ud=/\d\d\d\d\d\d?/,Vd=/\d{1,3}/,Wd=/\d{1,4}/,Xd=/[+-]?\d{1,6}/,Yd=/\d+/,Zd=/[+-]?\d+/,$d=/Z|[+-]\d\d:?\d\d/gi,_d=/Z|[+-]\d\d(?::?\d\d)?/gi,ae=/[+-]?\d+(\.\d{1,3})?/,be=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,ce={},de={},ee=0,fe=1,ge=2,he=3,ie=4,je=5,ke=6,le=7,me=8;zd=Array.prototype.indexOf?Array.prototype.indexOf:function(a){var b;for(b=0;b<this.length;++b)if(this[b]===a)return b;return-1};var ne=zd;U("M",["MM",2],"Mo",function(){return this.month()+1}),U("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),U("MMMM",0,0,function(a){return this.localeData().months(this,a)}),J("month","M"),M("month",8),Z("M",Sd),Z("MM",Sd,Od),Z("MMM",function(a,b){return b.monthsShortRegex(a)}),Z("MMMM",function(a,b){return b.monthsRegex(a)}),ba(["M","MM"],function(a,b){b[fe]=u(a)-1}),ba(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[fe]=e:n(c).invalidMonth=a});var oe=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,pe="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),qe="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),re=be,se=be;U("Y",0,0,function(){var a=this.year();return a<=9999?""+a:"+"+a}),U(0,["YY",2],0,function(){return this.year()%100}),U(0,["YYYY",4],0,"year"),U(0,["YYYYY",5],0,"year"),U(0,["YYYYYY",6,!0],0,"year"),J("year","y"),M("year",1),Z("Y",Zd),Z("YY",Sd,Od),Z("YYYY",Wd,Qd),Z("YYYYY",Xd,Rd),Z("YYYYYY",Xd,Rd),ba(["YYYYY","YYYYYY"],ee),ba("YYYY",function(b,c){c[ee]=2===b.length?a.parseTwoDigitYear(b):u(b)}),ba("YY",function(b,c){c[ee]=a.parseTwoDigitYear(b)}),ba("Y",function(a,b){b[ee]=parseInt(a,10)}),a.parseTwoDigitYear=function(a){return u(a)+(u(a)>68?1900:2e3)};var te=O("FullYear",!0);U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),J("week","w"),J("isoWeek","W"),M("week",5),M("isoWeek",5),Z("w",Sd),Z("ww",Sd,Od),Z("W",Sd),Z("WW",Sd,Od),ca(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=u(a)});var ue={dow:0,doy:6};U("d",0,"do","day"),U("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),U("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),U("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),J("day","d"),J("weekday","e"),J("isoWeekday","E"),M("day",11),M("weekday",11),M("isoWeekday",11),Z("d",Sd),Z("e",Sd),Z("E",Sd),Z("dd",function(a,b){return b.weekdaysMinRegex(a)}),Z("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Z("dddd",function(a,b){return b.weekdaysRegex(a)}),ca(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);null!=e?b.d=e:n(c).invalidWeekday=a}),ca(["d","e","E"],function(a,b,c,d){b[d]=u(a)});var ve="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),we="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ye=be,ze=be,Ae=be;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Ra),U("k",["kk",2],0,Sa),U("hmm",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ta("a",!0),Ta("A",!1),J("hour","h"),M("hour",13),Z("a",Ua),Z("A",Ua),Z("H",Sd),Z("h",Sd),Z("k",Sd),Z("HH",Sd,Od),Z("hh",Sd,Od),Z("kk",Sd,Od),Z("hmm",Td),Z("hmmss",Ud),Z("Hmm",Td),Z("Hmmss",Ud),ba(["H","HH"],he),ba(["k","kk"],function(a,b,c){var d=u(a);b[he]=24===d?0:d}),ba(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),ba(["h","hh"],function(a,b,c){b[he]=u(a),n(c).bigHour=!0}),ba("hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d)),n(c).bigHour=!0}),ba("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e)),n(c).bigHour=!0}),ba("Hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d))}),ba("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e))});var Be,Ce=/[ap]\.?m?\.?/i,De=O("Hours",!0),Ee={calendar:Bd,longDateFormat:Cd,invalidDate:Dd,ordinal:Ed,dayOfMonthOrdinalParse:Fd,relativeTime:Gd,months:pe,monthsShort:qe,week:ue,weekdays:ve,weekdaysMin:xe,weekdaysShort:we,meridiemParse:Ce},Fe={},Ge={},He=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ie=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Je=/Z|[+-]\d\d(?::?\d\d)?/,Ke=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Le=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Me=/^\/?Date\((\-?\d+)/i,Ne=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;a.createFromInputFallback=x("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),a.ISO_8601=function(){},a.RFC_2822=function(){};var Oe=x("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=tb.apply(null,arguments);return this.isValid()&&a.isValid()?a<this?this:a:p()}),Pe=x("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=tb.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:p()}),Qe=function(){return Date.now?Date.now():+new Date},Re=["year","quarter","month","week","day","hour","minute","second","millisecond"];Db("Z",":"),Db("ZZ",""),Z("Z",_d),Z("ZZ",_d),ba(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Eb(_d,a)});var Se=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var Te=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ue=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Sb.fn=Ab.prototype,Sb.invalid=zb;var Ve=Wb(1,"add"),We=Wb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xe=x("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Dc("gggg","weekYear"),Dc("ggggg","weekYear"),Dc("GGGG","isoWeekYear"),Dc("GGGGG","isoWeekYear"),J("weekYear","gg"),J("isoWeekYear","GG"),M("weekYear",1),M("isoWeekYear",1),Z("G",Zd),Z("g",Zd),Z("GG",Sd,Od),Z("gg",Sd,Od),Z("GGGG",Wd,Qd),Z("gggg",Wd,Qd),Z("GGGGG",Xd,Rd),Z("ggggg",Xd,Rd),ca(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=u(a)}),ca(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),U("Q",0,"Qo","quarter"),J("quarter","Q"),M("quarter",7),Z("Q",Nd),ba("Q",function(a,b){b[fe]=3*(u(a)-1)}),U("D",["DD",2],"Do","date"),J("date","D"),M("date",9),Z("D",Sd),Z("DD",Sd,Od),Z("Do",function(a,b){return a?b._dayOfMonthOrdinalParse||b._ordinalParse:b._dayOfMonthOrdinalParseLenient}),ba(["D","DD"],ge),ba("Do",function(a,b){b[ge]=u(a.match(Sd)[0],10)});var Ye=O("Date",!0);U("DDD",["DDDD",3],"DDDo","dayOfYear"),J("dayOfYear","DDD"),M("dayOfYear",4),Z("DDD",Vd),Z("DDDD",Pd),ba(["DDD","DDDD"],function(a,b,c){c._dayOfYear=u(a)}),U("m",["mm",2],0,"minute"),J("minute","m"),M("minute",14),Z("m",Sd),Z("mm",Sd,Od),ba(["m","mm"],ie);var Ze=O("Minutes",!1);U("s",["ss",2],0,"second"),J("second","s"),M("second",15),Z("s",Sd),Z("ss",Sd,Od),ba(["s","ss"],je);var $e=O("Seconds",!1);U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),J("millisecond","ms"),M("millisecond",16),Z("S",Vd,Nd),Z("SS",Vd,Od),Z("SSS",Vd,Pd);var _e;for(_e="SSSS";_e.length<=9;_e+="S")Z(_e,Yd);for(_e="S";_e.length<=9;_e+="S")ba(_e,Mc);var af=O("Milliseconds",!1);U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var bf=r.prototype;bf.add=Ve,bf.calendar=Zb,bf.clone=$b,bf.diff=fc,bf.endOf=sc,bf.format=kc,bf.from=lc,bf.fromNow=mc,bf.to=nc,bf.toNow=oc,bf.get=R,bf.invalidAt=Bc,bf.isAfter=_b,bf.isBefore=ac,bf.isBetween=bc,bf.isSame=cc,bf.isSameOrAfter=dc,bf.isSameOrBefore=ec,bf.isValid=zc,bf.lang=Xe,bf.locale=pc,bf.localeData=qc,bf.max=Pe,bf.min=Oe,bf.parsingFlags=Ac,bf.set=S,bf.startOf=rc,bf.subtract=We,bf.toArray=wc,bf.toObject=xc,bf.toDate=vc,bf.toISOString=ic,bf.inspect=jc,bf.toJSON=yc,bf.toString=hc,bf.unix=uc,bf.valueOf=tc,bf.creationData=Cc,bf.year=te,bf.isLeapYear=ra,bf.weekYear=Ec,bf.isoWeekYear=Fc,bf.quarter=bf.quarters=Kc,bf.month=ka,bf.daysInMonth=la,bf.week=bf.weeks=Ba,bf.isoWeek=bf.isoWeeks=Ca,bf.weeksInYear=Hc,bf.isoWeeksInYear=Gc,bf.date=Ye,bf.day=bf.days=Ka,bf.weekday=La,bf.isoWeekday=Ma,bf.dayOfYear=Lc,bf.hour=bf.hours=De,bf.minute=bf.minutes=Ze,bf.second=bf.seconds=$e,bf.millisecond=bf.milliseconds=af,bf.utcOffset=Hb,bf.utc=Jb,bf.local=Kb,bf.parseZone=Lb,bf.hasAlignedHourOffset=Mb,bf.isDST=Nb,bf.isLocal=Pb,bf.isUtcOffset=Qb,bf.isUtc=Rb,bf.isUTC=Rb,bf.zoneAbbr=Nc,bf.zoneName=Oc,bf.dates=x("dates accessor is deprecated. Use date instead.",Ye),bf.months=x("months accessor is deprecated. Use month instead",ka),bf.years=x("years accessor is deprecated. Use year instead",te),bf.zone=x("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ib),bf.isDSTShifted=x("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ob);var cf=C.prototype;cf.calendar=D,cf.longDateFormat=E,cf.invalidDate=F,cf.ordinal=G,cf.preparse=Rc,cf.postformat=Rc,cf.relativeTime=H,cf.pastFuture=I,cf.set=A,cf.months=fa,cf.monthsShort=ga,cf.monthsParse=ia,cf.monthsRegex=na,cf.monthsShortRegex=ma,cf.week=ya,cf.firstDayOfYear=Aa,cf.firstDayOfWeek=za,cf.weekdays=Fa,cf.weekdaysMin=Ha,cf.weekdaysShort=Ga,cf.weekdaysParse=Ja,cf.weekdaysRegex=Na,cf.weekdaysShortRegex=Oa,cf.weekdaysMinRegex=Pa,cf.isPM=Va,cf.meridiem=Wa,$a("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=x("moment.lang is deprecated. Use moment.locale instead.",$a),a.langData=x("moment.langData is deprecated. Use moment.localeData instead.",bb);var df=Math.abs,ef=id("ms"),ff=id("s"),gf=id("m"),hf=id("h"),jf=id("d"),kf=id("w"),lf=id("M"),mf=id("y"),nf=kd("milliseconds"),of=kd("seconds"),pf=kd("minutes"),qf=kd("hours"),rf=kd("days"),sf=kd("months"),tf=kd("years"),uf=Math.round,vf={ss:44,s:45,m:45,h:22,d:26,M:11},wf=Math.abs,xf=Ab.prototype;return xf.isValid=yb,xf.abs=$c,xf.add=ad,xf.subtract=bd,xf.as=gd,xf.asMilliseconds=ef,xf.asSeconds=ff,xf.asMinutes=gf,xf.asHours=hf,xf.asDays=jf,xf.asWeeks=kf,xf.asMonths=lf,xf.asYears=mf,xf.valueOf=hd,xf._bubble=dd,xf.get=jd,xf.milliseconds=nf,xf.seconds=of,xf.minutes=pf,xf.hours=qf,xf.days=rf,xf.weeks=ld,xf.months=sf,xf.years=tf,xf.humanize=qd,xf.toISOString=rd,xf.toString=rd,xf.toJSON=rd,xf.locale=pc,xf.localeData=qc,xf.toIsoString=x("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",rd),xf.lang=Xe,U("X",0,0,"unix"),U("x",0,0,"valueOf"),Z("x",Zd),Z("X",ae),ba("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),ba("x",function(a,b,c){c._d=new Date(u(a))}),a.version="2.18.1",b(tb),a.fn=bf,a.min=vb,a.max=wb,a.now=Qe,a.utc=l,a.unix=Pc,a.months=Vc,a.isDate=h,a.locale=$a,a.invalid=p,a.duration=Sb,a.isMoment=s,a.weekdays=Xc,a.parseZone=Qc,a.localeData=bb,a.isDuration=Bb,a.monthsShort=Wc,a.weekdaysMin=Zc,a.defineLocale=_a,a.updateLocale=ab,a.locales=cb,a.weekdaysShort=Yc,a.normalizeUnits=K,a.relativeTimeRounding=od,a.relativeTimeThreshold=pd,a.calendarFormat=Yb,a.prototype=bf,a})}(),function(){var a=System.amdDefine;a("npm:moment@2.18.1.js",["npm:moment@2.18.1/moment.js"],function(a){return a})}(),System.registerDynamic("npm:ramda@0.23.0/src/F.js",["./always"],!0,function(a,b,c){var d=(this||self,a("./always"));c.exports=d(!1)}),System.registerDynamic("npm:ramda@0.23.0/src/T.js",["./always"],!0,function(a,b,c){var d=(this||self,a("./always"));c.exports=d(!0)}),System.registerDynamic("npm:ramda@0.23.0/src/__.js",[],!0,function(a,b,c){this||self;c.exports={"@@functional/placeholder":!0}}),System.registerDynamic("npm:ramda@0.23.0/src/addIndex.js",["./internal/_concat","./internal/_curry1","./curryN"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_curry1"),f=a("./curryN");c.exports=e(function(a){return f(a.length,function(){var b=0,c=arguments[0],e=arguments[arguments.length-1],f=Array.prototype.slice.call(arguments,0);return f[0]=function(){var a=c.apply(this,d(arguments,[b,e]));return b+=1,a},a.apply(this,f)})})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xall.js",["./_curry2","./_reduced","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_reduced"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a,this.all=!0}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=function(a){return this.all&&(a=this.xf["@@transducer/step"](a,!0)),this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){return this.f(b)||(this.all=!1,a=e(this.xf["@@transducer/step"](a,!1))),a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/all.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xall"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xall");c.exports=d(e(["all"],f,function(a,b){for(var c=0;c<b.length;){if(!a(b[c]))return!1;c+=1}return!0}))}),System.registerDynamic("npm:ramda@0.23.0/src/allPass.js",["./internal/_curry1","./curryN","./max","./pluck","./reduce"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./curryN"),f=a("./max"),g=a("./pluck"),h=a("./reduce");c.exports=d(function(a){
return e(h(f,0,g("length",a)),function(){for(var b=0,c=a.length;b<c;){if(!a[b].apply(this,arguments))return!1;b+=1}return!0})})}),System.registerDynamic("npm:ramda@0.23.0/src/anyPass.js",["./internal/_curry1","./curryN","./max","./pluck","./reduce"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./curryN"),f=a("./max"),g=a("./pluck"),h=a("./reduce");c.exports=d(function(a){return e(h(f,0,g("length",a)),function(){for(var b=0,c=a.length;b<c;){if(a[b].apply(this,arguments))return!0;b+=1}return!1})})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_aperture.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){for(var c=0,d=b.length-(a-1),e=new Array(d>=0?d:0);c<d;)e[c]=Array.prototype.slice.call(b,c,c+a),c+=1;return e}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xaperture.js",["./_concat","./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_concat")),e=a("./_curry2"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.pos=0,this.full=!1,this.acc=new Array(a)}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=function(a){return this.acc=null,this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){return this.store(b),this.full?this.xf["@@transducer/step"](a,this.getCopy()):a},a.prototype.store=function(a){this.acc[this.pos]=a,this.pos+=1,this.pos===this.acc.length&&(this.pos=0,this.full=!0)},a.prototype.getCopy=function(){return d(Array.prototype.slice.call(this.acc,this.pos),Array.prototype.slice.call(this.acc,0,this.pos))},e(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/aperture.js",["./internal/_aperture","./internal/_curry2","./internal/_dispatchable","./internal/_xaperture"],!0,function(a,b,c){var d=(this||self,a("./internal/_aperture")),e=a("./internal/_curry2"),f=a("./internal/_dispatchable"),g=a("./internal/_xaperture");c.exports=e(f([],g,d))}),System.registerDynamic("npm:ramda@0.23.0/src/append.js",["./internal/_concat","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_curry2");c.exports=e(function(a,b){return d(b,[a])})}),System.registerDynamic("npm:ramda@0.23.0/src/apply.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a.apply(this,b)})}),System.registerDynamic("npm:ramda@0.23.0/src/applySpec.js",["./internal/_curry1","./apply","./curryN","./map","./max","./pluck","./reduce","./values"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./apply"),f=a("./curryN"),g=a("./map"),h=a("./max"),i=a("./pluck"),j=a("./reduce"),k=a("./values");c.exports=d(function l(a){return a=g(function(a){return"function"==typeof a?a:l(a)},a),f(j(h,0,i("length",k(a))),function(){var b=arguments;return g(function(a){return e(a,b)},a)})})}),System.registerDynamic("npm:ramda@0.23.0/src/ascend.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){var d=a(b),e=a(c);return d<e?-1:d>e?1:0})}),System.registerDynamic("npm:ramda@0.23.0/src/binary.js",["./internal/_curry1","./nAry"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./nAry");c.exports=d(function(a){return e(2,a)})}),System.registerDynamic("npm:ramda@0.23.0/src/and.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a&&b})}),System.registerDynamic("npm:ramda@0.23.0/src/both.js",["./internal/_curry2","./internal/_isFunction","./and","./lift"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isFunction"),f=a("./and"),g=a("./lift");c.exports=d(function(a,b){return e(a)?function(){return a.apply(this,arguments)&&b.apply(this,arguments)}:g(f)(a,b)})}),System.registerDynamic("npm:ramda@0.23.0/src/call.js",["./curry"],!0,function(a,b,c){var d=(this||self,a("./curry"));c.exports=d(function(a){return a.apply(this,Array.prototype.slice.call(arguments,1))})}),System.registerDynamic("npm:ramda@0.23.0/src/clamp.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){if(a>b)throw new Error("min must not be greater than max in clamp(min, max, value)");return c<a?a:c>b?b:c})}),System.registerDynamic("npm:ramda@0.23.0/src/clone.js",["./internal/_clone","./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_clone")),e=a("./internal/_curry1");c.exports=e(function(a){return null!=a&&"function"==typeof a.clone?a.clone():d(a,[],[],!0)})}),System.registerDynamic("npm:ramda@0.23.0/src/comparator.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){return function(b,c){return a(b,c)?-1:a(c,b)?1:0}})}),System.registerDynamic("npm:ramda@0.23.0/src/complement.js",["./lift","./not"],!0,function(a,b,c){var d=(this||self,a("./lift")),e=a("./not");c.exports=d(e)}),System.registerDynamic("npm:ramda@0.23.0/src/composeP.js",["./pipeP","./reverse"],!0,function(a,b,c){var d=(this||self,a("./pipeP")),e=a("./reverse");c.exports=function(){if(0===arguments.length)throw new Error("composeP requires at least one argument");return d.apply(this,e(arguments))}}),System.registerDynamic("npm:ramda@0.23.0/src/cond.js",["./internal/_arity","./internal/_curry1","./map","./max","./reduce"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_curry1"),f=a("./map"),g=a("./max"),h=a("./reduce");c.exports=e(function(a){var b=h(g,0,f(function(a){return a[0].length},a));return d(b,function(){for(var b=0;b<a.length;){if(a[b][0].apply(this,arguments))return a[b][1].apply(this,arguments);b+=1}})})}),System.registerDynamic("npm:ramda@0.23.0/src/construct.js",["./internal/_curry1","./constructN"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./constructN");c.exports=d(function(a){return e(a.length,a)})}),System.registerDynamic("npm:ramda@0.23.0/src/constructN.js",["./internal/_curry2","./curry","./nAry"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./curry"),f=a("./nAry");c.exports=d(function(a,b){if(a>10)throw new Error("Constructor with greater than ten arguments");return 0===a?function(){return new b}:e(f(a,function(a,c,d,e,f,g,h,i,j,k){switch(arguments.length){case 1:return new b(a);case 2:return new b(a,c);case 3:return new b(a,c,d);case 4:return new b(a,c,d,e);case 5:return new b(a,c,d,e,f);case 6:return new b(a,c,d,e,f,g);case 7:return new b(a,c,d,e,f,g,h);case 8:return new b(a,c,d,e,f,g,h,i);case 9:return new b(a,c,d,e,f,g,h,i,j);case 10:return new b(a,c,d,e,f,g,h,i,j,k)}}))})}),System.registerDynamic("npm:ramda@0.23.0/src/contains.js",["./internal/_contains","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_contains")),e=a("./internal/_curry2");c.exports=e(d)}),System.registerDynamic("npm:ramda@0.23.0/src/countBy.js",["./reduceBy"],!0,function(a,b,c){var d=(this||self,a("./reduceBy"));c.exports=d(function(a,b){return a+1},0)}),System.registerDynamic("npm:ramda@0.23.0/src/dec.js",["./add"],!0,function(a,b,c){var d=(this||self,a("./add"));c.exports=d(-1)}),System.registerDynamic("npm:ramda@0.23.0/src/descend.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){var d=a(b),e=a(c);return d>e?-1:d<e?1:0})}),System.registerDynamic("npm:ramda@0.23.0/src/dissoc.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){var c={};for(var d in b)c[d]=b[d];return delete c[a],c})}),System.registerDynamic("npm:ramda@0.23.0/src/dissocPath.js",["./internal/_curry2","./assoc","./dissoc"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./assoc"),f=a("./dissoc");c.exports=d(function g(a,b){switch(a.length){case 0:return b;case 1:return f(a[0],b);default:var c=a[0],d=Array.prototype.slice.call(a,1);return null==b[c]?b:e(c,g(d,b[c]),b)}})}),System.registerDynamic("npm:ramda@0.23.0/src/divide.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a/b})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_dropLast.js",["../take"],!0,function(a,b,c){var d=(this||self,a("../take"));c.exports=function(a,b){return d(a<b.length?b.length-a:0,b)}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xdropLast.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.pos=0,this.full=!1,this.acc=new Array(a)}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=function(a){return this.acc=null,this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){return this.full&&(a=this.xf["@@transducer/step"](a,this.acc[this.pos])),this.store(b),a},a.prototype.store=function(a){this.acc[this.pos]=a,this.pos+=1,this.pos===this.acc.length&&(this.pos=0,this.full=!0)},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/dropLast.js",["./internal/_curry2","./internal/_dispatchable","./internal/_dropLast","./internal/_xdropLast"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_dropLast"),g=a("./internal/_xdropLast");c.exports=d(e([],g,f))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_dropLastWhile.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){for(var c=b.length-1;c>=0&&a(b[c]);)c-=1;return Array.prototype.slice.call(b,0,c+1)}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xdropLastWhile.js",["./_curry2","./_reduce","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_reduce"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.f=a,this.retained=[],this.xf=b}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=function(a){return this.retained=null,this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){return this.f(b)?this.retain(a,b):this.flush(a,b)},a.prototype.flush=function(a,b){return a=e(this.xf["@@transducer/step"],a,this.retained),this.retained=[],this.xf["@@transducer/step"](a,b)},a.prototype.retain=function(a,b){return this.retained.push(b),a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/dropLastWhile.js",["./internal/_curry2","./internal/_dispatchable","./internal/_dropLastWhile","./internal/_xdropLastWhile"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_dropLastWhile"),g=a("./internal/_xdropLastWhile");c.exports=d(e([],g,f))}),System.registerDynamic("npm:ramda@0.23.0/src/dropRepeats.js",["./internal/_curry1","./internal/_dispatchable","./internal/_xdropRepeatsWith","./dropRepeatsWith","./equals"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_dispatchable"),f=a("./internal/_xdropRepeatsWith"),g=a("./dropRepeatsWith"),h=a("./equals");c.exports=d(e([],f(h),g(h)))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xdropRepeatsWith.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.pred=a,this.lastValue=void 0,this.seenFirstValue=!1}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=e.result,a.prototype["@@transducer/step"]=function(a,b){var c=!1;return this.seenFirstValue?this.pred(this.lastValue,b)&&(c=!0):this.seenFirstValue=!0,this.lastValue=b,c?a:this.xf["@@transducer/step"](a,b)},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/dropRepeatsWith.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xdropRepeatsWith","./last"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xdropRepeatsWith"),g=a("./last");c.exports=d(e([],f,function(a,b){var c=[],d=1,e=b.length;if(0!==e)for(c[0]=b[0];d<e;)a(g(c),b[d])||(c[c.length]=b[d]),d+=1;return c}))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xdropWhile.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=e.result,a.prototype["@@transducer/step"]=function(a,b){if(this.f){if(this.f(b))return a;this.f=null}return this.xf["@@transducer/step"](a,b)},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/dropWhile.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xdropWhile"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xdropWhile");c.exports=d(e(["dropWhile"],f,function(a,b){for(var c=0,d=b.length;c<d&&a(b[c]);)c+=1;return Array.prototype.slice.call(b,c)}))}),System.registerDynamic("npm:ramda@0.23.0/src/either.js",["./internal/_curry2","./internal/_isFunction","./lift","./or"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isFunction"),f=a("./lift"),g=a("./or");c.exports=d(function(a,b){return e(a)?function(){return a.apply(this,arguments)||b.apply(this,arguments)}:f(g)(a,b)})}),System.registerDynamic("npm:ramda@0.23.0/src/eqBy.js",["./internal/_curry3","./equals"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./equals");c.exports=d(function(a,b,c){return e(a(b),a(c))})}),System.registerDynamic("npm:ramda@0.23.0/src/eqProps.js",["./internal/_curry3","./equals"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./equals");c.exports=d(function(a,b,c){return e(b[a],c[a])})}),System.registerDynamic("npm:ramda@0.23.0/src/evolve.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function e(a,b){var c,d,f,g={};for(d in b)c=a[d],f=typeof c,g[d]="function"===f?c(b[d]):c&&"object"===f?e(c,b[d]):b[d];return g})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xfind.js",["./_curry2","./_reduced","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_reduced"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a,this.found=!1}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=function(a){return this.found||(a=this.xf["@@transducer/step"](a,void 0)),this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){return this.f(b)&&(this.found=!0,a=e(this.xf["@@transducer/step"](a,b))),a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/find.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xfind"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xfind");c.exports=d(e(["find"],f,function(a,b){for(var c=0,d=b.length;c<d;){if(a(b[c]))return b[c];c+=1}}))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xfindIndex.js",["./_curry2","./_reduced","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_reduced"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a,this.idx=-1,this.found=!1}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=function(a){return this.found||(a=this.xf["@@transducer/step"](a,-1)),this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){return this.idx+=1,this.f(b)&&(this.found=!0,a=e(this.xf["@@transducer/step"](a,this.idx))),a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/findIndex.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xfindIndex"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xfindIndex");c.exports=d(e([],f,function(a,b){for(var c=0,d=b.length;c<d;){if(a(b[c]))return c;c+=1}return-1}))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xfindLast.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=function(a){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](a,this.last))},a.prototype["@@transducer/step"]=function(a,b){return this.f(b)&&(this.last=b),a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/findLast.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xfindLast"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xfindLast");c.exports=d(e([],f,function(a,b){for(var c=b.length-1;c>=0;){if(a(b[c]))return b[c];c-=1}}))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xfindLastIndex.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a,this.idx=-1,this.lastIdx=-1}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=function(a){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](a,this.lastIdx))},a.prototype["@@transducer/step"]=function(a,b){return this.idx+=1,this.f(b)&&(this.lastIdx=this.idx),a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/findLastIndex.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xfindLastIndex"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xfindLastIndex");c.exports=d(e([],f,function(a,b){for(var c=b.length-1;c>=0;){if(a(b[c]))return c;c-=1}return-1}))}),System.registerDynamic("npm:ramda@0.23.0/src/flatten.js",["./internal/_curry1","./internal/_makeFlat"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_makeFlat");c.exports=d(e(!0))}),System.registerDynamic("npm:ramda@0.23.0/src/forEach.js",["./internal/_checkForMethod","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_checkForMethod")),e=a("./internal/_curry2");c.exports=e(d("forEach",function(a,b){for(var c=b.length,d=0;d<c;)a(b[d]),d+=1;return b}))}),System.registerDynamic("npm:ramda@0.23.0/src/forEachObjIndexed.js",["./internal/_curry2","./keys"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./keys");c.exports=d(function(a,b){for(var c=e(b),d=0;d<c.length;){var f=c[d];a(b[f],f,b),d+=1}return b})}),System.registerDynamic("npm:ramda@0.23.0/src/fromPairs.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){for(var b={},c=0;c<a.length;)b[a[c][0]]=a[c][1],c+=1;return b})}),System.registerDynamic("npm:ramda@0.23.0/src/groupBy.js",["./internal/_checkForMethod","./internal/_curry2","./reduceBy"],!0,function(a,b,c){var d=(this||self,a("./internal/_checkForMethod")),e=a("./internal/_curry2"),f=a("./reduceBy");c.exports=e(d("groupBy",f(function(a,b){return null==a&&(a=[]),a.push(b),a},null)))}),System.registerDynamic("npm:ramda@0.23.0/src/groupWith.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=[],d=0,e=b.length;d<e;){for(var f=d+1;f<e&&a(b[d],b[f]);)f+=1;c.push(b.slice(d,f)),d=f}return c})}),System.registerDynamic("npm:ramda@0.23.0/src/gt.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a>b})}),System.registerDynamic("npm:ramda@0.23.0/src/gte.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a>=b})}),System.registerDynamic("npm:ramda@0.23.0/src/has.js",["./internal/_curry2","./internal/_has"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_has");c.exports=d(e)}),System.registerDynamic("npm:ramda@0.23.0/src/hasIn.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a in b})}),System.registerDynamic("npm:ramda@0.23.0/src/head.js",["./nth"],!0,function(a,b,c){var d=(this||self,a("./nth"));c.exports=d(0)}),System.registerDynamic("npm:process@0.11.10/browser.js",[],!0,function(a,b,c){function d(){throw new Error("setTimeout has not been defined")}function e(){throw new Error("clearTimeout has not been defined")}function f(a){if(l===setTimeout)return setTimeout(a,0);if((l===d||!l)&&setTimeout)return l=setTimeout,setTimeout(a,0);try{return l(a,0)}catch(b){try{return l.call(null,a,0)}catch(b){return l.call(this,a,0)}}}function g(a){if(m===clearTimeout)return clearTimeout(a);if((m===e||!m)&&clearTimeout)return m=clearTimeout,clearTimeout(a);try{return m(a)}catch(b){try{return m.call(null,a)}catch(b){return m.call(this,a)}}}function h(){q&&o&&(q=!1,o.length?p=o.concat(p):r=-1,p.length&&i())}function i(){if(!q){var a=f(h);q=!0;for(var b=p.length;b;){for(o=p,p=[];++r<b;)o&&o[r].run();r=-1,b=p.length}o=null,q=!1,g(a)}}function j(a,b){this.fun=a,this.array=b}function k(){}var l,m,n=(this||self,c.exports={});!function(){try{l="function"==typeof setTimeout?setTimeout:d}catch(a){l=d}try{m="function"==typeof clearTimeout?clearTimeout:e}catch(a){m=e}}();var o,p=[],q=!1,r=-1;n.nextTick=function(a){var b=new Array(arguments.length-1);if(arguments.length>1)for(var c=1;c<arguments.length;c++)b[c-1]=arguments[c];p.push(new j(a,b)),1!==p.length||q||f(i)},j.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=k,n.addListener=k,n.once=k,n.off=k,n.removeListener=k,n.removeAllListeners=k,n.emit=k,n.prependListener=k,n.prependOnceListener=k,n.listeners=function(a){return[]},n.binding=function(a){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(a){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}}),System.registerDynamic("npm:process@0.11.10.js",["npm:process@0.11.10/browser.js"],!0,function(a,b,c){this||self;c.exports=a("npm:process@0.11.10/browser.js")}),System.registerDynamic("github:jspm/nodelibs-process@0.1.2/index.js",["process"],!0,function(a,b,c){this||self;c.exports=System._nodeRequire?process:a("process")}),System.registerDynamic("github:jspm/nodelibs-process@0.1.2.js",["github:jspm/nodelibs-process@0.1.2/index"],!0,function(a,b,c){this||self;c.exports=a("github:jspm/nodelibs-process@0.1.2/index")}),System.registerDynamic("npm:ramda@0.23.0/src/ifElse.js",["./internal/_curry3","./curryN","process"],!0,function(a,b,c){this||self;!function(b){var d=a("./internal/_curry3"),e=a("./curryN");c.exports=d(function(a,b,c){return e(Math.max(a.length,b.length,c.length),function(){return a.apply(this,arguments)?b.apply(this,arguments):c.apply(this,arguments)})})}(a("process"))}),System.registerDynamic("npm:ramda@0.23.0/src/inc.js",["./add"],!0,function(a,b,c){var d=(this||self,a("./add"));c.exports=d(1)}),System.registerDynamic("npm:ramda@0.23.0/src/indexBy.js",["./reduceBy"],!0,function(a,b,c){var d=(this||self,a("./reduceBy"));c.exports=d(function(a,b){return b},null)}),System.registerDynamic("npm:ramda@0.23.0/src/indexOf.js",["./internal/_curry2","./internal/_indexOf","./internal/_isArray"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_indexOf"),f=a("./internal/_isArray");c.exports=d(function(a,b){return"function"!=typeof b.indexOf||f(b)?e(b,a,0):b.indexOf(a)})}),System.registerDynamic("npm:ramda@0.23.0/src/init.js",["./slice"],!0,function(a,b,c){var d=(this||self,a("./slice"));c.exports=d(0,-1)}),System.registerDynamic("npm:ramda@0.23.0/src/insert.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){a=a<c.length&&a>=0?a:c.length;var d=Array.prototype.slice.call(c,0);return d.splice(a,0,b),d})}),System.registerDynamic("npm:ramda@0.23.0/src/insertAll.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){return a=a<c.length&&a>=0?a:c.length,[].concat(Array.prototype.slice.call(c,0,a),b,Array.prototype.slice.call(c,a))})}),System.registerDynamic("npm:ramda@0.23.0/src/intersection.js",["./internal/_contains","./internal/_curry2","./internal/_filter","./flip","./uniq"],!0,function(a,b,c){var d=(this||self,a("./internal/_contains")),e=a("./internal/_curry2"),f=a("./internal/_filter"),g=a("./flip"),h=a("./uniq");c.exports=e(function(a,b){var c,e;return a.length>b.length?(c=a,e=b):(c=b,e=a),h(f(g(d)(c),e))})}),System.registerDynamic("npm:ramda@0.23.0/src/intersectionWith.js",["./internal/_containsWith","./internal/_curry3","./uniqWith"],!0,function(a,b,c){var d=(this||self,a("./internal/_containsWith")),e=a("./internal/_curry3"),f=a("./uniqWith");c.exports=e(function(a,b,c){var e,g;b.length>c.length?(e=b,g=c):(e=c,g=b);for(var h=[],i=0;i<g.length;)d(a,g[i],e)&&(h[h.length]=g[i]),i+=1;return f(a,h)})}),System.registerDynamic("npm:ramda@0.23.0/src/intersperse.js",["./internal/_checkForMethod","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_checkForMethod")),e=a("./internal/_curry2");c.exports=e(d("intersperse",function(a,b){for(var c=[],d=0,e=b.length;d<e;)d===e-1?c.push(b[d]):c.push(b[d],a),d+=1;return c}))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_clone.js",["./_cloneRegExp","../type"],!0,function(a,b,c){var d=(this||self,a("./_cloneRegExp")),e=a("../type");c.exports=function f(a,b,c,g){var h=function(d){for(var e=b.length,h=0;h<e;){if(a===b[h])return c[h];h+=1}b[h+1]=a,c[h+1]=d;for(var i in a)d[i]=g?f(a[i],b,c,!0):a[i];return d};switch(e(a)){case"Object":return h({});case"Array":return h([]);case"Date":return new Date(a.valueOf());case"RegExp":return d(a);default:return a}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_stepCat.js",["./_assign","./_identity","./_isTransformer","../isArrayLike","../objOf"],!0,function(a,b,c){var d=(this||self,a("./_assign")),e=a("./_identity"),f=a("./_isTransformer"),g=a("../isArrayLike"),h=a("../objOf");c.exports=function(){var a={"@@transducer/init":Array,"@@transducer/step":function(a,b){return a.push(b),a},"@@transducer/result":e},b={"@@transducer/init":String,"@@transducer/step":function(a,b){return a+b},"@@transducer/result":e},c={"@@transducer/init":Object,"@@transducer/step":function(a,b){return d(a,g(b)?h(b[0],b[1]):b)},"@@transducer/result":e};return function(d){if(f(d))return d;if(g(d))return a;if("string"==typeof d)return b;if("object"==typeof d)return c;throw new Error("Cannot create transformer for "+d)}}()}),System.registerDynamic("npm:ramda@0.23.0/src/into.js",["./internal/_clone","./internal/_curry3","./internal/_isTransformer","./internal/_reduce","./internal/_stepCat"],!0,function(a,b,c){var d=(this||self,a("./internal/_clone")),e=a("./internal/_curry3"),f=a("./internal/_isTransformer"),g=a("./internal/_reduce"),h=a("./internal/_stepCat");c.exports=e(function(a,b,c){return f(a)?g(b(a),a["@@transducer/init"](),c):g(b(h(a)),d(a,[],[],!1),c)})}),System.registerDynamic("npm:ramda@0.23.0/src/invert.js",["./internal/_curry1","./internal/_has","./keys"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_has"),f=a("./keys");c.exports=d(function(a){for(var b=f(a),c=b.length,d=0,g={};d<c;){var h=b[d],i=a[h],j=e(i,g)?g[i]:g[i]=[];j[j.length]=h,d+=1}return g})}),System.registerDynamic("npm:ramda@0.23.0/src/invertObj.js",["./internal/_curry1","./keys"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./keys");c.exports=d(function(a){for(var b=e(a),c=b.length,d=0,f={};d<c;){var g=b[d];f[a[g]]=g,d+=1}return f})}),System.registerDynamic("npm:ramda@0.23.0/src/empty.js",["./internal/_curry1","./internal/_isArguments","./internal/_isArray","./internal/_isObject","./internal/_isString"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_isArguments"),f=a("./internal/_isArray"),g=a("./internal/_isObject"),h=a("./internal/_isString");c.exports=d(function(a){return null!=a&&"function"==typeof a.empty?a.empty():null!=a&&null!=a.constructor&&"function"==typeof a.constructor.empty?a.constructor.empty():f(a)?[]:h(a)?"":g(a)?{}:e(a)?function(){return arguments}():void 0})}),System.registerDynamic("npm:ramda@0.23.0/src/isEmpty.js",["./internal/_curry1","./empty","./equals"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./empty"),f=a("./equals");c.exports=d(function(a){return null!=a&&f(a,e(a))})}),System.registerDynamic("npm:ramda@0.23.0/src/isNil.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){return null==a})}),System.registerDynamic("npm:ramda@0.23.0/src/join.js",["./invoker"],!0,function(a,b,c){var d=(this||self,a("./invoker"));c.exports=d(1,"join")}),System.registerDynamic("npm:ramda@0.23.0/src/keysIn.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){var b,c=[];for(b in a)c[c.length]=b;return c})}),System.registerDynamic("npm:ramda@0.23.0/src/last.js",["./nth"],!0,function(a,b,c){var d=(this||self,a("./nth"));c.exports=d(-1)}),System.registerDynamic("npm:ramda@0.23.0/src/lastIndexOf.js",["./internal/_curry2","./internal/_isArray","./equals"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isArray"),f=a("./equals");c.exports=d(function(a,b){if("function"!=typeof b.lastIndexOf||e(b)){for(var c=b.length-1;c>=0;){if(f(b[c],a))return c;c-=1}return-1}return b.lastIndexOf(a)})}),System.registerDynamic("npm:ramda@0.23.0/src/lensIndex.js",["./internal/_curry1","./lens","./nth","./update"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./lens"),f=a("./nth"),g=a("./update");c.exports=d(function(a){return e(f(a),g(a))})}),System.registerDynamic("npm:ramda@0.23.0/src/assocPath.js",["./internal/_curry3","./internal/_has","./internal/_isArray","./internal/_isInteger","./assoc"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./internal/_has"),f=a("./internal/_isArray"),g=a("./internal/_isInteger"),h=a("./assoc");c.exports=d(function i(a,b,c){if(0===a.length)return b;var d=a[0];if(a.length>1){var j=e(d,c)?c[d]:g(a[1])?[]:{};b=i(Array.prototype.slice.call(a,1),b,j)}if(g(d)&&f(c)){var k=[].concat(c);return k[d]=b,k}return h(d,b,c)})}),System.registerDynamic("npm:ramda@0.23.0/src/lensPath.js",["./internal/_curry1","./assocPath","./lens","./path"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./assocPath"),f=a("./lens"),g=a("./path");c.exports=d(function(a){return f(g(a),e(a))})}),System.registerDynamic("npm:ramda@0.23.0/src/assoc.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){var d={};for(var e in c)d[e]=c[e];return d[a]=b,d})}),System.registerDynamic("npm:ramda@0.23.0/src/lens.js",["./internal/_curry2","./map"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./map");c.exports=d(function(a,b){return function(c){return function(d){return e(function(a){return b(a,d)},c(a(d)))}}})}),System.registerDynamic("npm:ramda@0.23.0/src/lensProp.js",["./internal/_curry1","./assoc","./lens","./prop"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./assoc"),f=a("./lens"),g=a("./prop");c.exports=d(function(a){return f(g(a),e(a))})}),System.registerDynamic("npm:ramda@0.23.0/src/lift.js",["./internal/_curry1","./liftN"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./liftN");c.exports=d(function(a){return e(a.length,a)})}),System.registerDynamic("npm:ramda@0.23.0/src/liftN.js",["./internal/_curry2","./internal/_reduce","./ap","./curryN","./map"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_reduce"),f=a("./ap"),g=a("./curryN"),h=a("./map");
c.exports=d(function(a,b){var c=g(a,b);return g(a,function(){return e(f,h(c,arguments[0]),Array.prototype.slice.call(arguments,1))})})}),System.registerDynamic("npm:ramda@0.23.0/src/lt.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a<b})}),System.registerDynamic("npm:ramda@0.23.0/src/lte.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a<=b})}),System.registerDynamic("npm:ramda@0.23.0/src/mapAccum.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){for(var d=0,e=c.length,f=[],g=[b];d<e;)g=a(g[0],c[d]),f[d]=g[1],d+=1;return[g[0],f]})}),System.registerDynamic("npm:ramda@0.23.0/src/mapAccumRight.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){for(var d=c.length-1,e=[],f=[b];d>=0;)f=a(c[d],f[0]),e[d]=f[1],d-=1;return[e,f[0]]})}),System.registerDynamic("npm:ramda@0.23.0/src/mapObjIndexed.js",["./internal/_curry2","./internal/_reduce","./keys"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_reduce"),f=a("./keys");c.exports=d(function(a,b){return e(function(c,d){return c[d]=a(b[d],d,b),c},{},f(b))})}),System.registerDynamic("npm:ramda@0.23.0/src/match.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return b.match(a)||[]})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isInteger.js",[],!0,function(a,b,c){this||self;c.exports=Number.isInteger||function(a){return a<<0===a}}),System.registerDynamic("npm:ramda@0.23.0/src/mathMod.js",["./internal/_curry2","./internal/_isInteger"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isInteger");c.exports=d(function(a,b){return e(a)?!e(b)||b<1?NaN:(a%b+b)%b:NaN})}),System.registerDynamic("npm:ramda@0.23.0/src/maxBy.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){return a(c)>a(b)?c:b})}),System.registerDynamic("npm:ramda@0.23.0/src/mean.js",["./internal/_curry1","./sum"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./sum");c.exports=d(function(a){return e(a)/a.length})}),System.registerDynamic("npm:ramda@0.23.0/src/median.js",["./internal/_curry1","./mean"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./mean");c.exports=d(function(a){var b=a.length;if(0===b)return NaN;var c=2-b%2,d=(b-c)/2;return e(Array.prototype.slice.call(a,0).sort(function(a,b){return a<b?-1:a>b?1:0}).slice(d,d+c))})}),System.registerDynamic("npm:ramda@0.23.0/src/memoize.js",["./internal/_arity","./internal/_curry1","./internal/_has","./toString"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_curry1"),f=a("./internal/_has"),g=a("./toString");c.exports=e(function(a){var b={};return d(a.length,function(){var c=g(arguments);return f(c,b)||(b[c]=a.apply(this,arguments)),b[c]})})}),System.registerDynamic("npm:ramda@0.23.0/src/merge.js",["./internal/_assign","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_assign")),e=a("./internal/_curry2");c.exports=e(function(a,b){return d({},a,b)})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_objectAssign.js",["./_has"],!0,function(a,b,c){var d=(this||self,a("./_has"));c.exports=function(a){if(null==a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1,e=arguments.length;c<e;){var f=arguments[c];if(null!=f)for(var g in f)d(g,f)&&(b[g]=f[g]);c+=1}return b}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_assign.js",["./_objectAssign"],!0,function(a,b,c){var d=(this||self,a("./_objectAssign"));c.exports="function"==typeof Object.assign?Object.assign:d}),System.registerDynamic("npm:ramda@0.23.0/src/mergeAll.js",["./internal/_assign","./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_assign")),e=a("./internal/_curry1");c.exports=e(function(a){return d.apply(null,[{}].concat(a))})}),System.registerDynamic("npm:ramda@0.23.0/src/mergeWith.js",["./internal/_curry3","./mergeWithKey"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./mergeWithKey");c.exports=d(function(a,b,c){return e(function(b,c,d){return a(c,d)},b,c)})}),System.registerDynamic("npm:ramda@0.23.0/src/mergeWithKey.js",["./internal/_curry3","./internal/_has"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./internal/_has");c.exports=d(function(a,b,c){var d,f={};for(d in b)e(d,b)&&(f[d]=e(d,c)?a(d,b[d],c[d]):b[d]);for(d in c)e(d,c)&&!e(d,f)&&(f[d]=c[d]);return f})}),System.registerDynamic("npm:ramda@0.23.0/src/min.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return b<a?b:a})}),System.registerDynamic("npm:ramda@0.23.0/src/minBy.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){return a(c)<a(b)?c:b})}),System.registerDynamic("npm:ramda@0.23.0/src/modulo.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a%b})}),System.registerDynamic("npm:ramda@0.23.0/src/negate.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){return-a})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xany.js",["./_curry2","./_reduced","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_reduced"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a,this.any=!1}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=function(a){return this.any||(a=this.xf["@@transducer/step"](a,!1)),this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){return this.f(b)&&(this.any=!0,a=e(this.xf["@@transducer/step"](a,!0))),a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/any.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xany"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xany");c.exports=d(e(["any"],f,function(a,b){for(var c=0;c<b.length;){if(a(b[c]))return!0;c+=1}return!1}))}),System.registerDynamic("npm:ramda@0.23.0/src/none.js",["./internal/_complement","./internal/_curry2","./internal/_dispatchable","./internal/_xany","./any"],!0,function(a,b,c){var d=(this||self,a("./internal/_complement")),e=a("./internal/_curry2"),f=a("./internal/_dispatchable"),g=a("./internal/_xany"),h=a("./any");c.exports=e(d(f(["any"],g,h)))}),System.registerDynamic("npm:ramda@0.23.0/src/not.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){return!a})}),System.registerDynamic("npm:ramda@0.23.0/src/nth.js",["./internal/_curry2","./internal/_isString"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isString");c.exports=d(function(a,b){var c=a<0?b.length+a:a;return e(b)?b.charAt(c):b[c]})}),System.registerDynamic("npm:ramda@0.23.0/src/nthArg.js",["./internal/_curry1","./curryN","./nth"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./curryN"),f=a("./nth");c.exports=d(function(a){var b=a<0?1:a+1;return e(b,function(){return f(a,arguments)})})}),System.registerDynamic("npm:ramda@0.23.0/src/objOf.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){var c={};return c[a]=b,c})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_of.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return[a]}}),System.registerDynamic("npm:ramda@0.23.0/src/of.js",["./internal/_curry1","./internal/_of"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_of");c.exports=d(e)}),System.registerDynamic("npm:ramda@0.23.0/src/omit.js",["./internal/_contains","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_contains")),e=a("./internal/_curry2");c.exports=e(function(a,b){var c={};for(var e in b)d(e,a)||(c[e]=b[e]);return c})}),System.registerDynamic("npm:ramda@0.23.0/src/once.js",["./internal/_arity","./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_curry1");c.exports=e(function(a){var b,c=!1;return d(a.length,function(){return c?b:(c=!0,b=a.apply(this,arguments))})})}),System.registerDynamic("npm:ramda@0.23.0/src/or.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a||b})}),System.registerDynamic("npm:ramda@0.23.0/src/pair.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return[a,b]})}),System.registerDynamic("npm:ramda@0.23.0/src/partial.js",["./internal/_concat","./internal/_createPartialApplicator"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_createPartialApplicator");c.exports=e(d)}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_createPartialApplicator.js",["./_arity","./_curry2"],!0,function(a,b,c){var d=(this||self,a("./_arity")),e=a("./_curry2");c.exports=function(a){return e(function(b,c){return d(Math.max(0,b.length-c.length),function(){return b.apply(this,a(c,arguments))})})}}),System.registerDynamic("npm:ramda@0.23.0/src/partialRight.js",["./internal/_concat","./internal/_createPartialApplicator","./flip"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_createPartialApplicator"),f=a("./flip");c.exports=e(f(d))}),System.registerDynamic("npm:ramda@0.23.0/src/max.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return b>a?b:a})}),System.registerDynamic("npm:ramda@0.23.0/src/converge.js",["./internal/_curry2","./internal/_map","./curryN","./max","./pluck","./reduce"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_map"),f=a("./curryN"),g=a("./max"),h=a("./pluck"),i=a("./reduce");c.exports=d(function(a,b){return f(i(g,0,h("length",b)),function(){var c=arguments,d=this;return a.apply(d,e(function(a){return a.apply(d,c)},b))})})}),System.registerDynamic("npm:ramda@0.23.0/src/juxt.js",["./internal/_curry1","./converge"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./converge");c.exports=d(function(a){return e(function(){return Array.prototype.slice.call(arguments,0)},a)})}),System.registerDynamic("npm:ramda@0.23.0/src/partition.js",["./filter","./juxt","./reject"],!0,function(a,b,c){var d=(this||self,a("./filter")),e=a("./juxt"),f=a("./reject");c.exports=e([d,f])}),System.registerDynamic("npm:ramda@0.23.0/src/pathEq.js",["./internal/_curry3","./equals","./path"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./equals"),f=a("./path");c.exports=d(function(a,b,c){return e(f(a,c),b)})}),System.registerDynamic("npm:ramda@0.23.0/src/defaultTo.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return null==b||b!==b?a:b})}),System.registerDynamic("npm:ramda@0.23.0/src/pathOr.js",["./internal/_curry3","./defaultTo","./path"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./defaultTo"),f=a("./path");c.exports=d(function(a,b,c){return e(a,f(b,c))})}),System.registerDynamic("npm:ramda@0.23.0/src/path.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=b,d=0;d<a.length;){if(null==c)return;c=c[a[d]],d+=1}return c})}),System.registerDynamic("npm:ramda@0.23.0/src/pathSatisfies.js",["./internal/_curry3","./path"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./path");c.exports=d(function(a,b,c){return b.length>0&&a(e(b,c))})}),System.registerDynamic("npm:ramda@0.23.0/src/pick.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c={},d=0;d<a.length;)a[d]in b&&(c[a[d]]=b[a[d]]),d+=1;return c})}),System.registerDynamic("npm:ramda@0.23.0/src/pickBy.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){var c={};for(var d in b)a(b[d],d,b)&&(c[d]=b[d]);return c})}),System.registerDynamic("npm:ramda@0.23.0/src/composeK.js",["./chain","./compose","./map"],!0,function(a,b,c){var d=(this||self,a("./chain")),e=a("./compose"),f=a("./map");c.exports=function(){if(0===arguments.length)throw new Error("composeK requires at least one argument");var a=Array.prototype.slice.call(arguments),b=a.pop();return e(e.apply(this,f(d,a)),b)}}),System.registerDynamic("npm:ramda@0.23.0/src/pipeK.js",["./composeK","./reverse"],!0,function(a,b,c){var d=(this||self,a("./composeK")),e=a("./reverse");c.exports=function(){if(0===arguments.length)throw new Error("pipeK requires at least one argument");return d.apply(this,e(arguments))}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_pipeP.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){return function(){var c=this;return a.apply(c,arguments).then(function(a){return b.call(c,a)})}}}),System.registerDynamic("npm:ramda@0.23.0/src/pipeP.js",["./internal/_arity","./internal/_pipeP","./reduce","./tail"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_pipeP"),f=a("./reduce"),g=a("./tail");c.exports=function(){if(0===arguments.length)throw new Error("pipeP requires at least one argument");return d(arguments[0].length,f(e,arguments[0],g(arguments)))}}),System.registerDynamic("npm:ramda@0.23.0/src/pluck.js",["./internal/_curry2","./map","./prop"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./map"),f=a("./prop");c.exports=d(function(a,b){return e(f(a),b)})}),System.registerDynamic("npm:ramda@0.23.0/src/multiply.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a*b})}),System.registerDynamic("npm:ramda@0.23.0/src/product.js",["./multiply","./reduce"],!0,function(a,b,c){var d=(this||self,a("./multiply")),e=a("./reduce");c.exports=e(d,1)}),System.registerDynamic("npm:ramda@0.23.0/src/pickAll.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c={},d=0,e=a.length;d<e;){var f=a[d];c[f]=b[f],d+=1}return c})}),System.registerDynamic("npm:ramda@0.23.0/src/project.js",["./internal/_map","./identity","./pickAll","./useWith"],!0,function(a,b,c){var d=(this||self,a("./internal/_map")),e=a("./identity"),f=a("./pickAll"),g=a("./useWith");c.exports=g(d,[f,e])}),System.registerDynamic("npm:ramda@0.23.0/src/prop.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return b[a]})}),System.registerDynamic("npm:ramda@0.23.0/src/propEq.js",["./internal/_curry3","./equals"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./equals");c.exports=d(function(a,b,c){return e(b,c[a])})}),System.registerDynamic("npm:ramda@0.23.0/src/is.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return null!=b&&b.constructor===a||b instanceof a})}),System.registerDynamic("npm:ramda@0.23.0/src/propIs.js",["./internal/_curry3","./is"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./is");c.exports=d(function(a,b,c){return e(a,c[b])})}),System.registerDynamic("npm:ramda@0.23.0/src/propOr.js",["./internal/_curry3","./internal/_has"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./internal/_has");c.exports=d(function(a,b,c){return null!=c&&e(b,c)?c[b]:a})}),System.registerDynamic("npm:ramda@0.23.0/src/propSatisfies.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){return a(c[b])})}),System.registerDynamic("npm:ramda@0.23.0/src/props.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=a.length,d=[],e=0;e<c;)d[e]=b[a[e]],e+=1;return d})}),System.registerDynamic("npm:ramda@0.23.0/src/range.js",["./internal/_curry2","./internal/_isNumber"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isNumber");c.exports=d(function(a,b){if(!e(a)||!e(b))throw new TypeError("Both arguments to range must be numbers");for(var c=[],d=a;d<b;)c.push(d),d+=1;return c})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xreduceBy.js",["./_curryN","./_has","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curryN")),e=a("./_has"),f=a("./_xfBase");c.exports=function(){function a(a,b,c,d){this.valueFn=a,this.valueAcc=b,this.keyFn=c,this.xf=d,this.inputs={}}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=function(a){var b;for(b in this.inputs)if(e(b,this.inputs)&&(a=this.xf["@@transducer/step"](a,this.inputs[b]),a["@@transducer/reduced"])){a=a["@@transducer/value"];break}return this.inputs=null,this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){var c=this.keyFn(b);return this.inputs[c]=this.inputs[c]||[c,this.valueAcc],this.inputs[c][1]=this.valueFn(this.inputs[c][1],b),a},d(4,[],function(b,c,d,e){return new a(b,c,d,e)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/reduceBy.js",["./internal/_curryN","./internal/_dispatchable","./internal/_has","./internal/_reduce","./internal/_xreduceBy"],!0,function(a,b,c){var d=(this||self,a("./internal/_curryN")),e=a("./internal/_dispatchable"),f=a("./internal/_has"),g=a("./internal/_reduce"),h=a("./internal/_xreduceBy");c.exports=d(4,[],e([],h,function(a,b,c,d){return g(function(d,e){var g=c(e);return d[g]=a(f(g,d)?d[g]:b,e),d},{},d)}))}),System.registerDynamic("npm:ramda@0.23.0/src/reduceWhile.js",["./internal/_curryN","./internal/_reduce","./internal/_reduced"],!0,function(a,b,c){var d=(this||self,a("./internal/_curryN")),e=a("./internal/_reduce"),f=a("./internal/_reduced");c.exports=d(4,[],function(a,b,c,d){return e(function(c,d){return a(c,d)?b(c,d):f(c)},c,d)})}),System.registerDynamic("npm:ramda@0.23.0/src/reduced.js",["./internal/_curry1","./internal/_reduced"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_reduced");c.exports=d(e)}),System.registerDynamic("npm:ramda@0.23.0/src/remove.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){var d=Array.prototype.slice.call(c,0);return d.splice(a,b),d})}),System.registerDynamic("npm:ramda@0.23.0/src/repeat.js",["./internal/_curry2","./always","./times"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./always"),f=a("./times");c.exports=d(function(a,b){return f(e(a),b)})}),System.registerDynamic("npm:ramda@0.23.0/src/replace.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){return c.replace(a,b)})}),System.registerDynamic("npm:ramda@0.23.0/src/scan.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){for(var d=0,e=c.length,f=[b];d<e;)b=a(b,c[d]),f[d+1]=b,d+=1;return f})}),System.registerDynamic("npm:ramda@0.23.0/src/over.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=function(){var a=function(b){return{value:b,map:function(c){return a(c(b))}}};return d(function(b,c,d){return b(function(b){return a(c(b))})(d).value})}()}),System.registerDynamic("npm:ramda@0.23.0/src/set.js",["./internal/_curry3","./always","./over"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./always"),f=a("./over");c.exports=d(function(a,b,c){return f(a,e(b),c)})}),System.registerDynamic("npm:ramda@0.23.0/src/sort.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return Array.prototype.slice.call(b,0).sort(a)})}),System.registerDynamic("npm:ramda@0.23.0/src/sortBy.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return Array.prototype.slice.call(b,0).sort(function(b,c){var d=a(b),e=a(c);return d<e?-1:d>e?1:0})})}),System.registerDynamic("npm:ramda@0.23.0/src/sortWith.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return Array.prototype.slice.call(b,0).sort(function(b,c){for(var d=0,e=0;0===d&&e<a.length;)d=a[e](b,c),e+=1;return d})})}),System.registerDynamic("npm:ramda@0.23.0/src/split.js",["./invoker"],!0,function(a,b,c){var d=(this||self,a("./invoker"));c.exports=d(1,"split")}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isNumber.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return"[object Number]"===Object.prototype.toString.call(a)}}),System.registerDynamic("npm:ramda@0.23.0/src/length.js",["./internal/_curry1","./internal/_isNumber"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_isNumber");c.exports=d(function(a){return null!=a&&e(a.length)?a.length:NaN})}),System.registerDynamic("npm:ramda@0.23.0/src/splitAt.js",["./internal/_curry2","./length","./slice"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./length"),f=a("./slice");c.exports=d(function(a,b){return[f(0,a,b),f(a,e(b),b)]})}),System.registerDynamic("npm:ramda@0.23.0/src/splitEvery.js",["./internal/_curry2","./slice"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./slice");c.exports=d(function(a,b){if(a<=0)throw new Error("First argument to splitEvery must be a positive integer");for(var c=[],d=0;d<b.length;)c.push(e(d,d+=a,b));return c})}),System.registerDynamic("npm:ramda@0.23.0/src/splitWhen.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=0,d=b.length,e=[];c<d&&!a(b[c]);)e.push(b[c]),c+=1;return[e,Array.prototype.slice.call(b,c)]})}),System.registerDynamic("npm:ramda@0.23.0/src/subtract.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return Number(a)-Number(b)})}),System.registerDynamic("npm:ramda@0.23.0/src/add.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return Number(a)+Number(b)})}),System.registerDynamic("npm:ramda@0.23.0/src/sum.js",["./add","./reduce"],!0,function(a,b,c){var d=(this||self,a("./add")),e=a("./reduce");c.exports=e(d,0)}),System.registerDynamic("npm:ramda@0.23.0/src/difference.js",["./internal/_contains","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_contains")),e=a("./internal/_curry2");c.exports=e(function(a,b){for(var c=[],e=0,f=a.length;e<f;)d(a[e],b)||d(a[e],c)||(c[c.length]=a[e]),e+=1;return c})}),System.registerDynamic("npm:ramda@0.23.0/src/symmetricDifference.js",["./internal/_curry2","./concat","./difference"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./concat"),f=a("./difference");c.exports=d(function(a,b){return e(f(a,b),f(b,a))})}),System.registerDynamic("npm:ramda@0.23.0/src/concat.js",["./internal/_curry2","./internal/_isArray","./internal/_isFunction","./toString"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isArray"),f=a("./internal/_isFunction"),g=a("./toString");c.exports=d(function(a,b){if(null==a||!f(a.concat))throw new TypeError(g(a)+' does not have a method named "concat"');if(e(a)&&!e(b))throw new TypeError(g(b)+" is not an array");return a.concat(b)})}),System.registerDynamic("npm:ramda@0.23.0/src/differenceWith.js",["./internal/_containsWith","./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_containsWith")),e=a("./internal/_curry3");c.exports=e(function(a,b,c){for(var e=[],f=0,g=b.length;f<g;)d(a,b[f],c)||d(a,b[f],e)||e.push(b[f]),f+=1;return e})}),System.registerDynamic("npm:ramda@0.23.0/src/symmetricDifferenceWith.js",["./internal/_curry3","./concat","./differenceWith"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./concat"),f=a("./differenceWith");c.exports=d(function(a,b,c){return e(f(a,b,c),f(a,c,b))})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xtake.js",["./_curry2","./_reduced","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_reduced"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.n=a,this.i=0}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=f.result,a.prototype["@@transducer/step"]=function(a,b){this.i+=1;var c=0===this.n?a:this.xf["@@transducer/step"](a,b);return this.i>=this.n?e(c):c},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/take.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xtake","./slice"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xtake"),g=a("./slice");c.exports=d(e(["take"],f,function(a,b){return g(0,a<0?1/0:a,b)}))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xdrop.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.n=a}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=e.result,a.prototype["@@transducer/step"]=function(a,b){return this.n>0?(this.n-=1,a):this.xf["@@transducer/step"](a,b)},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/drop.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xdrop","./slice"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xdrop"),g=a("./slice");c.exports=d(e(["drop"],f,function(a,b){return g(Math.max(0,a),1/0,b)}))}),System.registerDynamic("npm:ramda@0.23.0/src/takeLast.js",["./internal/_curry2","./drop"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./drop");c.exports=d(function(a,b){return e(a>=0?b.length-a:0,b)})}),System.registerDynamic("npm:ramda@0.23.0/src/takeLastWhile.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=b.length-1;c>=0&&a(b[c]);)c-=1;return Array.prototype.slice.call(b,c+1)})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_reduced.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return a&&a["@@transducer/reduced"]?a:{"@@transducer/value":a,"@@transducer/reduced":!0}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xtakeWhile.js",["./_curry2","./_reduced","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_reduced"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=f.result,a.prototype["@@transducer/step"]=function(a,b){return this.f(b)?this.xf["@@transducer/step"](a,b):e(a)},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/takeWhile.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xtakeWhile"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xtakeWhile");c.exports=d(e(["takeWhile"],f,function(a,b){for(var c=0,d=b.length;c<d&&a(b[c]);)c+=1;return Array.prototype.slice.call(b,0,c)}))}),System.registerDynamic("npm:ramda@0.23.0/src/tap.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a(b),b})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_cloneRegExp.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return new RegExp(a.source,(a.global?"g":"")+(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.sticky?"y":"")+(a.unicode?"u":""))}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isRegExp.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return"[object RegExp]"===Object.prototype.toString.call(a)}}),System.registerDynamic("npm:ramda@0.23.0/src/test.js",["./internal/_cloneRegExp","./internal/_curry2","./internal/_isRegExp","./toString"],!0,function(a,b,c){var d=(this||self,a("./internal/_cloneRegExp")),e=a("./internal/_curry2"),f=a("./internal/_isRegExp"),g=a("./toString");c.exports=e(function(a,b){if(!f(a))throw new TypeError("‘test’ requires a value of type RegExp as its first argument; received "+g(a));return d(a).test(b)})}),System.registerDynamic("npm:ramda@0.23.0/src/times.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){var c,d=Number(b),e=0;if(d<0||isNaN(d))throw new RangeError("n must be a non-negative number");for(c=new Array(d);e<d;)c[e]=a(e),e+=1;return c})}),System.registerDynamic("npm:ramda@0.23.0/src/toLower.js",["./invoker"],!0,function(a,b,c){var d=(this||self,a("./invoker"));c.exports=d(0,"toLowerCase")}),System.registerDynamic("npm:ramda@0.23.0/src/toPairs.js",["./internal/_curry1","./internal/_has"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_has");c.exports=d(function(a){var b=[];for(var c in a)e(c,a)&&(b[b.length]=[c,a[c]]);return b})}),System.registerDynamic("npm:ramda@0.23.0/src/toPairsIn.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){var b=[];for(var c in a)b[b.length]=[c,a[c]];return b})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isFunction.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return"[object Function]"===Object.prototype.toString.call(a)}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_quote.js",[],!0,function(a,b,c){this||self;c.exports=function(a){var b=a.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0");return'"'+b.replace(/"/g,'\\"')+'"'}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_toISOString.js",[],!0,function(a,b,c){this||self;c.exports=function(){var a=function(a){return(a<10?"0":"")+a};return"function"==typeof Date.prototype.toISOString?function(a){return a.toISOString()}:function(b){return b.getUTCFullYear()+"-"+a(b.getUTCMonth()+1)+"-"+a(b.getUTCDate())+"T"+a(b.getUTCHours())+":"+a(b.getUTCMinutes())+":"+a(b.getUTCSeconds())+"."+(b.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"}}()}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_toString.js",["./_contains","./_map","./_quote","./_toISOString","../keys","../reject"],!0,function(a,b,c){var d=(this||self,a("./_contains")),e=a("./_map"),f=a("./_quote"),g=a("./_toISOString"),h=a("../keys"),i=a("../reject");c.exports=function j(a,b){var c=function(c){var e=b.concat([a]);return d(c,e)?"<Circular>":j(c,e)},k=function(a,b){return e(function(b){return f(b)+": "+c(a[b])},b.slice().sort())};switch(Object.prototype.toString.call(a)){case"[object Arguments]":return"(function() { return arguments; }("+e(c,a).join(", ")+"))";case"[object Array]":return"["+e(c,a).concat(k(a,i(function(a){return/^\d+$/.test(a)},h(a)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof a?"new Boolean("+c(a.valueOf())+")":a.toString();case"[object Date]":return"new Date("+(isNaN(a.valueOf())?c(NaN):f(g(a)))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof a?"new Number("+c(a.valueOf())+")":1/a===-(1/0)?"-0":a.toString(10);case"[object String]":return"object"==typeof a?"new String("+c(a.valueOf())+")":f(a);case"[object Undefined]":return"undefined";default:if("function"==typeof a.toString){var l=a.toString();if("[object Object]"!==l)return l}return"{"+k(a,h(a)).join(", ")+"}";
}}}),System.registerDynamic("npm:ramda@0.23.0/src/toString.js",["./internal/_curry1","./internal/_toString"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_toString");c.exports=d(function(a){return e(a,[])})}),System.registerDynamic("npm:ramda@0.23.0/src/invoker.js",["./internal/_curry2","./internal/_isFunction","./curryN","./toString"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isFunction"),f=a("./curryN"),g=a("./toString");c.exports=d(function(a,b){return f(a+1,function(){var c=arguments[a];if(null!=c&&e(c[b]))return c[b].apply(c,Array.prototype.slice.call(arguments,0,a));throw new TypeError(g(c)+' does not have a method named "'+b+'"')})})}),System.registerDynamic("npm:ramda@0.23.0/src/toUpper.js",["./invoker"],!0,function(a,b,c){var d=(this||self,a("./invoker"));c.exports=d(0,"toUpperCase")}),System.registerDynamic("npm:ramda@0.23.0/src/transduce.js",["./internal/_reduce","./internal/_xwrap","./curryN"],!0,function(a,b,c){var d=(this||self,a("./internal/_reduce")),e=a("./internal/_xwrap"),f=a("./curryN");c.exports=f(4,function(a,b,c,f){return d(a("function"==typeof b?e(b):b),c,f)})}),System.registerDynamic("npm:ramda@0.23.0/src/transpose.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){for(var b=0,c=[];b<a.length;){for(var d=a[b],e=0;e<d.length;)"undefined"==typeof c[e]&&(c[e]=[]),c[e].push(d[e]),e+=1;b+=1}return c})}),System.registerDynamic("npm:ramda@0.23.0/src/ap.js",["./internal/_concat","./internal/_curry2","./internal/_reduce","./map"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_curry2"),f=a("./internal/_reduce"),g=a("./map");c.exports=e(function(a,b){return"function"==typeof a.ap?a.ap(b):"function"==typeof a?function(c){return a(c)(b(c))}:f(function(a,c){return d(a,g(c,b))},[],a)})}),System.registerDynamic("npm:ramda@0.23.0/src/prepend.js",["./internal/_concat","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_curry2");c.exports=e(function(a,b){return d([a],b)})}),System.registerDynamic("npm:ramda@0.23.0/src/reduceRight.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){for(var d=c.length-1;d>=0;)b=a(c[d],b),d-=1;return b})}),System.registerDynamic("npm:ramda@0.23.0/src/sequence.js",["./internal/_curry2","./ap","./map","./prepend","./reduceRight"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./ap"),f=a("./map"),g=a("./prepend"),h=a("./reduceRight");c.exports=d(function(a,b){return"function"==typeof b.sequence?b.sequence(a):h(function(a,b){return e(f(g,a),b)},a([]),b)})}),System.registerDynamic("npm:ramda@0.23.0/src/traverse.js",["./internal/_curry3","./map","./sequence"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./map"),f=a("./sequence");c.exports=d(function(a,b,c){return f(a,e(b,c))})}),System.registerDynamic("npm:ramda@0.23.0/src/trim.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=function(){var a="\t\n\x0B\f\r   ᠎              \u2028\u2029\ufeff",b="​",c="function"==typeof String.prototype.trim;return d(c&&!a.trim()&&b.trim()?function(a){return a.trim()}:function(b){var c=new RegExp("^["+a+"]["+a+"]*"),d=new RegExp("["+a+"]["+a+"]*$");return b.replace(c,"").replace(d,"")})}()}),System.registerDynamic("npm:ramda@0.23.0/src/tryCatch.js",["./internal/_arity","./internal/_concat","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_concat"),f=a("./internal/_curry2");c.exports=f(function(a,b){return d(a.length,function(){try{return a.apply(this,arguments)}catch(c){return b.apply(this,e([c],arguments))}})})}),System.registerDynamic("npm:ramda@0.23.0/src/unapply.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){return function(){return a(Array.prototype.slice.call(arguments,0))}})}),System.registerDynamic("npm:ramda@0.23.0/src/nAry.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){switch(a){case 0:return function(){return b.call(this)};case 1:return function(a){return b.call(this,a)};case 2:return function(a,c){return b.call(this,a,c)};case 3:return function(a,c,d){return b.call(this,a,c,d)};case 4:return function(a,c,d,e){return b.call(this,a,c,d,e)};case 5:return function(a,c,d,e,f){return b.call(this,a,c,d,e,f)};case 6:return function(a,c,d,e,f,g){return b.call(this,a,c,d,e,f,g)};case 7:return function(a,c,d,e,f,g,h){return b.call(this,a,c,d,e,f,g,h)};case 8:return function(a,c,d,e,f,g,h,i){return b.call(this,a,c,d,e,f,g,h,i)};case 9:return function(a,c,d,e,f,g,h,i,j){return b.call(this,a,c,d,e,f,g,h,i,j)};case 10:return function(a,c,d,e,f,g,h,i,j,k){return b.call(this,a,c,d,e,f,g,h,i,j,k)};default:throw new Error("First argument to nAry must be a non-negative integer no greater than ten")}})}),System.registerDynamic("npm:ramda@0.23.0/src/unary.js",["./internal/_curry1","./nAry"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./nAry");c.exports=d(function(a){return e(1,a)})}),System.registerDynamic("npm:ramda@0.23.0/src/uncurryN.js",["./internal/_curry2","./curryN"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./curryN");c.exports=d(function(a,b){return e(a,function(){for(var c,d=1,e=b,f=0;d<=a&&"function"==typeof e;)c=d===a?arguments.length:f+e.length,e=e.apply(this,Array.prototype.slice.call(arguments,f,c)),d+=1,f=c;return e})})}),System.registerDynamic("npm:ramda@0.23.0/src/unfold.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=a(b),d=[];c&&c.length;)d[d.length]=c[0],c=a(c[1]);return d})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_pipe.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){return function(){return b.call(this,a.apply(this,arguments))}}}),System.registerDynamic("npm:ramda@0.23.0/src/reduce.js",["./internal/_curry3","./internal/_reduce"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./internal/_reduce");c.exports=d(e)}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_checkForMethod.js",["./_isArray"],!0,function(a,b,c){var d=(this||self,a("./_isArray"));c.exports=function(a,b){return function(){var c=arguments.length;if(0===c)return b();var e=arguments[c-1];return d(e)||"function"!=typeof e[a]?b.apply(this,arguments):e[a].apply(e,Array.prototype.slice.call(arguments,0,c-1))}}}),System.registerDynamic("npm:ramda@0.23.0/src/slice.js",["./internal/_checkForMethod","./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_checkForMethod")),e=a("./internal/_curry3");c.exports=e(d("slice",function(a,b,c){return Array.prototype.slice.call(c,a,b)}))}),System.registerDynamic("npm:ramda@0.23.0/src/tail.js",["./internal/_checkForMethod","./internal/_curry1","./slice"],!0,function(a,b,c){var d=(this||self,a("./internal/_checkForMethod")),e=a("./internal/_curry1"),f=a("./slice");c.exports=e(d("tail",f(1,1/0)))}),System.registerDynamic("npm:ramda@0.23.0/src/pipe.js",["./internal/_arity","./internal/_pipe","./reduce","./tail"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_pipe"),f=a("./reduce"),g=a("./tail");c.exports=function(){if(0===arguments.length)throw new Error("pipe requires at least one argument");return d(arguments[0].length,f(e,arguments[0],g(arguments)))}}),System.registerDynamic("npm:ramda@0.23.0/src/reverse.js",["./internal/_curry1","./internal/_isString"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_isString");c.exports=d(function(a){return e(a)?a.split("").reverse().join(""):Array.prototype.slice.call(a,0).reverse()})}),System.registerDynamic("npm:ramda@0.23.0/src/compose.js",["./pipe","./reverse"],!0,function(a,b,c){var d=(this||self,a("./pipe")),e=a("./reverse");c.exports=function(){if(0===arguments.length)throw new Error("compose requires at least one argument");return d.apply(this,e(arguments))}}),System.registerDynamic("npm:ramda@0.23.0/src/union.js",["./internal/_concat","./internal/_curry2","./compose","./uniq"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_curry2"),f=a("./compose"),g=a("./uniq");c.exports=e(f(g,d))}),System.registerDynamic("npm:ramda@0.23.0/src/unionWith.js",["./internal/_concat","./internal/_curry3","./uniqWith"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_curry3"),f=a("./uniqWith");c.exports=e(function(a,b,c){return f(a,d(b,c))})}),System.registerDynamic("npm:ramda@0.23.0/src/identity.js",["./internal/_curry1","./internal/_identity"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_identity");c.exports=d(e)}),System.registerDynamic("npm:ramda@0.23.0/src/uniq.js",["./identity","./uniqBy"],!0,function(a,b,c){var d=(this||self,a("./identity")),e=a("./uniqBy");c.exports=e(d)}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_Set.js",["./_contains"],!0,function(a,b,c){var d=(this||self,a("./_contains"));c.exports=function(){function a(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}function b(a,b,c){var e,f,g=typeof a;switch(g){case"string":case"number":return 0===a&&1/a===-(1/0)?!!c._items["-0"]||(b&&(c._items["-0"]=!0),!1):null!==c._nativeSet?b?(e=c._nativeSet.size,c._nativeSet.add(a),f=c._nativeSet.size,f===e):c._nativeSet.has(a):g in c._items?a in c._items[g]||(b&&(c._items[g][a]=!0),!1):(b&&(c._items[g]={},c._items[g][a]=!0),!1);case"boolean":if(g in c._items){var h=a?1:0;return!!c._items[g][h]||(b&&(c._items[g][h]=!0),!1)}return b&&(c._items[g]=a?[!1,!0]:[!0,!1]),!1;case"function":return null!==c._nativeSet?b?(e=c._nativeSet.size,c._nativeSet.add(a),f=c._nativeSet.size,f===e):c._nativeSet.has(a):g in c._items?!!d(a,c._items[g])||(b&&c._items[g].push(a),!1):(b&&(c._items[g]=[a]),!1);case"undefined":return!!c._items[g]||(b&&(c._items[g]=!0),!1);case"object":if(null===a)return!!c._items["null"]||(b&&(c._items["null"]=!0),!1);default:return g=Object.prototype.toString.call(a),g in c._items?!!d(a,c._items[g])||(b&&c._items[g].push(a),!1):(b&&(c._items[g]=[a]),!1)}}return a.prototype.add=function(a){return!b(a,!0,this)},a.prototype.has=function(a){return b(a,!1,this)},a}()}),System.registerDynamic("npm:ramda@0.23.0/src/uniqBy.js",["./internal/_Set","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_Set")),e=a("./internal/_curry2");c.exports=e(function(a,b){for(var c,e,f=new d,g=[],h=0;h<b.length;)e=b[h],c=a(e),f.add(c)&&g.push(e),h+=1;return g})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_containsWith.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b,c){for(var d=0,e=c.length;d<e;){if(a(b,c[d]))return!0;d+=1}return!1}}),System.registerDynamic("npm:ramda@0.23.0/src/uniqWith.js",["./internal/_containsWith","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_containsWith")),e=a("./internal/_curry2");c.exports=e(function(a,b){for(var c,e=0,f=b.length,g=[];e<f;)c=b[e],d(a,c,g)||(g[g.length]=c),e+=1;return g})}),System.registerDynamic("npm:ramda@0.23.0/src/unless.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){return a(c)?c:b(c)})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_identity.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return a}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_makeFlat.js",["../isArrayLike"],!0,function(a,b,c){var d=(this||self,a("../isArrayLike"));c.exports=function(a){return function b(c){for(var e,f,g,h=[],i=0,j=c.length;i<j;){if(d(c[i]))for(e=a?b(c[i]):c[i],g=0,f=e.length;g<f;)h[h.length]=e[g],g+=1;else h[h.length]=c[i];i+=1}return h}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_forceReduced.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return{"@@transducer/value":a,"@@transducer/reduced":!0}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_flatCat.js",["./_forceReduced","./_reduce","./_xfBase","../isArrayLike"],!0,function(a,b,c){var d=(this||self,a("./_forceReduced")),e=a("./_reduce"),f=a("./_xfBase"),g=a("../isArrayLike");c.exports=function(){var a=function(a){return{"@@transducer/init":f.init,"@@transducer/result":function(b){return a["@@transducer/result"](b)},"@@transducer/step":function(b,c){var e=a["@@transducer/step"](b,c);return e["@@transducer/reduced"]?d(e):e}}};return function(b){var c=a(b);return{"@@transducer/init":f.init,"@@transducer/result":function(a){return c["@@transducer/result"](a)},"@@transducer/step":function(a,b){return g(b)?e(c,a,b):e(c,a,[b])}}}}()}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xchain.js",["./_curry2","./_flatCat","../map"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_flatCat"),f=a("../map");c.exports=d(function(a,b){return f(a,e(b))})}),System.registerDynamic("npm:ramda@0.23.0/src/chain.js",["./internal/_curry2","./internal/_dispatchable","./internal/_makeFlat","./internal/_xchain","./map"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_makeFlat"),g=a("./internal/_xchain"),h=a("./map");c.exports=d(e(["chain"],g,function(a,b){return"function"==typeof b?function(c){return a(b(c))(c)}:f(!1)(h(a,b))}))}),System.registerDynamic("npm:ramda@0.23.0/src/unnest.js",["./internal/_identity","./chain"],!0,function(a,b,c){var d=(this||self,a("./internal/_identity")),e=a("./chain");c.exports=e(d)}),System.registerDynamic("npm:ramda@0.23.0/src/until.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){for(var d=c;!a(d);)d=b(d);return d})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_concat.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){a=a||[],b=b||[];var c,d=a.length,e=b.length,f=[];for(c=0;c<d;)f[f.length]=a[c],c+=1;for(c=0;c<e;)f[f.length]=b[c],c+=1;return f}}),System.registerDynamic("npm:ramda@0.23.0/src/adjust.js",["./internal/_concat","./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_curry3");c.exports=e(function(a,b,c){if(b>=c.length||b<-c.length)return c;var e=b<0?c.length:0,f=e+b,g=d(c);return g[f]=a(c[f]),g})}),System.registerDynamic("npm:ramda@0.23.0/src/always.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){return function(){return a}})}),System.registerDynamic("npm:ramda@0.23.0/src/update.js",["./internal/_curry3","./adjust","./always"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./adjust"),f=a("./always");c.exports=d(function(a,b,c){return e(f(b),a,c)})}),System.registerDynamic("npm:ramda@0.23.0/src/useWith.js",["./internal/_curry2","./curryN"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./curryN");c.exports=d(function(a,b){return e(b.length,function(){for(var c=[],d=0;d<b.length;)c.push(b[d].call(this,arguments[d])),d+=1;return a.apply(this,c.concat(Array.prototype.slice.call(arguments,b.length)))})})}),System.registerDynamic("npm:ramda@0.23.0/src/values.js",["./internal/_curry1","./keys"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./keys");c.exports=d(function(a){for(var b=e(a),c=b.length,d=[],f=0;f<c;)d[f]=a[b[f]],f+=1;return d})}),System.registerDynamic("npm:ramda@0.23.0/src/valuesIn.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){var b,c=[];for(b in a)c[c.length]=a[b];return c})}),System.registerDynamic("npm:ramda@0.23.0/src/view.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=function(){var a=function(a){return{value:a,map:function(){return this}}};return d(function(b,c){return b(a)(c).value})}()}),System.registerDynamic("npm:ramda@0.23.0/src/when.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){return a(c)?b(c):c})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_map.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){for(var c=0,d=b.length,e=Array(d);c<d;)e[c]=a(b[c]),c+=1;return e}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xmap.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=e.result,a.prototype["@@transducer/step"]=function(a,b){return this.xf["@@transducer/step"](a,this.f(b))},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/map.js",["./internal/_curry2","./internal/_dispatchable","./internal/_map","./internal/_reduce","./internal/_xmap","./curryN","./keys"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_map"),g=a("./internal/_reduce"),h=a("./internal/_xmap"),i=a("./curryN"),j=a("./keys");c.exports=d(e(["map"],h,function(a,b){switch(Object.prototype.toString.call(b)){case"[object Function]":return i(b.length,function(){return a.call(this,b.apply(this,arguments))});case"[object Object]":return g(function(c,d){return c[d]=a(b[d]),c},{},j(b));default:return f(a,b)}}))}),System.registerDynamic("npm:ramda@0.23.0/src/where.js",["./internal/_curry2","./internal/_has"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_has");c.exports=d(function(a,b){for(var c in a)if(e(c,a)&&!a[c](b[c]))return!1;return!0})}),System.registerDynamic("npm:ramda@0.23.0/src/whereEq.js",["./internal/_curry2","./equals","./map","./where"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./equals"),f=a("./map"),g=a("./where");c.exports=d(function(a,b){return g(f(e,a),b)})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_arrayFromIterator.js",[],!0,function(a,b,c){this||self;c.exports=function(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_functionName.js",[],!0,function(a,b,c){this||self;c.exports=function(a){var b=String(a).match(/^function (\w*)/);return null==b?"":b[1]}}),System.registerDynamic("npm:ramda@0.23.0/src/identical.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a===b?0!==a||1/a===1/b:a!==a&&b!==b})}),System.registerDynamic("npm:ramda@0.23.0/src/type.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){return null===a?"Null":void 0===a?"Undefined":Object.prototype.toString.call(a).slice(8,-1)})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_equals.js",["./_arrayFromIterator","./_functionName","./_has","../identical","../keys","../type"],!0,function(a,b,c){var d=(this||self,a("./_arrayFromIterator")),e=a("./_functionName"),f=a("./_has"),g=a("../identical"),h=a("../keys"),i=a("../type");c.exports=function j(a,b,c,k){if(g(a,b))return!0;if(i(a)!==i(b))return!1;if(null==a||null==b)return!1;if("function"==typeof a.equals||"function"==typeof b.equals)return"function"==typeof a.equals&&a.equals(b)&&"function"==typeof b.equals&&b.equals(a);switch(i(a)){case"Arguments":case"Array":case"Object":if("function"==typeof a.constructor&&"Promise"===e(a.constructor))return a===b;break;case"Boolean":case"Number":case"String":if(typeof a!=typeof b||!g(a.valueOf(),b.valueOf()))return!1;break;case"Date":if(!g(a.valueOf(),b.valueOf()))return!1;break;case"Error":return a.name===b.name&&a.message===b.message;case"RegExp":if(a.source!==b.source||a.global!==b.global||a.ignoreCase!==b.ignoreCase||a.multiline!==b.multiline||a.sticky!==b.sticky||a.unicode!==b.unicode)return!1;break;case"Map":case"Set":if(!j(d(a.entries()),d(b.entries()),c,k))return!1;break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":break;case"ArrayBuffer":break;default:return!1}var l=h(a);if(l.length!==h(b).length)return!1;for(var m=c.length-1;m>=0;){if(c[m]===a)return k[m]===b;m-=1}for(c.push(a),k.push(b),m=l.length-1;m>=0;){var n=l[m];if(!f(n,b)||!j(b[n],a[n],c,k))return!1;m-=1}return c.pop(),k.pop(),!0}}),System.registerDynamic("npm:ramda@0.23.0/src/equals.js",["./internal/_curry2","./internal/_equals"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_equals");c.exports=d(function(a,b){return e(a,b,[],[])})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_indexOf.js",["../equals"],!0,function(a,b,c){var d=(this||self,a("../equals"));c.exports=function(a,b,c){var e,f;if("function"==typeof a.indexOf)switch(typeof b){case"number":if(0===b){for(e=1/b;c<a.length;){if(f=a[c],0===f&&1/f===e)return c;c+=1}return-1}if(b!==b){for(;c<a.length;){if(f=a[c],"number"==typeof f&&f!==f)return c;c+=1}return-1}return a.indexOf(b,c);case"string":case"boolean":case"function":case"undefined":return a.indexOf(b,c);case"object":if(null===b)return a.indexOf(b,c)}for(;c<a.length;){if(d(a[c],b))return c;c+=1}return-1}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_contains.js",["./_indexOf"],!0,function(a,b,c){var d=(this||self,a("./_indexOf"));c.exports=function(a,b){return d(b,a,0)>=0}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_curryN.js",["./_arity","./_isPlaceholder"],!0,function(a,b,c){var d=(this||self,a("./_arity")),e=a("./_isPlaceholder");c.exports=function f(a,b,c){return function(){for(var g=[],h=0,i=a,j=0;j<b.length||h<arguments.length;){var k;j<b.length&&(!e(b[j])||h>=arguments.length)?k=b[j]:(k=arguments[h],h+=1),g[j]=k,e(k)||(i-=1),j+=1}return i<=0?c.apply(this,g):d(i,f(a,g,c))}}}),System.registerDynamic("npm:ramda@0.23.0/src/curryN.js",["./internal/_arity","./internal/_curry1","./internal/_curry2","./internal/_curryN"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_curry1"),f=a("./internal/_curry2"),g=a("./internal/_curryN");c.exports=f(function(a,b){return 1===a?e(b):d(a,g(a,[],b))})}),System.registerDynamic("npm:ramda@0.23.0/src/curry.js",["./internal/_curry1","./curryN"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./curryN");c.exports=d(function(a){return e(a.length,a)})}),System.registerDynamic("npm:ramda@0.23.0/src/flip.js",["./internal/_curry1","./curry"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./curry");c.exports=d(function(a){return e(function(b,c){var d=Array.prototype.slice.call(arguments,0);return d[0]=c,d[1]=b,a.apply(this,d)})})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_complement.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return function(){return!a.apply(this,arguments)}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isTransformer.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return"function"==typeof a["@@transducer/step"]}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_dispatchable.js",["./_isArray","./_isTransformer"],!0,function(a,b,c){var d=(this||self,a("./_isArray")),e=a("./_isTransformer");c.exports=function(a,b,c){return function(){if(0===arguments.length)return c();var f=Array.prototype.slice.call(arguments,0),g=f.pop();if(!d(g)){for(var h=0;h<a.length;){if("function"==typeof g[a[h]])return g[a[h]].apply(g,f);h+=1}if(e(g)){var i=b.apply(null,f);return i(g)}}return c.apply(this,arguments)}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_filter.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){for(var c=0,d=b.length,e=[];c<d;)a(b[c])&&(e[e.length]=b[c]),c+=1;return e}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isObject.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return"[object Object]"===Object.prototype.toString.call(a)}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xwrap.js",[],!0,function(a,b,c){this||self;c.exports=function(){function a(a){this.f=a}return a.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},a.prototype["@@transducer/result"]=function(a){return a},a.prototype["@@transducer/step"]=function(a,b){return this.f(a,b)},function(b){return new a(b)}}()}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_arity.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){switch(a){case 0:return function(){return b.apply(this,arguments)};case 1:return function(a){return b.apply(this,arguments)};case 2:return function(a,c){return b.apply(this,arguments)};case 3:return function(a,c,d){return b.apply(this,arguments)};case 4:return function(a,c,d,e){return b.apply(this,arguments)};case 5:return function(a,c,d,e,f){return b.apply(this,arguments)};case 6:return function(a,c,d,e,f,g){return b.apply(this,arguments)};case 7:return function(a,c,d,e,f,g,h){return b.apply(this,arguments)};case 8:return function(a,c,d,e,f,g,h,i){return b.apply(this,arguments)};case 9:return function(a,c,d,e,f,g,h,i,j){return b.apply(this,arguments)};case 10:return function(a,c,d,e,f,g,h,i,j,k){return b.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}}),System.registerDynamic("npm:ramda@0.23.0/src/bind.js",["./internal/_arity","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_curry2");c.exports=e(function(a,b){return d(a.length,function(){return a.apply(b,arguments)})})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isArray.js",[],!0,function(a,b,c){this||self;c.exports=Array.isArray||function(a){return null!=a&&a.length>=0&&"[object Array]"===Object.prototype.toString.call(a)}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isString.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return"[object String]"===Object.prototype.toString.call(a)}}),System.registerDynamic("npm:ramda@0.23.0/src/isArrayLike.js",["./internal/_curry1","./internal/_isArray","./internal/_isString"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_isArray"),f=a("./internal/_isString");c.exports=d(function(a){return!!e(a)||!!a&&("object"==typeof a&&(!f(a)&&(1===a.nodeType?!!a.length:0===a.length||a.length>0&&(a.hasOwnProperty(0)&&a.hasOwnProperty(a.length-1)))))})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_reduce.js",["./_xwrap","../bind","../isArrayLike"],!0,function(a,b,c){var d=(this||self,a("./_xwrap")),e=a("../bind"),f=a("../isArrayLike");c.exports=function(){function a(a,b,c){for(var d=0,e=c.length;d<e;){if(b=a["@@transducer/step"](b,c[d]),b&&b["@@transducer/reduced"]){b=b["@@transducer/value"];break}d+=1}return a["@@transducer/result"](b)}function b(a,b,c){for(var d=c.next();!d.done;){if(b=a["@@transducer/step"](b,d.value),b&&b["@@transducer/reduced"]){b=b["@@transducer/value"];break}d=c.next()}return a["@@transducer/result"](b)}function c(a,b,c){return a["@@transducer/result"](c.reduce(e(a["@@transducer/step"],a),b))}var g="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";return function(e,h,i){if("function"==typeof e&&(e=d(e)),f(i))return a(e,h,i);if("function"==typeof i.reduce)return c(e,h,i);if(null!=i[g])return b(e,h,i[g]());if("function"==typeof i.next)return b(e,h,i);throw new TypeError("reduce: list must be array or iterable")}}()}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xfBase.js",[],!0,function(a,b,c){this||self;c.exports={init:function(){return this.xf["@@transducer/init"]()},result:function(a){return this.xf["@@transducer/result"](a)}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xfilter.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=e.result,a.prototype["@@transducer/step"]=function(a,b){return this.f(b)?this.xf["@@transducer/step"](a,b):a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_has.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){return Object.prototype.hasOwnProperty.call(b,a)}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isArguments.js",["./_has"],!0,function(a,b,c){var d=(this||self,a("./_has"));c.exports=function(){var a=Object.prototype.toString;return"[object Arguments]"===a.call(arguments)?function(b){return"[object Arguments]"===a.call(b)}:function(a){return d("callee",a)}}()}),System.registerDynamic("npm:ramda@0.23.0/src/keys.js",["./internal/_curry1","./internal/_has","./internal/_isArguments"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_has"),f=a("./internal/_isArguments");c.exports=function(){var a=!{toString:null}.propertyIsEnumerable("toString"),b=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],c=function(){"use strict";return arguments.propertyIsEnumerable("length")}(),g=function(a,b){for(var c=0;c<a.length;){if(a[c]===b)return!0;c+=1}return!1};return d("function"!=typeof Object.keys||c?function(d){if(Object(d)!==d)return[];var h,i,j=[],k=c&&f(d);for(h in d)!e(h,d)||k&&"length"===h||(j[j.length]=h);if(a)for(i=b.length-1;i>=0;)h=b[i],e(h,d)&&!g(j,h)&&(j[j.length]=h),i-=1;return j}:function(a){return Object(a)!==a?[]:Object.keys(a)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/filter.js",["./internal/_curry2","./internal/_dispatchable","./internal/_filter","./internal/_isObject","./internal/_reduce","./internal/_xfilter","./keys"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_filter"),g=a("./internal/_isObject"),h=a("./internal/_reduce"),i=a("./internal/_xfilter"),j=a("./keys");c.exports=d(e(["filter"],i,function(a,b){return g(b)?h(function(c,d){return a(b[d])&&(c[d]=b[d]),c},{},j(b)):f(a,b)}))}),System.registerDynamic("npm:ramda@0.23.0/src/reject.js",["./internal/_complement","./internal/_curry2","./filter"],!0,function(a,b,c){var d=(this||self,a("./internal/_complement")),e=a("./internal/_curry2"),f=a("./filter");c.exports=e(function(a,b){return f(d(a),b)})}),System.registerDynamic("npm:ramda@0.23.0/src/without.js",["./internal/_contains","./internal/_curry2","./flip","./reject"],!0,function(a,b,c){var d=(this||self,a("./internal/_contains")),e=a("./internal/_curry2"),f=a("./flip"),g=a("./reject");c.exports=e(function(a,b){return g(f(d)(a),b)})}),System.registerDynamic("npm:ramda@0.23.0/src/xprod.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c,d=0,e=a.length,f=b.length,g=[];d<e;){for(c=0;c<f;)g[g.length]=[a[d],b[c]],c+=1;d+=1}return g})}),System.registerDynamic("npm:ramda@0.23.0/src/zip.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=[],d=0,e=Math.min(a.length,b.length);d<e;)c[d]=[a[d],b[d]],d+=1;return c})}),System.registerDynamic("npm:ramda@0.23.0/src/zipObj.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=0,d=Math.min(a.length,b.length),e={};c<d;)e[a[c]]=b[c],c+=1;return e})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_curry1.js",["./_isPlaceholder"],!0,function(a,b,c){var d=(this||self,a("./_isPlaceholder"));c.exports=function(a){return function b(c){return 0===arguments.length||d(c)?b:a.apply(this,arguments)}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_curry2.js",["./_curry1","./_isPlaceholder"],!0,function(a,b,c){var d=(this||self,a("./_curry1")),e=a("./_isPlaceholder");c.exports=function(a){return function b(c,f){switch(arguments.length){case 0:return b;
case 1:return e(c)?b:d(function(b){return a(c,b)});default:return e(c)&&e(f)?b:e(c)?d(function(b){return a(b,f)}):e(f)?d(function(b){return a(c,b)}):a(c,f)}}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isPlaceholder.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return null!=a&&"object"==typeof a&&a["@@functional/placeholder"]===!0}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_curry3.js",["./_curry1","./_curry2","./_isPlaceholder"],!0,function(a,b,c){var d=(this||self,a("./_curry1")),e=a("./_curry2"),f=a("./_isPlaceholder");c.exports=function(a){return function b(c,g,h){switch(arguments.length){case 0:return b;case 1:return f(c)?b:e(function(b,d){return a(c,b,d)});case 2:return f(c)&&f(g)?b:f(c)?e(function(b,c){return a(b,g,c)}):f(g)?e(function(b,d){return a(c,b,d)}):d(function(b){return a(c,g,b)});default:return f(c)&&f(g)&&f(h)?b:f(c)&&f(g)?e(function(b,c){return a(b,c,h)}):f(c)&&f(h)?e(function(b,c){return a(b,g,c)}):f(g)&&f(h)?e(function(b,d){return a(c,b,d)}):f(c)?d(function(b){return a(b,g,h)}):f(g)?d(function(b){return a(c,b,h)}):f(h)?d(function(b){return a(c,g,b)}):a(c,g,h)}}}}),System.registerDynamic("npm:ramda@0.23.0/src/zipWith.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){for(var d=[],e=0,f=Math.min(b.length,c.length);e<f;)d[e]=a(b[e],c[e]),e+=1;return d})}),System.registerDynamic("npm:ramda@0.23.0/index.js",["./src/F","./src/T","./src/__","./src/add","./src/addIndex","./src/adjust","./src/all","./src/allPass","./src/always","./src/and","./src/any","./src/anyPass","./src/ap","./src/aperture","./src/append","./src/apply","./src/applySpec","./src/ascend","./src/assoc","./src/assocPath","./src/binary","./src/bind","./src/both","./src/call","./src/chain","./src/clamp","./src/clone","./src/comparator","./src/complement","./src/compose","./src/composeK","./src/composeP","./src/concat","./src/cond","./src/construct","./src/constructN","./src/contains","./src/converge","./src/countBy","./src/curry","./src/curryN","./src/dec","./src/descend","./src/defaultTo","./src/difference","./src/differenceWith","./src/dissoc","./src/dissocPath","./src/divide","./src/drop","./src/dropLast","./src/dropLastWhile","./src/dropRepeats","./src/dropRepeatsWith","./src/dropWhile","./src/either","./src/empty","./src/eqBy","./src/eqProps","./src/equals","./src/evolve","./src/filter","./src/find","./src/findIndex","./src/findLast","./src/findLastIndex","./src/flatten","./src/flip","./src/forEach","./src/forEachObjIndexed","./src/fromPairs","./src/groupBy","./src/groupWith","./src/gt","./src/gte","./src/has","./src/hasIn","./src/head","./src/identical","./src/identity","./src/ifElse","./src/inc","./src/indexBy","./src/indexOf","./src/init","./src/insert","./src/insertAll","./src/intersection","./src/intersectionWith","./src/intersperse","./src/into","./src/invert","./src/invertObj","./src/invoker","./src/is","./src/isArrayLike","./src/isEmpty","./src/isNil","./src/join","./src/juxt","./src/keys","./src/keysIn","./src/last","./src/lastIndexOf","./src/length","./src/lens","./src/lensIndex","./src/lensPath","./src/lensProp","./src/lift","./src/liftN","./src/lt","./src/lte","./src/map","./src/mapAccum","./src/mapAccumRight","./src/mapObjIndexed","./src/match","./src/mathMod","./src/max","./src/maxBy","./src/mean","./src/median","./src/memoize","./src/merge","./src/mergeAll","./src/mergeWith","./src/mergeWithKey","./src/min","./src/minBy","./src/modulo","./src/multiply","./src/nAry","./src/negate","./src/none","./src/not","./src/nth","./src/nthArg","./src/objOf","./src/of","./src/omit","./src/once","./src/or","./src/over","./src/pair","./src/partial","./src/partialRight","./src/partition","./src/path","./src/pathEq","./src/pathOr","./src/pathSatisfies","./src/pick","./src/pickAll","./src/pickBy","./src/pipe","./src/pipeK","./src/pipeP","./src/pluck","./src/prepend","./src/product","./src/project","./src/prop","./src/propEq","./src/propIs","./src/propOr","./src/propSatisfies","./src/props","./src/range","./src/reduce","./src/reduceBy","./src/reduceRight","./src/reduceWhile","./src/reduced","./src/reject","./src/remove","./src/repeat","./src/replace","./src/reverse","./src/scan","./src/sequence","./src/set","./src/slice","./src/sort","./src/sortBy","./src/sortWith","./src/split","./src/splitAt","./src/splitEvery","./src/splitWhen","./src/subtract","./src/sum","./src/symmetricDifference","./src/symmetricDifferenceWith","./src/tail","./src/take","./src/takeLast","./src/takeLastWhile","./src/takeWhile","./src/tap","./src/test","./src/times","./src/toLower","./src/toPairs","./src/toPairsIn","./src/toString","./src/toUpper","./src/transduce","./src/transpose","./src/traverse","./src/trim","./src/tryCatch","./src/type","./src/unapply","./src/unary","./src/uncurryN","./src/unfold","./src/union","./src/unionWith","./src/uniq","./src/uniqBy","./src/uniqWith","./src/unless","./src/unnest","./src/until","./src/update","./src/useWith","./src/values","./src/valuesIn","./src/view","./src/when","./src/where","./src/whereEq","./src/without","./src/xprod","./src/zip","./src/zipObj","./src/zipWith"],!0,function(a,b,c){this||self;c.exports={F:a("./src/F"),T:a("./src/T"),__:a("./src/__"),add:a("./src/add"),addIndex:a("./src/addIndex"),adjust:a("./src/adjust"),all:a("./src/all"),allPass:a("./src/allPass"),always:a("./src/always"),and:a("./src/and"),any:a("./src/any"),anyPass:a("./src/anyPass"),ap:a("./src/ap"),aperture:a("./src/aperture"),append:a("./src/append"),apply:a("./src/apply"),applySpec:a("./src/applySpec"),ascend:a("./src/ascend"),assoc:a("./src/assoc"),assocPath:a("./src/assocPath"),binary:a("./src/binary"),bind:a("./src/bind"),both:a("./src/both"),call:a("./src/call"),chain:a("./src/chain"),clamp:a("./src/clamp"),clone:a("./src/clone"),comparator:a("./src/comparator"),complement:a("./src/complement"),compose:a("./src/compose"),composeK:a("./src/composeK"),composeP:a("./src/composeP"),concat:a("./src/concat"),cond:a("./src/cond"),construct:a("./src/construct"),constructN:a("./src/constructN"),contains:a("./src/contains"),converge:a("./src/converge"),countBy:a("./src/countBy"),curry:a("./src/curry"),curryN:a("./src/curryN"),dec:a("./src/dec"),descend:a("./src/descend"),defaultTo:a("./src/defaultTo"),difference:a("./src/difference"),differenceWith:a("./src/differenceWith"),dissoc:a("./src/dissoc"),dissocPath:a("./src/dissocPath"),divide:a("./src/divide"),drop:a("./src/drop"),dropLast:a("./src/dropLast"),dropLastWhile:a("./src/dropLastWhile"),dropRepeats:a("./src/dropRepeats"),dropRepeatsWith:a("./src/dropRepeatsWith"),dropWhile:a("./src/dropWhile"),either:a("./src/either"),empty:a("./src/empty"),eqBy:a("./src/eqBy"),eqProps:a("./src/eqProps"),equals:a("./src/equals"),evolve:a("./src/evolve"),filter:a("./src/filter"),find:a("./src/find"),findIndex:a("./src/findIndex"),findLast:a("./src/findLast"),findLastIndex:a("./src/findLastIndex"),flatten:a("./src/flatten"),flip:a("./src/flip"),forEach:a("./src/forEach"),forEachObjIndexed:a("./src/forEachObjIndexed"),fromPairs:a("./src/fromPairs"),groupBy:a("./src/groupBy"),groupWith:a("./src/groupWith"),gt:a("./src/gt"),gte:a("./src/gte"),has:a("./src/has"),hasIn:a("./src/hasIn"),head:a("./src/head"),identical:a("./src/identical"),identity:a("./src/identity"),ifElse:a("./src/ifElse"),inc:a("./src/inc"),indexBy:a("./src/indexBy"),indexOf:a("./src/indexOf"),init:a("./src/init"),insert:a("./src/insert"),insertAll:a("./src/insertAll"),intersection:a("./src/intersection"),intersectionWith:a("./src/intersectionWith"),intersperse:a("./src/intersperse"),into:a("./src/into"),invert:a("./src/invert"),invertObj:a("./src/invertObj"),invoker:a("./src/invoker"),is:a("./src/is"),isArrayLike:a("./src/isArrayLike"),isEmpty:a("./src/isEmpty"),isNil:a("./src/isNil"),join:a("./src/join"),juxt:a("./src/juxt"),keys:a("./src/keys"),keysIn:a("./src/keysIn"),last:a("./src/last"),lastIndexOf:a("./src/lastIndexOf"),length:a("./src/length"),lens:a("./src/lens"),lensIndex:a("./src/lensIndex"),lensPath:a("./src/lensPath"),lensProp:a("./src/lensProp"),lift:a("./src/lift"),liftN:a("./src/liftN"),lt:a("./src/lt"),lte:a("./src/lte"),map:a("./src/map"),mapAccum:a("./src/mapAccum"),mapAccumRight:a("./src/mapAccumRight"),mapObjIndexed:a("./src/mapObjIndexed"),match:a("./src/match"),mathMod:a("./src/mathMod"),max:a("./src/max"),maxBy:a("./src/maxBy"),mean:a("./src/mean"),median:a("./src/median"),memoize:a("./src/memoize"),merge:a("./src/merge"),mergeAll:a("./src/mergeAll"),mergeWith:a("./src/mergeWith"),mergeWithKey:a("./src/mergeWithKey"),min:a("./src/min"),minBy:a("./src/minBy"),modulo:a("./src/modulo"),multiply:a("./src/multiply"),nAry:a("./src/nAry"),negate:a("./src/negate"),none:a("./src/none"),not:a("./src/not"),nth:a("./src/nth"),nthArg:a("./src/nthArg"),objOf:a("./src/objOf"),of:a("./src/of"),omit:a("./src/omit"),once:a("./src/once"),or:a("./src/or"),over:a("./src/over"),pair:a("./src/pair"),partial:a("./src/partial"),partialRight:a("./src/partialRight"),partition:a("./src/partition"),path:a("./src/path"),pathEq:a("./src/pathEq"),pathOr:a("./src/pathOr"),pathSatisfies:a("./src/pathSatisfies"),pick:a("./src/pick"),pickAll:a("./src/pickAll"),pickBy:a("./src/pickBy"),pipe:a("./src/pipe"),pipeK:a("./src/pipeK"),pipeP:a("./src/pipeP"),pluck:a("./src/pluck"),prepend:a("./src/prepend"),product:a("./src/product"),project:a("./src/project"),prop:a("./src/prop"),propEq:a("./src/propEq"),propIs:a("./src/propIs"),propOr:a("./src/propOr"),propSatisfies:a("./src/propSatisfies"),props:a("./src/props"),range:a("./src/range"),reduce:a("./src/reduce"),reduceBy:a("./src/reduceBy"),reduceRight:a("./src/reduceRight"),reduceWhile:a("./src/reduceWhile"),reduced:a("./src/reduced"),reject:a("./src/reject"),remove:a("./src/remove"),repeat:a("./src/repeat"),replace:a("./src/replace"),reverse:a("./src/reverse"),scan:a("./src/scan"),sequence:a("./src/sequence"),set:a("./src/set"),slice:a("./src/slice"),sort:a("./src/sort"),sortBy:a("./src/sortBy"),sortWith:a("./src/sortWith"),split:a("./src/split"),splitAt:a("./src/splitAt"),splitEvery:a("./src/splitEvery"),splitWhen:a("./src/splitWhen"),subtract:a("./src/subtract"),sum:a("./src/sum"),symmetricDifference:a("./src/symmetricDifference"),symmetricDifferenceWith:a("./src/symmetricDifferenceWith"),tail:a("./src/tail"),take:a("./src/take"),takeLast:a("./src/takeLast"),takeLastWhile:a("./src/takeLastWhile"),takeWhile:a("./src/takeWhile"),tap:a("./src/tap"),test:a("./src/test"),times:a("./src/times"),toLower:a("./src/toLower"),toPairs:a("./src/toPairs"),toPairsIn:a("./src/toPairsIn"),toString:a("./src/toString"),toUpper:a("./src/toUpper"),transduce:a("./src/transduce"),transpose:a("./src/transpose"),traverse:a("./src/traverse"),trim:a("./src/trim"),tryCatch:a("./src/tryCatch"),type:a("./src/type"),unapply:a("./src/unapply"),unary:a("./src/unary"),uncurryN:a("./src/uncurryN"),unfold:a("./src/unfold"),union:a("./src/union"),unionWith:a("./src/unionWith"),uniq:a("./src/uniq"),uniqBy:a("./src/uniqBy"),uniqWith:a("./src/uniqWith"),unless:a("./src/unless"),unnest:a("./src/unnest"),until:a("./src/until"),update:a("./src/update"),useWith:a("./src/useWith"),values:a("./src/values"),valuesIn:a("./src/valuesIn"),view:a("./src/view"),when:a("./src/when"),where:a("./src/where"),whereEq:a("./src/whereEq"),without:a("./src/without"),xprod:a("./src/xprod"),zip:a("./src/zip"),zipObj:a("./src/zipObj"),zipWith:a("./src/zipWith")}}),System.registerDynamic("npm:ramda@0.23.0.js",["npm:ramda@0.23.0/index.js"],!0,function(a,b,c){this||self;c.exports=a("npm:ramda@0.23.0/index.js")}),function(a){if("undefined"!=typeof document){var b=document,c="appendChild",d=b.createElement("style");d.type="text/css",b.getElementsByTagName("head")[0][c](d),d[c](b.createTextNode(a))}}('/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */@font-face{font-family:FontAwesome;src:url(\'jspm_packages/npm/font-awesome@4.7.0/fonts/fontawesome-webfont.eot?v=4.7.0\');src:url(\'jspm_packages/npm/font-awesome@4.7.0/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0\') format(\'embedded-opentype\'),url(\'jspm_packages/npm/font-awesome@4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0\') format(\'woff2\'),url(\'jspm_packages/npm/font-awesome@4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0\') format(\'woff\'),url(\'jspm_packages/npm/font-awesome@4.7.0/fonts/fontawesome-webfont.ttf?v=4.7.0\') format(\'truetype\'),url(\'jspm_packages/npm/font-awesome@4.7.0/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular\') format(\'svg\');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\\f000"}.fa-music:before{content:"\\f001"}.fa-search:before{content:"\\f002"}.fa-envelope-o:before{content:"\\f003"}.fa-heart:before{content:"\\f004"}.fa-star:before{content:"\\f005"}.fa-star-o:before{content:"\\f006"}.fa-user:before{content:"\\f007"}.fa-film:before{content:"\\f008"}.fa-th-large:before{content:"\\f009"}.fa-th:before{content:"\\f00a"}.fa-th-list:before{content:"\\f00b"}.fa-check:before{content:"\\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\\f00d"}.fa-search-plus:before{content:"\\f00e"}.fa-search-minus:before{content:"\\f010"}.fa-power-off:before{content:"\\f011"}.fa-signal:before{content:"\\f012"}.fa-cog:before,.fa-gear:before{content:"\\f013"}.fa-trash-o:before{content:"\\f014"}.fa-home:before{content:"\\f015"}.fa-file-o:before{content:"\\f016"}.fa-clock-o:before{content:"\\f017"}.fa-road:before{content:"\\f018"}.fa-download:before{content:"\\f019"}.fa-arrow-circle-o-down:before{content:"\\f01a"}.fa-arrow-circle-o-up:before{content:"\\f01b"}.fa-inbox:before{content:"\\f01c"}.fa-play-circle-o:before{content:"\\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\\f01e"}.fa-refresh:before{content:"\\f021"}.fa-list-alt:before{content:"\\f022"}.fa-lock:before{content:"\\f023"}.fa-flag:before{content:"\\f024"}.fa-headphones:before{content:"\\f025"}.fa-volume-off:before{content:"\\f026"}.fa-volume-down:before{content:"\\f027"}.fa-volume-up:before{content:"\\f028"}.fa-qrcode:before{content:"\\f029"}.fa-barcode:before{content:"\\f02a"}.fa-tag:before{content:"\\f02b"}.fa-tags:before{content:"\\f02c"}.fa-book:before{content:"\\f02d"}.fa-bookmark:before{content:"\\f02e"}.fa-print:before{content:"\\f02f"}.fa-camera:before{content:"\\f030"}.fa-font:before{content:"\\f031"}.fa-bold:before{content:"\\f032"}.fa-italic:before{content:"\\f033"}.fa-text-height:before{content:"\\f034"}.fa-text-width:before{content:"\\f035"}.fa-align-left:before{content:"\\f036"}.fa-align-center:before{content:"\\f037"}.fa-align-right:before{content:"\\f038"}.fa-align-justify:before{content:"\\f039"}.fa-list:before{content:"\\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\\f03b"}.fa-indent:before{content:"\\f03c"}.fa-video-camera:before{content:"\\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\\f03e"}.fa-pencil:before{content:"\\f040"}.fa-map-marker:before{content:"\\f041"}.fa-adjust:before{content:"\\f042"}.fa-tint:before{content:"\\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\\f044"}.fa-share-square-o:before{content:"\\f045"}.fa-check-square-o:before{content:"\\f046"}.fa-arrows:before{content:"\\f047"}.fa-step-backward:before{content:"\\f048"}.fa-fast-backward:before{content:"\\f049"}.fa-backward:before{content:"\\f04a"}.fa-play:before{content:"\\f04b"}.fa-pause:before{content:"\\f04c"}.fa-stop:before{content:"\\f04d"}.fa-forward:before{content:"\\f04e"}.fa-fast-forward:before{content:"\\f050"}.fa-step-forward:before{content:"\\f051"}.fa-eject:before{content:"\\f052"}.fa-chevron-left:before{content:"\\f053"}.fa-chevron-right:before{content:"\\f054"}.fa-plus-circle:before{content:"\\f055"}.fa-minus-circle:before{content:"\\f056"}.fa-times-circle:before{content:"\\f057"}.fa-check-circle:before{content:"\\f058"}.fa-question-circle:before{content:"\\f059"}.fa-info-circle:before{content:"\\f05a"}.fa-crosshairs:before{content:"\\f05b"}.fa-times-circle-o:before{content:"\\f05c"}.fa-check-circle-o:before{content:"\\f05d"}.fa-ban:before{content:"\\f05e"}.fa-arrow-left:before{content:"\\f060"}.fa-arrow-right:before{content:"\\f061"}.fa-arrow-up:before{content:"\\f062"}.fa-arrow-down:before{content:"\\f063"}.fa-mail-forward:before,.fa-share:before{content:"\\f064"}.fa-expand:before{content:"\\f065"}.fa-compress:before{content:"\\f066"}.fa-plus:before{content:"\\f067"}.fa-minus:before{content:"\\f068"}.fa-asterisk:before{content:"\\f069"}.fa-exclamation-circle:before{content:"\\f06a"}.fa-gift:before{content:"\\f06b"}.fa-leaf:before{content:"\\f06c"}.fa-fire:before{content:"\\f06d"}.fa-eye:before{content:"\\f06e"}.fa-eye-slash:before{content:"\\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\\f071"}.fa-plane:before{content:"\\f072"}.fa-calendar:before{content:"\\f073"}.fa-random:before{content:"\\f074"}.fa-comment:before{content:"\\f075"}.fa-magnet:before{content:"\\f076"}.fa-chevron-up:before{content:"\\f077"}.fa-chevron-down:before{content:"\\f078"}.fa-retweet:before{content:"\\f079"}.fa-shopping-cart:before{content:"\\f07a"}.fa-folder:before{content:"\\f07b"}.fa-folder-open:before{content:"\\f07c"}.fa-arrows-v:before{content:"\\f07d"}.fa-arrows-h:before{content:"\\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\\f080"}.fa-twitter-square:before{content:"\\f081"}.fa-facebook-square:before{content:"\\f082"}.fa-camera-retro:before{content:"\\f083"}.fa-key:before{content:"\\f084"}.fa-cogs:before,.fa-gears:before{content:"\\f085"}.fa-comments:before{content:"\\f086"}.fa-thumbs-o-up:before{content:"\\f087"}.fa-thumbs-o-down:before{content:"\\f088"}.fa-star-half:before{content:"\\f089"}.fa-heart-o:before{content:"\\f08a"}.fa-sign-out:before{content:"\\f08b"}.fa-linkedin-square:before{content:"\\f08c"}.fa-thumb-tack:before{content:"\\f08d"}.fa-external-link:before{content:"\\f08e"}.fa-sign-in:before{content:"\\f090"}.fa-trophy:before{content:"\\f091"}.fa-github-square:before{content:"\\f092"}.fa-upload:before{content:"\\f093"}.fa-lemon-o:before{content:"\\f094"}.fa-phone:before{content:"\\f095"}.fa-square-o:before{content:"\\f096"}.fa-bookmark-o:before{content:"\\f097"}.fa-phone-square:before{content:"\\f098"}.fa-twitter:before{content:"\\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\\f09a"}.fa-github:before{content:"\\f09b"}.fa-unlock:before{content:"\\f09c"}.fa-credit-card:before{content:"\\f09d"}.fa-feed:before,.fa-rss:before{content:"\\f09e"}.fa-hdd-o:before{content:"\\f0a0"}.fa-bullhorn:before{content:"\\f0a1"}.fa-bell:before{content:"\\f0f3"}.fa-certificate:before{content:"\\f0a3"}.fa-hand-o-right:before{content:"\\f0a4"}.fa-hand-o-left:before{content:"\\f0a5"}.fa-hand-o-up:before{content:"\\f0a6"}.fa-hand-o-down:before{content:"\\f0a7"}.fa-arrow-circle-left:before{content:"\\f0a8"}.fa-arrow-circle-right:before{content:"\\f0a9"}.fa-arrow-circle-up:before{content:"\\f0aa"}.fa-arrow-circle-down:before{content:"\\f0ab"}.fa-globe:before{content:"\\f0ac"}.fa-wrench:before{content:"\\f0ad"}.fa-tasks:before{content:"\\f0ae"}.fa-filter:before{content:"\\f0b0"}.fa-briefcase:before{content:"\\f0b1"}.fa-arrows-alt:before{content:"\\f0b2"}.fa-group:before,.fa-users:before{content:"\\f0c0"}.fa-chain:before,.fa-link:before{content:"\\f0c1"}.fa-cloud:before{content:"\\f0c2"}.fa-flask:before{content:"\\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\\f0c5"}.fa-paperclip:before{content:"\\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\\f0c7"}.fa-square:before{content:"\\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\\f0c9"}.fa-list-ul:before{content:"\\f0ca"}.fa-list-ol:before{content:"\\f0cb"}.fa-strikethrough:before{content:"\\f0cc"}.fa-underline:before{content:"\\f0cd"}.fa-table:before{content:"\\f0ce"}.fa-magic:before{content:"\\f0d0"}.fa-truck:before{content:"\\f0d1"}.fa-pinterest:before{content:"\\f0d2"}.fa-pinterest-square:before{content:"\\f0d3"}.fa-google-plus-square:before{content:"\\f0d4"}.fa-google-plus:before{content:"\\f0d5"}.fa-money:before{content:"\\f0d6"}.fa-caret-down:before{content:"\\f0d7"}.fa-caret-up:before{content:"\\f0d8"}.fa-caret-left:before{content:"\\f0d9"}.fa-caret-right:before{content:"\\f0da"}.fa-columns:before{content:"\\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\\f0de"}.fa-envelope:before{content:"\\f0e0"}.fa-linkedin:before{content:"\\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\\f0e4"}.fa-comment-o:before{content:"\\f0e5"}.fa-comments-o:before{content:"\\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\\f0e7"}.fa-sitemap:before{content:"\\f0e8"}.fa-umbrella:before{content:"\\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\\f0ea"}.fa-lightbulb-o:before{content:"\\f0eb"}.fa-exchange:before{content:"\\f0ec"}.fa-cloud-download:before{content:"\\f0ed"}.fa-cloud-upload:before{content:"\\f0ee"}.fa-user-md:before{content:"\\f0f0"}.fa-stethoscope:before{content:"\\f0f1"}.fa-suitcase:before{content:"\\f0f2"}.fa-bell-o:before{content:"\\f0a2"}.fa-coffee:before{content:"\\f0f4"}.fa-cutlery:before{content:"\\f0f5"}.fa-file-text-o:before{content:"\\f0f6"}.fa-building-o:before{content:"\\f0f7"}.fa-hospital-o:before{content:"\\f0f8"}.fa-ambulance:before{content:"\\f0f9"}.fa-medkit:before{content:"\\f0fa"}.fa-fighter-jet:before{content:"\\f0fb"}.fa-beer:before{content:"\\f0fc"}.fa-h-square:before{content:"\\f0fd"}.fa-plus-square:before{content:"\\f0fe"}.fa-angle-double-left:before{content:"\\f100"}.fa-angle-double-right:before{content:"\\f101"}.fa-angle-double-up:before{content:"\\f102"}.fa-angle-double-down:before{content:"\\f103"}.fa-angle-left:before{content:"\\f104"}.fa-angle-right:before{content:"\\f105"}.fa-angle-up:before{content:"\\f106"}.fa-angle-down:before{content:"\\f107"}.fa-desktop:before{content:"\\f108"}.fa-laptop:before{content:"\\f109"}.fa-tablet:before{content:"\\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\\f10b"}.fa-circle-o:before{content:"\\f10c"}.fa-quote-left:before{content:"\\f10d"}.fa-quote-right:before{content:"\\f10e"}.fa-spinner:before{content:"\\f110"}.fa-circle:before{content:"\\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\\f112"}.fa-github-alt:before{content:"\\f113"}.fa-folder-o:before{content:"\\f114"}.fa-folder-open-o:before{content:"\\f115"}.fa-smile-o:before{content:"\\f118"}.fa-frown-o:before{content:"\\f119"}.fa-meh-o:before{content:"\\f11a"}.fa-gamepad:before{content:"\\f11b"}.fa-keyboard-o:before{content:"\\f11c"}.fa-flag-o:before{content:"\\f11d"}.fa-flag-checkered:before{content:"\\f11e"}.fa-terminal:before{content:"\\f120"}.fa-code:before{content:"\\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\\f123"}.fa-location-arrow:before{content:"\\f124"}.fa-crop:before{content:"\\f125"}.fa-code-fork:before{content:"\\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\\f127"}.fa-question:before{content:"\\f128"}.fa-info:before{content:"\\f129"}.fa-exclamation:before{content:"\\f12a"}.fa-superscript:before{content:"\\f12b"}.fa-subscript:before{content:"\\f12c"}.fa-eraser:before{content:"\\f12d"}.fa-puzzle-piece:before{content:"\\f12e"}.fa-microphone:before{content:"\\f130"}.fa-microphone-slash:before{content:"\\f131"}.fa-shield:before{content:"\\f132"}.fa-calendar-o:before{content:"\\f133"}.fa-fire-extinguisher:before{content:"\\f134"}.fa-rocket:before{content:"\\f135"}.fa-maxcdn:before{content:"\\f136"}.fa-chevron-circle-left:before{content:"\\f137"}.fa-chevron-circle-right:before{content:"\\f138"}.fa-chevron-circle-up:before{content:"\\f139"}.fa-chevron-circle-down:before{content:"\\f13a"}.fa-html5:before{content:"\\f13b"}.fa-css3:before{content:"\\f13c"}.fa-anchor:before{content:"\\f13d"}.fa-unlock-alt:before{content:"\\f13e"}.fa-bullseye:before{content:"\\f140"}.fa-ellipsis-h:before{content:"\\f141"}.fa-ellipsis-v:before{content:"\\f142"}.fa-rss-square:before{content:"\\f143"}.fa-play-circle:before{content:"\\f144"}.fa-ticket:before{content:"\\f145"}.fa-minus-square:before{content:"\\f146"}.fa-minus-square-o:before{content:"\\f147"}.fa-level-up:before{content:"\\f148"}.fa-level-down:before{content:"\\f149"}.fa-check-square:before{content:"\\f14a"}.fa-pencil-square:before{content:"\\f14b"}.fa-external-link-square:before{content:"\\f14c"}.fa-share-square:before{content:"\\f14d"}.fa-compass:before{content:"\\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\\f152"}.fa-eur:before,.fa-euro:before{content:"\\f153"}.fa-gbp:before{content:"\\f154"}.fa-dollar:before,.fa-usd:before{content:"\\f155"}.fa-inr:before,.fa-rupee:before{content:"\\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\\f158"}.fa-krw:before,.fa-won:before{content:"\\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\\f15a"}.fa-file:before{content:"\\f15b"}.fa-file-text:before{content:"\\f15c"}.fa-sort-alpha-asc:before{content:"\\f15d"}.fa-sort-alpha-desc:before{content:"\\f15e"}.fa-sort-amount-asc:before{content:"\\f160"}.fa-sort-amount-desc:before{content:"\\f161"}.fa-sort-numeric-asc:before{content:"\\f162"}.fa-sort-numeric-desc:before{content:"\\f163"}.fa-thumbs-up:before{content:"\\f164"}.fa-thumbs-down:before{content:"\\f165"}.fa-youtube-square:before{content:"\\f166"}.fa-youtube:before{content:"\\f167"}.fa-xing:before{content:"\\f168"}.fa-xing-square:before{content:"\\f169"}.fa-youtube-play:before{content:"\\f16a"}.fa-dropbox:before{content:"\\f16b"}.fa-stack-overflow:before{content:"\\f16c"}.fa-instagram:before{content:"\\f16d"}.fa-flickr:before{content:"\\f16e"}.fa-adn:before{content:"\\f170"}.fa-bitbucket:before{content:"\\f171"}.fa-bitbucket-square:before{content:"\\f172"}.fa-tumblr:before{content:"\\f173"}.fa-tumblr-square:before{content:"\\f174"}.fa-long-arrow-down:before{content:"\\f175"}.fa-long-arrow-up:before{content:"\\f176"}.fa-long-arrow-left:before{content:"\\f177"}.fa-long-arrow-right:before{content:"\\f178"}.fa-apple:before{content:"\\f179"}.fa-windows:before{content:"\\f17a"}.fa-android:before{content:"\\f17b"}.fa-linux:before{content:"\\f17c"}.fa-dribbble:before{content:"\\f17d"}.fa-skype:before{content:"\\f17e"}.fa-foursquare:before{content:"\\f180"}.fa-trello:before{content:"\\f181"}.fa-female:before{content:"\\f182"}.fa-male:before{content:"\\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\\f184"}.fa-sun-o:before{content:"\\f185"}.fa-moon-o:before{content:"\\f186"}.fa-archive:before{content:"\\f187"}.fa-bug:before{content:"\\f188"}.fa-vk:before{content:"\\f189"}.fa-weibo:before{content:"\\f18a"}.fa-renren:before{content:"\\f18b"}.fa-pagelines:before{content:"\\f18c"}.fa-stack-exchange:before{content:"\\f18d"}.fa-arrow-circle-o-right:before{content:"\\f18e"}.fa-arrow-circle-o-left:before{content:"\\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\\f191"}.fa-dot-circle-o:before{content:"\\f192"}.fa-wheelchair:before{content:"\\f193"}.fa-vimeo-square:before{content:"\\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\\f195"}.fa-plus-square-o:before{content:"\\f196"}.fa-space-shuttle:before{content:"\\f197"}.fa-slack:before{content:"\\f198"}.fa-envelope-square:before{content:"\\f199"}.fa-wordpress:before{content:"\\f19a"}.fa-openid:before{content:"\\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\\f19d"}.fa-yahoo:before{content:"\\f19e"}.fa-google:before{content:"\\f1a0"}.fa-reddit:before{content:"\\f1a1"}.fa-reddit-square:before{content:"\\f1a2"}.fa-stumbleupon-circle:before{content:"\\f1a3"}.fa-stumbleupon:before{content:"\\f1a4"}.fa-delicious:before{content:"\\f1a5"}.fa-digg:before{content:"\\f1a6"}.fa-pied-piper-pp:before{content:"\\f1a7"}.fa-pied-piper-alt:before{content:"\\f1a8"}.fa-drupal:before{content:"\\f1a9"}.fa-joomla:before{content:"\\f1aa"}.fa-language:before{content:"\\f1ab"}.fa-fax:before{content:"\\f1ac"}.fa-building:before{content:"\\f1ad"}.fa-child:before{content:"\\f1ae"}.fa-paw:before{content:"\\f1b0"}.fa-spoon:before{content:"\\f1b1"}.fa-cube:before{content:"\\f1b2"}.fa-cubes:before{content:"\\f1b3"}.fa-behance:before{content:"\\f1b4"}.fa-behance-square:before{content:"\\f1b5"}.fa-steam:before{content:"\\f1b6"}.fa-steam-square:before{content:"\\f1b7"}.fa-recycle:before{content:"\\f1b8"}.fa-automobile:before,.fa-car:before{content:"\\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\\f1ba"}.fa-tree:before{content:"\\f1bb"}.fa-spotify:before{content:"\\f1bc"}.fa-deviantart:before{content:"\\f1bd"}.fa-soundcloud:before{content:"\\f1be"}.fa-database:before{content:"\\f1c0"}.fa-file-pdf-o:before{content:"\\f1c1"}.fa-file-word-o:before{content:"\\f1c2"}.fa-file-excel-o:before{content:"\\f1c3"}.fa-file-powerpoint-o:before{content:"\\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\\f1c8"}.fa-file-code-o:before{content:"\\f1c9"}.fa-vine:before{content:"\\f1ca"}.fa-codepen:before{content:"\\f1cb"}.fa-jsfiddle:before{content:"\\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\\f1cd"}.fa-circle-o-notch:before{content:"\\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\\f1d0"}.fa-empire:before,.fa-ge:before{content:"\\f1d1"}.fa-git-square:before{content:"\\f1d2"}.fa-git:before{content:"\\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\\f1d4"}.fa-tencent-weibo:before{content:"\\f1d5"}.fa-qq:before{content:"\\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\\f1d9"}.fa-history:before{content:"\\f1da"}.fa-circle-thin:before{content:"\\f1db"}.fa-header:before{content:"\\f1dc"}.fa-paragraph:before{content:"\\f1dd"}.fa-sliders:before{content:"\\f1de"}.fa-share-alt:before{content:"\\f1e0"}.fa-share-alt-square:before{content:"\\f1e1"}.fa-bomb:before{content:"\\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\\f1e3"}.fa-tty:before{content:"\\f1e4"}.fa-binoculars:before{content:"\\f1e5"}.fa-plug:before{content:"\\f1e6"}.fa-slideshare:before{content:"\\f1e7"}.fa-twitch:before{content:"\\f1e8"}.fa-yelp:before{content:"\\f1e9"}.fa-newspaper-o:before{content:"\\f1ea"}.fa-wifi:before{content:"\\f1eb"}.fa-calculator:before{content:"\\f1ec"}.fa-paypal:before{content:"\\f1ed"}.fa-google-wallet:before{content:"\\f1ee"}.fa-cc-visa:before{content:"\\f1f0"}.fa-cc-mastercard:before{content:"\\f1f1"}.fa-cc-discover:before{content:"\\f1f2"}.fa-cc-amex:before{content:"\\f1f3"}.fa-cc-paypal:before{content:"\\f1f4"}.fa-cc-stripe:before{content:"\\f1f5"}.fa-bell-slash:before{content:"\\f1f6"}.fa-bell-slash-o:before{content:"\\f1f7"}.fa-trash:before{content:"\\f1f8"}.fa-copyright:before{content:"\\f1f9"}.fa-at:before{content:"\\f1fa"}.fa-eyedropper:before{content:"\\f1fb"}.fa-paint-brush:before{content:"\\f1fc"}.fa-birthday-cake:before{content:"\\f1fd"}.fa-area-chart:before{content:"\\f1fe"}.fa-pie-chart:before{content:"\\f200"}.fa-line-chart:before{content:"\\f201"}.fa-lastfm:before{content:"\\f202"}.fa-lastfm-square:before{content:"\\f203"}.fa-toggle-off:before{content:"\\f204"}.fa-toggle-on:before{content:"\\f205"}.fa-bicycle:before{content:"\\f206"}.fa-bus:before{content:"\\f207"}.fa-ioxhost:before{content:"\\f208"}.fa-angellist:before{content:"\\f209"}.fa-cc:before{content:"\\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\\f20b"}.fa-meanpath:before{content:"\\f20c"}.fa-buysellads:before{content:"\\f20d"}.fa-connectdevelop:before{content:"\\f20e"}.fa-dashcube:before{content:"\\f210"}.fa-forumbee:before{content:"\\f211"}.fa-leanpub:before{content:"\\f212"}.fa-sellsy:before{content:"\\f213"}.fa-shirtsinbulk:before{content:"\\f214"}.fa-simplybuilt:before{content:"\\f215"}.fa-skyatlas:before{content:"\\f216"}.fa-cart-plus:before{content:"\\f217"}.fa-cart-arrow-down:before{content:"\\f218"}.fa-diamond:before{content:"\\f219"}.fa-ship:before{content:"\\f21a"}.fa-user-secret:before{content:"\\f21b"}.fa-motorcycle:before{content:"\\f21c"}.fa-street-view:before{content:"\\f21d"}.fa-heartbeat:before{content:"\\f21e"}.fa-venus:before{content:"\\f221"}.fa-mars:before{content:"\\f222"}.fa-mercury:before{content:"\\f223"}.fa-intersex:before,.fa-transgender:before{content:"\\f224"}.fa-transgender-alt:before{content:"\\f225"}.fa-venus-double:before{content:"\\f226"}.fa-mars-double:before{content:"\\f227"}.fa-venus-mars:before{content:"\\f228"}.fa-mars-stroke:before{content:"\\f229"}.fa-mars-stroke-v:before{content:"\\f22a"}.fa-mars-stroke-h:before{content:"\\f22b"}.fa-neuter:before{content:"\\f22c"}.fa-genderless:before{content:"\\f22d"}.fa-facebook-official:before{content:"\\f230"}.fa-pinterest-p:before{content:"\\f231"}.fa-whatsapp:before{content:"\\f232"}.fa-server:before{content:"\\f233"}.fa-user-plus:before{content:"\\f234"}.fa-user-times:before{content:"\\f235"}.fa-bed:before,.fa-hotel:before{content:"\\f236"}.fa-viacoin:before{content:"\\f237"}.fa-train:before{content:"\\f238"}.fa-subway:before{content:"\\f239"}.fa-medium:before{content:"\\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\\f23b"}.fa-optin-monster:before{content:"\\f23c"}.fa-opencart:before{content:"\\f23d"}.fa-expeditedssl:before{content:"\\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\\f244"}.fa-mouse-pointer:before{content:"\\f245"}.fa-i-cursor:before{content:"\\f246"}.fa-object-group:before{content:"\\f247"}.fa-object-ungroup:before{content:"\\f248"}.fa-sticky-note:before{content:"\\f249"}.fa-sticky-note-o:before{content:"\\f24a"}.fa-cc-jcb:before{content:"\\f24b"}.fa-cc-diners-club:before{content:"\\f24c"}.fa-clone:before{content:"\\f24d"}.fa-balance-scale:before{content:"\\f24e"}.fa-hourglass-o:before{content:"\\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\\f253"}.fa-hourglass:before{content:"\\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\\f256"}.fa-hand-scissors-o:before{content:"\\f257"}.fa-hand-lizard-o:before{content:"\\f258"}.fa-hand-spock-o:before{content:"\\f259"}.fa-hand-pointer-o:before{content:"\\f25a"}.fa-hand-peace-o:before{content:"\\f25b"}.fa-trademark:before{content:"\\f25c"}.fa-registered:before{content:"\\f25d"}.fa-creative-commons:before{content:"\\f25e"}.fa-gg:before{content:"\\f260"}.fa-gg-circle:before{content:"\\f261"}.fa-tripadvisor:before{content:"\\f262"}.fa-odnoklassniki:before{content:"\\f263"}.fa-odnoklassniki-square:before{content:"\\f264"}.fa-get-pocket:before{content:"\\f265"}.fa-wikipedia-w:before{content:"\\f266"}.fa-safari:before{content:"\\f267"}.fa-chrome:before{content:"\\f268"}.fa-firefox:before{content:"\\f269"}.fa-opera:before{content:"\\f26a"}.fa-internet-explorer:before{content:"\\f26b"}.fa-television:before,.fa-tv:before{content:"\\f26c"}.fa-contao:before{content:"\\f26d"}.fa-500px:before{content:"\\f26e"}.fa-amazon:before{content:"\\f270"}.fa-calendar-plus-o:before{content:"\\f271"}.fa-calendar-minus-o:before{content:"\\f272"}.fa-calendar-times-o:before{content:"\\f273"}.fa-calendar-check-o:before{content:"\\f274"}.fa-industry:before{content:"\\f275"}.fa-map-pin:before{content:"\\f276"}.fa-map-signs:before{content:"\\f277"}.fa-map-o:before{content:"\\f278"}.fa-map:before{content:"\\f279"}.fa-commenting:before{content:"\\f27a"}.fa-commenting-o:before{content:"\\f27b"}.fa-houzz:before{content:"\\f27c"}.fa-vimeo:before{content:"\\f27d"}.fa-black-tie:before{content:"\\f27e"}.fa-fonticons:before{content:"\\f280"}.fa-reddit-alien:before{content:"\\f281"}.fa-edge:before{content:"\\f282"}.fa-credit-card-alt:before{content:"\\f283"}.fa-codiepie:before{content:"\\f284"}.fa-modx:before{content:"\\f285"}.fa-fort-awesome:before{content:"\\f286"}.fa-usb:before{content:"\\f287"}.fa-product-hunt:before{content:"\\f288"}.fa-mixcloud:before{content:"\\f289"}.fa-scribd:before{content:"\\f28a"}.fa-pause-circle:before{content:"\\f28b"}.fa-pause-circle-o:before{content:"\\f28c"}.fa-stop-circle:before{content:"\\f28d"}.fa-stop-circle-o:before{content:"\\f28e"}.fa-shopping-bag:before{content:"\\f290"}.fa-shopping-basket:before{content:"\\f291"}.fa-hashtag:before{content:"\\f292"}.fa-bluetooth:before{content:"\\f293"}.fa-bluetooth-b:before{content:"\\f294"}.fa-percent:before{content:"\\f295"}.fa-gitlab:before{content:"\\f296"}.fa-wpbeginner:before{content:"\\f297"}.fa-wpforms:before{content:"\\f298"}.fa-envira:before{content:"\\f299"}.fa-universal-access:before{content:"\\f29a"}.fa-wheelchair-alt:before{content:"\\f29b"}.fa-question-circle-o:before{content:"\\f29c"}.fa-blind:before{content:"\\f29d"}.fa-audio-description:before{content:"\\f29e"}.fa-volume-control-phone:before{content:"\\f2a0"}.fa-braille:before{content:"\\f2a1"}.fa-assistive-listening-systems:before{content:"\\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\\f2a4"}.fa-glide:before{content:"\\f2a5"}.fa-glide-g:before{content:"\\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\\f2a7"}.fa-low-vision:before{content:"\\f2a8"}.fa-viadeo:before{content:"\\f2a9"}.fa-viadeo-square:before{content:"\\f2aa"}.fa-snapchat:before{content:"\\f2ab"}.fa-snapchat-ghost:before{content:"\\f2ac"}.fa-snapchat-square:before{content:"\\f2ad"}.fa-pied-piper:before{content:"\\f2ae"}.fa-first-order:before{content:"\\f2b0"}.fa-yoast:before{content:"\\f2b1"}.fa-themeisle:before{content:"\\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\\f2b4"}.fa-handshake-o:before{content:"\\f2b5"}.fa-envelope-open:before{content:"\\f2b6"}.fa-envelope-open-o:before{content:"\\f2b7"}.fa-linode:before{content:"\\f2b8"}.fa-address-book:before{content:"\\f2b9"}.fa-address-book-o:before{content:"\\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\\f2bc"}.fa-user-circle:before{content:"\\f2bd"}.fa-user-circle-o:before{content:"\\f2be"}.fa-user-o:before{content:"\\f2c0"}.fa-id-badge:before{content:"\\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\\f2c3"}.fa-quora:before{content:"\\f2c4"}.fa-free-code-camp:before{content:"\\f2c5"}.fa-telegram:before{content:"\\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\\f2cb"}.fa-shower:before{content:"\\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\\f2cd"}.fa-podcast:before{content:"\\f2ce"}.fa-window-maximize:before{content:"\\f2d0"}.fa-window-minimize:before{content:"\\f2d1"}.fa-window-restore:before{content:"\\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\\f2d4"}.fa-bandcamp:before{content:"\\f2d5"}.fa-grav:before{content:"\\f2d6"}.fa-etsy:before{content:"\\f2d7"}.fa-imdb:before{content:"\\f2d8"}.fa-ravelry:before{content:"\\f2d9"}.fa-eercast:before{content:"\\f2da"}.fa-microchip:before{content:"\\f2db"}.fa-snowflake-o:before{content:"\\f2dc"}.fa-superpowers:before{content:"\\f2dd"}.fa-wpexplorer:before{content:"\\f2de"}.fa-meetup:before{content:"\\f2e0"}.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}\n/*# sourceMappingURL=__.css.map */');
\ No newline at end of file
diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/services/query-status.model.js b/shrine-webclient/src/main/js/client/js-shrine/dist/services/query-status.model.js
index 94e55e31c..70eacdc3e 100644
--- a/shrine-webclient/src/main/js/client/js-shrine/dist/services/query-status.model.js
+++ b/shrine-webclient/src/main/js/client/js-shrine/dist/services/query-status.model.js
@@ -1,103 +1,95 @@
System.register(['aurelia-event-aggregator', 'repository/qep.repository', './shrine.messages'], function (_export, _context) {
"use strict";
- var EventAggregator, QEPRepository, commands, notifications, _extends, _class, _temp, isBusy, QueryStatusModel;
+ var EventAggregator, QEPRepository, commands, notifications, _extends, _class, _temp, QueryStatusModel;
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
return {
setters: [function (_aureliaEventAggregator) {
EventAggregator = _aureliaEventAggregator.EventAggregator;
}, function (_repositoryQepRepository) {
QEPRepository = _repositoryQepRepository.QEPRepository;
}, function (_shrineMessages) {
commands = _shrineMessages.commands;
notifications = _shrineMessages.notifications;
}],
execute: function () {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
- isBusy = function () {
- var inProgress = false;
- return function (v) {
- inProgress = v === undefined ? inProgress : v ? true : false;
- return inProgress;
- };
- }();
-
_export('QueryStatusModel', QueryStatusModel = (_temp = _class = function QueryStatusModel(evtAgg, qep, notifications) {
_classCallCheck(this, QueryStatusModel);
var publishNetworkId = function publishNetworkId(id) {
return evtAgg.publish(notifications.i2b2.networkIdReceived, id);
};
var publishQuery = function publishQuery(model) {
return evtAgg.publish(notifications.shrine.queryReceived, model);
};
var toModel = function toModel(data) {
return new Promise(function (resolve, reject) {
var results = data.results,
dataVersion = data.dataVersion,
queryData = data.query;
var sort = function sort(a, b) {
return a.adapterNode.toUpperCase() <= b.adapterNode.toUpperCase() ? -1 : 1;
};
var nodes = results.length === 0 ? [] : [].concat(results.sort(sort));
var complete = nodes.length > 0 && nodes.filter(function (n) {
return 'ERROR,COMPLETED,FINISHED'.includes(n.status);
}).length === nodes.lenth;
var query = _extends({}, queryData, { complete: complete });
resolve({
query: query,
nodes: nodes,
dataVersion: dataVersion
});
});
};
var loadNetworkId = function loadNetworkId(n) {
return qep.fetchNetworkId(n).then(function (result) {
return publishNetworkId(result);
}).catch(function (error) {
return logError(error);
});
};
var loadQuery = function loadQuery(d) {
qep.fetchQuery(d.networkId, d.timeoutSeconds, d.dataVersion).then(function (result) {
return toModel(result);
}).catch(function (error) {
return console.log('ERROR: ' + error);
}).then(function (model) {
return publishQuery(model);
});
};
var init = function init() {
evtAgg.subscribe(commands.shrine.fetchQuery, loadQuery);
};
init();
}, _class.inject = [EventAggregator, QEPRepository, notifications], _temp));
_export('QueryStatusModel', QueryStatusModel);
}
};
});
//# sourceMappingURL=query-status.model.js.map
diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/services/query-status.model.js.map b/shrine-webclient/src/main/js/client/js-shrine/dist/services/query-status.model.js.map
index b6edd6bd6..aacc140c3 100644
--- a/shrine-webclient/src/main/js/client/js-shrine/dist/services/query-status.model.js.map
+++ b/shrine-webclient/src/main/js/client/js-shrine/dist/services/query-status.model.js.map
@@ -1 +1 @@
-{"version":3,"sources":["services/query-status.model.js"],"names":["EventAggregator","QEPRepository","commands","notifications","isBusy","inProgress","v","undefined","QueryStatusModel","evtAgg","qep","publishNetworkId","publish","i2b2","networkIdReceived","id","publishQuery","shrine","queryReceived","model","toModel","Promise","resolve","reject","results","data","dataVersion","queryData","query","sort","a","b","adapterNode","toUpperCase","nodes","length","complete","filter","includes","n","status","lenth","loadNetworkId","fetchNetworkId","then","result","catch","logError","error","loadQuery","d","fetchQuery","networkId","timeoutSeconds","console","log","init","subscribe","inject"],"mappings":";;;;;;;;;;;;;AAAQA,2B,2BAAAA,e;;AACAC,yB,4BAAAA,a;;AACAC,oB,mBAAAA,Q;AAAUC,yB,mBAAAA,a;;;;;;;;;;;;;;;;;AACZC,kB,GAAU,YAAM;AAClB,oBAAIC,aAAa,KAAjB;AACA,uBAAO,aAAK;AACRA,iCAAaC,MAAMC,SAAN,GAAiBF,UAAjB,GACTC,IAAG,IAAH,GAAU,KADd;AAEA,2BAAOD,UAAP;AACH,iBAJD;AAKH,aAPc,E;;wCAQFG,gB,qBAET,0BAAYC,MAAZ,EAAoBC,GAApB,EAAyBP,aAAzB,EAAwC;AAAA;;AACpC,oBAAMQ,mBAAmB,SAAnBA,gBAAmB;AAAA,2BAAMF,OAAOG,OAAP,CAAeT,cAAcU,IAAd,CAAmBC,iBAAlC,EAAqDC,EAArD,CAAN;AAAA,iBAAzB;AACA,oBAAMC,eAAe,SAAfA,YAAe;AAAA,2BAASP,OAAOG,OAAP,CAAeT,cAAcc,MAAd,CAAqBC,aAApC,EAAmDC,KAAnD,CAAT;AAAA,iBAArB;AACA,oBAAMC,UAAU,SAAVA,OAAU,OAAQ;AACpB,2BAAO,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AAAA,4BAC7BC,OAD6B,GACaC,IADb,CAC7BD,OAD6B;AAAA,4BACpBE,WADoB,GACaD,IADb,CACpBC,WADoB;AAAA,4BACAC,SADA,GACaF,IADb,CACPG,KADO;;AAEpC,4BAAMC,OAAO,SAAPA,IAAO,CAACC,CAAD,EAAIC,CAAJ;AAAA,mCAAUD,EAAEE,WAAF,CAAcC,WAAd,MAA+BF,EAAEC,WAAF,CAAcC,WAAd,EAA/B,GAA4D,CAAC,CAA7D,GAAiE,CAA3E;AAAA,yBAAb;AACA,4BAAMC,QAAQV,QAAQW,MAAR,KAAmB,CAAnB,GAAsB,EAAtB,aAA+BX,QAAQK,IAAR,CAAaA,IAAb,CAA/B,CAAd;AACA,4BAAMO,WAAWF,MAAMC,MAAN,GAAe,CAAf,IAAoBD,MAAMG,MAAN,CAAa;AAAA,mCAAK,2BAA2BC,QAA3B,CAAoCC,EAAEC,MAAtC,CAAL;AAAA,yBAAb,EAAiEL,MAAjE,KAA4ED,MAAMO,KAAvH;AACA,4BAAMb,qBAAYD,SAAZ,EAA0B,EAACS,UAAUA,QAAX,EAA1B,CAAN;AACAd,gCAAQ;AACLM,wCADK;AAELM,wCAFK;AAGLR;AAHK,yBAAR;AAKH,qBAXM,CAAP;AAYH,iBAbD;;AAgBA,oBAAMgB,gBAAgB,SAAhBA,aAAgB,CAACH,CAAD;AAAA,2BAAO7B,IAAIiC,cAAJ,CAAmBJ,CAAnB,EACxBK,IADwB,CACnB;AAAA,+BAAUjC,iBAAiBkC,MAAjB,CAAV;AAAA,qBADmB,EAExBC,KAFwB,CAElB;AAAA,+BAASC,SAASC,KAAT,CAAT;AAAA,qBAFkB,CAAP;AAAA,iBAAtB;;AAIA,oBAAMC,YAAY,SAAZA,SAAY,CAACC,CAAD,EAAO;AACrBxC,wBAAIyC,UAAJ,CAAeD,EAAEE,SAAjB,EAA4BF,EAAEG,cAA9B,EAA8CH,EAAExB,WAAhD,EACCkB,IADD,CACM;AAAA,+BAAUxB,QAAQyB,MAAR,CAAV;AAAA,qBADN,EAECC,KAFD,CAEO;AAAA,+BAASQ,QAAQC,GAAR,aAAsBP,KAAtB,CAAT;AAAA,qBAFP,EAGCJ,IAHD,CAGM;AAAA,+BAAS5B,aAAaG,KAAb,CAAT;AAAA,qBAHN;AAIH,iBALD;;AAOA,oBAAMqC,OAAO,SAAPA,IAAO,GAAM;AACf/C,2BAAOgD,SAAP,CAAiBvD,SAASe,MAAT,CAAgBkC,UAAjC,EAA6CF,SAA7C;AACH,iBAFD;AAGAO;AACH,a,SAnCME,M,GAAS,CAAC1D,eAAD,EAAkBC,aAAlB,EAAiCE,aAAjC,C","file":"query-status.model.js","sourceRoot":"/src"}
\ No newline at end of file
+{"version":3,"sources":["services/query-status.model.js"],"names":["EventAggregator","QEPRepository","commands","notifications","QueryStatusModel","evtAgg","qep","publishNetworkId","publish","i2b2","networkIdReceived","id","publishQuery","shrine","queryReceived","model","toModel","Promise","resolve","reject","results","data","dataVersion","queryData","query","sort","a","b","adapterNode","toUpperCase","nodes","length","complete","filter","includes","n","status","lenth","loadNetworkId","fetchNetworkId","then","result","catch","logError","error","loadQuery","d","fetchQuery","networkId","timeoutSeconds","console","log","init","subscribe","inject"],"mappings":";;;;;;;;;;;;;AAAQA,2B,2BAAAA,e;;AACAC,yB,4BAAAA,a;;AACAC,oB,mBAAAA,Q;AAAUC,yB,mBAAAA,a;;;;;;;;;;;;;;;;;wCACLC,gB,qBAET,0BAAYC,MAAZ,EAAoBC,GAApB,EAAyBH,aAAzB,EAAwC;AAAA;;AACpC,oBAAMI,mBAAmB,SAAnBA,gBAAmB;AAAA,2BAAMF,OAAOG,OAAP,CAAeL,cAAcM,IAAd,CAAmBC,iBAAlC,EAAqDC,EAArD,CAAN;AAAA,iBAAzB;AACA,oBAAMC,eAAe,SAAfA,YAAe;AAAA,2BAASP,OAAOG,OAAP,CAAeL,cAAcU,MAAd,CAAqBC,aAApC,EAAmDC,KAAnD,CAAT;AAAA,iBAArB;AACA,oBAAMC,UAAU,SAAVA,OAAU,OAAQ;AACpB,2BAAO,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AAAA,4BAC7BC,OAD6B,GACaC,IADb,CAC7BD,OAD6B;AAAA,4BACpBE,WADoB,GACaD,IADb,CACpBC,WADoB;AAAA,4BACAC,SADA,GACaF,IADb,CACPG,KADO;;AAEpC,4BAAMC,OAAO,SAAPA,IAAO,CAACC,CAAD,EAAIC,CAAJ;AAAA,mCAAUD,EAAEE,WAAF,CAAcC,WAAd,MAA+BF,EAAEC,WAAF,CAAcC,WAAd,EAA/B,GAA4D,CAAC,CAA7D,GAAiE,CAA3E;AAAA,yBAAb;AACA,4BAAMC,QAAQV,QAAQW,MAAR,KAAmB,CAAnB,GAAsB,EAAtB,aAA+BX,QAAQK,IAAR,CAAaA,IAAb,CAA/B,CAAd;AACA,4BAAMO,WAAWF,MAAMC,MAAN,GAAe,CAAf,IAAoBD,MAAMG,MAAN,CAAa;AAAA,mCAAK,2BAA2BC,QAA3B,CAAoCC,EAAEC,MAAtC,CAAL;AAAA,yBAAb,EAAiEL,MAAjE,KAA4ED,MAAMO,KAAvH;AACA,4BAAMb,qBAAYD,SAAZ,EAA0B,EAACS,UAAUA,QAAX,EAA1B,CAAN;AACAd,gCAAQ;AACLM,wCADK;AAELM,wCAFK;AAGLR;AAHK,yBAAR;AAKH,qBAXM,CAAP;AAYH,iBAbD;;AAgBA,oBAAMgB,gBAAgB,SAAhBA,aAAgB,CAACH,CAAD;AAAA,2BAAO7B,IAAIiC,cAAJ,CAAmBJ,CAAnB,EACxBK,IADwB,CACnB;AAAA,+BAAUjC,iBAAiBkC,MAAjB,CAAV;AAAA,qBADmB,EAExBC,KAFwB,CAElB;AAAA,+BAASC,SAASC,KAAT,CAAT;AAAA,qBAFkB,CAAP;AAAA,iBAAtB;;AAIA,oBAAMC,YAAY,SAAZA,SAAY,CAACC,CAAD,EAAO;AACrBxC,wBAAIyC,UAAJ,CAAeD,EAAEE,SAAjB,EAA4BF,EAAEG,cAA9B,EAA8CH,EAAExB,WAAhD,EACCkB,IADD,CACM;AAAA,+BAAUxB,QAAQyB,MAAR,CAAV;AAAA,qBADN,EAECC,KAFD,CAEO;AAAA,+BAASQ,QAAQC,GAAR,aAAsBP,KAAtB,CAAT;AAAA,qBAFP,EAGCJ,IAHD,CAGM;AAAA,+BAAS5B,aAAaG,KAAb,CAAT;AAAA,qBAHN;AAIH,iBALD;;AAOA,oBAAMqC,OAAO,SAAPA,IAAO,GAAM;AACf/C,2BAAOgD,SAAP,CAAiBnD,SAASW,MAAT,CAAgBkC,UAAjC,EAA6CF,SAA7C;AACH,iBAFD;AAGAO;AACH,a,SAnCME,M,GAAS,CAACtD,eAAD,EAAkBC,aAAlB,EAAiCE,aAAjC,C","file":"query-status.model.js","sourceRoot":"/src"}
\ No newline at end of file
diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-status/query-status.js b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-status/query-status.js
index 452f03525..bff7de866 100644
--- a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-status/query-status.js
+++ b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-status/query-status.js
@@ -1,198 +1,202 @@
System.register(['aurelia-framework', 'services/query-status.model', 'services/pub-sub'], function (_export, _context) {
"use strict";
var customElement, observable, QueryStatusModel, PubSub, _extends, _dec, _class, _desc, _value, _class2, _descriptor, _class3, _temp, QueryStatus, TIMEOUT_SECONDS, DEFAULT_VERSION, me, initialState;
function _initDefineProp(target, property, descriptor, context) {
if (!descriptor) return;
Object.defineProperty(target, property, {
enumerable: descriptor.enumerable,
configurable: descriptor.configurable,
writable: descriptor.writable,
value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
});
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
return call && (typeof call === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
}
subClass.prototype = Object.create(superClass && superClass.prototype, {
constructor: {
value: subClass,
enumerable: false,
writable: true,
configurable: true
}
});
if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
var desc = {};
Object['ke' + 'ys'](descriptor).forEach(function (key) {
desc[key] = descriptor[key];
});
desc.enumerable = !!desc.enumerable;
desc.configurable = !!desc.configurable;
if ('value' in desc || desc.initializer) {
desc.writable = true;
}
desc = decorators.slice().reverse().reduce(function (desc, decorator) {
return decorator(target, property, desc) || desc;
}, desc);
if (context && desc.initializer !== void 0) {
desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
desc.initializer = undefined;
}
if (desc.initializer === void 0) {
Object['define' + 'Property'](target, property, desc);
desc = null;
}
return desc;
}
function _initializerWarningHelper(descriptor, context) {
throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');
}
return {
setters: [function (_aureliaFramework) {
customElement = _aureliaFramework.customElement;
observable = _aureliaFramework.observable;
}, function (_servicesQueryStatusModel) {
QueryStatusModel = _servicesQueryStatusModel.QueryStatusModel;
}, function (_servicesPubSub) {
PubSub = _servicesPubSub.PubSub;
}],
execute: function () {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
_export('QueryStatus', QueryStatus = (_dec = customElement('query-status'), _dec(_class = (_class2 = (_temp = _class3 = function (_PubSub) {
_inherits(QueryStatus, _PubSub);
function QueryStatus(queryStatus) {
_classCallCheck(this, QueryStatus);
for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
rest[_key - 1] = arguments[_key];
}
var _this = _possibleConstructorReturn(this, _PubSub.call.apply(_PubSub, [this].concat(rest)));
_initDefineProp(_this, 'status', _descriptor, _this);
me.set(_this, {
isDevEnv: document.location.href.includes('http://localhost:8000/'),
exportAvailable: false
});
return _this;
}
QueryStatus.prototype.statusChanged = function statusChanged(newValue, oldValue) {
if (!newValue.nodes || !newValue.nodes.length) {
me.get(this).exportAvailable = false;
this.publish(this.notifications.shrine.queryUnavailable);
return;
}
me.get(this).exportAvailable = true;
this.publish(this.notifications.shrine.queryAvailable);
};
QueryStatus.prototype.attached = function attached() {
var _this2 = this;
this.subscribe(this.notifications.i2b2.queryStarted, function (n) {
_this2.status = initialState();
_this2.status.query.queryName = n;
});
this.subscribe(this.notifications.i2b2.networkIdReceived, function (d) {
var networkId = d.networkId,
name = d.name;
var state = initialState();
var nodes = state.nodes;
- state.query.queryName = name || state.query.queryName;
+ var queryName = name || state.query.queryName;
_this2.status = _this2.status ? _extends({}, _this2.status, { nodes: nodes }) : state;
+ _this2.status.query = _extends({}, _this2.status.query, { queryName: queryName, networkId: networkId });
_this2.publish(_this2.commands.shrine.fetchQuery, { networkId: networkId, timeoutSeconds: TIMEOUT_SECONDS, dataVersion: DEFAULT_VERSION });
});
this.subscribe(this.notifications.i2b2.exportQuery, function () {
_this2.publish(_this2.commands.shrine.exportResult, _extends({}, _this2.status));
});
this.subscribe(this.notifications.i2b2.clearQuery, function () {
_this2.status = initialState();
});
this.subscribe(this.notifications.shrine.queryReceived, function (data) {
var query = data.query,
nodes = data.nodes,
- dataVersion = data.dataVersion,
+ _data$dataVersion = data.dataVersion,
+ dataVersion = _data$dataVersion === undefined ? DEFAULT_VERSION : _data$dataVersion,
complete = data.complete,
networkId = data.query.networkId;
+ var timeoutSeconds = TIMEOUT_SECONDS;
+ if (networkId !== _this2.status.query.networkId) return;
var updated = Number(new Date());
_this2.status = _extends({}, _this2.status, { query: query, nodes: nodes, updated: updated });
if (!complete) {
- _this2.publish(_this2.commands.shrine.fetchQuery, { networkId: networkId, dataVersion: dataVersion, TIMEOUT_SECONDS: TIMEOUT_SECONDS });
+ _this2.publish(_this2.commands.shrine.fetchQuery, { networkId: networkId, dataVersion: dataVersion, timeoutSeconds: timeoutSeconds });
}
});
if (me.get(this).isDevEnv) {
- this.publish(this.notifications.i2b2.networkIdReceived, { networkId: 1, name: "started query" });
+ this.publish(this.notifications.i2b2.networkIdReceived, { networkId: '2421519216383772161', name: "started query" });
}
};
return QueryStatus;
}(PubSub), _class3.inject = [QueryStatusModel], _temp), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'status', [observable], {
enumerable: true,
initializer: null
})), _class2)) || _class));
_export('QueryStatus', QueryStatus);
TIMEOUT_SECONDS = 15;
DEFAULT_VERSION = -1;
me = new WeakMap();
initialState = function initialState(n) {
- return { query: { queryName: null, updated: null, complete: false }, nodes: null };
+ return { query: { networkId: null, queryName: null, updated: null, complete: false }, nodes: null };
};
}
};
});
//# sourceMappingURL=query-status.js.map
diff --git a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-status/query-status.js.map b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-status/query-status.js.map
index 51320a629..7a96574a9 100644
--- a/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-status/query-status.js.map
+++ b/shrine-webclient/src/main/js/client/js-shrine/dist/views/query-status/query-status.js.map
@@ -1 +1 @@
-{"version":3,"sources":["views/query-status/query-status.js"],"names":["customElement","observable","QueryStatusModel","PubSub","QueryStatus","queryStatus","rest","me","set","isDevEnv","document","location","href","includes","exportAvailable","statusChanged","newValue","oldValue","nodes","length","get","publish","notifications","shrine","queryUnavailable","queryAvailable","attached","subscribe","i2b2","queryStarted","n","status","initialState","query","queryName","networkIdReceived","networkId","d","name","state","commands","fetchQuery","timeoutSeconds","TIMEOUT_SECONDS","dataVersion","DEFAULT_VERSION","exportQuery","exportResult","clearQuery","queryReceived","data","complete","updated","Number","Date","inject","WeakMap"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAASA,yB,qBAAAA,a;AAAeC,sB,qBAAAA,U;;AACfC,4B,6BAAAA,gB;;AACAC,kB,mBAAAA,M;;;;;;;;;;;;;;;;;mCAEIC,W,WADZJ,cAAc,cAAd,C;;;AAIG,qCAAYK,WAAZ,EAAkC;AAAA;;AAAA,sDAANC,IAAM;AAANA,4BAAM;AAAA;;AAAA,iEAC9B,0CAASA,IAAT,EAD8B;;AAAA;;AAE9BC,uBAAGC,GAAH,QAAa;AACTC,kCAAUC,SAASC,QAAT,CAAkBC,IAAlB,CAAuBC,QAAvB,CAAgC,wBAAhC,CADD;AAETC,yCAAiB;AAFR,qBAAb;AAF8B;AAMjC;;sCACDC,a,0BAAcC,Q,EAAUC,Q,EAAU;AAC9B,wBAAG,CAACD,SAASE,KAAV,IAAmB,CAACF,SAASE,KAAT,CAAeC,MAAtC,EAA8C;AAC1CZ,2BAAGa,GAAH,CAAO,IAAP,EAAaN,eAAb,GAA+B,KAA/B;AACA,6BAAKO,OAAL,CAAa,KAAKC,aAAL,CAAmBC,MAAnB,CAA0BC,gBAAvC;AACA;AACH;AACDjB,uBAAGa,GAAH,CAAO,IAAP,EAAaN,eAAb,GAA+B,IAA/B;AACA,yBAAKO,OAAL,CAAa,KAAKC,aAAL,CAAmBC,MAAnB,CAA0BE,cAAvC;AACH,iB;;sCACDC,Q,uBAAW;AAAA;;AAEP,yBAAKC,SAAL,CAAe,KAAKL,aAAL,CAAmBM,IAAnB,CAAwBC,YAAvC,EAAqD,UAACC,CAAD,EAAO;AACxD,+BAAKC,MAAL,GAAcC,cAAd;AACA,+BAAKD,MAAL,CAAYE,KAAZ,CAAkBC,SAAlB,GAA8BJ,CAA9B;AACH,qBAHD;;AAKA,yBAAKH,SAAL,CAAe,KAAKL,aAAL,CAAmBM,IAAnB,CAAwBO,iBAAvC,EAA0D,aAAK;AAAA,4BACpDC,SADoD,GACjCC,CADiC,CACpDD,SADoD;AAAA,4BACzCE,IADyC,GACjCD,CADiC,CACzCC,IADyC;;AAE3D,4BAAMC,QAAQP,cAAd;AAF2D,4BAGpDd,KAHoD,GAG3CqB,KAH2C,CAGpDrB,KAHoD;;AAI3DqB,8BAAMN,KAAN,CAAYC,SAAZ,GAAwBI,QAAQC,MAAMN,KAAN,CAAYC,SAA5C;AACA,+BAAKH,MAAL,GAAc,OAAKA,MAAL,gBAAiB,OAAKA,MAAtB,EAAiC,EAACb,YAAD,EAAjC,IAA4CqB,KAA1D;AACA,+BAAKlB,OAAL,CAAa,OAAKmB,QAAL,CAAcjB,MAAd,CAAqBkB,UAAlC,EAA8C,EAACL,oBAAD,EAAYM,gBAAgBC,eAA5B,EAA6CC,aAAaC,eAA1D,EAA9C;AACH,qBAPD;;AASA,yBAAKlB,SAAL,CAAe,KAAKL,aAAL,CAAmBM,IAAnB,CAAwBkB,WAAvC,EAAoD,YAAM;AACtD,+BAAKzB,OAAL,CAAa,OAAKmB,QAAL,CAAcjB,MAAd,CAAqBwB,YAAlC,WAAqD,EAArD,EAA4D,OAAKhB,MAAjE;AACH,qBAFD;;AAIA,yBAAKJ,SAAL,CAAe,KAAKL,aAAL,CAAmBM,IAAnB,CAAwBoB,UAAvC,EAAmD,YAAM;AACrD,+BAAKjB,MAAL,GAAcC,cAAd;AACH,qBAFD;AAGA,yBAAKL,SAAL,CAAe,KAAKL,aAAL,CAAmBC,MAAnB,CAA0B0B,aAAzC,EAAwD,gBAAQ;AAAA,4BACrDhB,KADqD,GACKiB,IADL,CACrDjB,KADqD;AAAA,4BAC9Cf,KAD8C,GACKgC,IADL,CAC9ChC,KAD8C;AAAA,4BACvC0B,WADuC,GACKM,IADL,CACvCN,WADuC;AAAA,4BAC1BO,QAD0B,GACKD,IADL,CAC1BC,QAD0B;AAAA,4BACTf,SADS,GACKc,IADL,CAChBjB,KADgB,CACTG,SADS;;AAE5D,4BAAMgB,UAAUC,OAAO,IAAIC,IAAJ,EAAP,CAAhB;AACA,+BAAKvB,MAAL,gBAAmB,OAAKA,MAAxB,EAAmC,EAAEE,YAAF,EAASf,YAAT,EAAgBkC,gBAAhB,EAAnC;AACA,4BAAI,CAACD,QAAL,EAAe;AACX,mCAAK9B,OAAL,CAAa,OAAKmB,QAAL,CAAcjB,MAAd,CAAqBkB,UAAlC,EAA8C,EAACL,oBAAD,EAAYQ,wBAAZ,EAAyBD,gCAAzB,EAA9C;AACH;AACJ,qBAPD;;AASA,wBAAIpC,GAAGa,GAAH,CAAO,IAAP,EAAaX,QAAjB,EAA2B;AAEvB,6BAAKY,OAAL,CAAa,KAAKC,aAAL,CAAmBM,IAAnB,CAAwBO,iBAArC,EAAwD,EAACC,WAAW,CAAZ,EAAeE,MAAM,eAArB,EAAxD;AACH;AACJ,iB;;;cAvD4BnC,M,WAEtBoD,M,GAAS,CAACrD,gBAAD,C,iFADfD,U;;;;;;;AAwDC0C,2B,GAAkB,E;AAClBE,2B,GAAkB,CAAC,C;AACnBtC,c,GAAK,IAAIiD,OAAJ,E;;AACLxB,wB,GAAe,SAAfA,YAAe,CAACF,CAAD;AAAA,uBAAQ,EAAEG,OAAO,EAAEC,WAAW,IAAb,EAAmBkB,SAAS,IAA5B,EAAkCD,UAAU,KAA5C,EAAT,EAA8DjC,OAAO,IAArE,EAAR;AAAA,a","file":"query-status.js","sourceRoot":"/src"}
\ No newline at end of file
+{"version":3,"sources":["views/query-status/query-status.js"],"names":["customElement","observable","QueryStatusModel","PubSub","QueryStatus","queryStatus","rest","me","set","isDevEnv","document","location","href","includes","exportAvailable","statusChanged","newValue","oldValue","nodes","length","get","publish","notifications","shrine","queryUnavailable","queryAvailable","attached","subscribe","i2b2","queryStarted","n","status","initialState","query","queryName","networkIdReceived","networkId","d","name","state","commands","fetchQuery","timeoutSeconds","TIMEOUT_SECONDS","dataVersion","DEFAULT_VERSION","exportQuery","exportResult","clearQuery","queryReceived","data","complete","updated","Number","Date","inject","WeakMap"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAASA,yB,qBAAAA,a;AAAeC,sB,qBAAAA,U;;AACfC,4B,6BAAAA,gB;;AACAC,kB,mBAAAA,M;;;;;;;;;;;;;;;;;mCAEIC,W,WADZJ,cAAc,cAAd,C;;;AAIG,qCAAYK,WAAZ,EAAkC;AAAA;;AAAA,sDAANC,IAAM;AAANA,4BAAM;AAAA;;AAAA,iEAC9B,0CAASA,IAAT,EAD8B;;AAAA;;AAE9BC,uBAAGC,GAAH,QAAa;AACTC,kCAAUC,SAASC,QAAT,CAAkBC,IAAlB,CAAuBC,QAAvB,CAAgC,wBAAhC,CADD;AAETC,yCAAiB;AAFR,qBAAb;AAF8B;AAMjC;;sCACDC,a,0BAAcC,Q,EAAUC,Q,EAAU;AAC9B,wBAAG,CAACD,SAASE,KAAV,IAAmB,CAACF,SAASE,KAAT,CAAeC,MAAtC,EAA8C;AAC1CZ,2BAAGa,GAAH,CAAO,IAAP,EAAaN,eAAb,GAA+B,KAA/B;AACA,6BAAKO,OAAL,CAAa,KAAKC,aAAL,CAAmBC,MAAnB,CAA0BC,gBAAvC;AACA;AACH;AACDjB,uBAAGa,GAAH,CAAO,IAAP,EAAaN,eAAb,GAA+B,IAA/B;AACA,yBAAKO,OAAL,CAAa,KAAKC,aAAL,CAAmBC,MAAnB,CAA0BE,cAAvC;AACH,iB;;sCACDC,Q,uBAAW;AAAA;;AAEP,yBAAKC,SAAL,CAAe,KAAKL,aAAL,CAAmBM,IAAnB,CAAwBC,YAAvC,EAAqD,UAACC,CAAD,EAAO;AACxD,+BAAKC,MAAL,GAAcC,cAAd;AACA,+BAAKD,MAAL,CAAYE,KAAZ,CAAkBC,SAAlB,GAA8BJ,CAA9B;AACH,qBAHD;;AAKA,yBAAKH,SAAL,CAAe,KAAKL,aAAL,CAAmBM,IAAnB,CAAwBO,iBAAvC,EAA0D,aAAK;AAAA,4BACpDC,SADoD,GACjCC,CADiC,CACpDD,SADoD;AAAA,4BACzCE,IADyC,GACjCD,CADiC,CACzCC,IADyC;;AAE3D,4BAAMC,QAAQP,cAAd;AAF2D,4BAGpDd,KAHoD,GAG3CqB,KAH2C,CAGpDrB,KAHoD;;AAI3D,4BAAMgB,YAAYI,QAAQC,MAAMN,KAAN,CAAYC,SAAtC;AACA,+BAAKH,MAAL,GAAc,OAAKA,MAAL,gBAAiB,OAAKA,MAAtB,EAAiC,EAACb,YAAD,EAAjC,IAA4CqB,KAA1D;AACA,+BAAKR,MAAL,CAAYE,KAAZ,gBAAwB,OAAKF,MAAL,CAAYE,KAApC,EAA8C,EAACC,oBAAD,EAAYE,oBAAZ,EAA9C;AACA,+BAAKf,OAAL,CAAa,OAAKmB,QAAL,CAAcjB,MAAd,CAAqBkB,UAAlC,EAA8C,EAACL,oBAAD,EAAYM,gBAAgBC,eAA5B,EAA6CC,aAAaC,eAA1D,EAA9C;AACH,qBARD;;AAUA,yBAAKlB,SAAL,CAAe,KAAKL,aAAL,CAAmBM,IAAnB,CAAwBkB,WAAvC,EAAoD,YAAM;AACtD,+BAAKzB,OAAL,CAAa,OAAKmB,QAAL,CAAcjB,MAAd,CAAqBwB,YAAlC,WAAqD,EAArD,EAA4D,OAAKhB,MAAjE;AACH,qBAFD;;AAIA,yBAAKJ,SAAL,CAAe,KAAKL,aAAL,CAAmBM,IAAnB,CAAwBoB,UAAvC,EAAmD,YAAM;AACrD,+BAAKjB,MAAL,GAAcC,cAAd;AACH,qBAFD;AAGA,yBAAKL,SAAL,CAAe,KAAKL,aAAL,CAAmBC,MAAnB,CAA0B0B,aAAzC,EAAwD,gBAAQ;AAAA,4BACrDhB,KADqD,GACuBiB,IADvB,CACrDjB,KADqD;AAAA,4BAC9Cf,KAD8C,GACuBgC,IADvB,CAC9ChC,KAD8C;AAAA,gDACuBgC,IADvB,CACvCN,WADuC;AAAA,4BACvCA,WADuC,qCACzBC,eADyB;AAAA,4BACRM,QADQ,GACuBD,IADvB,CACRC,QADQ;AAAA,4BACSf,SADT,GACuBc,IADvB,CACEjB,KADF,CACSG,SADT;;AAE5D,4BAAMM,iBAAiBC,eAAvB;AACA,4BAAGP,cAAc,OAAKL,MAAL,CAAYE,KAAZ,CAAkBG,SAAnC,EAA8C;AAC9C,4BAAMgB,UAAUC,OAAO,IAAIC,IAAJ,EAAP,CAAhB;AACA,+BAAKvB,MAAL,gBAAmB,OAAKA,MAAxB,EAAmC,EAAEE,YAAF,EAASf,YAAT,EAAgBkC,gBAAhB,EAAnC;AACA,4BAAI,CAACD,QAAL,EAAe;AACX,mCAAK9B,OAAL,CAAa,OAAKmB,QAAL,CAAcjB,MAAd,CAAqBkB,UAAlC,EAA8C,EAACL,oBAAD,EAAYQ,wBAAZ,EAAyBF,8BAAzB,EAA9C;AACH;AACJ,qBATD;;AAWA,wBAAInC,GAAGa,GAAH,CAAO,IAAP,EAAaX,QAAjB,EAA2B;AAEvB,6BAAKY,OAAL,CAAa,KAAKC,aAAL,CAAmBM,IAAnB,CAAwBO,iBAArC,EAAwD,EAACC,WAAW,qBAAZ,EAAmCE,MAAM,eAAzC,EAAxD;AACH;AACJ,iB;;;cA1D4BnC,M,WAEtBoD,M,GAAS,CAACrD,gBAAD,C,iFADfD,U;;;;;;;AA2DC0C,2B,GAAkB,E;AAClBE,2B,GAAkB,CAAC,C;AACnBtC,c,GAAK,IAAIiD,OAAJ,E;;AACLxB,wB,GAAe,SAAfA,YAAe,CAACF,CAAD;AAAA,uBAAQ,EAAEG,OAAO,EAAEG,WAAW,IAAb,EAAmBF,WAAW,IAA9B,EAAoCkB,SAAS,IAA7C,EAAmDD,UAAU,KAA7D,EAAT,EAA+EjC,OAAO,IAAtF,EAAR;AAAA,a","file":"query-status.js","sourceRoot":"/src"}
\ No newline at end of file
diff --git a/shrine-webclient/src/main/js/client/js-shrine/export/config.js b/shrine-webclient/src/main/js/client/js-shrine/export/config.js
index 8faa778d2..41785c1e0 100644
--- a/shrine-webclient/src/main/js/client/js-shrine/export/config.js
+++ b/shrine-webclient/src/main/js/client/js-shrine/export/config.js
@@ -1,758 +1,763 @@
System.config({
defaultJSExtensions: true,
transpiler: false,
paths: {
"*": "dist/*",
"github:*": "jspm_packages/github/*",
"npm:*": "jspm_packages/npm/*"
},
map: {
"aurelia-animator-css": "npm:aurelia-animator-css@1.0.1",
"aurelia-bootstrapper": "npm:aurelia-bootstrapper@1.0.0",
"aurelia-event-aggregator": "npm:aurelia-event-aggregator@1.0.1",
- "aurelia-fetch-client": "npm:aurelia-fetch-client@1.0.1",
+ "aurelia-fetch-client": "npm:aurelia-fetch-client@1.1.3",
"aurelia-framework": "npm:aurelia-framework@1.0.6",
"aurelia-history-browser": "npm:aurelia-history-browser@1.0.0",
+ "aurelia-http-client": "npm:aurelia-http-client@1.1.1",
"aurelia-loader-default": "npm:aurelia-loader-default@1.0.0",
"aurelia-logging-console": "npm:aurelia-logging-console@1.0.0",
"aurelia-pal-browser": "npm:aurelia-pal-browser@1.0.0",
"aurelia-polyfills": "npm:aurelia-polyfills@1.1.1",
"aurelia-router": "npm:aurelia-router@1.3.0",
"aurelia-templating-binding": "npm:aurelia-templating-binding@1.0.0",
"aurelia-templating-resources": "npm:aurelia-templating-resources@1.1.1",
"aurelia-templating-router": "npm:aurelia-templating-router@1.0.0",
"bluebird": "npm:bluebird@3.4.1",
"bootstrap": "github:twbs/bootstrap@3.3.7",
- "fetch": "github:github/fetch@1.0.0",
+ "fetch": "github:github/fetch@2.0.3",
"font-awesome": "npm:font-awesome@4.7.0",
"jquery": "npm:jquery@2.2.4",
"moment": "npm:moment@2.18.1",
"ramda": "npm:ramda@0.23.0",
"text": "github:systemjs/plugin-text@0.0.8",
"github:jspm/nodelibs-assert@0.1.0": {
"assert": "npm:assert@1.4.1"
},
"github:jspm/nodelibs-buffer@0.1.1": {
"buffer": "npm:buffer@5.0.6"
},
"github:jspm/nodelibs-process@0.1.2": {
"process": "npm:process@0.11.10"
},
"github:jspm/nodelibs-util@0.1.0": {
"util": "npm:util@0.10.3"
},
"github:jspm/nodelibs-vm@0.1.0": {
"vm-browserify": "npm:vm-browserify@0.0.4"
},
"github:twbs/bootstrap@3.3.7": {
"jquery": "npm:jquery@2.2.4"
},
"npm:assert@1.4.1": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"buffer": "github:jspm/nodelibs-buffer@0.1.1",
"process": "github:jspm/nodelibs-process@0.1.2",
"util": "npm:util@0.10.3"
},
"npm:aurelia-animator-css@1.0.1": {
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0",
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
"aurelia-templating": "npm:aurelia-templating@1.1.1"
},
"npm:aurelia-binding@1.0.9": {
"aurelia-logging": "npm:aurelia-logging@1.3.1",
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0",
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
"aurelia-task-queue": "npm:aurelia-task-queue@1.1.0"
},
"npm:aurelia-bootstrapper@1.0.0": {
"aurelia-event-aggregator": "npm:aurelia-event-aggregator@1.0.1",
"aurelia-framework": "npm:aurelia-framework@1.0.6",
"aurelia-history": "npm:aurelia-history@1.0.0",
"aurelia-history-browser": "npm:aurelia-history-browser@1.0.0",
"aurelia-loader-default": "npm:aurelia-loader-default@1.0.0",
"aurelia-logging-console": "npm:aurelia-logging-console@1.0.0",
- "aurelia-pal": "npm:aurelia-pal@1.3.0",
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
"aurelia-pal-browser": "npm:aurelia-pal-browser@1.0.0",
"aurelia-polyfills": "npm:aurelia-polyfills@1.1.1",
"aurelia-router": "npm:aurelia-router@1.3.0",
"aurelia-templating": "npm:aurelia-templating@1.1.1",
"aurelia-templating-binding": "npm:aurelia-templating-binding@1.0.0",
"aurelia-templating-resources": "npm:aurelia-templating-resources@1.1.1",
"aurelia-templating-router": "npm:aurelia-templating-router@1.0.0"
},
"npm:aurelia-dependency-injection@1.3.1": {
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0"
+ "aurelia-pal": "npm:aurelia-pal@1.4.0"
},
"npm:aurelia-event-aggregator@1.0.1": {
"aurelia-logging": "npm:aurelia-logging@1.3.1"
},
"npm:aurelia-framework@1.0.6": {
"aurelia-binding": "npm:aurelia-binding@1.0.9",
"aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1",
"aurelia-loader": "npm:aurelia-loader@1.0.0",
"aurelia-logging": "npm:aurelia-logging@1.3.1",
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0",
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
"aurelia-path": "npm:aurelia-path@1.1.1",
"aurelia-task-queue": "npm:aurelia-task-queue@1.1.0",
"aurelia-templating": "npm:aurelia-templating@1.1.1"
},
"npm:aurelia-history-browser@1.0.0": {
"aurelia-history": "npm:aurelia-history@1.0.0",
- "aurelia-pal": "npm:aurelia-pal@1.3.0"
+ "aurelia-pal": "npm:aurelia-pal@1.4.0"
+ },
+ "npm:aurelia-http-client@1.1.1": {
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
+ "aurelia-path": "npm:aurelia-path@1.1.1"
},
"npm:aurelia-loader-default@1.0.0": {
"aurelia-loader": "npm:aurelia-loader@1.0.0",
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0"
+ "aurelia-pal": "npm:aurelia-pal@1.4.0"
},
"npm:aurelia-loader@1.0.0": {
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
"aurelia-path": "npm:aurelia-path@1.1.1"
},
"npm:aurelia-logging-console@1.0.0": {
"aurelia-logging": "npm:aurelia-logging@1.3.1"
},
"npm:aurelia-metadata@1.0.3": {
- "aurelia-pal": "npm:aurelia-pal@1.3.0"
+ "aurelia-pal": "npm:aurelia-pal@1.4.0"
},
"npm:aurelia-pal-browser@1.0.0": {
- "aurelia-pal": "npm:aurelia-pal@1.3.0"
+ "aurelia-pal": "npm:aurelia-pal@1.4.0"
},
"npm:aurelia-polyfills@1.1.1": {
- "aurelia-pal": "npm:aurelia-pal@1.3.0"
+ "aurelia-pal": "npm:aurelia-pal@1.4.0"
},
"npm:aurelia-route-recognizer@1.1.0": {
"aurelia-path": "npm:aurelia-path@1.1.1"
},
"npm:aurelia-router@1.3.0": {
"aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1",
"aurelia-event-aggregator": "npm:aurelia-event-aggregator@1.0.1",
"aurelia-history": "npm:aurelia-history@1.0.0",
"aurelia-logging": "npm:aurelia-logging@1.3.1",
"aurelia-path": "npm:aurelia-path@1.1.1",
"aurelia-route-recognizer": "npm:aurelia-route-recognizer@1.1.0"
},
"npm:aurelia-task-queue@1.1.0": {
- "aurelia-pal": "npm:aurelia-pal@1.3.0"
+ "aurelia-pal": "npm:aurelia-pal@1.4.0"
},
"npm:aurelia-templating-binding@1.0.0": {
"aurelia-binding": "npm:aurelia-binding@1.0.9",
"aurelia-logging": "npm:aurelia-logging@1.3.1",
"aurelia-templating": "npm:aurelia-templating@1.1.1"
},
"npm:aurelia-templating-resources@1.1.1": {
"aurelia-binding": "npm:aurelia-binding@1.0.9",
"aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1",
"aurelia-loader": "npm:aurelia-loader@1.0.0",
"aurelia-logging": "npm:aurelia-logging@1.3.1",
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0",
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
"aurelia-path": "npm:aurelia-path@1.1.1",
"aurelia-task-queue": "npm:aurelia-task-queue@1.1.0",
"aurelia-templating": "npm:aurelia-templating@1.1.1"
},
"npm:aurelia-templating-router@1.0.0": {
"aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1",
"aurelia-logging": "npm:aurelia-logging@1.3.1",
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0",
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
"aurelia-path": "npm:aurelia-path@1.1.1",
"aurelia-router": "npm:aurelia-router@1.3.0",
"aurelia-templating": "npm:aurelia-templating@1.1.1"
},
"npm:aurelia-templating@1.1.1": {
"aurelia-binding": "npm:aurelia-binding@1.0.9",
"aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.3.1",
"aurelia-loader": "npm:aurelia-loader@1.0.0",
"aurelia-logging": "npm:aurelia-logging@1.3.1",
"aurelia-metadata": "npm:aurelia-metadata@1.0.3",
- "aurelia-pal": "npm:aurelia-pal@1.3.0",
+ "aurelia-pal": "npm:aurelia-pal@1.4.0",
"aurelia-path": "npm:aurelia-path@1.1.1",
"aurelia-task-queue": "npm:aurelia-task-queue@1.1.0"
},
"npm:bluebird@3.4.1": {
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:buffer@5.0.6": {
"base64-js": "npm:base64-js@1.2.0",
"ieee754": "npm:ieee754@1.1.8"
},
"npm:font-awesome@4.7.0": {
"css": "github:systemjs/plugin-css@0.1.33"
},
"npm:inherits@2.0.1": {
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:process@0.11.10": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"vm": "github:jspm/nodelibs-vm@0.1.0"
},
"npm:ramda@0.23.0": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.2",
"util": "github:jspm/nodelibs-util@0.1.0",
"vm": "github:jspm/nodelibs-vm@0.1.0"
},
"npm:util@0.10.3": {
"inherits": "npm:inherits@2.0.1",
"process": "github:jspm/nodelibs-process@0.1.2"
},
"npm:vm-browserify@0.0.4": {
"indexof": "npm:indexof@0.0.1"
}
},
+ depCache: {
+ "repository/qep.repository.js": [
+ "aurelia-fetch-client",
+ "fetch"
+ ],
+ "resources/converters/datetime.value.converter.js": [
+ "moment"
+ ],
+ "resources/custom/breakdown/breakdown.js": [
+ "aurelia-framework"
+ ],
+ "resources/custom/node-result/node-result.js": [
+ "aurelia-framework",
+ "services/pub-sub"
+ ],
+ "resources/custom/node-status/node-status.js": [
+ "aurelia-framework",
+ "services/pub-sub"
+ ],
+ "services/container.js": [
+ "ramda"
+ ],
+ "services/i2b2.pub-sub.js": [
+ "./pub-sub",
+ "./i2b2.service"
+ ],
+ "services/i2b2.service.js": [
+ "ramda",
+ "./container"
+ ],
+ "services/pub-sub.js": [
+ "aurelia-event-aggregator",
+ "./shrine.messages"
+ ],
+ "services/queries.model.js": [
+ "aurelia-event-aggregator",
+ "repository/qep.repository",
+ "./shrine.messages"
+ ],
+ "services/query-export.js": [
+ "./pub-sub"
+ ],
+ "services/query-status.model.js": [
+ "aurelia-event-aggregator",
+ "repository/qep.repository",
+ "./shrine.messages"
+ ],
+ "shell.js": [
+ "services/i2b2.pub-sub",
+ "services/query-export"
+ ],
+ "views/mailto/mailto.js": [
+ "views/mailto/mailto.service",
+ "views/mailto/mailto.config"
+ ],
+ "views/mailto/mailto.service.js": [
+ "repository/qep.repository"
+ ],
+ "views/query-status/query-status.js": [
+ "aurelia-framework",
+ "services/query-status.model",
+ "services/pub-sub"
+ ],
+ "views/query-viewer/context-menu/context-menu.js": [
+ "aurelia-framework",
+ "aurelia-event-aggregator",
+ "common/shrine.messages"
+ ],
+ "views/query-viewer/date.converter.js": [
+ "moment"
+ ],
+ "views/query-viewer/paginator/paginator.js": [
+ "aurelia-framework"
+ ],
+ "views/query-viewer/query-status/query-status.js": [
+ "aurelia-framework",
+ "ramda"
+ ],
+ "views/query-viewer/query-viewer.js": [
+ "aurelia-event-aggregator",
+ "common/queries.model",
+ "./scroll.service",
+ "common/shrine.messages"
+ ],
+ "views/query-viewer/result-row/loading-bar/loading-bar.js": [
+ "aurelia-framework"
+ ],
+ "views/query-viewer/scroll.service.js": [
+ "ramda",
+ "common/container"
+ ]
+ },
bundles: {
"app-build.js": [
"main.js",
"repository/qep.repository.js",
"resources/converters/box-style.converter.js",
"resources/converters/count-value-converter.js",
"resources/converters/datetime.value.converter.js",
"resources/converters/result-style.converter.js",
"resources/converters/result-value.converter.js",
"resources/converters/truncate.converter.js",
"resources/custom/breakdown/breakdown.html!github:systemjs/plugin-text@0.0.8.js",
"resources/custom/breakdown/breakdown.js",
"resources/custom/node-result/error.html!github:systemjs/plugin-text@0.0.8.js",
"resources/custom/node-result/node-result.html!github:systemjs/plugin-text@0.0.8.js",
"resources/custom/node-result/node-result.js",
"resources/custom/node-result/patient-count.html!github:systemjs/plugin-text@0.0.8.js",
"resources/custom/node-result/status-msg.html!github:systemjs/plugin-text@0.0.8.js",
"resources/custom/node-status/node-status.html!github:systemjs/plugin-text@0.0.8.js",
"resources/custom/node-status/node-status.js",
"resources/custom/node-status/temp.html!github:systemjs/plugin-text@0.0.8.js",
"resources/index.js",
"services/container.js",
"services/i2b2.pub-sub.js",
"services/i2b2.service.js",
"services/pub-sub.js",
"services/queries.model.js",
"services/query-export.js",
"services/query-status.model.js",
"services/shrine.messages.js",
"shell.html!github:systemjs/plugin-text@0.0.8.js",
"shell.js",
"views/index.js",
"views/mailto/mailto.config.js",
"views/mailto/mailto.html!github:systemjs/plugin-text@0.0.8.js",
"views/mailto/mailto.js",
"views/mailto/mailto.service.js",
"views/query-status/query-status.html!github:systemjs/plugin-text@0.0.8.js",
"views/query-status/query-status.js",
"views/query-viewer/context-menu/context-menu.html!github:systemjs/plugin-text@0.0.8.js",
"views/query-viewer/context-menu/context-menu.js",
"views/query-viewer/date.converter.js",
"views/query-viewer/paginator/paginator.html!github:systemjs/plugin-text@0.0.8.js",
"views/query-viewer/paginator/paginator.js",
"views/query-viewer/query-status/query-status.html!github:systemjs/plugin-text@0.0.8.js",
"views/query-viewer/query-status/query-status.js",
"views/query-viewer/query-viewer.config.js",
"views/query-viewer/query-viewer.html!github:systemjs/plugin-text@0.0.8.js",
"views/query-viewer/query-viewer.js",
"views/query-viewer/result-row/loading-bar/loading-bar.html!github:systemjs/plugin-text@0.0.8.js",
"views/query-viewer/result-row/loading-bar/loading-bar.js",
"views/query-viewer/result-row/loading-bar/row-loader.html!github:systemjs/plugin-text@0.0.8.js",
"views/query-viewer/scroll.service.js"
],
"aurelia.js": [
- "github:github/fetch@1.0.0.js",
- "github:github/fetch@1.0.0/fetch.js",
+ "github:github/fetch@2.0.3.js",
+ "github:github/fetch@2.0.3/fetch.js",
"github:jspm/nodelibs-process@0.1.2.js",
"github:jspm/nodelibs-process@0.1.2/index.js",
"npm:aurelia-binding@1.0.9.js",
"npm:aurelia-binding@1.0.9/aurelia-binding.js",
"npm:aurelia-bootstrapper@1.0.0.js",
"npm:aurelia-bootstrapper@1.0.0/aurelia-bootstrapper.js",
"npm:aurelia-dependency-injection@1.3.1.js",
"npm:aurelia-dependency-injection@1.3.1/aurelia-dependency-injection.js",
"npm:aurelia-event-aggregator@1.0.1.js",
"npm:aurelia-event-aggregator@1.0.1/aurelia-event-aggregator.js",
- "npm:aurelia-fetch-client@1.0.1.js",
- "npm:aurelia-fetch-client@1.0.1/aurelia-fetch-client.js",
+ "npm:aurelia-fetch-client@1.1.3.js",
+ "npm:aurelia-fetch-client@1.1.3/aurelia-fetch-client.js",
"npm:aurelia-framework@1.0.6.js",
"npm:aurelia-framework@1.0.6/aurelia-framework.js",
"npm:aurelia-history-browser@1.0.0.js",
"npm:aurelia-history-browser@1.0.0/aurelia-history-browser.js",
"npm:aurelia-history@1.0.0.js",
"npm:aurelia-history@1.0.0/aurelia-history.js",
"npm:aurelia-loader-default@1.0.0.js",
"npm:aurelia-loader-default@1.0.0/aurelia-loader-default.js",
"npm:aurelia-loader@1.0.0.js",
"npm:aurelia-loader@1.0.0/aurelia-loader.js",
"npm:aurelia-logging-console@1.0.0.js",
"npm:aurelia-logging-console@1.0.0/aurelia-logging-console.js",
"npm:aurelia-logging@1.3.1.js",
"npm:aurelia-logging@1.3.1/aurelia-logging.js",
"npm:aurelia-metadata@1.0.3.js",
"npm:aurelia-metadata@1.0.3/aurelia-metadata.js",
"npm:aurelia-pal-browser@1.0.0.js",
"npm:aurelia-pal-browser@1.0.0/aurelia-pal-browser.js",
- "npm:aurelia-pal@1.3.0.js",
- "npm:aurelia-pal@1.3.0/aurelia-pal.js",
+ "npm:aurelia-pal@1.4.0.js",
+ "npm:aurelia-pal@1.4.0/aurelia-pal.js",
"npm:aurelia-path@1.1.1.js",
"npm:aurelia-path@1.1.1/aurelia-path.js",
"npm:aurelia-polyfills@1.1.1.js",
"npm:aurelia-polyfills@1.1.1/aurelia-polyfills.js",
"npm:aurelia-route-recognizer@1.1.0.js",
"npm:aurelia-route-recognizer@1.1.0/aurelia-route-recognizer.js",
"npm:aurelia-router@1.3.0.js",
"npm:aurelia-router@1.3.0/aurelia-router.js",
"npm:aurelia-task-queue@1.1.0.js",
"npm:aurelia-task-queue@1.1.0/aurelia-task-queue.js",
"npm:aurelia-templating-binding@1.0.0.js",
"npm:aurelia-templating-binding@1.0.0/aurelia-templating-binding.js",
"npm:aurelia-templating-resources@1.1.1.js",
"npm:aurelia-templating-resources@1.1.1/abstract-repeater.js",
"npm:aurelia-templating-resources@1.1.1/analyze-view-factory.js",
"npm:aurelia-templating-resources@1.1.1/array-repeat-strategy.js",
"npm:aurelia-templating-resources@1.1.1/attr-binding-behavior.js",
"npm:aurelia-templating-resources@1.1.1/aurelia-hide-style.js",
"npm:aurelia-templating-resources@1.1.1/aurelia-templating-resources.js",
"npm:aurelia-templating-resources@1.1.1/binding-mode-behaviors.js",
"npm:aurelia-templating-resources@1.1.1/binding-signaler.js",
"npm:aurelia-templating-resources@1.1.1/compose.js",
"npm:aurelia-templating-resources@1.1.1/css-resource.js",
"npm:aurelia-templating-resources@1.1.1/debounce-binding-behavior.js",
"npm:aurelia-templating-resources@1.1.1/dynamic-element.js",
"npm:aurelia-templating-resources@1.1.1/focus.js",
"npm:aurelia-templating-resources@1.1.1/hide.js",
"npm:aurelia-templating-resources@1.1.1/html-resource-plugin.js",
"npm:aurelia-templating-resources@1.1.1/html-sanitizer.js",
"npm:aurelia-templating-resources@1.1.1/if.js",
"npm:aurelia-templating-resources@1.1.1/map-repeat-strategy.js",
"npm:aurelia-templating-resources@1.1.1/null-repeat-strategy.js",
"npm:aurelia-templating-resources@1.1.1/number-repeat-strategy.js",
"npm:aurelia-templating-resources@1.1.1/repeat-strategy-locator.js",
"npm:aurelia-templating-resources@1.1.1/repeat-utilities.js",
"npm:aurelia-templating-resources@1.1.1/repeat.js",
"npm:aurelia-templating-resources@1.1.1/replaceable.js",
"npm:aurelia-templating-resources@1.1.1/sanitize-html.js",
"npm:aurelia-templating-resources@1.1.1/set-repeat-strategy.js",
"npm:aurelia-templating-resources@1.1.1/show.js",
"npm:aurelia-templating-resources@1.1.1/signal-binding-behavior.js",
"npm:aurelia-templating-resources@1.1.1/throttle-binding-behavior.js",
"npm:aurelia-templating-resources@1.1.1/update-trigger-binding-behavior.js",
"npm:aurelia-templating-resources@1.1.1/with.js",
"npm:aurelia-templating-router@1.0.0.js",
"npm:aurelia-templating-router@1.0.0/aurelia-templating-router.js",
"npm:aurelia-templating-router@1.0.0/route-href.js",
"npm:aurelia-templating-router@1.0.0/route-loader.js",
"npm:aurelia-templating-router@1.0.0/router-view.js",
"npm:aurelia-templating@1.1.1.js",
"npm:aurelia-templating@1.1.1/aurelia-templating.js",
"npm:font-awesome@4.7.0.js",
"npm:font-awesome@4.7.0/css/font-awesome.css!github:systemjs/plugin-css@0.1.33.js",
"npm:jquery@2.2.4.js",
"npm:jquery@2.2.4/dist/jquery.js",
"npm:moment@2.18.1.js",
"npm:moment@2.18.1/moment.js",
"npm:process@0.11.10.js",
"npm:process@0.11.10/browser.js",
"npm:ramda@0.23.0.js",
"npm:ramda@0.23.0/index.js",
"npm:ramda@0.23.0/src/F.js",
"npm:ramda@0.23.0/src/T.js",
"npm:ramda@0.23.0/src/__.js",
"npm:ramda@0.23.0/src/add.js",
"npm:ramda@0.23.0/src/addIndex.js",
"npm:ramda@0.23.0/src/adjust.js",
"npm:ramda@0.23.0/src/all.js",
"npm:ramda@0.23.0/src/allPass.js",
"npm:ramda@0.23.0/src/always.js",
"npm:ramda@0.23.0/src/and.js",
"npm:ramda@0.23.0/src/any.js",
"npm:ramda@0.23.0/src/anyPass.js",
"npm:ramda@0.23.0/src/ap.js",
"npm:ramda@0.23.0/src/aperture.js",
"npm:ramda@0.23.0/src/append.js",
"npm:ramda@0.23.0/src/apply.js",
"npm:ramda@0.23.0/src/applySpec.js",
"npm:ramda@0.23.0/src/ascend.js",
"npm:ramda@0.23.0/src/assoc.js",
"npm:ramda@0.23.0/src/assocPath.js",
"npm:ramda@0.23.0/src/binary.js",
"npm:ramda@0.23.0/src/bind.js",
"npm:ramda@0.23.0/src/both.js",
"npm:ramda@0.23.0/src/call.js",
"npm:ramda@0.23.0/src/chain.js",
"npm:ramda@0.23.0/src/clamp.js",
"npm:ramda@0.23.0/src/clone.js",
"npm:ramda@0.23.0/src/comparator.js",
"npm:ramda@0.23.0/src/complement.js",
"npm:ramda@0.23.0/src/compose.js",
"npm:ramda@0.23.0/src/composeK.js",
"npm:ramda@0.23.0/src/composeP.js",
"npm:ramda@0.23.0/src/concat.js",
"npm:ramda@0.23.0/src/cond.js",
"npm:ramda@0.23.0/src/construct.js",
"npm:ramda@0.23.0/src/constructN.js",
"npm:ramda@0.23.0/src/contains.js",
"npm:ramda@0.23.0/src/converge.js",
"npm:ramda@0.23.0/src/countBy.js",
"npm:ramda@0.23.0/src/curry.js",
"npm:ramda@0.23.0/src/curryN.js",
"npm:ramda@0.23.0/src/dec.js",
"npm:ramda@0.23.0/src/defaultTo.js",
"npm:ramda@0.23.0/src/descend.js",
"npm:ramda@0.23.0/src/difference.js",
"npm:ramda@0.23.0/src/differenceWith.js",
"npm:ramda@0.23.0/src/dissoc.js",
"npm:ramda@0.23.0/src/dissocPath.js",
"npm:ramda@0.23.0/src/divide.js",
"npm:ramda@0.23.0/src/drop.js",
"npm:ramda@0.23.0/src/dropLast.js",
"npm:ramda@0.23.0/src/dropLastWhile.js",
"npm:ramda@0.23.0/src/dropRepeats.js",
"npm:ramda@0.23.0/src/dropRepeatsWith.js",
"npm:ramda@0.23.0/src/dropWhile.js",
"npm:ramda@0.23.0/src/either.js",
"npm:ramda@0.23.0/src/empty.js",
"npm:ramda@0.23.0/src/eqBy.js",
"npm:ramda@0.23.0/src/eqProps.js",
"npm:ramda@0.23.0/src/equals.js",
"npm:ramda@0.23.0/src/evolve.js",
"npm:ramda@0.23.0/src/filter.js",
"npm:ramda@0.23.0/src/find.js",
"npm:ramda@0.23.0/src/findIndex.js",
"npm:ramda@0.23.0/src/findLast.js",
"npm:ramda@0.23.0/src/findLastIndex.js",
"npm:ramda@0.23.0/src/flatten.js",
"npm:ramda@0.23.0/src/flip.js",
"npm:ramda@0.23.0/src/forEach.js",
"npm:ramda@0.23.0/src/forEachObjIndexed.js",
"npm:ramda@0.23.0/src/fromPairs.js",
"npm:ramda@0.23.0/src/groupBy.js",
"npm:ramda@0.23.0/src/groupWith.js",
"npm:ramda@0.23.0/src/gt.js",
"npm:ramda@0.23.0/src/gte.js",
"npm:ramda@0.23.0/src/has.js",
"npm:ramda@0.23.0/src/hasIn.js",
"npm:ramda@0.23.0/src/head.js",
"npm:ramda@0.23.0/src/identical.js",
"npm:ramda@0.23.0/src/identity.js",
"npm:ramda@0.23.0/src/ifElse.js",
"npm:ramda@0.23.0/src/inc.js",
"npm:ramda@0.23.0/src/indexBy.js",
"npm:ramda@0.23.0/src/indexOf.js",
"npm:ramda@0.23.0/src/init.js",
"npm:ramda@0.23.0/src/insert.js",
"npm:ramda@0.23.0/src/insertAll.js",
"npm:ramda@0.23.0/src/internal/_Set.js",
"npm:ramda@0.23.0/src/internal/_aperture.js",
"npm:ramda@0.23.0/src/internal/_arity.js",
"npm:ramda@0.23.0/src/internal/_arrayFromIterator.js",
"npm:ramda@0.23.0/src/internal/_assign.js",
"npm:ramda@0.23.0/src/internal/_checkForMethod.js",
"npm:ramda@0.23.0/src/internal/_clone.js",
"npm:ramda@0.23.0/src/internal/_cloneRegExp.js",
"npm:ramda@0.23.0/src/internal/_complement.js",
"npm:ramda@0.23.0/src/internal/_concat.js",
"npm:ramda@0.23.0/src/internal/_contains.js",
"npm:ramda@0.23.0/src/internal/_containsWith.js",
"npm:ramda@0.23.0/src/internal/_createPartialApplicator.js",
"npm:ramda@0.23.0/src/internal/_curry1.js",
"npm:ramda@0.23.0/src/internal/_curry2.js",
"npm:ramda@0.23.0/src/internal/_curry3.js",
"npm:ramda@0.23.0/src/internal/_curryN.js",
"npm:ramda@0.23.0/src/internal/_dispatchable.js",
"npm:ramda@0.23.0/src/internal/_dropLast.js",
"npm:ramda@0.23.0/src/internal/_dropLastWhile.js",
"npm:ramda@0.23.0/src/internal/_equals.js",
"npm:ramda@0.23.0/src/internal/_filter.js",
"npm:ramda@0.23.0/src/internal/_flatCat.js",
"npm:ramda@0.23.0/src/internal/_forceReduced.js",
"npm:ramda@0.23.0/src/internal/_functionName.js",
"npm:ramda@0.23.0/src/internal/_has.js",
"npm:ramda@0.23.0/src/internal/_identity.js",
"npm:ramda@0.23.0/src/internal/_indexOf.js",
"npm:ramda@0.23.0/src/internal/_isArguments.js",
"npm:ramda@0.23.0/src/internal/_isArray.js",
"npm:ramda@0.23.0/src/internal/_isFunction.js",
"npm:ramda@0.23.0/src/internal/_isInteger.js",
"npm:ramda@0.23.0/src/internal/_isNumber.js",
"npm:ramda@0.23.0/src/internal/_isObject.js",
"npm:ramda@0.23.0/src/internal/_isPlaceholder.js",
"npm:ramda@0.23.0/src/internal/_isRegExp.js",
"npm:ramda@0.23.0/src/internal/_isString.js",
"npm:ramda@0.23.0/src/internal/_isTransformer.js",
"npm:ramda@0.23.0/src/internal/_makeFlat.js",
"npm:ramda@0.23.0/src/internal/_map.js",
"npm:ramda@0.23.0/src/internal/_objectAssign.js",
"npm:ramda@0.23.0/src/internal/_of.js",
"npm:ramda@0.23.0/src/internal/_pipe.js",
"npm:ramda@0.23.0/src/internal/_pipeP.js",
"npm:ramda@0.23.0/src/internal/_quote.js",
"npm:ramda@0.23.0/src/internal/_reduce.js",
"npm:ramda@0.23.0/src/internal/_reduced.js",
"npm:ramda@0.23.0/src/internal/_stepCat.js",
"npm:ramda@0.23.0/src/internal/_toISOString.js",
"npm:ramda@0.23.0/src/internal/_toString.js",
"npm:ramda@0.23.0/src/internal/_xall.js",
"npm:ramda@0.23.0/src/internal/_xany.js",
"npm:ramda@0.23.0/src/internal/_xaperture.js",
"npm:ramda@0.23.0/src/internal/_xchain.js",
"npm:ramda@0.23.0/src/internal/_xdrop.js",
"npm:ramda@0.23.0/src/internal/_xdropLast.js",
"npm:ramda@0.23.0/src/internal/_xdropLastWhile.js",
"npm:ramda@0.23.0/src/internal/_xdropRepeatsWith.js",
"npm:ramda@0.23.0/src/internal/_xdropWhile.js",
"npm:ramda@0.23.0/src/internal/_xfBase.js",
"npm:ramda@0.23.0/src/internal/_xfilter.js",
"npm:ramda@0.23.0/src/internal/_xfind.js",
"npm:ramda@0.23.0/src/internal/_xfindIndex.js",
"npm:ramda@0.23.0/src/internal/_xfindLast.js",
"npm:ramda@0.23.0/src/internal/_xfindLastIndex.js",
"npm:ramda@0.23.0/src/internal/_xmap.js",
"npm:ramda@0.23.0/src/internal/_xreduceBy.js",
"npm:ramda@0.23.0/src/internal/_xtake.js",
"npm:ramda@0.23.0/src/internal/_xtakeWhile.js",
"npm:ramda@0.23.0/src/internal/_xwrap.js",
"npm:ramda@0.23.0/src/intersection.js",
"npm:ramda@0.23.0/src/intersectionWith.js",
"npm:ramda@0.23.0/src/intersperse.js",
"npm:ramda@0.23.0/src/into.js",
"npm:ramda@0.23.0/src/invert.js",
"npm:ramda@0.23.0/src/invertObj.js",
"npm:ramda@0.23.0/src/invoker.js",
"npm:ramda@0.23.0/src/is.js",
"npm:ramda@0.23.0/src/isArrayLike.js",
"npm:ramda@0.23.0/src/isEmpty.js",
"npm:ramda@0.23.0/src/isNil.js",
"npm:ramda@0.23.0/src/join.js",
"npm:ramda@0.23.0/src/juxt.js",
"npm:ramda@0.23.0/src/keys.js",
"npm:ramda@0.23.0/src/keysIn.js",
"npm:ramda@0.23.0/src/last.js",
"npm:ramda@0.23.0/src/lastIndexOf.js",
"npm:ramda@0.23.0/src/length.js",
"npm:ramda@0.23.0/src/lens.js",
"npm:ramda@0.23.0/src/lensIndex.js",
"npm:ramda@0.23.0/src/lensPath.js",
"npm:ramda@0.23.0/src/lensProp.js",
"npm:ramda@0.23.0/src/lift.js",
"npm:ramda@0.23.0/src/liftN.js",
"npm:ramda@0.23.0/src/lt.js",
"npm:ramda@0.23.0/src/lte.js",
"npm:ramda@0.23.0/src/map.js",
"npm:ramda@0.23.0/src/mapAccum.js",
"npm:ramda@0.23.0/src/mapAccumRight.js",
"npm:ramda@0.23.0/src/mapObjIndexed.js",
"npm:ramda@0.23.0/src/match.js",
"npm:ramda@0.23.0/src/mathMod.js",
"npm:ramda@0.23.0/src/max.js",
"npm:ramda@0.23.0/src/maxBy.js",
"npm:ramda@0.23.0/src/mean.js",
"npm:ramda@0.23.0/src/median.js",
"npm:ramda@0.23.0/src/memoize.js",
"npm:ramda@0.23.0/src/merge.js",
"npm:ramda@0.23.0/src/mergeAll.js",
"npm:ramda@0.23.0/src/mergeWith.js",
"npm:ramda@0.23.0/src/mergeWithKey.js",
"npm:ramda@0.23.0/src/min.js",
"npm:ramda@0.23.0/src/minBy.js",
"npm:ramda@0.23.0/src/modulo.js",
"npm:ramda@0.23.0/src/multiply.js",
"npm:ramda@0.23.0/src/nAry.js",
"npm:ramda@0.23.0/src/negate.js",
"npm:ramda@0.23.0/src/none.js",
"npm:ramda@0.23.0/src/not.js",
"npm:ramda@0.23.0/src/nth.js",
"npm:ramda@0.23.0/src/nthArg.js",
"npm:ramda@0.23.0/src/objOf.js",
"npm:ramda@0.23.0/src/of.js",
"npm:ramda@0.23.0/src/omit.js",
"npm:ramda@0.23.0/src/once.js",
"npm:ramda@0.23.0/src/or.js",
"npm:ramda@0.23.0/src/over.js",
"npm:ramda@0.23.0/src/pair.js",
"npm:ramda@0.23.0/src/partial.js",
"npm:ramda@0.23.0/src/partialRight.js",
"npm:ramda@0.23.0/src/partition.js",
"npm:ramda@0.23.0/src/path.js",
"npm:ramda@0.23.0/src/pathEq.js",
"npm:ramda@0.23.0/src/pathOr.js",
"npm:ramda@0.23.0/src/pathSatisfies.js",
"npm:ramda@0.23.0/src/pick.js",
"npm:ramda@0.23.0/src/pickAll.js",
"npm:ramda@0.23.0/src/pickBy.js",
"npm:ramda@0.23.0/src/pipe.js",
"npm:ramda@0.23.0/src/pipeK.js",
"npm:ramda@0.23.0/src/pipeP.js",
"npm:ramda@0.23.0/src/pluck.js",
"npm:ramda@0.23.0/src/prepend.js",
"npm:ramda@0.23.0/src/product.js",
"npm:ramda@0.23.0/src/project.js",
"npm:ramda@0.23.0/src/prop.js",
"npm:ramda@0.23.0/src/propEq.js",
"npm:ramda@0.23.0/src/propIs.js",
"npm:ramda@0.23.0/src/propOr.js",
"npm:ramda@0.23.0/src/propSatisfies.js",
"npm:ramda@0.23.0/src/props.js",
"npm:ramda@0.23.0/src/range.js",
"npm:ramda@0.23.0/src/reduce.js",
"npm:ramda@0.23.0/src/reduceBy.js",
"npm:ramda@0.23.0/src/reduceRight.js",
"npm:ramda@0.23.0/src/reduceWhile.js",
"npm:ramda@0.23.0/src/reduced.js",
"npm:ramda@0.23.0/src/reject.js",
"npm:ramda@0.23.0/src/remove.js",
"npm:ramda@0.23.0/src/repeat.js",
"npm:ramda@0.23.0/src/replace.js",
"npm:ramda@0.23.0/src/reverse.js",
"npm:ramda@0.23.0/src/scan.js",
"npm:ramda@0.23.0/src/sequence.js",
"npm:ramda@0.23.0/src/set.js",
"npm:ramda@0.23.0/src/slice.js",
"npm:ramda@0.23.0/src/sort.js",
"npm:ramda@0.23.0/src/sortBy.js",
"npm:ramda@0.23.0/src/sortWith.js",
"npm:ramda@0.23.0/src/split.js",
"npm:ramda@0.23.0/src/splitAt.js",
"npm:ramda@0.23.0/src/splitEvery.js",
"npm:ramda@0.23.0/src/splitWhen.js",
"npm:ramda@0.23.0/src/subtract.js",
"npm:ramda@0.23.0/src/sum.js",
"npm:ramda@0.23.0/src/symmetricDifference.js",
"npm:ramda@0.23.0/src/symmetricDifferenceWith.js",
"npm:ramda@0.23.0/src/tail.js",
"npm:ramda@0.23.0/src/take.js",
"npm:ramda@0.23.0/src/takeLast.js",
"npm:ramda@0.23.0/src/takeLastWhile.js",
"npm:ramda@0.23.0/src/takeWhile.js",
"npm:ramda@0.23.0/src/tap.js",
"npm:ramda@0.23.0/src/test.js",
"npm:ramda@0.23.0/src/times.js",
"npm:ramda@0.23.0/src/toLower.js",
"npm:ramda@0.23.0/src/toPairs.js",
"npm:ramda@0.23.0/src/toPairsIn.js",
"npm:ramda@0.23.0/src/toString.js",
"npm:ramda@0.23.0/src/toUpper.js",
"npm:ramda@0.23.0/src/transduce.js",
"npm:ramda@0.23.0/src/transpose.js",
"npm:ramda@0.23.0/src/traverse.js",
"npm:ramda@0.23.0/src/trim.js",
"npm:ramda@0.23.0/src/tryCatch.js",
"npm:ramda@0.23.0/src/type.js",
"npm:ramda@0.23.0/src/unapply.js",
"npm:ramda@0.23.0/src/unary.js",
"npm:ramda@0.23.0/src/uncurryN.js",
"npm:ramda@0.23.0/src/unfold.js",
"npm:ramda@0.23.0/src/union.js",
"npm:ramda@0.23.0/src/unionWith.js",
"npm:ramda@0.23.0/src/uniq.js",
"npm:ramda@0.23.0/src/uniqBy.js",
"npm:ramda@0.23.0/src/uniqWith.js",
"npm:ramda@0.23.0/src/unless.js",
"npm:ramda@0.23.0/src/unnest.js",
"npm:ramda@0.23.0/src/until.js",
"npm:ramda@0.23.0/src/update.js",
"npm:ramda@0.23.0/src/useWith.js",
"npm:ramda@0.23.0/src/values.js",
"npm:ramda@0.23.0/src/valuesIn.js",
"npm:ramda@0.23.0/src/view.js",
"npm:ramda@0.23.0/src/when.js",
"npm:ramda@0.23.0/src/where.js",
"npm:ramda@0.23.0/src/whereEq.js",
"npm:ramda@0.23.0/src/without.js",
"npm:ramda@0.23.0/src/xprod.js",
"npm:ramda@0.23.0/src/zip.js",
"npm:ramda@0.23.0/src/zipObj.js",
"npm:ramda@0.23.0/src/zipWith.js"
]
- },
- depCache: {
- "repository/qep.repository.js": [
- "aurelia-fetch-client",
- "fetch"
- ],
- "resources/converters/datetime.value.converter.js": [
- "moment"
- ],
- "resources/custom/breakdown/breakdown.js": [
- "aurelia-framework"
- ],
- "resources/custom/node-result/node-result.js": [
- "aurelia-framework",
- "services/pub-sub"
- ],
- "resources/custom/node-status/node-status.js": [
- "aurelia-framework",
- "services/pub-sub"
- ],
- "services/container.js": [
- "ramda"
- ],
- "services/i2b2.pub-sub.js": [
- "./pub-sub",
- "./i2b2.service"
- ],
- "services/i2b2.service.js": [
- "ramda",
- "./container"
- ],
- "services/pub-sub.js": [
- "aurelia-event-aggregator",
- "./shrine.messages"
- ],
- "services/queries.model.js": [
- "aurelia-event-aggregator",
- "repository/qep.repository",
- "./shrine.messages"
- ],
- "services/query-export.js": [
- "./pub-sub"
- ],
- "services/query-status.model.js": [
- "aurelia-event-aggregator",
- "repository/qep.repository",
- "./shrine.messages"
- ],
- "shell.js": [
- "services/i2b2.pub-sub",
- "services/query-export"
- ],
- "views/mailto/mailto.js": [
- "views/mailto/mailto.service",
- "views/mailto/mailto.config"
- ],
- "views/mailto/mailto.service.js": [
- "repository/qep.repository"
- ],
- "views/query-status/query-status.js": [
- "aurelia-framework",
- "services/query-status.model",
- "services/pub-sub"
- ],
- "views/query-viewer/context-menu/context-menu.js": [
- "aurelia-framework",
- "aurelia-event-aggregator",
- "common/shrine.messages"
- ],
- "views/query-viewer/date.converter.js": [
- "moment"
- ],
- "views/query-viewer/paginator/paginator.js": [
- "aurelia-framework"
- ],
- "views/query-viewer/query-status/query-status.js": [
- "aurelia-framework",
- "ramda"
- ],
- "views/query-viewer/query-viewer.js": [
- "aurelia-event-aggregator",
- "common/queries.model",
- "./scroll.service",
- "common/shrine.messages"
- ],
- "views/query-viewer/result-row/loading-bar/loading-bar.js": [
- "aurelia-framework"
- ],
- "views/query-viewer/scroll.service.js": [
- "ramda",
- "common/container"
- ]
}
});
\ No newline at end of file
diff --git a/shrine-webclient/src/main/js/client/js-shrine/export/dist/app-build.js b/shrine-webclient/src/main/js/client/js-shrine/export/dist/app-build.js
index 028e4307b..c5f81b63c 100644
--- a/shrine-webclient/src/main/js/client/js-shrine/export/dist/app-build.js
+++ b/shrine-webclient/src/main/js/client/js-shrine/export/dist/app-build.js
@@ -1,2 +1,2 @@
-"bundle";System.register("main.js",[],function(a,b){"use strict";function c(a){a.use.standardConfiguration().developmentLogging().feature("resources").feature("views"),a.start().then(function(){return a.setRoot("shell")})}return a("configure",c),{setters:[],execute:function(){}}}),System.register("resources/converters/box-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("BoxStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return"transform: translate("+String(-100*a)+"%);"},a}()),a("BoxStyleValueConverter",d)}}}),System.register("resources/converters/count-value-converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("CountValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return a<0?"10 patients or fewer":a+" +-10 patients"},a}()),a("CountValueConverter",d)}}}),System.register("resources/converters/datetime.value.converter.js",["moment"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e;return{setters:[function(a){d=a["default"]}],execute:function(){a("DateTimeValueConverter",e=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return d(a).format("MM/DD/YYYY h:mm:ss a")},a}()),a("DateTimeValueConverter",e)}}}),System.register("resources/converters/result-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){var b=this.isUnresolved(a)?"color:"+this.getColorValue(a):"";return b},a.prototype.isUnresolved=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"FINISHED";return!a||a.status!==b},a.prototype.getColorValue=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ERROR",c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#FF0000",d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#00FF00";return a&&a.status!==b?d:c},a}()),a("ResultStyleValueConverter",d)}}}),System.register("resources/converters/result-value.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return a?"FINISHED"!==a.status?"":a.count<0?"<=10":a.count:"not available"},a}()),a("ResultValueConverter",d)}}}),System.register("resources/converters/truncate.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("TruncateValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){var b=20;return a.length>b?a.substring(0,b)+"...":a},a}()),a("TruncateValueConverter",d)}}}),function(){var a=System.amdDefine;a("resources/custom/breakdown/breakdown.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="clear: both; margin-left: 30px; float: left; height: 16px; line-height: 16px"><br><font>${data.resultType.i2b2Options.description}:</font></div><div style="clear: both; margin-left: 40px; float: left; height: 16px; line-height: 16px"></div><div repeat.for="result of data.results" style="clear: both; margin-left: 40px; float: left; height: 16px; line-height: 16px">${result.dataKey}: <font color="#0000dd">${result.value | count}</font></div></template>'})}(),System.register("resources/custom/breakdown/breakdown.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l;return{setters:[function(a){f=a.bindable,g=a.customElement}],execute:function(){a("Breakdown",(h=g("breakdown"),l=h((j=function b(){d(this,b),c(this,"data",k,this)},k=e(j.prototype,"data",[f],{enumerable:!0,initializer:null}),i=j))||i)),a("Breakdown",l)}}}),function(){var a=System.amdDefine;a("resources/custom/node-result/error.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template>&nbsp;- <span><b><a class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)"><b><span color="#ff0000">${result.statusMessage}</span></b></a></b></span></template>'})}(),function(){var a=System.amdDefine;a("resources/custom/node-result/node-result.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="clear:both"><br><div style="float:left; font-weight:bold; margin-left:20px">${result.adapterNode} "${queryName}"</div></div><compose view.bind="component"></compose></template>'})}(),System.register("resources/custom/node-result/node-result.js",["aurelia-framework","services/pub-sub"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var h,i,j,k,l,m,n,o,p;return{setters:[function(a){h=a.customElement,i=a.bindable},function(a){j=a.PubSub}],execute:function(){a("NodeResult",(k=h("node-result"),p=k((m=function(a){function b(){d(this,b);for(var f=arguments.length,g=Array(f),h=0;h<f;h++)g[h]=arguments[h];var i=e(this,a.call.apply(a,[this].concat(g)));return c(i,"result",n,i),c(i,"queryName",o,i),i}return f(b,a),b.prototype.attached=function(){var a=this.result.status;this.component="./status-msg.html","ERROR"===a?this.component="./error.html":["COMPLETED","FINISHED"].indexOf(a)>-1&&(this.component="./patient-count.html")},b}(j),n=g(m.prototype,"result",[i],{enumerable:!0,initializer:null}),o=g(m.prototype,"queryName",[i],{enumerable:!0,initializer:null}),l=m))||l)),a("NodeResult",p)}}}),function(){var a=System.amdDefine;a("resources/custom/node-result/patient-count.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="clear: both; margin-left: 30px; float: left; height: 16px; line-height: 16px">Patient Count: <font color="#0000dd">- ${result.count | count}</font></div><breakdown repeat.for="breakdown of result.breakdowns" data.one-way="breakdown"></breakdown></template>'})}(),function(){var a=System.amdDefine;a("resources/custom/node-result/status-msg.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template>&nbsp;- <span style="color: #00dd00">SUBMITTED</span></template>'})}(),function(){var a=System.amdDefine;a("resources/custom/node-status/node-status.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="display: flex"><div style="flex:1">${result.adapterNode}</div><div style="flex: 1"><span if.one-way="\'STATUS,FINISHED\'.includes(result.status)" style="display: inline-block; color: #0000dd">&nbsp; <span style="color: black">COMPLETED</span> </span><span>&nbsp; <a if.one-way="result.status === \'ERROR\'" class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)">ERROR </a></span><span if.one-way="!\'ERROR,COMPLETED,FINISHED\'.includes(result.status)">&nbsp; <span style="color: #00dd00">SUBMITTED</span></span></div><div style="flex:1"><span if.one-way="\'STATUS,FINISHED\'.includes(result.status)" style="display: inline-block; color: #0000dd">&nbsp; ${result.count | count}</span></div></div></template>'})}(),System.register("resources/custom/node-status/node-status.js",["aurelia-framework","services/pub-sub"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var h,i,j,k,l,m,n,o;return{setters:[function(a){h=a.customElement,i=a.bindable},function(a){j=a.PubSub}],execute:function(){a("NodeStatus",(k=h("node-status"),o=k((m=function(a){function b(){d(this,b);for(var f=arguments.length,g=Array(f),h=0;h<f;h++)g[h]=arguments[h];var i=e(this,a.call.apply(a,[this].concat(g)));return c(i,"result",n,i),i}return f(b,a),b}(j),n=g(m.prototype,"result",[i],{enumerable:!0,initializer:null}),l=m))||l)),a("NodeStatus",o)}}}),function(){var a=System.amdDefine;a("resources/custom/node-status/temp.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<div style="display: flex"><div style="flex:1">${result.adapterNode}</div><div style="flex: 1"><span if.one-way="result.statusMessage === \'COMPLETED\' || result.statusMessage === \'FINISHED\'" style="display: inline-block; color: #0000dd">&nbsp; <span style="color: black">${result.statusMessage}</span> </span><span>&nbsp; <a if.one-way="result.statusMessage === \'ERROR\'" class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)">ERROR: ${result.statusDescription} </a></span><span if.one-way="[\'ERROR\',\'COMPLETED\',\'FINISHED\'].indexOf(result.statusMessage) === -1">&nbsp; <span style="color: #00dd00">${result.statusMessage}</span></span></div><div style="flex:1"><span if.one-way="result.statusMessage === \'COMPLETED\' || result.statusMessage === \'FINISHED\'" style="display: inline-block; color: #0000dd">&nbsp; ${result.count | count}</span></div></div><patient-count if.one-way="result.statusMessage === \'COMPLETED\' || result.statusMessage === \'FINISHED\'" result.one-way="result"><div style="clear: both; margin-left: 30px; float: left; height: 16px; line-height: 16px">Patient Count: <font color="#0000dd">- ${result.count | count}</font></div></patient-count><error if.one-way="result.statusMessage === \'ERROR\'" result.one-way="result">&nbsp;- <span title="${result.statusDescription}"><b><a class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)"><b><span color="#ff0000">ERROR: ${result.statusDescription}</span></b></a></b></span></error><span if.one-way="[\'ERROR\',\'COMPLETED\',\'FINISHED\'].indexOf(result.statusMessage) === -1">&nbsp;- <span style="color: #00dd00">${result.statusMessage}</span></span>'})}(),System.register("resources/index.js",[],function(a,b){"use strict";function c(a){var b="converters",c=["box-style.converter","count-value-converter","datetime.value.converter","result-style.converter","result-value.converter","truncate.converter"];a.globalResources.apply(a,c.map(function(a){return"./"+b+"/"+a}));var d="custom",e=["breakdown/breakdown","node-result/node-result","node-status/node-status"];a.globalResources.apply(a,e.map(function(a){return"./"+d+"/"+a}))}return a("configure",c),{setters:[],execute:function(){}}}),System.register("services/queries.model.js",["aurelia-event-aggregator","repository/qep.repository","./shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.QEPRepository},function(a){f=a.notifications}],execute:function(){a("QueriesModel",(h=g=function b(a,d,e){var f=this;c(this,b);var g=d,h=40,i=0,j=0,k=null;b.prototype.load=function(){return g.fetchPreviousQueries(f.maxQueriesPerFetch()+f.loadedCount()).then(function(a){return j=a.rowCount,i=a.queryResults.length,a})["catch"](function(a){return console.log(a)}).then(l).then(function(b){k=b,a.publish(e.shrine.queriesReceived,k)})},b.prototype.totalQueries=function(){return j},b.prototype.loadedCount=function(){return i},b.prototype.maxQueriesPerFetch=function(){return h},b.prototype.moreToLoad=function(){return i<j},b.prototype.hasData=function(){return null!==k&&void 0!==k};var l=function(a){arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;return new Promise(function(b,c){for(var d=[],e=6,f=a.adapters,g=f.length,h=a.queryResults,i=0;i<g;i+=e){var j=m(f,i,e),k=f.slice(i,j),l=n(k,h);d.push({nodes:k,results:l})}b(d)})},m=function(a,b,c){var d=b+c;return d<a.length?d:a.length},n=function(a,b){var c=[];return b.forEach(function(b,d){var e={name:b.query.queryName,id:b.query.networkId,date:b.query.dateCreated,flagged:b.query.flagged===!0,flagMessage:b.query.flagMessage||null,nodeResults:[],status:b.adaptersToResults.reduce(function(a,c){var d="FINISHED"===c.status?a.finished+1:a.finished,e="ERROR"===c.status?a.error+1:a.error;return{error:e,finished:d,total:b.adaptersToResults.length}},{error:0,finished:0,total:b.adaptersToResults.length})};a.forEach(function(a){e.nodeResults.push(b.adaptersToResults.find(function(b){return b.adapterNode===a}))}),c.push(e)}),c}},g.inject=[d,e,f],i=h)),a("QueriesModel",i)}}}),function(){var a=System.amdDefine;a("shell.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return"<template><query-status></query-status></template>"})}(),System.register("services/container.js",["ramda"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f;return{setters:[function(a){d=a}],execute:function(){e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),a("Container",f=function(){function a(b){c(this,a),this.__value=b}return a.of=function(b){return new a(function(){return b})},a.prototype.map=function(b){return this.hasNothing()?a.of(null):a.of(b(this.value))},a.prototype.join=function(){return this.hasNothing()?a.of(null):this.value},a.prototype.chain=function(a){return this.map(a).join()},a.prototype.hasNothing=function(){return null===this.value||void 0===this.value},a.prototype.ap=function(a){a.map(this.value)},e(a,[{key:"value",get:function(){return this.__value()}}]),a}()),a("Container",f)}}}),System.register("services/i2b2.service.js",["ramda","./container"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a},function(a){e=a.Container}],execute:function(){a("I2B2Service",(g=f=function b(a){c(this,b);var f=a?e.of(a):e.of(null),g=d.curry(function(a,b){return b.value?e.of(d.prop(a,b.value)):e.of(null)}),h=d.compose(g("i2b2"),g("window"),g("parent")),i=d.compose(g("CRC"),h),j=d.compose(g("events"),h),k=d.compose(g("SHRINE"),h);b.prototype.onResize=function(a){return j(f).map(function(b){return b.changedZoomWindows.subscribe(a)})},b.prototype.onHistory=function(a){return i(f).map(function(b){return b.ctrlr.history.events.onDataUpdate.subscribe(a)})},b.prototype.onQuery=function(a){return j(f).map(function(b){return b.afterQueryInit.subscribe(a)})},b.prototype.onNetworkId=function(a){return j(f).map(function(b){return b.networkIdReceived.subscribe(a)})},b.prototype.onViewSelected=function(a){return g("addEventListener",f).value?e.of(f.value.addEventListener("message",a,!1)):e.of(null)},b.prototype.onExport=function(a){return j(f).map(function(b){return b.exportQueryResult.subscribe(a)})},b.prototype.onClearQuery=function(a){return j(f).map(function(b){return b.clearQuery.subscribe(a)})},b.prototype.loadHistory=function(){return i(f).map(function(a){return a.view.history.doRefreshAll()})},b.prototype.loadQuery=function(a){return i(f).map(function(b){return b.ctrlr.QT.doQueryLoad(a)})},b.prototype.errorDetail=function(a){return k(f).map(function(b){b.plugin.errorDetail(a)})},b.prototype.renameQuery=function(a){return i(f).map(function(b){return b.ctrlr.history.queryRename(a,!1)})},b.prototype.flagQuery=function(a){return i(f).map(function(b){return b.ctrlr.history.Flag({queryId:a,message:""})})},b.prototype.unflagQuery=function(a){return i(f).map(function(b){return b.ctrlr.history.Unflag({queryId:a})})},b.prototype.publishQueryUnavailable=function(){return j(f).map(function(a){return a.queryResultUnavailable.fire()})},b.prototype.publishQueryAvailable=function(){return j(f).map(function(a){return a.queryResultAvailable.fire()})}},f.inject=[window],h=g)),a("I2B2Service",h)}}}),System.register("services/i2b2.pub-sub.js",["./pub-sub","./i2b2.service"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function d(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function e(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var f,g,h,i,j;return{setters:[function(a){f=a.PubSub},function(a){g=a.I2B2Service}],execute:function(){a("I2B2PubSub",(i=h=function(a){function b(e){c(this,b);for(var f=arguments.length,g=Array(f>1?f-1:0),h=1;h<f;h++)g[h-1]=arguments[h];var i=d(this,a.call.apply(a,[this].concat(g)));return i.listen=function(){e.onResize(function(a,b){return b.find(function(a){return"ADD"===a.action})?function(){return i.publish(i.notifications.i2b2.tabMax)}:function(){return i.publish(i.notifications.i2b2.tabMin)}}),e.onHistory(function(){return i.publish(i.notifications.i2b2.historyRefreshed)}),e.onQuery(function(a,b){return i.publish(i.notifications.i2b2.queryStarted,b[0].name)}),e.onNetworkId(function(a,b){return i.publish(i.notifications.i2b2.networkIdReceived,b[0])}),e.onViewSelected(function(a){return i.publish(i.notifications.i2b2.viewSelected,a.data)}),e.onExport(function(){return i.publish(i.notifications.i2b2.exportQuery)}),e.onClearQuery(function(){return i.publish(i.notifications.i2b2.clearQuery)}),i.subscribe(i.commands.i2b2.cloneQuery,function(a){return e.loadQuery(a)}),i.subscribe(i.commands.i2b2.showError,function(a){e.errorDetail(a)}),i.subscribe(i.commands.i2b2.renameQuery,function(a){return e.renameQuery(a)}),i.subscribe(i.commands.i2b2.flagQuery,function(a){return e.flagQuery(a)}),i.subscribe(i.commands.i2b2.unflagQuery,function(a){return e.unflagQuery(a)}),i.subscribe(i.notifications.shrine.queryUnavailable,function(){return e.publishQueryUnavailable()}),i.subscribe(i.notifications.shrine.queryAvailable,function(){return e.publishQueryAvailable()})},i}return e(b,a),b}(f),h.inject=[g],j=i)),a("I2B2PubSub",j)}}}),System.register("services/query-export.js",["./pub-sub"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function d(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function e(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var f,g,h;return{setters:[function(a){f=a.PubSub}],execute:function(){a("QueryExport",g=function(a){function b(){c(this,b);for(var e=arguments.length,f=Array(e),g=0;g<e;g++)f[g]=arguments[g];return d(this,a.call.apply(a,[this].concat(f)))}return e(b,a),b.prototype.listen=function(){this.subscribe(this.commands.shrine.exportResult,h)},b}(f)),a("QueryExport",g),h=function(a){var b=a.nodes.sort(),c=new Map,d=function(a){var b=a.resultType.i2b2Options.description;return b},e=function(a,b){return d(a)<=d(b)?-1:1};b.forEach(function(a){var b=a.breakdowns;return b.sort(e).forEach(function(a){var b,d=a.resultType.i2b2Options.description,e=a.results;return c.has(d)?(b=c.get(d)).add.apply(b,e.map(function(a){return a.dataKey}).sort()):c.set(d,new Set(e.map(function(a){return a.dataKey}).sort()))})});var f="data:text/csv;charset=utf-8,SHRINE QUERY RESULTS (OBFUSCATED PATIENT COUNTS),"+[""].concat(b.map(function(a){return a.adapterNode}).join(",")),g="\nAll Patients,"+[""].concat(b.map(function(a){return a.count}).join(",")),h=[];c.forEach(function(a,c){h.push.apply(h,[""].concat(Array.from(a).map(function(a){var d=c.split(" ").shift()+","+a,e=b.map(function(b){var d=b.breakdowns,e=d.find(function(a){var b=a.resultType.i2b2Options.description;a.results;return b===c}),f=e?e.results.find(function(b){return b.dataKey===a}):void 0;return f?f.value>0?f.value:0:"unavailable"});return d+","+e.join(",")})))});var i=encodeURI(""+f+g+h.join("\n")),j=document.createElement("a");j.setAttribute("href",i),j.setAttribute("download","export.csv"),document.body.appendChild(j),j.click(),document.body.removeChild(j)}}}}),System.register("shell.js",["services/i2b2.pub-sub","services/query-export"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.I2B2PubSub},function(a){e=a.QueryExport}],execute:function(){a("Shell",(g=f=function b(a,d){c(this,b),a.listen(),d.listen()},f.inject=[d,e],h=g)),a("Shell",h)}}}),System.register("views/index.js",[],function(a,b){"use strict";function c(a){var b=["views/query-status/query-status"];a.globalResources.apply(a,b)}return a("configure",c),{setters:[],execute:function(){}}}),function(){var a=System.amdDefine;a("views/mailto/mailto.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div class="mailto"><div class="content"><p>If you have questions about your query results or this SHRINE network, contact the Data Steward at your site.</p><div class="email js-email"><button class="button button--large js-button" click.delegate="openEmail()">Email Data Steward</button></div></div></div></template>'})}(),System.register("views/mailto/mailto.service.js",["repository/qep.repository"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g;return{setters:[function(a){d=a.QEPRepository}],execute:function(){a("MailToService",(f=e=function(){function a(b){c(this,a),this.repository=b}return a.prototype.fetchStewardEmail=function(){return this.repository.fetchStewardEmail()},a}(),e.inject=[d],g=f)),a("MailToService",g)}}}),System.register("views/mailto/mailto.config.js",[],function(a,b){"use strict";var c;return{setters:[],execute:function(){a("MailConfig",c={mailto:"mailto:",subject:encodeURIComponent("Question from a SHRINE User"),body:encodeURIComponent("Please enter the suggested information and your question. Your data steward will reply to this email.\n \n\n***Never send patient information, passwords, or other sensitive information by email****\n \nName:\n \nTitle:\n \nUser name (to log into SHRINE):\n \nTelephone Number (optional):\n \nPreferred email address (optional):\n \n\nQuestion or Comment:")}),a("MailConfig",c)}}}),System.register("views/mailto/mailto.js",["views/mailto/mailto.service","views/mailto/mailto.config"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.MailToService},function(a){e=a.MailConfig}],execute:function(){a("MailTo",(g=f=function(){function a(b,d){c(this,a),this.service=b,this.config=d}return a.prototype.openEmail=function(){var a=this;this.service.fetchStewardEmail().then(function(b){window.top.location="mailto:"+b+"?subject="+a.config.subject+"&body="+a.config.body})},a}(),f.inject=[d,e],h=g)),a("MailTo",h)}}}),function(){var a=System.amdDefine;a("views/query-status/query-status.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="height: 100%; overflow: auto" class="query-status"><div style="display: flex" if.one-way="status.query.queryName"><div style="flex:1">Status of Query ${status.query.queryName | truncate} <span if.one-way="status.nodes.length"><br>at Each Institution:</span></div><div style="flex:1" if.one-way="status.nodes.length">Last Updated on: ${status.updated | dateTime}</div><div style="flex:1" if.one-way="!status.nodes.length">Waiting on response from network...</div></div><br><node-status repeat.for="node of status.nodes" result.one-way="node"></node-status><span if.one-way="status.nodes.length"><br><span>Completed query counts and breakdowns are shown below:</span><br></span><node-result repeat.for="node of status.nodes" result.one-way="node" query-name.one-way="status.query.queryName"></node-result></div></template>'})}(),System.register("repository/qep.repository.js",["aurelia-fetch-client","fetch"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.HttpClient},function(a){}],execute:function(){e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),a("QEPRepository",(g=f=function(){function a(b){var d=this;c(this,a),b.configure(function(a){a.useStandardConfiguration().withBaseUrl(d.url).withDefaults({headers:{Authorization:"Basic "+d.auth}})}),this.http=b}return a.prototype.fetchPreviousQueries=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.http.fetch("qep/queryResults?limit="+a+"&skip="+b,{method:"get"}).then(function(a){return a.json()})["catch"](function(a){return a})},a.prototype.fetchNetworkId=function(a){return this.http.fetch("qep/networkId?queryName='"+a+"'",{method:"get"}).then(function(a){return a.json()})["catch"](function(a){return a})},a.prototype.fetchQuery=function(a,b,c){return this.http.fetch("qep/queryResult/"+a+"?timeoutSeconds="+b+"&afterVersion="+c,{method:"get"}).then(function(a){var b=a.url,c=a.statusText,d=a.status,e=a.ok;return console.log("fetchQuery: "+b+" - "+e+" - "+d+" - "+c),a.json()})["catch"](function(a){return a})},a.prototype.fetchStewardEmail=function(){return this.http.fetch("data?key=stewardEmail",{method:"get"}).then(function(a){return a.json()}).then(function(a){return a.indexOf('"')>0?a.split('"')[1]:a})["catch"](function(){return""})},e(a,[{key:"url",get:function(){var a=document.URL,b=":6443/shrine-metadata/";return a.substring(0,a.lastIndexOf(":"))+b}},{key:"auth",get:function(){var a=sessionStorage.getItem("shrine.auth");return sessionStorage.removeItem("shrine.auth"),a}}]),a}(),f.inject=[d],h=g)),a("QEPRepository",h)}}}),System.register("services/query-status.model.js",["aurelia-event-aggregator","repository/qep.repository","./shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i,j,k,l;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.QEPRepository},function(a){f=a.commands,g=a.notifications}],execute:function(){h=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a},k=function(){var a=!1;return function(b){return a=void 0===b?a:!!b}}(),a("QueryStatusModel",(j=i=function b(a,d,e){c(this,b);var g=function(b){return a.publish(e.shrine.queryReceived,b)},i=function(a){return new Promise(function(b,c){var d=a.results,e=a.dataVersion,f=a.query,g=function(a,b){return a.adapterNode.toUpperCase()<=b.adapterNode.toUpperCase()?-1:1},i=0===d.length?[]:[].concat(d.sort(g)),j=i.length>0&&i.filter(function(a){return"ERROR,COMPLETED,FINISHED".includes(a.status)}).length===i.lenth,k=h({},f,{complete:j});b({query:k,nodes:i,dataVersion:e})})},j=function(a){d.fetchQuery(a.networkId,a.timeoutSeconds,a.dataVersion).then(function(a){return i(a)})["catch"](function(a){return console.log("ERROR: "+a)}).then(function(a){return g(a)})},k=function(){a.subscribe(f.shrine.fetchQuery,j)};k()},i.inject=[d,e,g],l=j)),a("QueryStatusModel",l)}}}),System.register("services/shrine.messages.js",[],function(a,b){"use strict";var c,d;return{setters:[],execute:function(){a("notifications",c={i2b2:{tabMax:"notification.from.i2b2.tab.max",tabMin:"notification.from.i2b2.tab.min",viewSelected:"notification.from.i2b2.tab.selected",historyRefreshed:"notification.from.i2b2.history.refreshed",queryStarted:"notification.from.i2b2.query.started",messageReceived:"notification.from.i2b2.message.received",networkIdReceived:"notification.from.i2b2.networkId.receieved",exportQuery:"notification.from.i2b2.export.query",clearQuery:"notification.from.i2b2.clear.query"},shrine:{queriesReceived:"notification.from.shrine.queries.received",queryReceived:"notification.from.shrine.query.recieved",queryUnavailable:"notification.from.shrine.query.unavailable",queryAvailable:"notification.from.shrine.query.available"}}),a("notifications",c),a("commands",d={i2b2:{cloneQuery:"command.to.i2b2.clone.query",showError:"command.to.i2b2.show.error",flagQuery:"command.to.i2b2.flag.query",unflagQuery:"command.to.i2b2.unflag.query",renameQuery:"command.to.i2b2.rename.query"},shrine:{fetchQuery:"command.to.shrine.fetch.query",
-exportResult:"command.to.shrine.export.result"}}),a("commands",d)}}}),System.register("services/pub-sub.js",["aurelia-event-aggregator","./shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.commands,f=a.notifications}],execute:function(){a("PubSub",(h=g=function b(a,d,e){c(this,b),this.commands=d,this.notifications=e,this.publish=function(b,c){return a.publish(b,c)},this.subscribe=function(b,c){return a.subscribe(b,c)}},g.inject=[d,e,f],i=h)),a("PubSub",i)}}}),System.register("views/query-status/query-status.js",["aurelia-framework","services/query-status.model","services/pub-sub"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;return{setters:[function(a){h=a.customElement,i=a.observable},function(a){j=a.QueryStatusModel},function(a){k=a.PubSub}],execute:function(){l=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a},a("QueryStatus",(m=h("query-status"),s=m((r=q=function(a){function b(f){d(this,b);for(var g=arguments.length,h=Array(g>1?g-1:0),i=1;i<g;i++)h[i-1]=arguments[i];var j=e(this,a.call.apply(a,[this].concat(h)));return c(j,"status",p,j),v.set(j,{isDevEnv:document.location.href.includes("http://localhost:8000/"),exportAvailable:!1}),j}return f(b,a),b.prototype.statusChanged=function(a,b){return a.nodes&&a.nodes.length?(v.get(this).exportAvailable=!0,void this.publish(this.notifications.shrine.queryAvailable)):(v.get(this).exportAvailable=!1,void this.publish(this.notifications.shrine.queryUnavailable))},b.prototype.attached=function(){var a=this;this.subscribe(this.notifications.i2b2.queryStarted,function(b){a.status=w(),a.status.query.queryName=b}),this.subscribe(this.notifications.i2b2.networkIdReceived,function(b){var c=b.networkId,d=b.name,e=w(),f=e.nodes;e.query.queryName=d||e.query.queryName,a.status=a.status?l({},a.status,{nodes:f}):e,a.publish(a.commands.shrine.fetchQuery,{networkId:c,timeoutSeconds:t,dataVersion:u})}),this.subscribe(this.notifications.i2b2.exportQuery,function(){a.publish(a.commands.shrine.exportResult,l({},a.status))}),this.subscribe(this.notifications.i2b2.clearQuery,function(){a.status=w()}),this.subscribe(this.notifications.shrine.queryReceived,function(b){var c=b.query,d=b.nodes,e=b.dataVersion,f=b.complete,g=b.query.networkId,h=Number(new Date);a.status=l({},a.status,{query:c,nodes:d,updated:h}),f||a.publish(a.commands.shrine.fetchQuery,{networkId:g,dataVersion:e,TIMEOUT_SECONDS:t})}),v.get(this).isDevEnv&&this.publish(this.notifications.i2b2.networkIdReceived,{networkId:1,name:"started query"})},b}(k),q.inject=[j],o=r,p=g(o.prototype,"status",[i],{enumerable:!0,initializer:null}),n=o))||n)),a("QueryStatus",s),t=15,u=-1,v=new WeakMap,w=function(a){return{query:{queryName:null,updated:null,complete:!1},nodes:null}}}}}),function(){var a=System.amdDefine;a("views/query-viewer/context-menu/context-menu.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><ul class="context-menu ${context.class || \'hide\'}" mouseleave.trigger="context.class=\'hide\'" css="top: ${context.y - 40}; left: ${context.x - 50};"><li if.bind="context.isCount"><a click.delegate="refreshHistory()" href="#"><i class="fa fa-bar-chart-o"></i>Breakdown</a></li><li click.delegate="cloneQuery(context.query.id)"><a href="#"><i class="fa fa-files-o"></i> Clone</a></li><li><a click.delegate="renameQuery(context.query.id)" href="#"><i class="fa fa-edit"></i> Rename</a></li><!--li><a click.delegate="flagQuery(context.query.id)" href="#"><i class="fa fa-flag"></i> Flag</a></li--><!--li><a click.delegate="unflagQuery(context.query.id)" href="#"><i class="fa fa-flag-o"></i> Unflag</a></li--></ul></template>'})}(),System.register("views/query-viewer/context-menu/context-menu.js",["aurelia-framework","aurelia-event-aggregator","common/shrine.messages"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l,m,n;return{setters:[function(a){f=a.bindable},function(a){g=a.EventAggregator},function(a){h=a.commands}],execute:function(){a("ContextMenu",(l=k=function b(a,c){var e=this;d(this,b),m.call(this),b.prototype.cloneQuery=function(b){a.publish(c.i2b2.cloneQuery,b),e.context["class"]="hide"},b.prototype.renameQuery=function(b){a.publish(c.i2b2.renameQuery,b),e.context["class"]="hide"},b.prototype.flagQuery=function(b){a.publish(c.i2b2.flagQuery,b),e.context["class"]="hide"},b.prototype.unflagQuery=function(b){a.publish(c.i2b2.unflagQuery,b),e.context["class"]="hide"}},k.inject=[g,h],m=function(){c(this,"context",j,this)},i=l,j=e(i.prototype,"context",[f],{enumerable:!0,initializer:null}),n=i)),a("ContextMenu",n)}}}),System.register("views/query-viewer/date.converter.js",["moment"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e;return{setters:[function(a){d=a["default"]}],execute:function(){a("DateValueConverter",e=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return d(a).format("MM/DD/YYYY")},a}()),a("DateValueConverter",e)}}}),function(){var a=System.amdDefine;a("views/query-viewer/paginator/paginator.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700" rel="stylesheet" type="text/css"><div class="paginator"><ol class="btn-group"><li class="btn-group__item" click.delegate="pageIndex = index - 1"><i class="i-chevron-left"></i></li><li repeat.for="page of pages" class="btn-group__item" click.delegate="pageIndex = $index"><button class="btn btn--basic ${index === $index? \'current\' : \'\'}">${$index + 1}</button></li><li class="btn-group__item" click.delegate="pageIndex = index + 1"><i class="i-chevron-right"></i></li></ol></div></template>'})}(),System.register("views/query-viewer/paginator/paginator.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l;return{setters:[function(a){f=a.bindable}],execute:function(){g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),a("Paginator",(k=j=function(){function a(b){var e=this;d(this,a),c(this,"pages",i,this),a.prototype.init=function(){e.index=0,e.element=b},this.init()}return g(a,[{key:"pageIndex",set:function(a){var b=this.pages.length-1;this.index=a<0?0:a>b?b:a,this.element.dispatchEvent(new CustomEvent("paginator-click",{detail:{index:this.index},bubbles:!0,cancelable:!0}))}}]),a}(),j.inject=[Element],h=k,i=e(h.prototype,"pages",[f],{enumerable:!0,initializer:null}),l=h)),a("Paginator",l)}}}),function(){var a=System.amdDefine;a("views/query-viewer/query-status/query-status.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div class="tooltip"><span ref="tooltipContent" data-line1="Total: ${total}" data-line2="Available: ${finished}, Error: ${error}, Pending: ${pending}"><svg viewbox="0 0 35 35" class="query-status"><circle cx="18" cy="16" r="12" class="countdown__background"/><circle cx="18" cy="16" r="12" class="error__progress" css="stroke-dashoffset: ${errorOffset}"/><circle cx="18" cy="16" r="12" class="ready__progress" css="stroke-dashoffset: ${readyOffset}"/></svg></span></div></template>'})}(),System.register("views/query-viewer/query-status/query-status.js",["aurelia-framework","ramda"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l,m;return{setters:[function(a){f=a.bindable},function(a){g=a}],execute:function(){a("QueryStatus",(k=j=function(){function a(b){d(this,a),l.call(this),this.floor=b.floor}return a.prototype.attached=function(){var a=75,b=g.curry(function(a,b,c,d){return a(d/c*b)})(this.floor,a,this.status.total),c=this.status,d=b(c.finished),e=b(c.error);this.readyOffset=100-d,this.errorOffset=this.readyOffset-e,this.finished=c.finished,this.error=c.error,this.pending=c.total-(c.finished+c.error),this.total=c.total},a}(),j.inject=[Math],l=function(){c(this,"status",i,this)},h=k,i=e(h.prototype,"status",[f],{enumerable:!0,initializer:null}),m=h)),a("QueryStatus",m)}}}),System.register("views/query-viewer/query-viewer.config.js",[],function(a,b){"use strict";var c;return{setters:[],execute:function(){a("QueryViewerConfig",c={maxNodesPerScreen:10,maxQueriesPerScroll:40}),a("QueryViewerConfig",c)}}}),function(){var a=System.amdDefine;a("views/query-viewer/query-viewer.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><require from="views/query-viewer/result-style.converter"></require><require from="views/query-viewer/result-value.converter"></require><require from="views/query-viewer/box-style.converter"></require><require from="views/query-viewer/context-menu/context-menu"></require><require from="views/query-viewer/loading-bar/loading-bar"></require><require from="views/query-viewer/paginator/paginator"></require><require from="views/query-viewer/date.converter"></require><require from="views/query-viewer/query-status/query-status"></require><span class="query-viewer"><loading-bar status.bind="\'Loading...\'" if.bind="showLoader"></loading-bar><div style="width: 100%; text-align: center"><paginator pages.bind="pages" paginator-click.delegate="updatePage($event)" if.bind="pages.length > 1"></paginator></div><div class="flex-table"><div class="flex-table-row node-header"><div class="flex-table-item"></div><div class="flex-table-item"></div><div class="flex-table-item"></div><div class="flex-table-item"></div><div repeat.for="node of page.nodes" class="flex-table-item">${node}</div></div></div><div class="flex-table query-viewer ${vertStyle}" scroll.trigger="onScroll($event)"><div><!-- @todo: create running query component --><div class="flex-table-row" if.bind="runningQueryName"><div class="flex-table-item"></div><div class="flex-table-item">${runningQueryName}</div><div class="flex-table-item"></div><div class="flex-table-item"></div><div class="flex-table-item" repeat.for="node of page.nodes" style="color: #00FF00">RUNNING</div></div><div repeat.for="result of page.results" class="flex-table-row"><div class="flex-table-item"><i if.bind="result.flagged" class="fa fa-flag"></i> <i if.bind="!result.flagged" class="fa fa-flag-o"></i></div><div class="flex-table-item" click.delegate="context = getContext($event, result)"><div class="ellipses">${result.name}</div></div><div class="flex-table-item" click.delegate="context = getContext($event, result)">${result.date | date}</div><div class="flex-table-item"><query-status status.bind="result.status"></query-status></div><div repeat.for="nodeResult of result.nodeResults" class="flex-table-item" click.delegate="context = getContext($event, result)"><a if.bind="nodeResult.status === \'ERROR\'" style="text-decoration: underline; color:red" click.delegate="publishError($event, nodeResult)">${nodeResult.status} </a>${nodeResult}</div></div><div class="flex-table-row" if.bind="loadingInfiniteScroll"><div style="width: 100%; text-align: center; font-size: 1.5rem; background:rgba(217, 236, 240, .05); text-align:center; color: rgba(0, 0, 0, .20)"><i class="fa fa-spinner fa-spin" style="color: inherit"></i> Loading...</div></div></div></div><!-- context menu --><context-menu context.bind="context"></context-menu></span></template>'})}(),System.register("views/query-viewer/scroll.service.js",["ramda","common/container"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a},function(a){e=a.Container}],execute:function(){a("ScrollService",(g=f=function b(){c(this,b)},f.either=d.curry(function(a,b,c){return e.of(d.prop(a,c)||b)}),f.target=function(a,b){return h.either("target",b,b).chain(function(b){return h.either(a,0,b)})},f.clientHeight=function(a){return h.target("clientHeight",a)},f.scrollHeight=function(a){return h.target("scrollHeight",a)},f.scrollTop=function(a){return h.target("scrollTop",a)},f.userScroll=function(a){return h.clientHeight(a).map(function(b){return b+h.scrollTop(a).value})},f.scrollRatio=function(a){return h.userScroll(a).map(function(b){return b/h.scrollHeight(a).value})},h=g)),a("ScrollService",h)}}}),System.register("views/query-viewer/query-viewer.js",["aurelia-event-aggregator","common/queries.model","./scroll.service","common/shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i,j,k;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.QueriesModel},function(a){f=a.ScrollService},function(a){g=a.notifications,h=a.commands}],execute:function(){a("QueryViewer",(j=i=function(){function a(b,d,e,g){var h=this;c(this,a),a.prototype.init=function(){h.pageIndex=0,h.showLoader=!0,h.vertStyle="v-min",h.runningQueryName=null},this.init(),a.prototype.setToPage=function(a){h.pageIndex=a,h.page=h.pages[h.pageIndex]};var i=function(a){return 1===f.scrollRatio(a).value};a.prototype.onScroll=function(a){i(a)&&!h.loadingInfiniteScroll&&d.moreToLoad()&&(h.loadingInfiniteScroll=!0,d.load())},a.prototype.publishError=function(a,c){return a.stopPropagation(),b.publish(g.i2b2.showError,c)},a.prototype.getContext=function(a,b,c){return{x:a.pageX,y:a.pageY,"class":"show",query:b,isCount:void 0!==c,count:c}},b.subscribe(e.i2b2.historyRefreshed,function(){return d.load()}),b.subscribe(e.i2b2.tabMax,function(){return h.vertStyle="v-full"}),b.subscribe(e.i2b2.tabMin,function(){return h.vertStyle="v-min"}),b.subscribe(e.i2b2.queryStarted,function(a){return h.runningQueryName=a}),b.subscribe(e.shrine.queriesReceived,function(a){h.pages=a,h.page=h.pages[0],h.runningQueryName=null,h.loadingInfiniteScroll=!1,h.showLoader=!1})}return a.prototype.updatePage=function(a){a.stopPropagation();var b=event.detail.index;this.page=this.pages[b]},a}(),i.inject=[d,e,g,h],k=j)),a("QueryViewer",k)}}}),function(){var a=System.amdDefine;a("views/query-viewer/result-row/loading-bar/loading-bar.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div class="loader"><h1>${status}</h1><div class="slider"><div class="line"></div><div class="break dot1"></div><div class="break dot2"></div><div class="break dot3"></div></div></div></template>'})}(),System.register("views/query-viewer/result-row/loading-bar/loading-bar.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i;return{setters:[function(a){f=a.bindable}],execute:function(){a("LoadingBar",(g=function b(){d(this,b),c(this,"status",h,this)},h=e(g.prototype,"status",[f],{enumerable:!0,initializer:null}),i=g)),a("LoadingBar",i)}}}),function(){var a=System.amdDefine;a("views/query-viewer/result-row/loading-bar/row-loader.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return""})}();
\ No newline at end of file
+"bundle";System.register("main.js",[],function(a,b){"use strict";function c(a){a.use.standardConfiguration().developmentLogging().feature("resources").feature("views"),a.start().then(function(){return a.setRoot("shell")})}return a("configure",c),{setters:[],execute:function(){}}}),System.register("resources/converters/box-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("BoxStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return"transform: translate("+String(-100*a)+"%);"},a}()),a("BoxStyleValueConverter",d)}}}),System.register("resources/converters/count-value-converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("CountValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return a<0?"10 patients or fewer":a+" +-10 patients"},a}()),a("CountValueConverter",d)}}}),System.register("resources/converters/datetime.value.converter.js",["moment"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e;return{setters:[function(a){d=a["default"]}],execute:function(){a("DateTimeValueConverter",e=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return d(a).format("MM/DD/YYYY h:mm:ss a")},a}()),a("DateTimeValueConverter",e)}}}),System.register("resources/converters/result-style.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultStyleValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){var b=this.isUnresolved(a)?"color:"+this.getColorValue(a):"";return b},a.prototype.isUnresolved=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"FINISHED";return!a||a.status!==b},a.prototype.getColorValue=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ERROR",c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#FF0000",d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#00FF00";return a&&a.status!==b?d:c},a}()),a("ResultStyleValueConverter",d)}}}),System.register("resources/converters/result-value.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("ResultValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return a?"FINISHED"!==a.status?"":a.count<0?"<=10":a.count:"not available"},a}()),a("ResultValueConverter",d)}}}),System.register("resources/converters/truncate.converter.js",[],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d;return{setters:[],execute:function(){a("TruncateValueConverter",d=function(){function a(){c(this,a)}return a.prototype.toView=function(a){var b=20;return a.length>b?a.substring(0,b)+"...":a},a}()),a("TruncateValueConverter",d)}}}),function(){var a=System.amdDefine;a("resources/custom/breakdown/breakdown.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="clear: both; margin-left: 30px; float: left; height: 16px; line-height: 16px"><br><font>${data.resultType.i2b2Options.description}:</font></div><div style="clear: both; margin-left: 40px; float: left; height: 16px; line-height: 16px"></div><div repeat.for="result of data.results" style="clear: both; margin-left: 40px; float: left; height: 16px; line-height: 16px">${result.dataKey}: <font color="#0000dd">${result.value | count}</font></div></template>'})}(),System.register("resources/custom/breakdown/breakdown.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l;return{setters:[function(a){f=a.bindable,g=a.customElement}],execute:function(){a("Breakdown",(h=g("breakdown"),l=h((j=function b(){d(this,b),c(this,"data",k,this)},k=e(j.prototype,"data",[f],{enumerable:!0,initializer:null}),i=j))||i)),a("Breakdown",l)}}}),function(){var a=System.amdDefine;a("resources/custom/node-result/error.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template>&nbsp;- <span><b><a class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)"><b><span color="#ff0000">${result.statusMessage}</span></b></a></b></span></template>'})}(),function(){var a=System.amdDefine;a("resources/custom/node-result/node-result.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="clear:both"><br><div style="float:left; font-weight:bold; margin-left:20px">${result.adapterNode} "${queryName}"</div></div><compose view.bind="component"></compose></template>'})}(),System.register("resources/custom/node-result/node-result.js",["aurelia-framework","services/pub-sub"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var h,i,j,k,l,m,n,o,p;return{setters:[function(a){h=a.customElement,i=a.bindable},function(a){j=a.PubSub}],execute:function(){a("NodeResult",(k=h("node-result"),p=k((m=function(a){function b(){d(this,b);for(var f=arguments.length,g=Array(f),h=0;h<f;h++)g[h]=arguments[h];var i=e(this,a.call.apply(a,[this].concat(g)));return c(i,"result",n,i),c(i,"queryName",o,i),i}return f(b,a),b.prototype.attached=function(){var a=this.result.status;this.component="./status-msg.html","ERROR"===a?this.component="./error.html":["COMPLETED","FINISHED"].indexOf(a)>-1&&(this.component="./patient-count.html")},b}(j),n=g(m.prototype,"result",[i],{enumerable:!0,initializer:null}),o=g(m.prototype,"queryName",[i],{enumerable:!0,initializer:null}),l=m))||l)),a("NodeResult",p)}}}),function(){var a=System.amdDefine;a("resources/custom/node-result/patient-count.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="clear: both; margin-left: 30px; float: left; height: 16px; line-height: 16px">Patient Count: <font color="#0000dd">- ${result.count | count}</font></div><breakdown repeat.for="breakdown of result.breakdowns" data.one-way="breakdown"></breakdown></template>'})}(),function(){var a=System.amdDefine;a("resources/custom/node-result/status-msg.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template>&nbsp;- <span style="color: #00dd00">SUBMITTED</span></template>'})}(),function(){var a=System.amdDefine;a("resources/custom/node-status/node-status.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="display: flex"><div style="flex:1">${result.adapterNode}</div><div style="flex: 1"><span if.one-way="\'STATUS,FINISHED\'.includes(result.status)" style="display: inline-block; color: #0000dd">&nbsp; <span style="color: black">COMPLETED</span> </span><span>&nbsp; <a if.one-way="result.status === \'ERROR\'" class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)">ERROR </a></span><span if.one-way="!\'ERROR,COMPLETED,FINISHED\'.includes(result.status)">&nbsp; <span style="color: #00dd00">SUBMITTED</span></span></div><div style="flex:1"><span if.one-way="\'STATUS,FINISHED\'.includes(result.status)" style="display: inline-block; color: #0000dd">&nbsp; ${result.count | count}</span></div></div></template>'})}(),System.register("resources/custom/node-status/node-status.js",["aurelia-framework","services/pub-sub"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var h,i,j,k,l,m,n,o;return{setters:[function(a){h=a.customElement,i=a.bindable},function(a){j=a.PubSub}],execute:function(){a("NodeStatus",(k=h("node-status"),o=k((m=function(a){function b(){d(this,b);for(var f=arguments.length,g=Array(f),h=0;h<f;h++)g[h]=arguments[h];var i=e(this,a.call.apply(a,[this].concat(g)));return c(i,"result",n,i),i}return f(b,a),b}(j),n=g(m.prototype,"result",[i],{enumerable:!0,initializer:null}),l=m))||l)),a("NodeStatus",o)}}}),function(){var a=System.amdDefine;a("resources/custom/node-status/temp.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<div style="display: flex"><div style="flex:1">${result.adapterNode}</div><div style="flex: 1"><span if.one-way="result.statusMessage === \'COMPLETED\' || result.statusMessage === \'FINISHED\'" style="display: inline-block; color: #0000dd">&nbsp; <span style="color: black">${result.statusMessage}</span> </span><span>&nbsp; <a if.one-way="result.statusMessage === \'ERROR\'" class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)">ERROR: ${result.statusDescription} </a></span><span if.one-way="[\'ERROR\',\'COMPLETED\',\'FINISHED\'].indexOf(result.statusMessage) === -1">&nbsp; <span style="color: #00dd00">${result.statusMessage}</span></span></div><div style="flex:1"><span if.one-way="result.statusMessage === \'COMPLETED\' || result.statusMessage === \'FINISHED\'" style="display: inline-block; color: #0000dd">&nbsp; ${result.count | count}</span></div></div><patient-count if.one-way="result.statusMessage === \'COMPLETED\' || result.statusMessage === \'FINISHED\'" result.one-way="result"><div style="clear: both; margin-left: 30px; float: left; height: 16px; line-height: 16px">Patient Count: <font color="#0000dd">- ${result.count | count}</font></div></patient-count><error if.one-way="result.statusMessage === \'ERROR\'" result.one-way="result">&nbsp;- <span title="${result.statusDescription}"><b><a class="query-error-anchor" href="#" style="color:#ff0000" click.delegate="publish(commands.i2b2.showError, result)"><b><span color="#ff0000">ERROR: ${result.statusDescription}</span></b></a></b></span></error><span if.one-way="[\'ERROR\',\'COMPLETED\',\'FINISHED\'].indexOf(result.statusMessage) === -1">&nbsp;- <span style="color: #00dd00">${result.statusMessage}</span></span>'})}(),System.register("resources/index.js",[],function(a,b){"use strict";function c(a){var b="converters",c=["box-style.converter","count-value-converter","datetime.value.converter","result-style.converter","result-value.converter","truncate.converter"];a.globalResources.apply(a,c.map(function(a){return"./"+b+"/"+a}));var d="custom",e=["breakdown/breakdown","node-result/node-result","node-status/node-status"];a.globalResources.apply(a,e.map(function(a){return"./"+d+"/"+a}))}return a("configure",c),{setters:[],execute:function(){}}}),System.register("services/queries.model.js",["aurelia-event-aggregator","repository/qep.repository","./shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.QEPRepository},function(a){f=a.notifications}],execute:function(){a("QueriesModel",(h=g=function b(a,d,e){var f=this;c(this,b);var g=d,h=40,i=0,j=0,k=null;b.prototype.load=function(){return g.fetchPreviousQueries(f.maxQueriesPerFetch()+f.loadedCount()).then(function(a){return j=a.rowCount,i=a.queryResults.length,a})["catch"](function(a){return console.log(a)}).then(l).then(function(b){k=b,a.publish(e.shrine.queriesReceived,k)})},b.prototype.totalQueries=function(){return j},b.prototype.loadedCount=function(){return i},b.prototype.maxQueriesPerFetch=function(){return h},b.prototype.moreToLoad=function(){return i<j},b.prototype.hasData=function(){return null!==k&&void 0!==k};var l=function(a){arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;return new Promise(function(b,c){for(var d=[],e=6,f=a.adapters,g=f.length,h=a.queryResults,i=0;i<g;i+=e){var j=m(f,i,e),k=f.slice(i,j),l=n(k,h);d.push({nodes:k,results:l})}b(d)})},m=function(a,b,c){var d=b+c;return d<a.length?d:a.length},n=function(a,b){var c=[];return b.forEach(function(b,d){var e={name:b.query.queryName,id:b.query.networkId,date:b.query.dateCreated,flagged:b.query.flagged===!0,flagMessage:b.query.flagMessage||null,nodeResults:[],status:b.adaptersToResults.reduce(function(a,c){var d="FINISHED"===c.status?a.finished+1:a.finished,e="ERROR"===c.status?a.error+1:a.error;return{error:e,finished:d,total:b.adaptersToResults.length}},{error:0,finished:0,total:b.adaptersToResults.length})};a.forEach(function(a){e.nodeResults.push(b.adaptersToResults.find(function(b){return b.adapterNode===a}))}),c.push(e)}),c}},g.inject=[d,e,f],i=h)),a("QueriesModel",i)}}}),function(){var a=System.amdDefine;a("shell.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return"<template><query-status></query-status></template>"})}(),System.register("services/container.js",["ramda"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f;return{setters:[function(a){d=a}],execute:function(){e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),a("Container",f=function(){function a(b){c(this,a),this.__value=b}return a.of=function(b){return new a(function(){return b})},a.prototype.map=function(b){return this.hasNothing()?a.of(null):a.of(b(this.value))},a.prototype.join=function(){return this.hasNothing()?a.of(null):this.value},a.prototype.chain=function(a){return this.map(a).join()},a.prototype.hasNothing=function(){return null===this.value||void 0===this.value},a.prototype.ap=function(a){a.map(this.value)},e(a,[{key:"value",get:function(){return this.__value()}}]),a}()),a("Container",f)}}}),System.register("services/i2b2.service.js",["ramda","./container"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a},function(a){e=a.Container}],execute:function(){a("I2B2Service",(g=f=function b(a){c(this,b);var f=a?e.of(a):e.of(null),g=d.curry(function(a,b){return b.value?e.of(d.prop(a,b.value)):e.of(null)}),h=d.compose(g("i2b2"),g("window"),g("parent")),i=d.compose(g("CRC"),h),j=d.compose(g("events"),h),k=d.compose(g("SHRINE"),h);b.prototype.onResize=function(a){return j(f).map(function(b){return b.changedZoomWindows.subscribe(a)})},b.prototype.onHistory=function(a){return i(f).map(function(b){return b.ctrlr.history.events.onDataUpdate.subscribe(a)})},b.prototype.onQuery=function(a){return j(f).map(function(b){return b.afterQueryInit.subscribe(a)})},b.prototype.onNetworkId=function(a){return j(f).map(function(b){return b.networkIdReceived.subscribe(a)})},b.prototype.onViewSelected=function(a){return g("addEventListener",f).value?e.of(f.value.addEventListener("message",a,!1)):e.of(null)},b.prototype.onExport=function(a){return j(f).map(function(b){return b.exportQueryResult.subscribe(a)})},b.prototype.onClearQuery=function(a){return j(f).map(function(b){return b.clearQuery.subscribe(a)})},b.prototype.loadHistory=function(){return i(f).map(function(a){return a.view.history.doRefreshAll()})},b.prototype.loadQuery=function(a){return i(f).map(function(b){return b.ctrlr.QT.doQueryLoad(a)})},b.prototype.errorDetail=function(a){return k(f).map(function(b){b.plugin.errorDetail(a)})},b.prototype.renameQuery=function(a){return i(f).map(function(b){return b.ctrlr.history.queryRename(a,!1)})},b.prototype.flagQuery=function(a){return i(f).map(function(b){return b.ctrlr.history.Flag({queryId:a,message:""})})},b.prototype.unflagQuery=function(a){return i(f).map(function(b){return b.ctrlr.history.Unflag({queryId:a})})},b.prototype.publishQueryUnavailable=function(){return j(f).map(function(a){return a.queryResultUnavailable.fire()})},b.prototype.publishQueryAvailable=function(){return j(f).map(function(a){return a.queryResultAvailable.fire()})}},f.inject=[window],h=g)),a("I2B2Service",h)}}}),System.register("services/i2b2.pub-sub.js",["./pub-sub","./i2b2.service"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function d(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function e(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var f,g,h,i,j;return{setters:[function(a){f=a.PubSub},function(a){g=a.I2B2Service}],execute:function(){a("I2B2PubSub",(i=h=function(a){function b(e){c(this,b);for(var f=arguments.length,g=Array(f>1?f-1:0),h=1;h<f;h++)g[h-1]=arguments[h];var i=d(this,a.call.apply(a,[this].concat(g)));return i.listen=function(){e.onResize(function(a,b){return b.find(function(a){return"ADD"===a.action})?function(){return i.publish(i.notifications.i2b2.tabMax)}:function(){return i.publish(i.notifications.i2b2.tabMin)}}),e.onHistory(function(){return i.publish(i.notifications.i2b2.historyRefreshed)}),e.onQuery(function(a,b){return i.publish(i.notifications.i2b2.queryStarted,b[0].name)}),e.onNetworkId(function(a,b){return i.publish(i.notifications.i2b2.networkIdReceived,b[0])}),e.onViewSelected(function(a){return i.publish(i.notifications.i2b2.viewSelected,a.data)}),e.onExport(function(){return i.publish(i.notifications.i2b2.exportQuery)}),e.onClearQuery(function(){return i.publish(i.notifications.i2b2.clearQuery)}),i.subscribe(i.commands.i2b2.cloneQuery,function(a){return e.loadQuery(a)}),i.subscribe(i.commands.i2b2.showError,function(a){e.errorDetail(a)}),i.subscribe(i.commands.i2b2.renameQuery,function(a){return e.renameQuery(a)}),i.subscribe(i.commands.i2b2.flagQuery,function(a){return e.flagQuery(a)}),i.subscribe(i.commands.i2b2.unflagQuery,function(a){return e.unflagQuery(a)}),i.subscribe(i.notifications.shrine.queryUnavailable,function(){return e.publishQueryUnavailable()}),i.subscribe(i.notifications.shrine.queryAvailable,function(){return e.publishQueryAvailable()})},i}return e(b,a),b}(f),h.inject=[g],j=i)),a("I2B2PubSub",j)}}}),System.register("services/query-export.js",["./pub-sub"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function d(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function e(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var f,g,h;return{setters:[function(a){f=a.PubSub}],execute:function(){a("QueryExport",g=function(a){function b(){c(this,b);for(var e=arguments.length,f=Array(e),g=0;g<e;g++)f[g]=arguments[g];return d(this,a.call.apply(a,[this].concat(f)))}return e(b,a),b.prototype.listen=function(){this.subscribe(this.commands.shrine.exportResult,h)},b}(f)),a("QueryExport",g),h=function(a){var b=a.nodes.sort(),c=new Map,d=function(a){var b=a.resultType.i2b2Options.description;return b},e=function(a,b){return d(a)<=d(b)?-1:1};b.forEach(function(a){var b=a.breakdowns;return b.sort(e).forEach(function(a){var b,d=a.resultType.i2b2Options.description,e=a.results;return c.has(d)?(b=c.get(d)).add.apply(b,e.map(function(a){return a.dataKey}).sort()):c.set(d,new Set(e.map(function(a){return a.dataKey}).sort()))})});var f="data:text/csv;charset=utf-8,SHRINE QUERY RESULTS (OBFUSCATED PATIENT COUNTS),"+[""].concat(b.map(function(a){return a.adapterNode}).join(",")),g="\nAll Patients,"+[""].concat(b.map(function(a){return a.count}).join(",")),h=[];c.forEach(function(a,c){h.push.apply(h,[""].concat(Array.from(a).map(function(a){var d=c.split(" ").shift()+","+a,e=b.map(function(b){var d=b.breakdowns,e=d.find(function(a){var b=a.resultType.i2b2Options.description;a.results;return b===c}),f=e?e.results.find(function(b){return b.dataKey===a}):void 0;return f?f.value>0?f.value:0:"unavailable"});return d+","+e.join(",")})))});var i=encodeURI(""+f+g+h.join("\n")),j=document.createElement("a");j.setAttribute("href",i),j.setAttribute("download","export.csv"),document.body.appendChild(j),j.click(),document.body.removeChild(j)}}}}),System.register("shell.js",["services/i2b2.pub-sub","services/query-export"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.I2B2PubSub},function(a){e=a.QueryExport}],execute:function(){a("Shell",(g=f=function b(a,d){c(this,b),a.listen(),d.listen()},f.inject=[d,e],h=g)),a("Shell",h)}}}),System.register("views/index.js",[],function(a,b){"use strict";function c(a){var b=["views/query-status/query-status"];a.globalResources.apply(a,b)}return a("configure",c),{setters:[],execute:function(){}}}),function(){var a=System.amdDefine;a("views/mailto/mailto.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div class="mailto"><div class="content"><p>If you have questions about your query results or this SHRINE network, contact the Data Steward at your site.</p><div class="email js-email"><button class="button button--large js-button" click.delegate="openEmail()">Email Data Steward</button></div></div></div></template>'})}(),System.register("views/mailto/mailto.service.js",["repository/qep.repository"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g;return{setters:[function(a){d=a.QEPRepository}],execute:function(){a("MailToService",(f=e=function(){function a(b){c(this,a),this.repository=b}return a.prototype.fetchStewardEmail=function(){return this.repository.fetchStewardEmail()},a}(),e.inject=[d],g=f)),a("MailToService",g)}}}),System.register("views/mailto/mailto.config.js",[],function(a,b){"use strict";var c;return{setters:[],execute:function(){a("MailConfig",c={mailto:"mailto:",subject:encodeURIComponent("Question from a SHRINE User"),body:encodeURIComponent("Please enter the suggested information and your question. Your data steward will reply to this email.\n \n\n***Never send patient information, passwords, or other sensitive information by email****\n \nName:\n \nTitle:\n \nUser name (to log into SHRINE):\n \nTelephone Number (optional):\n \nPreferred email address (optional):\n \n\nQuestion or Comment:")}),a("MailConfig",c)}}}),System.register("views/mailto/mailto.js",["views/mailto/mailto.service","views/mailto/mailto.config"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.MailToService},function(a){e=a.MailConfig}],execute:function(){a("MailTo",(g=f=function(){function a(b,d){c(this,a),this.service=b,this.config=d}return a.prototype.openEmail=function(){var a=this;this.service.fetchStewardEmail().then(function(b){window.top.location="mailto:"+b+"?subject="+a.config.subject+"&body="+a.config.body})},a}(),f.inject=[d,e],h=g)),a("MailTo",h)}}}),function(){var a=System.amdDefine;a("views/query-status/query-status.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div style="height: 100%; overflow: auto" class="query-status"><div style="display: flex" if.one-way="status.query.queryName"><div style="flex:1">Status of Query ${status.query.queryName | truncate} <span if.one-way="status.nodes.length"><br>at Each Institution:</span></div><div style="flex:1" if.one-way="status.nodes.length">Last Updated on: ${status.updated | dateTime}</div><div style="flex:1" if.one-way="!status.nodes.length">Waiting on response from network...</div></div><br><node-status repeat.for="node of status.nodes" result.one-way="node"></node-status><span if.one-way="status.nodes.length"><br><span>Completed query counts and breakdowns are shown below:</span><br></span><node-result repeat.for="node of status.nodes" result.one-way="node" query-name.one-way="status.query.queryName"></node-result></div></template>'})}(),System.register("repository/qep.repository.js",["aurelia-fetch-client","fetch"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a.HttpClient},function(a){}],execute:function(){e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),a("QEPRepository",(g=f=function(){function a(b){var d=this;c(this,a),b.configure(function(a){a.useStandardConfiguration().withBaseUrl(d.url).withDefaults({headers:{Authorization:"Basic "+d.auth}})}),this.http=b}return a.prototype.fetchPreviousQueries=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.http.fetch("qep/queryResults?limit="+a+"&skip="+b,{method:"get"}).then(function(a){return a.json()})["catch"](function(a){return a})},a.prototype.fetchNetworkId=function(a){return this.http.fetch("qep/networkId?queryName='"+a+"'",{method:"get"}).then(function(a){return a.json()})["catch"](function(a){return a})},a.prototype.fetchQuery=function(a,b,c){return this.http.fetch("qep/queryResult/"+a+"?timeoutSeconds="+b+"&afterVersion="+c,{method:"get"}).then(function(a){var b=a.url,c=a.statusText,d=a.status,e=a.ok;return console.log("fetchQuery: "+b+" - "+e+" - "+d+" - "+c),a.json()})["catch"](function(a){return a})},a.prototype.fetchStewardEmail=function(){return this.http.fetch("data?key=stewardEmail",{method:"get"}).then(function(a){return a.json()}).then(function(a){return a.indexOf('"')>0?a.split('"')[1]:a})["catch"](function(){return""})},e(a,[{key:"url",get:function(){var a=document.URL,b=":6443/shrine-metadata/";return a.substring(0,a.lastIndexOf(":"))+b}},{key:"auth",get:function(){var a=sessionStorage.getItem("shrine.auth");return sessionStorage.removeItem("shrine.auth"),a}}]),a}(),f.inject=[d],h=g)),a("QEPRepository",h)}}}),System.register("services/query-status.model.js",["aurelia-event-aggregator","repository/qep.repository","./shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i,j,k;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.QEPRepository},function(a){f=a.commands,g=a.notifications}],execute:function(){h=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a},a("QueryStatusModel",(j=i=function b(a,d,e){c(this,b);var g=function(b){return a.publish(e.shrine.queryReceived,b)},i=function(a){return new Promise(function(b,c){var d=a.results,e=a.dataVersion,f=a.query,g=function(a,b){return a.adapterNode.toUpperCase()<=b.adapterNode.toUpperCase()?-1:1},i=0===d.length?[]:[].concat(d.sort(g)),j=i.length>0&&i.filter(function(a){return"ERROR,COMPLETED,FINISHED".includes(a.status)}).length===i.lenth,k=h({},f,{complete:j});b({query:k,nodes:i,dataVersion:e})})},j=function(a){d.fetchQuery(a.networkId,a.timeoutSeconds,a.dataVersion).then(function(a){return i(a)})["catch"](function(a){return console.log("ERROR: "+a)}).then(function(a){return g(a)})},k=function(){a.subscribe(f.shrine.fetchQuery,j)};k()},i.inject=[d,e,g],k=j)),a("QueryStatusModel",k)}}}),System.register("services/shrine.messages.js",[],function(a,b){"use strict";var c,d;return{setters:[],execute:function(){a("notifications",c={i2b2:{tabMax:"notification.from.i2b2.tab.max",tabMin:"notification.from.i2b2.tab.min",viewSelected:"notification.from.i2b2.tab.selected",historyRefreshed:"notification.from.i2b2.history.refreshed",queryStarted:"notification.from.i2b2.query.started",messageReceived:"notification.from.i2b2.message.received",networkIdReceived:"notification.from.i2b2.networkId.receieved",exportQuery:"notification.from.i2b2.export.query",clearQuery:"notification.from.i2b2.clear.query"},shrine:{queriesReceived:"notification.from.shrine.queries.received",queryReceived:"notification.from.shrine.query.recieved",queryUnavailable:"notification.from.shrine.query.unavailable",queryAvailable:"notification.from.shrine.query.available"}}),a("notifications",c),a("commands",d={i2b2:{cloneQuery:"command.to.i2b2.clone.query",showError:"command.to.i2b2.show.error",flagQuery:"command.to.i2b2.flag.query",unflagQuery:"command.to.i2b2.unflag.query",renameQuery:"command.to.i2b2.rename.query"},shrine:{fetchQuery:"command.to.shrine.fetch.query",exportResult:"command.to.shrine.export.result"}}),a("commands",d);
+}}}),System.register("services/pub-sub.js",["aurelia-event-aggregator","./shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.commands,f=a.notifications}],execute:function(){a("PubSub",(h=g=function b(a,d,e){c(this,b),this.commands=d,this.notifications=e,this.publish=function(b,c){return a.publish(b,c)},this.subscribe=function(b,c){return a.subscribe(b,c)}},g.inject=[d,e,f],i=h)),a("PubSub",i)}}}),System.register("views/query-status/query-status.js",["aurelia-framework","services/query-status.model","services/pub-sub"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;return{setters:[function(a){h=a.customElement,i=a.observable},function(a){j=a.QueryStatusModel},function(a){k=a.PubSub}],execute:function(){l=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a},a("QueryStatus",(m=h("query-status"),s=m((r=q=function(a){function b(f){d(this,b);for(var g=arguments.length,h=Array(g>1?g-1:0),i=1;i<g;i++)h[i-1]=arguments[i];var j=e(this,a.call.apply(a,[this].concat(h)));return c(j,"status",p,j),v.set(j,{isDevEnv:document.location.href.includes("http://localhost:8000/"),exportAvailable:!1}),j}return f(b,a),b.prototype.statusChanged=function(a,b){return a.nodes&&a.nodes.length?(v.get(this).exportAvailable=!0,void this.publish(this.notifications.shrine.queryAvailable)):(v.get(this).exportAvailable=!1,void this.publish(this.notifications.shrine.queryUnavailable))},b.prototype.attached=function(){var a=this;this.subscribe(this.notifications.i2b2.queryStarted,function(b){a.status=w(),a.status.query.queryName=b}),this.subscribe(this.notifications.i2b2.networkIdReceived,function(b){var c=b.networkId,d=b.name,e=w(),f=e.nodes,g=d||e.query.queryName;a.status=a.status?l({},a.status,{nodes:f}):e,a.status.query=l({},a.status.query,{queryName:g,networkId:c}),a.publish(a.commands.shrine.fetchQuery,{networkId:c,timeoutSeconds:t,dataVersion:u})}),this.subscribe(this.notifications.i2b2.exportQuery,function(){a.publish(a.commands.shrine.exportResult,l({},a.status))}),this.subscribe(this.notifications.i2b2.clearQuery,function(){a.status=w()}),this.subscribe(this.notifications.shrine.queryReceived,function(b){var c=b.query,d=b.nodes,e=b.dataVersion,f=void 0===e?u:e,g=b.complete,h=b.query.networkId,i=t;if(h===a.status.query.networkId){var j=Number(new Date);a.status=l({},a.status,{query:c,nodes:d,updated:j}),g||a.publish(a.commands.shrine.fetchQuery,{networkId:h,dataVersion:f,timeoutSeconds:i})}}),v.get(this).isDevEnv&&this.publish(this.notifications.i2b2.networkIdReceived,{networkId:"2421519216383772161",name:"started query"})},b}(k),q.inject=[j],o=r,p=g(o.prototype,"status",[i],{enumerable:!0,initializer:null}),n=o))||n)),a("QueryStatus",s),t=15,u=-1,v=new WeakMap,w=function(a){return{query:{networkId:null,queryName:null,updated:null,complete:!1},nodes:null}}}}}),function(){var a=System.amdDefine;a("views/query-viewer/context-menu/context-menu.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><ul class="context-menu ${context.class || \'hide\'}" mouseleave.trigger="context.class=\'hide\'" css="top: ${context.y - 40}; left: ${context.x - 50};"><li if.bind="context.isCount"><a click.delegate="refreshHistory()" href="#"><i class="fa fa-bar-chart-o"></i>Breakdown</a></li><li click.delegate="cloneQuery(context.query.id)"><a href="#"><i class="fa fa-files-o"></i> Clone</a></li><li><a click.delegate="renameQuery(context.query.id)" href="#"><i class="fa fa-edit"></i> Rename</a></li><!--li><a click.delegate="flagQuery(context.query.id)" href="#"><i class="fa fa-flag"></i> Flag</a></li--><!--li><a click.delegate="unflagQuery(context.query.id)" href="#"><i class="fa fa-flag-o"></i> Unflag</a></li--></ul></template>'})}(),System.register("views/query-viewer/context-menu/context-menu.js",["aurelia-framework","aurelia-event-aggregator","common/shrine.messages"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l,m,n;return{setters:[function(a){f=a.bindable},function(a){g=a.EventAggregator},function(a){h=a.commands}],execute:function(){a("ContextMenu",(l=k=function b(a,c){var e=this;d(this,b),m.call(this),b.prototype.cloneQuery=function(b){a.publish(c.i2b2.cloneQuery,b),e.context["class"]="hide"},b.prototype.renameQuery=function(b){a.publish(c.i2b2.renameQuery,b),e.context["class"]="hide"},b.prototype.flagQuery=function(b){a.publish(c.i2b2.flagQuery,b),e.context["class"]="hide"},b.prototype.unflagQuery=function(b){a.publish(c.i2b2.unflagQuery,b),e.context["class"]="hide"}},k.inject=[g,h],m=function(){c(this,"context",j,this)},i=l,j=e(i.prototype,"context",[f],{enumerable:!0,initializer:null}),n=i)),a("ContextMenu",n)}}}),System.register("views/query-viewer/date.converter.js",["moment"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e;return{setters:[function(a){d=a["default"]}],execute:function(){a("DateValueConverter",e=function(){function a(){c(this,a)}return a.prototype.toView=function(a){return d(a).format("MM/DD/YYYY")},a}()),a("DateValueConverter",e)}}}),function(){var a=System.amdDefine;a("views/query-viewer/paginator/paginator.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700" rel="stylesheet" type="text/css"><div class="paginator"><ol class="btn-group"><li class="btn-group__item" click.delegate="pageIndex = index - 1"><i class="i-chevron-left"></i></li><li repeat.for="page of pages" class="btn-group__item" click.delegate="pageIndex = $index"><button class="btn btn--basic ${index === $index? \'current\' : \'\'}">${$index + 1}</button></li><li class="btn-group__item" click.delegate="pageIndex = index + 1"><i class="i-chevron-right"></i></li></ol></div></template>'})}(),System.register("views/query-viewer/paginator/paginator.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l;return{setters:[function(a){f=a.bindable}],execute:function(){g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),a("Paginator",(k=j=function(){function a(b){var e=this;d(this,a),c(this,"pages",i,this),a.prototype.init=function(){e.index=0,e.element=b},this.init()}return g(a,[{key:"pageIndex",set:function(a){var b=this.pages.length-1;this.index=a<0?0:a>b?b:a,this.element.dispatchEvent(new CustomEvent("paginator-click",{detail:{index:this.index},bubbles:!0,cancelable:!0}))}}]),a}(),j.inject=[Element],h=k,i=e(h.prototype,"pages",[f],{enumerable:!0,initializer:null}),l=h)),a("Paginator",l)}}}),function(){var a=System.amdDefine;a("views/query-viewer/query-status/query-status.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div class="tooltip"><span ref="tooltipContent" data-line1="Total: ${total}" data-line2="Available: ${finished}, Error: ${error}, Pending: ${pending}"><svg viewbox="0 0 35 35" class="query-status"><circle cx="18" cy="16" r="12" class="countdown__background"/><circle cx="18" cy="16" r="12" class="error__progress" css="stroke-dashoffset: ${errorOffset}"/><circle cx="18" cy="16" r="12" class="ready__progress" css="stroke-dashoffset: ${readyOffset}"/></svg></span></div></template>'})}(),System.register("views/query-viewer/query-status/query-status.js",["aurelia-framework","ramda"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i,j,k,l,m;return{setters:[function(a){f=a.bindable},function(a){g=a}],execute:function(){a("QueryStatus",(k=j=function(){function a(b){d(this,a),l.call(this),this.floor=b.floor}return a.prototype.attached=function(){var a=75,b=g.curry(function(a,b,c,d){return a(d/c*b)})(this.floor,a,this.status.total),c=this.status,d=b(c.finished),e=b(c.error);this.readyOffset=100-d,this.errorOffset=this.readyOffset-e,this.finished=c.finished,this.error=c.error,this.pending=c.total-(c.finished+c.error),this.total=c.total},a}(),j.inject=[Math],l=function(){c(this,"status",i,this)},h=k,i=e(h.prototype,"status",[f],{enumerable:!0,initializer:null}),m=h)),a("QueryStatus",m)}}}),System.register("views/query-viewer/query-viewer.config.js",[],function(a,b){"use strict";var c;return{setters:[],execute:function(){a("QueryViewerConfig",c={maxNodesPerScreen:10,maxQueriesPerScroll:40}),a("QueryViewerConfig",c)}}}),function(){var a=System.amdDefine;a("views/query-viewer/query-viewer.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><require from="views/query-viewer/result-style.converter"></require><require from="views/query-viewer/result-value.converter"></require><require from="views/query-viewer/box-style.converter"></require><require from="views/query-viewer/context-menu/context-menu"></require><require from="views/query-viewer/loading-bar/loading-bar"></require><require from="views/query-viewer/paginator/paginator"></require><require from="views/query-viewer/date.converter"></require><require from="views/query-viewer/query-status/query-status"></require><span class="query-viewer"><loading-bar status.bind="\'Loading...\'" if.bind="showLoader"></loading-bar><div style="width: 100%; text-align: center"><paginator pages.bind="pages" paginator-click.delegate="updatePage($event)" if.bind="pages.length > 1"></paginator></div><div class="flex-table"><div class="flex-table-row node-header"><div class="flex-table-item"></div><div class="flex-table-item"></div><div class="flex-table-item"></div><div class="flex-table-item"></div><div repeat.for="node of page.nodes" class="flex-table-item">${node}</div></div></div><div class="flex-table query-viewer ${vertStyle}" scroll.trigger="onScroll($event)"><div><!-- @todo: create running query component --><div class="flex-table-row" if.bind="runningQueryName"><div class="flex-table-item"></div><div class="flex-table-item">${runningQueryName}</div><div class="flex-table-item"></div><div class="flex-table-item"></div><div class="flex-table-item" repeat.for="node of page.nodes" style="color: #00FF00">RUNNING</div></div><div repeat.for="result of page.results" class="flex-table-row"><div class="flex-table-item"><i if.bind="result.flagged" class="fa fa-flag"></i> <i if.bind="!result.flagged" class="fa fa-flag-o"></i></div><div class="flex-table-item" click.delegate="context = getContext($event, result)"><div class="ellipses">${result.name}</div></div><div class="flex-table-item" click.delegate="context = getContext($event, result)">${result.date | date}</div><div class="flex-table-item"><query-status status.bind="result.status"></query-status></div><div repeat.for="nodeResult of result.nodeResults" class="flex-table-item" click.delegate="context = getContext($event, result)"><a if.bind="nodeResult.status === \'ERROR\'" style="text-decoration: underline; color:red" click.delegate="publishError($event, nodeResult)">${nodeResult.status} </a>${nodeResult}</div></div><div class="flex-table-row" if.bind="loadingInfiniteScroll"><div style="width: 100%; text-align: center; font-size: 1.5rem; background:rgba(217, 236, 240, .05); text-align:center; color: rgba(0, 0, 0, .20)"><i class="fa fa-spinner fa-spin" style="color: inherit"></i> Loading...</div></div></div></div><!-- context menu --><context-menu context.bind="context"></context-menu></span></template>'})}(),System.register("views/query-viewer/scroll.service.js",["ramda","common/container"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h;return{setters:[function(a){d=a},function(a){e=a.Container}],execute:function(){a("ScrollService",(g=f=function b(){c(this,b)},f.either=d.curry(function(a,b,c){return e.of(d.prop(a,c)||b)}),f.target=function(a,b){return h.either("target",b,b).chain(function(b){return h.either(a,0,b)})},f.clientHeight=function(a){return h.target("clientHeight",a)},f.scrollHeight=function(a){return h.target("scrollHeight",a)},f.scrollTop=function(a){return h.target("scrollTop",a)},f.userScroll=function(a){return h.clientHeight(a).map(function(b){return b+h.scrollTop(a).value})},f.scrollRatio=function(a){return h.userScroll(a).map(function(b){return b/h.scrollHeight(a).value})},h=g)),a("ScrollService",h)}}}),System.register("views/query-viewer/query-viewer.js",["aurelia-event-aggregator","common/queries.model","./scroll.service","common/shrine.messages"],function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d,e,f,g,h,i,j,k;return{setters:[function(a){d=a.EventAggregator},function(a){e=a.QueriesModel},function(a){f=a.ScrollService},function(a){g=a.notifications,h=a.commands}],execute:function(){a("QueryViewer",(j=i=function(){function a(b,d,e,g){var h=this;c(this,a),a.prototype.init=function(){h.pageIndex=0,h.showLoader=!0,h.vertStyle="v-min",h.runningQueryName=null},this.init(),a.prototype.setToPage=function(a){h.pageIndex=a,h.page=h.pages[h.pageIndex]};var i=function(a){return 1===f.scrollRatio(a).value};a.prototype.onScroll=function(a){i(a)&&!h.loadingInfiniteScroll&&d.moreToLoad()&&(h.loadingInfiniteScroll=!0,d.load())},a.prototype.publishError=function(a,c){return a.stopPropagation(),b.publish(g.i2b2.showError,c)},a.prototype.getContext=function(a,b,c){return{x:a.pageX,y:a.pageY,"class":"show",query:b,isCount:void 0!==c,count:c}},b.subscribe(e.i2b2.historyRefreshed,function(){return d.load()}),b.subscribe(e.i2b2.tabMax,function(){return h.vertStyle="v-full"}),b.subscribe(e.i2b2.tabMin,function(){return h.vertStyle="v-min"}),b.subscribe(e.i2b2.queryStarted,function(a){return h.runningQueryName=a}),b.subscribe(e.shrine.queriesReceived,function(a){h.pages=a,h.page=h.pages[0],h.runningQueryName=null,h.loadingInfiniteScroll=!1,h.showLoader=!1})}return a.prototype.updatePage=function(a){a.stopPropagation();var b=event.detail.index;this.page=this.pages[b]},a}(),i.inject=[d,e,g,h],k=j)),a("QueryViewer",k)}}}),function(){var a=System.amdDefine;a("views/query-viewer/result-row/loading-bar/loading-bar.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return'<template><div class="loader"><h1>${status}</h1><div class="slider"><div class="line"></div><div class="break dot1"></div><div class="break dot2"></div><div class="break dot3"></div></div></div></template>'})}(),System.register("views/query-viewer/result-row/loading-bar/loading-bar.js",["aurelia-framework"],function(a,b){"use strict";function c(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}var f,g,h,i;return{setters:[function(a){f=a.bindable}],execute:function(){a("LoadingBar",(g=function b(){d(this,b),c(this,"status",h,this)},h=e(g.prototype,"status",[f],{enumerable:!0,initializer:null}),i=g)),a("LoadingBar",i)}}}),function(){var a=System.amdDefine;a("views/query-viewer/result-row/loading-bar/row-loader.html!github:systemjs/plugin-text@0.0.8.js",[],function(){return""})}();
\ No newline at end of file
diff --git a/shrine-webclient/src/main/js/client/js-shrine/export/dist/aurelia.js b/shrine-webclient/src/main/js/client/js-shrine/export/dist/aurelia.js
index 38e8587e8..78c237230 100644
--- a/shrine-webclient/src/main/js/client/js-shrine/export/dist/aurelia.js
+++ b/shrine-webclient/src/main/js/client/js-shrine/export/dist/aurelia.js
@@ -1,19 +1,19 @@
-"bundle";System.registerDynamic("github:github/fetch@1.0.0/fetch.js",[],!1,function(a,b,c){var d=System.get("@@global-helpers").prepareGlobal(c.id,null,null);return function(a){!function(a){"use strict";function b(a){if("string"!=typeof a&&(a=String(a)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(a))throw new TypeError("Invalid character in header field name");return a.toLowerCase()}function c(a){return"string"!=typeof a&&(a=String(a)),a}function d(a){var b={next:function(){var b=a.shift();return{done:void 0===b,value:b}}};return p.iterable&&(b[Symbol.iterator]=function(){return b}),b}function e(a){this.map={},a instanceof e?a.forEach(function(a,b){this.append(b,a)},this):a&&Object.getOwnPropertyNames(a).forEach(function(b){this.append(b,a[b])},this)}function f(a){return a.bodyUsed?Promise.reject(new TypeError("Already read")):void(a.bodyUsed=!0)}function g(a){return new Promise(function(b,c){a.onload=function(){b(a.result)},a.onerror=function(){c(a.error)}})}function h(a){var b=new FileReader;return b.readAsArrayBuffer(a),g(b)}function i(a){var b=new FileReader;return b.readAsText(a),g(b)}function j(){return this.bodyUsed=!1,this._initBody=function(a){if(this._bodyInit=a,"string"==typeof a)this._bodyText=a;else if(p.blob&&Blob.prototype.isPrototypeOf(a))this._bodyBlob=a;else if(p.formData&&FormData.prototype.isPrototypeOf(a))this._bodyFormData=a;else if(p.searchParams&&URLSearchParams.prototype.isPrototypeOf(a))this._bodyText=a.toString();else if(a){if(!p.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(a))throw new Error("unsupported BodyInit type")}else this._bodyText="";this.headers.get("content-type")||("string"==typeof a?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):p.searchParams&&URLSearchParams.prototype.isPrototypeOf(a)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},p.blob?(this.blob=function(){var a=f(this);if(a)return a;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this.blob().then(h)},this.text=function(){var a=f(this);if(a)return a;if(this._bodyBlob)return i(this._bodyBlob);if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)}):this.text=function(){var a=f(this);return a?a:Promise.resolve(this._bodyText)},p.formData&&(this.formData=function(){return this.text().then(m)}),this.json=function(){return this.text().then(JSON.parse)},this}function k(a){var b=a.toUpperCase();return q.indexOf(b)>-1?b:a}function l(a,b){b=b||{};var c=b.body;if(l.prototype.isPrototypeOf(a)){if(a.bodyUsed)throw new TypeError("Already read");this.url=a.url,this.credentials=a.credentials,b.headers||(this.headers=new e(a.headers)),this.method=a.method,this.mode=a.mode,c||(c=a._bodyInit,a.bodyUsed=!0)}else this.url=a;if(this.credentials=b.credentials||this.credentials||"omit",!b.headers&&this.headers||(this.headers=new e(b.headers)),this.method=k(b.method||this.method||"GET"),this.mode=b.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&c)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(c)}function m(a){var b=new FormData;return a.trim().split("&").forEach(function(a){if(a){var c=a.split("="),d=c.shift().replace(/\+/g," "),e=c.join("=").replace(/\+/g," ");b.append(decodeURIComponent(d),decodeURIComponent(e))}}),b}function n(a){var b=new e,c=(a.getAllResponseHeaders()||"").trim().split("\n");return c.forEach(function(a){var c=a.trim().split(":"),d=c.shift().trim(),e=c.join(":").trim();b.append(d,e)}),b}function o(a,b){b||(b={}),this.type="default",this.status=b.status,this.ok=this.status>=200&&this.status<300,this.statusText=b.statusText,this.headers=b.headers instanceof e?b.headers:new e(b.headers),this.url=b.url||"",this._initBody(a)}if(!a.fetch){var p={searchParams:"URLSearchParams"in a,iterable:"Symbol"in a&&"iterator"in Symbol,blob:"FileReader"in a&&"Blob"in a&&function(){try{return new Blob,!0}catch(a){return!1}}(),formData:"FormData"in a,arrayBuffer:"ArrayBuffer"in a};e.prototype.append=function(a,d){a=b(a),d=c(d);var e=this.map[a];e||(e=[],this.map[a]=e),e.push(d)},e.prototype["delete"]=function(a){delete this.map[b(a)]},e.prototype.get=function(a){var c=this.map[b(a)];return c?c[0]:null},e.prototype.getAll=function(a){return this.map[b(a)]||[]},e.prototype.has=function(a){return this.map.hasOwnProperty(b(a))},e.prototype.set=function(a,d){this.map[b(a)]=[c(d)]},e.prototype.forEach=function(a,b){Object.getOwnPropertyNames(this.map).forEach(function(c){this.map[c].forEach(function(d){a.call(b,d,c,this)},this)},this)},e.prototype.keys=function(){var a=[];return this.forEach(function(b,c){a.push(c)}),d(a)},e.prototype.values=function(){var a=[];return this.forEach(function(b){a.push(b)}),d(a)},e.prototype.entries=function(){var a=[];return this.forEach(function(b,c){a.push([c,b])}),d(a)},p.iterable&&(e.prototype[Symbol.iterator]=e.prototype.entries);var q=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];l.prototype.clone=function(){return new l(this)},j.call(l.prototype),j.call(o.prototype),o.prototype.clone=function(){return new o(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new e(this.headers),url:this.url})},o.error=function(){var a=new o(null,{status:0,statusText:""});return a.type="error",a};var r=[301,302,303,307,308];o.redirect=function(a,b){if(r.indexOf(b)===-1)throw new RangeError("Invalid status code");return new o(null,{status:b,headers:{location:a}})},a.Headers=e,a.Request=l,a.Response=o,a.fetch=function(a,b){return new Promise(function(c,d){function e(){return"responseURL"in g?g.responseURL:/^X-Request-URL:/m.test(g.getAllResponseHeaders())?g.getResponseHeader("X-Request-URL"):void 0}var f;f=l.prototype.isPrototypeOf(a)&&!b?a:new l(a,b);var g=new XMLHttpRequest;g.onload=function(){var a={status:g.status,statusText:g.statusText,headers:n(g),url:e()},b="response"in g?g.response:g.responseText;c(new o(b,a))},g.onerror=function(){d(new TypeError("Network request failed"))},g.ontimeout=function(){d(new TypeError("Network request failed"))},g.open(f.method,f.url,!0),"include"===f.credentials&&(g.withCredentials=!0),"responseType"in g&&p.blob&&(g.responseType="blob"),f.headers.forEach(function(a,b){g.setRequestHeader(b,a)}),g.send("undefined"==typeof f._bodyInit?null:f._bodyInit)})},a.fetch.polyfill=!0}}("undefined"!=typeof self?self:this)}(this),d()}),System.registerDynamic("github:github/fetch@1.0.0.js",["github:github/fetch@1.0.0/fetch.js"],!0,function(a,b,c){this||self;c.exports=a("github:github/fetch@1.0.0/fetch.js")}),function(){var a=System.amdDefine;a("npm:aurelia-pal-browser@1.0.0/aurelia-pal-browser.js",["exports","aurelia-pal"],function(a,b){"use strict";function c(){function a(){}a.name||Object.defineProperty(Function.prototype,"name",{get:function(){var a=this.toString().match(/^\s*function\s*(\S*)\s*\(/)[1];return Object.defineProperty(this,"name",{value:a}),a}})}function d(){if("classList"in document.createElement("_")&&(!document.createElementNS||"classList"in document.createElementNS("http://www.w3.org/2000/svg","g"))){var a=document.createElement("_");if(a.classList.add("c1","c2"),!a.classList.contains("c2")){var b=function(a){var b=DOMTokenList.prototype[a];DOMTokenList.prototype[a]=function(a){for(var c=0,d=arguments.length;c<d;++c)a=arguments[c],b.call(this,a)}};b("add"),b("remove")}a.classList.toggle("c3",!1),a.classList.contains("c3")&&!function(){var a=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(b,c){return 1 in arguments&&!this.contains(b)==!c?c:a.call(this,b)}}(),a=null}else!function(){var a="prototype",b=String.prototype.trim,c=Array.prototype.indexOf,d=[],e=function(a,b){this.name=a,this.code=DOMException[a],this.message=b},f=function(a,b){if(""===b)throw new e("SYNTAX_ERR","An invalid or illegal string was specified");if(/\s/.test(b))throw new e("INVALID_CHARACTER_ERR","String contains an invalid character");return c.call(a,b)},g=function(a){for(var c=b.call(a.getAttribute("class")||""),e=c?c.split(/\s+/):d,f=0,g=e.length;f<g;++f)this.push(e[f]);this._updateClassName=function(){a.setAttribute("class",this.toString())}},h=g[a]=[];e[a]=Error[a],h.item=function(a){return this[a]||null},h.contains=function(a){return a+="",f(this,a)!==-1},h.add=function(){var a=arguments,b=0,c=a.length,d=void 0,e=!1;do d=a[b]+"",f(this,d)===-1&&(this.push(d),e=!0);while(++b<c);e&&this._updateClassName()},h.remove=function(){var a=arguments,b=0,c=a.length,d=void 0,e=!1,g=void 0;do for(d=a[b]+"",g=f(this,d);g!==-1;)this.splice(g,1),e=!0,g=f(this,d);while(++b<c);e&&this._updateClassName()},h.toggle=function(a,b){a+="";var c=this.contains(a),d=c?b!==!0&&"remove":b!==!1&&"add";return d&&this[d](a),b===!0||b===!1?b:!c},h.toString=function(){return this.join(" ")},Object.defineProperty(Element.prototype,"classList",{get:function(){return new g(this)},enumerable:!0,configurable:!0})}()}function e(){"performance"in window==!1&&(window.performance={}),"now"in window.performance==!1&&!function(){var a=Date.now();performance.timing&&performance.timing.navigationStart&&(a=performance.timing.navigationStart),window.performance.now=function(){return Date.now()-a}}(),k.performance=window.performance}function f(){if(!window.CustomEvent||"function"!=typeof window.CustomEvent){var a=function(a,b){b=b||{bubbles:!1,cancelable:!1,detail:void 0};var c=document.createEvent("CustomEvent");return c.initCustomEvent(a,b.bubbles,b.cancelable,b.detail),c};a.prototype=window.Event.prototype,window.CustomEvent=a}}function g(){if(Element&&!Element.prototype.matches){var a=Element.prototype;a.matches=a.matchesSelector||a.mozMatchesSelector||a.msMatchesSelector||a.oMatchesSelector||a.webkitMatchesSelector}}function h(){function a(a){return"template"===a.tagName&&"http://www.w3.org/2000/svg"===a.namespaceURI}function b(a){var b=a.ownerDocument.createElement("template"),d=a.attributes,e=d.length,f=void 0;for(a.parentNode.insertBefore(b,a);e-- >0;)f=d[e],b.setAttribute(f.name,f.value),a.removeAttribute(f.name);return a.parentNode.removeChild(a),c(b)}function c(a){for(var b=a.content=document.createDocumentFragment(),c=void 0;c=a.firstChild;)b.appendChild(c);return a}function d(d){for(var e=c(d).content,f=e.querySelectorAll("template"),g=0,h=f.length;g<h;++g){var i=f[g];a(i)?b(i):c(i)}return d}l.htmlTemplateElement?l.ensureHTMLTemplateElement=function(a){return a}:l.ensureHTMLTemplateElement=d}function i(){o||(o=!0,f(),c(),h(),g(),d(),e(),(0,b.initializePAL)(function(a,b,c){Object.assign(a,k),Object.assign(b,l),Object.assign(c,n),function(a){a.console=a.console||{};for(var b=a.console,c=void 0,d=void 0,e={},f=function(){},g="memory".split(","),h="assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn".split(",");c=g.pop();)b[c]||(b[c]=e);for(;d=h.pop();)b[d]||(b[d]=f)}(a.global),a.global.console&&"object"===j(console.log)&&["log","info","warn","error","assert","dir","clear","profile","profileEnd"].forEach(function(a){console[a]=this.bind(console[a],console)},Function.prototype.call),Object.defineProperty(c,"title",{get:function(){return document.title},set:function(a){document.title=a}}),Object.defineProperty(c,"activeElement",{get:function(){return document.activeElement}}),Object.defineProperty(a,"XMLHttpRequest",{get:function(){return a.global.XMLHttpRequest}})}))}Object.defineProperty(a,"__esModule",{value:!0}),a._DOM=a._FEATURE=a._PLATFORM=void 0,a._ensureFunctionName=c,a._ensureClassList=d,a._ensurePerformance=e,a._ensureCustomEvent=f,a._ensureElementMatches=g,a._ensureHTMLTemplateElement=h,a.initialize=i;var j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},k=a._PLATFORM={location:window.location,history:window.history,addEventListener:function(a,b,c){this.global.addEventListener(a,b,c)},removeEventListener:function(a,b,c){this.global.removeEventListener(a,b,c)},performance:window.performance,requestAnimationFrame:function(a){return this.global.requestAnimationFrame(a)}},l=a._FEATURE={};l.shadowDOM=function(){return!!HTMLElement.prototype.attachShadow}(),l.scopedCSS=function(){return"scoped"in document.createElement("style")}(),l.htmlTemplateElement=function(){return"content"in document.createElement("template")}(),l.mutationObserver=function(){return!(!window.MutationObserver&&!window.WebKitMutationObserver)}();var m=window.ShadowDOMPolyfill||null,n=a._DOM={Element:Element,SVGElement:SVGElement,boundary:"aurelia-dom-boundary",addEventListener:function(a,b,c){document.addEventListener(a,b,c)},removeEventListener:function(a,b,c){document.removeEventListener(a,b,c)},adoptNode:function(a){return document.adoptNode(a,!0)},createElement:function(a){return document.createElement(a)},createTextNode:function(a){return document.createTextNode(a)},createComment:function(a){return document.createComment(a)},createDocumentFragment:function(){return document.createDocumentFragment()},createMutationObserver:function(a){return new(window.MutationObserver||window.WebKitMutationObserver)(a)},createCustomEvent:function(a,b){return new window.CustomEvent(a,b)},dispatchEvent:function(a){document.dispatchEvent(a)},getComputedStyle:function(a){return window.getComputedStyle(a)},getElementById:function(a){return document.getElementById(a)},querySelectorAll:function(a){return document.querySelectorAll(a)},nextElementSibling:function(a){if(a.nextElementSibling)return a.nextElementSibling;do a=a.nextSibling;while(a&&1!==a.nodeType);return a},createTemplateFromMarkup:function(a){var b=document.createElement("div");b.innerHTML=a;var c=b.firstElementChild;if(!c||"TEMPLATE"!==c.nodeName)throw new Error("Template markup must be wrapped in a <template> element e.g. <template> <!-- markup here --> </template>");return l.ensureHTMLTemplateElement(c)},appendNode:function(a,b){(b||document.body).appendChild(a)},replaceNode:function(a,b,c){b.parentNode?b.parentNode.replaceChild(a,b):null!==m?m.unwrap(c).replaceChild(m.unwrap(a),m.unwrap(b)):c.replaceChild(a,b)},removeNode:function(a,b){a.parentNode?a.parentNode.removeChild(a):b&&(null!==m?m.unwrap(b).removeChild(m.unwrap(a)):b.removeChild(a))},injectStyles:function(a,b,c){var d=document.createElement("style");return d.innerHTML=a,d.type="text/css",b=b||document.head,c&&b.childNodes.length>0?b.insertBefore(d,b.childNodes[0]):b.appendChild(d),d}},o=!1})}(),function(){var a=System.amdDefine;a("npm:aurelia-pal-browser@1.0.0.js",["npm:aurelia-pal-browser@1.0.0/aurelia-pal-browser"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-polyfills@1.1.1/aurelia-polyfills.js",["aurelia-pal"],function(a){"use strict";var b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a};!function(b,c){if(!(c in b)){var d,e=a.PLATFORM.global,f=0,g=""+Math.random(),h="__symbol:",i=h.length,j="__symbol@@"+g,k="defineProperty",l="defineProperties",m="getOwnPropertyNames",n="getOwnPropertyDescriptor",o="propertyIsEnumerable",p=b[m],q=b[n],r=b.create,s=b.keys,t=b[k],u=b[l],v=q(b,m),w=b.prototype,x=w.hasOwnProperty,y=w[o],z=w.toString,A=(Array.prototype.indexOf||function(a){for(var b=this.length;b--&&this[b]!==a;);return b},function(a,b,c){x.call(a,j)||t(a,j,{enumerable:!1,configurable:!1,writable:!1,value:{}}),a[j]["@@"+b]=c}),B=function(a,b){var c=r(a);return p(b).forEach(function(a){G.call(b,a)&&M(c,a,b[a])}),c},C=function(a){var b=r(a);return b.enumerable=!1,b},D=function(){},E=function(a){return a!=j&&!x.call(J,a)},F=function(a){return a!=j&&x.call(J,a)},G=function(a){var b=""+a;return F(b)?x.call(this,b)&&this[j]["@@"+b]:y.call(this,a)},H=function(a){var c={enumerable:!1,configurable:!0,get:D,set:function(b){d(this,a,{enumerable:!1,configurable:!0,writable:!0,value:b}),A(this,a,!0)}};return t(w,a,c),J[a]=t(b(a),"constructor",K)},I=function(a){if(this&&this!==e)throw new TypeError("Symbol is not a constructor");return H(h.concat(a||"",g,++f))},J=r(null),K={value:I},L=function(a){return J[a]},M=function(a,b,c){var e=""+b;return F(e)?(d(a,e,c.enumerable?C(c):c),A(a,e,!!c.enumerable)):t(a,b,c),a},N=function(a){var c=z.call(a);return a="[object String]"===c?a.split(""):b(a),p(a).filter(F).map(L)};v.value=M,t(b,k,v),v.value=N,t(b,c,v),v.value=function(a){return p(a).filter(E)},t(b,m,v),v.value=function(a,b){var c=N(b);return c.length?s(b).concat(c).forEach(function(c){G.call(b,c)&&M(a,c,b[c])}):u(a,b),a},t(b,l,v),v.value=G,t(w,o,v),v.value=I,t(e,"Symbol",v),v.value=function(a){var b=h.concat(h,a,g);return b in w?J[b]:H(b)},t(I,"for",v),v.value=function(a){return x.call(J,a)?a.slice(2*i,-g.length):void 0},t(I,"keyFor",v),v.value=function(a,b){var c=q(a,b);return c&&F(b)&&(c.enumerable=G.call(a,b)),c},t(b,n,v),v.value=function(a,b){return 1===arguments.length?r(a):B(a,b)},t(b,"create",v),v.value=function(){var a=z.call(this);return"[object String]"===a&&F(this)?"[object Symbol]":a},t(w,"toString",v);try{d=r(t({},h,{get:function(){return t(this,h,{value:!1})[h]}}))[h]||t}catch(O){d=function(a,b,c){var d=q(w,b);delete w[b],t(a,b,c),t(w,b,d)}}}}(Object,"getOwnPropertySymbols"),function(a,b){var c,d=a.defineProperty,e=a.prototype,f=e.toString,g="toStringTag";["iterator","match","replace","search","split","hasInstance","isConcatSpreadable","unscopables","species","toPrimitive",g].forEach(function(b){if(!(b in Symbol))switch(d(Symbol,b,{value:Symbol(b)}),b){case g:c=a.getOwnPropertyDescriptor(e,"toString"),c.value=function(){var a=f.call(this),b="undefined"==typeof this||null===this?void 0:this[Symbol.toStringTag];return"undefined"==typeof b?a:"[object "+b+"]"},d(e,"toString",c)}})}(Object,Symbol),function(a,b,c){function d(){return this}b[a]||(b[a]=function(){var b=0,c=this,e={next:function(){var a=c.length<=b;return a?{done:a}:{done:a,value:c[b++]}}};return e[a]=d,e}),c[a]||(c[a]=function(){var b=String.fromCodePoint,c=this,e=0,f=c.length,g={next:function(){var a=f<=e,d=a?"":b(c.codePointAt(e));return e+=d.length,a?{done:a}:{done:a,value:d}}};return g[a]=d,g})}(Symbol.iterator,Array.prototype,String.prototype),Number.isNaN=Number.isNaN||function(a){return a!==a},Number.isFinite=Number.isFinite||function(a){return"number"==typeof a&&isFinite(a)},String.prototype.endsWith&&!function(){try{return!"ab".endsWith("a",1)}catch(a){return!0}}()||(String.prototype.endsWith=function(a,b){var c=this.toString();("number"!=typeof b||!isFinite(b)||Math.floor(b)!==b||b>c.length)&&(b=c.length),b-=a.length;var d=c.indexOf(a,b);return d!==-1&&d===b}),String.prototype.startsWith&&!function(){try{return!"ab".startsWith("b",1)}catch(a){return!0}}()||(String.prototype.startsWith=function(a,b){return b=b||0,this.substr(b,a.length)===a}),Array.from||(Array.from=function(){var a=function(a){return isNaN(a=+a)?0:(a>0?Math.floor:Math.ceil)(a)},b=function(b){return b>0?Math.min(a(b),9007199254740991):0},c=function(a,b,c,d){try{return b(c,d)}catch(e){throw"function"==typeof a["return"]&&a["return"](),e}};return function(a){var d,e,f,g,h=Object(a),i="function"==typeof this?this:Array,j=arguments.length,k=j>1?arguments[1]:void 0,l=void 0!==k,m=0,n=h[Symbol.iterator];if(l&&(k=k.bind(j>2?arguments[2]:void 0)),void 0==n||Array.isArray(a))for(d=b(h.length),e=new i(d);d>m;m++)e[m]=l?k(h[m],m):h[m];else for(g=n.call(h),e=new i;!(f=g.next()).done;m++)e[m]=l?c(g,k,f.value,m):f.value;return e.length=m,e}}()),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{configurable:!0,writable:!0,enumerable:!1,value:function f(a){if(null===this)throw new TypeError("Array.prototype.find called on null or undefined");if("function"!=typeof a)throw new TypeError("predicate must be a function");for(var f,b=Object(this),c=b.length>>>0,d=arguments[1],e=0;e<c;e++)if(f=b[e],a.call(d,f,e,b))return f}}),Array.prototype.findIndex||Object.defineProperty(Array.prototype,"findIndex",{configurable:!0,writable:!0,enumerable:!1,value:function g(a){if(null===this)throw new TypeError("Array.prototype.findIndex called on null or undefined");if("function"!=typeof a)throw new TypeError("predicate must be a function");for(var g,b=Object(this),c=b.length>>>0,d=arguments[1],e=0;e<c;e++)if(g=b[e],a.call(d,g,e,b))return e;return-1}}),Array.prototype.includes||Object.defineProperty(Array.prototype,"includes",{configurable:!0,writable:!0,enumerable:!1,value:function(a){var b=Object(this),c=parseInt(b.length)||0;if(0===c)return!1;var d,e=parseInt(arguments[1])||0;e>=0?d=e:(d=c+e,d<0&&(d=0));for(var f;d<c;){if(f=b[d],a===f||a!==a&&f!==f)return!0;d++}return!1}}),function(){var a=!1;try{var b=Object.keys("a");a=1!==b.length||"0"!==b[0]}catch(c){a=!0}a&&(Object.keys=function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=c.length;return function(e){if(void 0===e||null===e)throw TypeError("Cannot convert undefined or null to object");e=Object(e);var f,g,h=[];for(f in e)a.call(e,f)&&h.push(f);if(b)for(g=0;g<d;g++)a.call(e,c[g])&&h.push(c[g]);return h}}())}(),function(a){"assign"in a||a.defineProperty(a,"assign",{configurable:!0,writable:!0,value:function(){var b=a.getOwnPropertySymbols,c=a.propertyIsEnumerable,d=b?function(a){return b(a).filter(c,a)}:function(){return Array.prototype};return function(c){function e(a){c[a]=h[a]}!b||c instanceof a||console.warn("problematic Symbols",c);for(var f=1,g=arguments.length;f<g;++f){var h=arguments[f];null!==h&&void 0!==h&&a.keys(h).concat(d(h)).forEach(e)}return c}}()})}(Object),function(a){function b(a,b){function d(a){return this&&this.constructor===d?(this._keys=[],this._values=[],this._itp=[],this.objectOnly=b,void(a&&c.call(this,a))):new d(a)}return b||t(a,"size",{get:q}),a.constructor=d,d.prototype=a,d}function c(a){this.add?a.forEach(this.add,this):a.forEach(function(a){this.set(a[0],a[1])},this)}function d(a){return this.has(a)&&(this._keys.splice(s,1),this._values.splice(s,1),this._itp.forEach(function(a){s<a[0]&&a[0]--})),-1<s}function e(a){return this.has(a)?this._values[s]:void 0}function f(a,b){if(this.objectOnly&&b!==Object(b))throw new TypeError("Invalid value used as weak collection key");if(b!=b||0===b)for(s=a.length;s--&&!u(a[s],b););else s=a.indexOf(b);return-1<s}function g(a){return f.call(this,this._values,a)}function h(a){return f.call(this,this._keys,a)}function i(a,b){return this.has(a)?this._values[s]=b:this._values[this._keys.push(a)-1]=b,this}function j(a){return this.has(a)||this._values.push(a),this}function k(){(this._keys||0).length=this._values.length=0}function l(){return p(this._itp,this._keys)}function m(){return p(this._itp,this._values)}function n(){return p(this._itp,this._keys,this._values)}function o(){return p(this._itp,this._values,this._values)}function p(a,b,c){var d,e=[0],f=!1;return a.push(e),d={},d[Symbol.iterator]=function(){return this},d.next=function(){var d,g=e[0];return!f&&g<b.length?(d=c?[b[g],c[g]]:b[g],e[0]++):(f=!0,a.splice(a.indexOf(e),1)),{done:f,value:d}},d}function q(){return this._values.length}function r(a,b){for(var c=this.entries();;){var d=c.next();if(d.done)break;a.call(b,d.value[1],d.value[0],this)}}var s,t=Object.defineProperty,u=function(a,b){return a===b||a!==a&&b!==b};if("undefined"==typeof WeakMap&&(a.WeakMap=b({"delete":d,clear:k,get:e,has:h,set:i},!0)),"undefined"==typeof Map||"function"!=typeof(new Map).values||!(new Map).values().next){var v;a.Map=b((v={"delete":d,has:h,get:e,set:i,keys:l,values:m,entries:n,forEach:r,clear:k},v[Symbol.iterator]=n,v))}if("undefined"==typeof Set||"function"!=typeof(new Set).values||!(new Set).values().next){var w;a.Set=b((w={has:g,add:j,"delete":d,clear:k,keys:m,values:m,entries:o,forEach:r},w[Symbol.iterator]=m,w))}"undefined"==typeof WeakSet&&(a.WeakSet=b({"delete":d,add:j,clear:k,has:g},!0))}(a.PLATFORM.global);var c=Object.freeze({}),d="__metadata__",e=Function.prototype.bind;"undefined"==typeof a.PLATFORM.global.Reflect&&(a.PLATFORM.global.Reflect={}),"function"!=typeof Reflect.getOwnMetadata&&(Reflect.getOwnMetadata=function(a,b,e){if(b.hasOwnProperty(d))return(b[d][e]||c)[a]}),"function"!=typeof Reflect.defineMetadata&&(Reflect.defineMetadata=function(a,b,c,e){var f=c.hasOwnProperty(d)?c[d]:c[d]={},g=f[e]||(f[e]={});g[a]=b}),"function"!=typeof Reflect.metadata&&(Reflect.metadata=function(a,b){return function(c,d){Reflect.defineMetadata(a,b,c,d)}}),"function"!=typeof Reflect.defineProperty&&(Reflect.defineProperty=function(a,c,d){if("object"===("undefined"==typeof a?"undefined":b(a))?null===a:"function"!=typeof a)throw new TypeError("Reflect.defineProperty called on non-object");try{return Object.defineProperty(a,c,d),!0}catch(e){return!1}}),"function"!=typeof Reflect.construct&&(Reflect.construct=function(a,b){if(b)switch(b.length){case 0:return new a;case 1:return new a(b[0]);case 2:return new a(b[0],b[1]);case 3:return new a(b[0],b[1],b[2]);case 4:return new a(b[0],b[1],b[2],b[3])}var c=[null];return c.push.apply(c,b),new(e.apply(a,c))}),"function"!=typeof Reflect.ownKeys&&(Reflect.ownKeys=function(a){return Object.getOwnPropertyNames(a).concat(Object.getOwnPropertySymbols(a))})})}(),function(){var a=System.amdDefine;a("npm:aurelia-polyfills@1.1.1.js",["npm:aurelia-polyfills@1.1.1/aurelia-polyfills"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-bootstrapper@1.0.0/aurelia-bootstrapper.js",["exports","aurelia-pal","aurelia-pal-browser","aurelia-polyfills"],function(a,b,c){"use strict";function d(a){return new Promise(function(b,c){m?b(a(m)):l.push(function(){try{b(a(m))}catch(d){c(d)}})})}function e(a){return new Promise(function(b,c){function d(){a.document.removeEventListener("DOMContentLoaded",d),a.removeEventListener("load",d),b(a.document)}"complete"===a.document.readyState?b(a.document):(a.document.addEventListener("DOMContentLoaded",d),a.addEventListener("load",d))})}function f(){return b.PLATFORM.Loader?Promise.resolve(new b.PLATFORM.Loader):window.System&&"function"==typeof window.System["import"]?System.normalize("aurelia-bootstrapper").then(function(a){return System.normalize("aurelia-loader-default",a)}).then(function(a){return System["import"](a).then(function(a){return new a.DefaultLoader})}):"function"==typeof window.require?new Promise(function(a,b){return require(["aurelia-loader-default"],function(b){return a(new b.DefaultLoader)},b)}):Promise.reject("No PLATFORM.Loader is defined and there is neither a System API (ES6) or a Require API (AMD) globally available to load your app.")}function g(a){return a.normalize("aurelia-bootstrapper").then(function(b){return a.normalize("aurelia-framework",b).then(function(c){return a.map("aurelia-framework",c),Promise.all([a.normalize("aurelia-dependency-injection",c).then(function(b){return a.map("aurelia-dependency-injection",b)}),a.normalize("aurelia-router",b).then(function(b){return a.map("aurelia-router",b)}),a.normalize("aurelia-logging-console",b).then(function(b){return a.map("aurelia-logging-console",b)})]).then(function(){return a.loadModule(c).then(function(a){return n=a.Aurelia})})})})}function h(a,b){var c=b.getAttribute("aurelia-app")||b.getAttribute("data-aurelia-app");return i(a,b,c)}function i(a,b,c){var d=new n(a);return d.host=b,d.configModuleId=c||null,c?a.loadModule(c).then(function(a){return a.configure(d)}):(d.use.standardConfiguration().developmentLogging(),d.start().then(function(){return d.setRoot()}))}function j(){return e(window).then(function(a){(0,c.initialize)();var b=a.querySelectorAll("[aurelia-app],[data-aurelia-app]");return f().then(function(a){return g(a).then(function(){for(var c=0,d=b.length;c<d;++c)h(a,b[c])["catch"](console.error.bind(console));m=a;for(var e=0,f=l.length;e<f;++e)l[e]();l=null})})})}function k(a){return d(function(b){var c=new n(b);return a(c)})}Object.defineProperty(a,"__esModule",{value:!0}),a.bootstrap=k;var l=[],m=null,n=null;j()})}(),function(){var a=System.amdDefine;a("npm:aurelia-bootstrapper@1.0.0.js",["npm:aurelia-bootstrapper@1.0.0/aurelia-bootstrapper"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-fetch-client@1.0.1/aurelia-fetch-client.js",["exports"],function(a){"use strict";function b(a){return new Blob([JSON.stringify(a)],{type:"application/json"})}function c(a){if(!a.ok)throw a;return a}function d(){this.isRequesting=!!++this.activeRequestCount}function e(){this.isRequesting=!!--this.activeRequestCount}function f(a){var b=e.bind(this);return a.then(b,b),a}function g(a){var b={};for(var c in a||{})a.hasOwnProperty(c)&&(b[c]="function"==typeof a[c]?a[c]():a[c]);return b}function h(a,b){var c=this.defaults||{},d=void 0,e=void 0,f=void 0,h=g(c.headers);if(Request.prototype.isPrototypeOf(a))d=a,f=new Headers(d.headers).get("Content-Type");else{b||(b={}),e=b.body;var k=e?{body:e}:null,l=Object.assign({},c,{headers:{}},b,k);f=new Headers(l.headers).get("Content-Type"),d=new Request(i(this.baseUrl,a),l)}return!f&&new Headers(h).has("content-type")&&d.headers.set("Content-Type",new Headers(h).get("content-type")),j(d.headers,h),e&&Blob.prototype.isPrototypeOf(e)&&e.type&&d.headers.set("Content-Type",e.type),d}function i(a,b){return r.test(b)?b:(a||"")+b}function j(a,b){for(var c in b||{})b.hasOwnProperty(c)&&!a.has(c)&&a.set(c,b[c])}function k(a,b){return m(a,b,"request","requestError")}function l(a,b,c){return m(a,b,"response","responseError",c)}function m(a,b,c,d){for(var e=arguments.length,f=Array(e>4?e-4:0),g=4;g<e;g++)f[g-4]=arguments[g];return(b||[]).reduce(function(a,b){var e=b[c],g=b[d];return a.then(e&&function(a){return e.call.apply(e,[b,a].concat(f))}||n,g&&function(a){return g.call.apply(g,[b,a].concat(f))}||o)},Promise.resolve(a))}function n(a){return a}function o(a){throw a}Object.defineProperty(a,"__esModule",{value:!0}),a.json=b;var p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},q=a.HttpClientConfiguration=function(){function a(){this.baseUrl="",this.defaults={},this.interceptors=[]}return a.prototype.withBaseUrl=function(a){return this.baseUrl=a,this},a.prototype.withDefaults=function(a){return this.defaults=a,this},a.prototype.withInterceptor=function(a){return this.interceptors.push(a),this},a.prototype.useStandardConfiguration=function(){var a={credentials:"same-origin"};return Object.assign(this.defaults,a,this.defaults),this.rejectErrorResponses()},a.prototype.rejectErrorResponses=function(){return this.withInterceptor({response:c})},a}(),r=(a.HttpClient=function(){function a(){if(this.activeRequestCount=0,this.isRequesting=!1,this.isConfigured=!1,this.baseUrl="",this.defaults=null,this.interceptors=[],"undefined"==typeof fetch)throw new Error("HttpClient requires a Fetch API implementation, but the current environment doesn't support it. You may need to load a polyfill such as https://github.com/github/fetch.")}return a.prototype.configure=function(a){var b,c=void 0;if("object"===("undefined"==typeof a?"undefined":p(a)))c={defaults:a};else{if("function"!=typeof a)throw new Error("invalid config");c=new q;var d=a(c);q.prototype.isPrototypeOf(d)&&(c=d)}var e=c.defaults;if(e&&Headers.prototype.isPrototypeOf(e.headers))throw new Error("Default headers must be a plain object.");return this.baseUrl=c.baseUrl,this.defaults=e,(b=this.interceptors).push.apply(b,c.interceptors||[]),this.isConfigured=!0,this},a.prototype.fetch=function(a){function b(b,c){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a,b){var c=this;d.call(this);var e=Promise.resolve().then(function(){
-return h.call(c,a,b,c.defaults)}),g=k(e,this.interceptors).then(function(a){var b=null;if(Response.prototype.isPrototypeOf(a))b=a;else{if(!Request.prototype.isPrototypeOf(a))throw new Error("An invalid result was returned by the interceptor chain. Expected a Request or Response instance, but got ["+a+"]");e=Promise.resolve(a),b=fetch(a)}return e.then(function(a){return l(b,c.interceptors,a)})});return f.call(this,g)}),a}(),/^([a-z][a-z0-9+\-.]*:)?\/\//i)})}(),function(){var a=System.amdDefine;a("npm:aurelia-fetch-client@1.0.1.js",["npm:aurelia-fetch-client@1.0.1/aurelia-fetch-client"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-framework@1.0.6/aurelia-framework.js",["exports","aurelia-dependency-injection","aurelia-binding","aurelia-metadata","aurelia-templating","aurelia-loader","aurelia-task-queue","aurelia-path","aurelia-pal","aurelia-logging"],function(a,b,c,d,e,f,g,h,i,j){"use strict";function k(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function l(){i.DOM.addEventListener("submit",function(a){var b=a.target,c=b.action;"form"!==b.tagName.toLowerCase()||c||a.preventDefault()})}function m(a,b){var c=void 0,d=function e(){return c=b.shift(),c?Promise.resolve(c(a)).then(e):Promise.resolve()};return d()}function n(a,b,c){function d(d){return b.loadModule(d).then(function(b){return"configure"in b?Promise.resolve(b.configure(a,c.config||{})).then(function(){a.resourcesRelativeTo=null,s.debug("Configured plugin "+c.moduleId+".")}):(a.resourcesRelativeTo=null,void s.debug("Loaded plugin "+c.moduleId+"."))})}s.debug("Loading plugin "+c.moduleId+"."),a.resourcesRelativeTo=c.resourcesRelativeTo;var e=c.moduleId;return c.resourcesRelativeTo.length>1?b.normalize(c.moduleId,c.resourcesRelativeTo[1]).then(function(a){return d(a)}):d(e)}function o(a,b,c){function d(b){var c=b.moduleId,d=p(c);return f(c)&&(c=g(c)),a.loader.normalize(c,b.relativeTo).then(function(a){return{name:b.moduleId,importId:f(b.moduleId)?h(a,d):a}})}function f(a){var b=p(a);return!!b&&(""!==b&&(".js"!==b&&".ts"!==b))}function g(a){return a.replace(t,"")}function h(a,b){return g(a)+"."+b}var i=a.container.get(e.ViewEngine);return Promise.all(Object.keys(b).map(function(a){return d(b[a])})).then(function(a){var b=[],d=[];return a.forEach(function(a){b.push(void 0),d.push(a.importId)}),i.importViewResources(d,b,c)})}function p(a){var b=a.match(t);if(b&&b.length>0)return b[0].split(".")[1]}function q(a){if(a.processed)throw new Error("This config instance has already been applied. To load more plugins or global resources, create a new FrameworkConfiguration instance.")}Object.defineProperty(a,"__esModule",{value:!0}),a.LogManager=a.FrameworkConfiguration=a.Aurelia=void 0,Object.keys(b).forEach(function(c){"default"!==c&&"__esModule"!==c&&Object.defineProperty(a,c,{enumerable:!0,get:function(){return b[c]}})}),Object.keys(c).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return c[b]}})}),Object.keys(d).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return d[b]}})}),Object.keys(e).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return e[b]}})}),Object.keys(f).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return f[b]}})}),Object.keys(g).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return g[b]}})}),Object.keys(h).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return h[b]}})}),Object.keys(i).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return i[b]}})});var r=k(j),s=(a.Aurelia=function(){function a(c,d,g){this.loader=c||new i.PLATFORM.Loader,this.container=d||(new b.Container).makeGlobal(),this.resources=g||new e.ViewResources,this.use=new u(this),this.logger=r.getLogger("aurelia"),this.hostConfigured=!1,this.host=null,this.use.instance(a,this),this.use.instance(f.Loader,this.loader),this.use.instance(e.ViewResources,this.resources)}return a.prototype.start=function(){var a=this;return this.started?Promise.resolve(this):(this.started=!0,this.logger.info("Aurelia Starting"),this.use.apply().then(function(){if(l(),!a.container.hasResolver(e.BindingLanguage)){var b="You must configure Aurelia with a BindingLanguage implementation.";throw a.logger.error(b),new Error(b)}a.logger.info("Aurelia Started");var c=i.DOM.createCustomEvent("aurelia-started",{bubbles:!0,cancelable:!0});return i.DOM.dispatchEvent(c),a}))},a.prototype.enhance=function(){var a=this,b=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],c=arguments.length<=1||void 0===arguments[1]?null:arguments[1];return this._configureHost(c||i.DOM.querySelectorAll("body")[0]),new Promise(function(c){var d=a.container.get(e.TemplatingEngine);a.root=d.enhance({container:a.container,element:a.host,resources:a.resources,bindingContext:b}),a.root.attached(),a._onAureliaComposed(),c(a)})},a.prototype.setRoot=function(){var a=this,b=arguments.length<=0||void 0===arguments[0]?null:arguments[0],c=arguments.length<=1||void 0===arguments[1]?null:arguments[1],d={};this.root&&this.root.viewModel&&this.root.viewModel.router&&(this.root.viewModel.router.deactivate(),this.root.viewModel.router.reset()),this._configureHost(c);var f=this.container.get(e.TemplatingEngine),g=this.container.get(e.CompositionTransaction);return delete g.initialComposition,b||(b=this.configModuleId?(0,h.relativeToFile)("./app",this.configModuleId):"app"),d.viewModel=b,d.container=d.childContainer=this.container,d.viewSlot=this.hostSlot,d.host=this.host,f.compose(d).then(function(b){return a.root=b,d.viewSlot.attached(),a._onAureliaComposed(),a})},a.prototype._configureHost=function(a){if(!this.hostConfigured){if(a=a||this.host,a&&"string"!=typeof a?this.host=a:this.host=i.DOM.getElementById(a||"applicationHost"),!this.host)throw new Error("No applicationHost was specified.");this.hostConfigured=!0,this.host.aurelia=this,this.hostSlot=new e.ViewSlot(this.host,(!0)),this.hostSlot.transformChildNodesIntoView(),this.container.registerInstance(i.DOM.boundary,this.host)}},a.prototype._onAureliaComposed=function(){var a=i.DOM.createCustomEvent("aurelia-composed",{bubbles:!0,cancelable:!0});setTimeout(function(){return i.DOM.dispatchEvent(a)},1)},a}(),r.getLogger("aurelia")),t=/\.[^\/.]+$/,u=function(){function a(a){var b=this;this.aurelia=a,this.container=a.container,this.info=[],this.processed=!1,this.preTasks=[],this.postTasks=[],this.resourcesToLoad={},this.preTask(function(){return a.loader.normalize("aurelia-bootstrapper").then(function(a){return b.bootstrapperName=a})}),this.postTask(function(){return o(a,b.resourcesToLoad,a.resources)})}return a.prototype.instance=function(a,b){return this.container.registerInstance(a,b),this},a.prototype.singleton=function(a,b){return this.container.registerSingleton(a,b),this},a.prototype["transient"]=function(a,b){return this.container.registerTransient(a,b),this},a.prototype.preTask=function(a){return q(this),this.preTasks.push(a),this},a.prototype.postTask=function(a){return q(this),this.postTasks.push(a),this},a.prototype.feature=function(a,b){return p(a)?this.plugin({moduleId:a,resourcesRelativeTo:[a,""],config:b||{}}):this.plugin({moduleId:a+"/index",resourcesRelativeTo:[a,""],config:b||{}})},a.prototype.globalResources=function(a){q(this);for(var b=Array.isArray(a)?a:arguments,c=void 0,d=this.resourcesRelativeTo||["",""],e=0,f=b.length;e<f;++e){if(c=b[e],"string"!=typeof c)throw new Error("Invalid resource path ["+c+"]. Resources must be specified as relative module IDs.");var g=d[0],i=d[1],j=c;(c.startsWith("./")||c.startsWith("../"))&&""!==g&&(j=(0,h.join)(g,c)),this.resourcesToLoad[j]={moduleId:j,relativeTo:i}}return this},a.prototype.globalName=function(a,b){return q(this),this.resourcesToLoad[a]={moduleId:b,relativeTo:""},this},a.prototype.plugin=function(a,b){return q(this),"string"==typeof a?this.plugin({moduleId:a,resourcesRelativeTo:[a,""],config:b||{}}):(this.info.push(a),this)},a.prototype._addNormalizedPlugin=function(a,b){var c=this,d={moduleId:a,resourcesRelativeTo:[a,""],config:b||{}};return this.plugin(d),this.preTask(function(){var b=[a,c.bootstrapperName];return d.moduleId=a,d.resourcesRelativeTo=b,Promise.resolve()}),this},a.prototype.defaultBindingLanguage=function(){return this._addNormalizedPlugin("aurelia-templating-binding")},a.prototype.router=function(){return this._addNormalizedPlugin("aurelia-templating-router")},a.prototype.history=function(){return this._addNormalizedPlugin("aurelia-history-browser")},a.prototype.defaultResources=function(){return this._addNormalizedPlugin("aurelia-templating-resources")},a.prototype.eventAggregator=function(){return this._addNormalizedPlugin("aurelia-event-aggregator")},a.prototype.basicConfiguration=function(){return this.defaultBindingLanguage().defaultResources().eventAggregator()},a.prototype.standardConfiguration=function(){return this.basicConfiguration().history().router()},a.prototype.developmentLogging=function(){var a=this;return this.preTask(function(){return a.aurelia.loader.normalize("aurelia-logging-console",a.bootstrapperName).then(function(b){return a.aurelia.loader.loadModule(b).then(function(a){r.addAppender(new a.ConsoleAppender),r.setLevel(r.logLevel.debug)})})}),this},a.prototype.apply=function(){var a=this;return this.processed?Promise.resolve():m(this,this.preTasks).then(function(){var b=a.aurelia.loader,c=a.info,d=void 0,e=function f(){return(d=c.shift())?n(a,b,d).then(f):(a.processed=!0,Promise.resolve())};return e().then(function(){return m(a,a.postTasks)})})},a}();a.FrameworkConfiguration=u;a.LogManager=r})}(),function(){var a=System.amdDefine;a("npm:aurelia-framework@1.0.6.js",["npm:aurelia-framework@1.0.6/aurelia-framework"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-history-browser@1.0.0/aurelia-history-browser.js",["exports","aurelia-pal","aurelia-history"],function(a,b,c){"use strict";function d(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function e(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a){a.singleton(c.History,m),a["transient"](k,l)}function g(a,b,c){if(c){var d=a.href.replace(/(javascript:|#).*$/,"");a.replace(d+"#"+b)}else a.hash="#"+b}function h(a,b,c){return a+"//"+b+(c?":"+c:"")}Object.defineProperty(a,"__esModule",{value:!0}),a.BrowserHistory=a.DefaultLinkHandler=a.LinkHandler=void 0,a.configure=f;var i,j,k=a.LinkHandler=function(){function a(){}return a.prototype.activate=function(a){},a.prototype.deactivate=function(){},a}(),l=a.DefaultLinkHandler=function(a){function c(){var b=d(this,a.call(this));return b.handler=function(a){var d=c.getEventInfo(a),e=d.shouldHandleEvent,f=d.href;e&&(a.preventDefault(),b.history.navigate(f))},b}return e(c,a),c.prototype.activate=function(a){a._hasPushState&&(this.history=a,b.DOM.addEventListener("click",this.handler,!0))},c.prototype.deactivate=function(){b.DOM.removeEventListener("click",this.handler)},c.getEventInfo=function(a){var b={shouldHandleEvent:!1,href:null,anchor:null},d=c.findClosestAnchor(a.target);if(!d||!c.targetIsThisWindow(d))return b;if(a.altKey||a.ctrlKey||a.metaKey||a.shiftKey)return b;var e=d.getAttribute("href");b.anchor=d,b.href=e;var f=1===a.which,g=e&&!("#"===e.charAt(0)||/^[a-z]+:/i.test(e));return b.shouldHandleEvent=f&&g,b},c.findClosestAnchor=function(a){for(;a;){if("A"===a.tagName)return a;a=a.parentNode}},c.targetIsThisWindow=function(a){var c=a.getAttribute("target"),d=b.PLATFORM.global;return!c||c===d.name||"_self"===c||"top"===c&&d===d.top},c}(k),m=a.BrowserHistory=(j=i=function(a){function c(c){var e=d(this,a.call(this));return e._isActive=!1,e._checkUrlCallback=e._checkUrl.bind(e),e.location=b.PLATFORM.location,e.history=b.PLATFORM.history,e.linkHandler=c,e}return e(c,a),c.prototype.activate=function(a){if(this._isActive)throw new Error("History has already been activated.");var c=!!a.pushState;this._isActive=!0,this.options=Object.assign({},{root:"/"},this.options,a),this.root=("/"+this.options.root+"/").replace(o,"/"),this._wantsHashChange=this.options.hashChange!==!1,this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var d=void 0;if(this._hasPushState?d="popstate":this._wantsHashChange&&(d="hashchange"),b.PLATFORM.addEventListener(d,this._checkUrlCallback),this._wantsHashChange&&c){var e=this.location,f=e.pathname.replace(/[^\/]$/,"$&/")===this.root;if(!this._hasPushState&&!f)return this.fragment=this._getFragment(null,!0),this.location.replace(this.root+this.location.search+"#"+this.fragment),!0;this._hasPushState&&f&&e.hash&&(this.fragment=this._getHash().replace(n,""),this.history.replaceState({},b.DOM.title,this.root+this.fragment+e.search))}if(this.fragment||(this.fragment=this._getFragment()),this.linkHandler.activate(this),!this.options.silent)return this._loadUrl()},c.prototype.deactivate=function(){b.PLATFORM.removeEventListener("popstate",this._checkUrlCallback),b.PLATFORM.removeEventListener("hashchange",this._checkUrlCallback),this._isActive=!1,this.linkHandler.deactivate()},c.prototype.getAbsoluteRoot=function(){var a=h(this.location.protocol,this.location.hostname,this.location.port);return""+a+this.root},c.prototype.navigate=function(a){var c=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],d=c.trigger,e=void 0===d||d,f=c.replace,h=void 0!==f&&f;if(a&&q.test(a))return this.location.href=a,!0;if(!this._isActive)return!1;if(a=this._getFragment(a||""),this.fragment===a&&!h)return!1;this.fragment=a;var i=this.root+a;if(""===a&&"/"!==i&&(i=i.slice(0,-1)),this._hasPushState)i=i.replace("//","/"),this.history[h?"replaceState":"pushState"]({},b.DOM.title,i);else{if(!this._wantsHashChange)return this.location.assign(i);g(this.location,a,h)}return e?this._loadUrl(a):void 0},c.prototype.navigateBack=function(){this.history.back()},c.prototype.setTitle=function(a){b.DOM.title=a},c.prototype._getHash=function(){return this.location.hash.substr(1)},c.prototype._getFragment=function(a,b){var c=void 0;return a||(this._hasPushState||!this._wantsHashChange||b?(a=this.location.pathname+this.location.search,c=this.root.replace(p,""),a.indexOf(c)||(a=a.substr(c.length))):a=this._getHash()),"/"+a.replace(n,"")},c.prototype._checkUrl=function(){var a=this._getFragment();a!==this.fragment&&this._loadUrl()},c.prototype._loadUrl=function(a){var b=this.fragment=this._getFragment(a);return!!this.options.routeHandler&&this.options.routeHandler(b)},c}(c.History),i.inject=[k],j),n=/^#?\/*|\s+$/g,o=/^\/+|\/+$/g,p=/\/$/,q=/^([a-z][a-z0-9+\-.]*:)?\/\//i})}(),function(){var a=System.amdDefine;a("npm:aurelia-history-browser@1.0.0.js",["npm:aurelia-history-browser@1.0.0/aurelia-history-browser"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader-default@1.0.0/aurelia-loader-default.js",["exports","aurelia-loader","aurelia-pal","aurelia-metadata"],function(b,c,d,e){"use strict";function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function h(a,b){var c=a,d=void 0,f=void 0;c.__useDefault&&(c=c["default"]),e.Origin.set(c,new e.Origin(b,"default"));for(d in c)f=c[d],"function"==typeof f&&e.Origin.set(f,new e.Origin(b,d));return a}Object.defineProperty(b,"__esModule",{value:!0}),b.DefaultLoader=b.TextTemplateLoader=void 0;var i=b.TextTemplateLoader=function(){function a(){}return a.prototype.loadTemplate=function(a,b){return a.loadText(b.address).then(function(a){b.template=d.DOM.createTemplateFromMarkup(a)})},a}(),j=b.DefaultLoader=function(a){function b(){var b=f(this,a.call(this));b.textPluginName="text",b.moduleRegistry=Object.create(null),b.useTemplateLoader(new i);var c=b;return b.addPlugin("template-registry-entry",{fetch:function(a){var b=c.getOrCreateTemplateRegistryEntry(a);return b.templateIsLoaded?b:c.templateLoader.loadTemplate(c,b).then(function(a){return b})}}),b}return g(b,a),b.prototype.useTemplateLoader=function(a){this.templateLoader=a},b.prototype.loadAllModules=function(a){for(var b=[],c=0,d=a.length;c<d;++c)b.push(this.loadModule(a[c]));return Promise.all(b)},b.prototype.loadTemplate=function(a){return this._import(this.applyPluginToUrl(a,"template-registry-entry"))},b.prototype.loadText=function(a){return this._import(this.applyPluginToUrl(a,this.textPluginName)).then(function(a){return"string"==typeof a?a:a["default"]})},b}(c.Loader);d.PLATFORM.Loader=j,d.PLATFORM.global.System&&d.PLATFORM.global.System["import"]?(d.PLATFORM.eachModule=function(a){var b=System._loader.modules;for(var c in b)try{if(a(c,b[c].module))return}catch(d){}},System.set("text",System.newModule({translate:function(a){return'module.exports = "'+a.source.replace(/(["\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r").replace(/[\u2028]/g,"\\u2028").replace(/[\u2029]/g,"\\u2029")+'";'}})),j.prototype._import=function(a){return System["import"](a)},j.prototype.loadModule=function(a){var b=this;return System.normalize(a).then(function(a){var c=b.moduleRegistry[a];return void 0!==c?Promise.resolve(c):System["import"](a).then(function(c){return b.moduleRegistry[a]=c,h(c,a)})})},j.prototype.map=function(a,b){System.map[a]=b},j.prototype.normalizeSync=function(a,b){return System.normalizeSync(a,b)},j.prototype.normalize=function(a,b){return System.normalize(a,b)},j.prototype.applyPluginToUrl=function(a,b){return a+"!"+b},j.prototype.addPlugin=function(a,b){System.set(a,System.newModule({fetch:function(a,c){var d=b.fetch(a.address);return Promise.resolve(d).then(function(b){return a.metadata.result=b,""})},instantiate:function(a){return a.metadata.result}}))}):(d.PLATFORM.global.requirejs&&requirejs.s&&requirejs.s.contexts&&requirejs.s.contexts._&&requirejs.s.contexts._.defined?d.PLATFORM.eachModule=function(a){var b=requirejs.s.contexts._.defined;for(var c in b)try{if(a(c,b[c]))return}catch(d){}}:d.PLATFORM.eachModule=function(a){},j.prototype._import=function(a){return new Promise(function(b,c){require([a],b,c)})},j.prototype.loadModule=function(a){var b=this,c=this.moduleRegistry[a];return void 0!==c?Promise.resolve(c):new Promise(function(c,d){require([a],function(d){b.moduleRegistry[a]=d,c(h(d,a))},d)})},j.prototype.map=function(a,b){},j.prototype.normalize=function(a,b){return Promise.resolve(a)},j.prototype.normalizeSync=function(a,b){return a},j.prototype.applyPluginToUrl=function(a,b){return b+"!"+a},j.prototype.addPlugin=function(b,c){var d=a;d(b,[],{load:function(a,b,d){var e=c.fetch(a);Promise.resolve(e).then(d)}})})})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader-default@1.0.0.js",["npm:aurelia-loader-default@1.0.0/aurelia-loader-default"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging-console@1.0.0/aurelia-logging-console.js",["exports","aurelia-logging"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.ConsoleAppender=void 0;a.ConsoleAppender=function(){function a(){}return a.prototype.debug=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).debug.apply(b,["DEBUG ["+a.id+"]"].concat(d))},a.prototype.info=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).info.apply(b,["INFO ["+a.id+"]"].concat(d))},a.prototype.warn=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).warn.apply(b,["WARN ["+a.id+"]"].concat(d))},a.prototype.error=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).error.apply(b,["ERROR ["+a.id+"]"].concat(d))},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging-console@1.0.0.js",["npm:aurelia-logging-console@1.0.0/aurelia-logging-console"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-binding@1.0.0/aurelia-templating-binding.js",["exports","aurelia-logging","aurelia-binding","aurelia-templating"],function(a,b,c,d){"use strict";function e(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function h(a,b){if("style"===b)r.getLogger("templating-binding").info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.');else if(a.parentElement&&"TEXTAREA"===a.parentElement.nodeName&&"textContent"===b)throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use <textarea value.bind="expression"></textarea> instead.')}function i(a){a.container.registerSingleton(d.BindingLanguage,y),a.container.registerAlias(d.BindingLanguage,y)}Object.defineProperty(a,"__esModule",{value:!0}),a.TemplatingBindingLanguage=a.SyntaxInterpreter=a.ChildInterpolationBinding=a.InterpolationBinding=a.InterpolationBindingExpression=a.AttributeMap=void 0,a.configure=i;var j,k,l,m,n,o,p,q,r=e(b),s=a.AttributeMap=(k=j=function(){function a(a){this.elements=Object.create(null),this.allElements=Object.create(null),this.svg=a,this.registerUniversal("accesskey","accessKey"),this.registerUniversal("contenteditable","contentEditable"),this.registerUniversal("tabindex","tabIndex"),this.registerUniversal("textcontent","textContent"),this.registerUniversal("innerhtml","innerHTML"),this.registerUniversal("scrolltop","scrollTop"),this.registerUniversal("scrollleft","scrollLeft"),this.registerUniversal("readonly","readOnly"),this.register("label","for","htmlFor"),this.register("input","maxlength","maxLength"),this.register("input","minlength","minLength"),this.register("input","formaction","formAction"),this.register("input","formenctype","formEncType"),this.register("input","formmethod","formMethod"),this.register("input","formnovalidate","formNoValidate"),this.register("input","formtarget","formTarget"),this.register("textarea","maxlength","maxLength"),this.register("td","rowspan","rowSpan"),this.register("td","colspan","colSpan"),this.register("th","rowspan","rowSpan"),this.register("th","colspan","colSpan")}return a.prototype.register=function(a,b,c){a=a.toLowerCase(),b=b.toLowerCase();var d=this.elements[a]=this.elements[a]||Object.create(null);d[b]=c},a.prototype.registerUniversal=function(a,b){a=a.toLowerCase(),this.allElements[a]=b},a.prototype.map=function(a,b){if(this.svg.isStandardSvgAttribute(a,b))return b;a=a.toLowerCase(),b=b.toLowerCase();var d=this.elements[a];return void 0!==d&&b in d?d[b]:b in this.allElements?this.allElements[b]:/(^data-)|(^aria-)|:/.test(b)?b:(0,c.camelCase)(b)},a}(),j.inject=[c.SVGAnalyzer],k),t=a.InterpolationBindingExpression=function(){function a(a,b,c,d,e,f){this.observerLocator=a,this.targetProperty=b,this.parts=c,this.mode=d,this.lookupFunctions=e,this.attribute=this.attrToRemove=f,this.discrete=!1}return a.prototype.createBinding=function(a){return 3===this.parts.length?new v(a,this.observerLocator,this.parts[1],this.mode,this.lookupFunctions,this.targetProperty,this.parts[0],this.parts[2]):new u(this.observerLocator,this.parts,a,this.targetProperty,this.mode,this.lookupFunctions)},a}(),u=a.InterpolationBinding=function(){function a(a,b,c,d,e,f){h(c,d),this.observerLocator=a,this.parts=b,this.target=c,this.targetProperty=d,this.targetAccessor=a.getAccessor(c,d),this.mode=e,this.lookupFunctions=f}return a.prototype.interpolate=function(){if(this.isBound){for(var a="",b=this.parts,c=0,d=b.length;c<d;c++)a+=c%2===0?b[c]:this["childBinding"+c].value;this.targetAccessor.setValue(a,this.target,this.targetProperty)}},a.prototype.updateOneTimeBindings=function(){for(var a=1,b=this.parts.length;a<b;a+=2){var d=this["childBinding"+a];d.mode===c.bindingMode.oneTime&&d.call()}},a.prototype.bind=function(a){if(this.isBound){if(this.source===a)return;this.unbind()}this.source=a;for(var b=this.parts,c=1,d=b.length;c<d;c+=2){var e=new v(this,this.observerLocator,b[c],this.mode,this.lookupFunctions);e.bind(a),this["childBinding"+c]=e}this.isBound=!0,this.interpolate()},a.prototype.unbind=function(){if(this.isBound){this.isBound=!1,this.source=null;for(var a=this.parts,b=1,c=a.length;b<c;b+=2){var d="childBinding"+b;this[d].unbind()}}},a}(),v=a.ChildInterpolationBinding=(l=(0,c.connectable)(),l(m=function(){function a(a,b,c,d,e,f,g,i){a instanceof u?this.parent=a:(h(a,f),this.target=a,this.targetProperty=f,this.targetAccessor=b.getAccessor(a,f)),this.observerLocator=b,this.sourceExpression=c,this.mode=d,this.lookupFunctions=e,this.left=g,this.right=i}return a.prototype.updateTarget=function(a){a=null===a||void 0===a?"":a.toString(),a!==this.value&&(this.value=a,this.parent?this.parent.interpolate():this.targetAccessor.setValue(this.left+a+this.right,this.target,this.targetProperty))},a.prototype.call=function(){this.isBound&&(this.rawValue=this.sourceExpression.evaluate(this.source,this.lookupFunctions),this.updateTarget(this.rawValue),this.mode!==c.bindingMode.oneTime&&(this._version++,this.sourceExpression.connect(this,this.source),this.rawValue instanceof Array&&this.observeArray(this.rawValue),this.unobserve(!1)))},a.prototype.bind=function(a){if(this.isBound){if(this.source===a)return;this.unbind()}this.isBound=!0,this.source=a;var b=this.sourceExpression;b.bind&&b.bind(this,a,this.lookupFunctions),this.rawValue=b.evaluate(a,this.lookupFunctions),this.updateTarget(this.rawValue),this.mode===c.bindingMode.oneWay&&(0,c.enqueueBindingConnect)(this)},a.prototype.unbind=function(){if(this.isBound){this.isBound=!1;var a=this.sourceExpression;a.unbind&&a.unbind(this,this.source),this.source=null,this.value=null,this.rawValue=null,this.unobserve(!0)}},a.prototype.connect=function(a){this.isBound&&(a&&(this.rawValue=this.sourceExpression.evaluate(this.source,this.lookupFunctions),this.updateTarget(this.rawValue)),this.sourceExpression.connect(this,this.source),this.rawValue instanceof Array&&this.observeArray(this.rawValue))},a}())||m),w=a.SyntaxInterpreter=(o=n=function(){function a(a,b,c,d){this.parser=a,this.observerLocator=b,this.eventManager=c,this.attributeMap=d}return a.prototype.interpret=function(a,b,c,d,e){return c.command in this?this[c.command](a,b,c,d,e):this.handleUnknownCommand(a,b,c,d,e)},a.prototype.handleUnknownCommand=function(a,b,c,d,e){return r.getLogger("templating-binding").warn("Unknown binding command.",c),d},a.prototype.determineDefaultBindingMode=function(a,b,d){var e=a.tagName.toLowerCase();return"input"===e&&("value"===b||"files"===b)&&"checkbox"!==a.type&&"radio"!==a.type||"input"===e&&"checked"===b&&("checkbox"===a.type||"radio"===a.type)||("textarea"===e||"select"===e)&&"value"===b||("textcontent"===b||"innerhtml"===b)&&"true"===a.contentEditable||"scrolltop"===b||"scrollleft"===b?c.bindingMode.twoWay:d&&b in d.attributes&&d.attributes[b]&&d.attributes[b].defaultBindingMode>=c.bindingMode.oneTime?d.attributes[b].defaultBindingMode:c.bindingMode.oneWay},a.prototype.bind=function(a,b,e,f,g){var h=f||d.BehaviorInstruction.attribute(e.attrName);return h.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),e.defaultBindingMode||this.determineDefaultBindingMode(b,e.attrName,g),a.lookupFunctions),h},a.prototype.trigger=function(a,b,d){return new c.ListenerExpression(this.eventManager,d.attrName,this.parser.parse(d.attrValue),(!1),(!0),a.lookupFunctions)},a.prototype.delegate=function(a,b,d){return new c.ListenerExpression(this.eventManager,d.attrName,this.parser.parse(d.attrValue),(!0),(!0),a.lookupFunctions)},a.prototype.call=function(a,b,e,f){var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.CallExpression(this.observerLocator,e.attrName,this.parser.parse(e.attrValue),a.lookupFunctions),g},a.prototype.options=function(a,b,c,e,f){var g=e||d.BehaviorInstruction.attribute(c.attrName),h=c.attrValue,i=this.language,j=null,k="",l=void 0,m=void 0,n=void 0,o=!1,p=!1;for(m=0,n=h.length;m<n;++m){if(l=h[m],";"!==l||o)if(":"===l&&null===j)j=k.trim(),k="";else{if("\\"===l){k+=l,p=!0;continue}k+=l,null!==j&&p===!1&&"'"===l&&(o=!o)}else c=i.inspectAttribute(a,"?",j,k.trim()),i.createAttributeInstruction(a,b,c,g,f),g.attributes[c.attrName]||(g.attributes[c.attrName]=c.attrValue),k="",j=null;p=!1}return null!==j&&(c=i.inspectAttribute(a,"?",j,k.trim()),i.createAttributeInstruction(a,b,c,g,f),g.attributes[c.attrName]||(g.attributes[c.attrName]=c.attrValue)),g},a.prototype["for"]=function(a,b,e,f){var g=void 0,h=void 0,i=void 0,j=void 0,k=void 0;if(j=e.attrValue,k=j.match(/^ *[[].+[\]]/),g=k?j.split("of "):j.split(" of "),2!==g.length)throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".');return i=f||d.BehaviorInstruction.attribute(e.attrName),k?(h=g[0].replace(/[[\]]/g,"").replace(/,/g," ").replace(/\s+/g," ").trim().split(" "),i.attributes.key=h[0],i.attributes.value=h[1]):i.attributes.local=g[0],i.attributes.items=new c.BindingExpression(this.observerLocator,"items",this.parser.parse(g[1]),c.bindingMode.oneWay,a.lookupFunctions),i},a.prototype["two-way"]=function(a,b,e,f){var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),c.bindingMode.twoWay,a.lookupFunctions),g},a.prototype["one-way"]=function(a,b,e,f){var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),c.bindingMode.oneWay,a.lookupFunctions),g},a.prototype["one-time"]=function(a,b,e,f){var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),c.bindingMode.oneTime,a.lookupFunctions),g},a}(),n.inject=[c.Parser,c.ObserverLocator,c.EventManager,s],o),x={},y=a.TemplatingBindingLanguage=(q=p=function(a){function b(b,c,d,e){var g=f(this,a.call(this));return g.parser=b,g.observerLocator=c,g.syntaxInterpreter=d,g.emptyStringExpression=g.parser.parse("''"),d.language=g,g.attributeMap=e,g}return g(b,a),b.prototype.inspectAttribute=function(a,b,d,e){var f=d.split(".");if(x.defaultBindingMode=null,2===f.length)x.attrName=f[0].trim(),x.attrValue=e,x.command=f[1].trim(),"ref"===x.command?(x.expression=new c.NameExpression(this.parser.parse(e),x.attrName,a.lookupFunctions),
-x.command=null,x.attrName="ref"):x.expression=null;else if("ref"===d)x.attrName=d,x.attrValue=e,x.command=null,x.expression=new c.NameExpression(this.parser.parse(e),"element",a.lookupFunctions);else{x.attrName=d,x.attrValue=e,x.command=null;var g=this.parseInterpolation(a,e);null===g?x.expression=null:x.expression=new t(this.observerLocator,this.attributeMap.map(b,d),g,c.bindingMode.oneWay,a.lookupFunctions,d)}return x},b.prototype.createAttributeInstruction=function(a,b,c,e,f){var g=void 0;if(c.expression){if("ref"===c.attrName)return c.expression;g=e||d.BehaviorInstruction.attribute(c.attrName),g.attributes[c.attrName]=c.expression}else c.command&&(g=this.syntaxInterpreter.interpret(a,b,c,e,f));return g},b.prototype.inspectTextContent=function(a,b){var d=this.parseInterpolation(a,b);return null===d?null:new t(this.observerLocator,"textContent",d,c.bindingMode.oneWay,a.lookupFunctions,"textContent")},b.prototype.parseInterpolation=function(a,b){for(var c=b.indexOf("${",0),d=b.length,e=void 0,f=0,g=0,h=null,i=void 0,j=void 0,k=0;c>=0&&c<d-2;){g=1,i=c,c+=2;do e=b[c],c++,"'"!==e&&'"'!==e?"\\"!==e?null===h&&("{"===e?g++:"}"===e&&g--):c++:null===h?h=e:h===e&&(h=null);while(g>0&&c<d);if(0!==g)break;j=j||[],"\\"===b[i-1]&&"\\"!==b[i-2]?(j[k]=b.substring(f,i-1)+b.substring(i,c),k++,j[k]=this.emptyStringExpression,k++):(j[k]=b.substring(f,i),k++,j[k]=this.parser.parse(b.substring(i+2,c-1)),k++),f=c,c=b.indexOf("${",c)}return 0===k?null:(j[k]=b.substr(f),j)},b}(d.BindingLanguage),p.inject=[c.Parser,c.ObserverLocator,w,s],q)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-binding@1.0.0.js",["npm:aurelia-templating-binding@1.0.0/aurelia-templating-binding"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/compose.js",["exports","aurelia-dependency-injection","aurelia-task-queue","aurelia-templating","aurelia-pal"],function(a,b,c,d,e){"use strict";function f(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}function h(a,b){return Object.assign(b,{bindingContext:a.bindingContext,overrideContext:a.overrideContext,owningView:a.owningView,container:a.container,viewSlot:a.viewSlot,viewResources:a.viewResources,currentController:a.currentController,host:a.element})}function i(a,b){a.currentInstruction=null,a.compositionEngine.compose(b).then(function(b){a.currentController=b,a.currentViewModel=b?b.viewModel:null})}Object.defineProperty(a,"__esModule",{value:!0}),a.Compose=void 0;var j,k,l,m,n,o,p;a.Compose=(j=(0,d.customElement)("compose"),k=(0,b.inject)(e.DOM.Element,b.Container,d.CompositionEngine,d.ViewSlot,d.ViewResources,c.TaskQueue),j(l=(0,d.noView)(l=k((m=function(){function a(a,b,c,d,e,g){f(this,"model",n,this),f(this,"view",o,this),f(this,"viewModel",p,this),this.element=a,this.container=b,this.compositionEngine=c,this.viewSlot=d,this.viewResources=e,this.taskQueue=g,this.currentController=null,this.currentViewModel=null}return a.prototype.created=function(a){this.owningView=a},a.prototype.bind=function(a,b){this.bindingContext=a,this.overrideContext=b,i(this,h(this,{view:this.view,viewModel:this.viewModel,model:this.model}))},a.prototype.unbind=function(a,b){this.bindingContext=null,this.overrideContext=null;var c=!0,d=!0;this.viewSlot.removeAll(c,d)},a.prototype.modelChanged=function(a,b){var c=this;return this.currentInstruction?void(this.currentInstruction.model=a):void this.taskQueue.queueMicroTask(function(){if(c.currentInstruction)return void(c.currentInstruction.model=a);var b=c.currentViewModel;b&&"function"==typeof b.activate&&b.activate(a)})},a.prototype.viewChanged=function(a,b){var c=this,d=h(this,{view:a,viewModel:this.currentViewModel||this.viewModel,model:this.model});return this.currentInstruction?void(this.currentInstruction=d):(this.currentInstruction=d,void this.taskQueue.queueMicroTask(function(){return i(c,c.currentInstruction)}))},a.prototype.viewModelChanged=function(a,b){var c=this,d=h(this,{viewModel:a,view:this.view,model:this.model});return this.currentInstruction?void(this.currentInstruction=d):(this.currentInstruction=d,void this.taskQueue.queueMicroTask(function(){return i(c,c.currentInstruction)}))},a}(),n=g(m.prototype,"model",[d.bindable],{enumerable:!0,initializer:null}),o=g(m.prototype,"view",[d.bindable],{enumerable:!0,initializer:null}),p=g(m.prototype,"viewModel",[d.bindable],{enumerable:!0,initializer:null}),l=m))||l)||l)||l)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/if.js",["exports","aurelia-templating","aurelia-dependency-injection"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.If=void 0;var d,e,f;a.If=(d=(0,b.customAttribute)("if"),e=(0,c.inject)(b.BoundViewFactory,b.ViewSlot),d(f=(0,b.templateController)(f=e(f=function(){function a(a,b){this.viewFactory=a,this.viewSlot=b,this.showing=!1,this.view=null,this.bindingContext=null,this.overrideContext=null}return a.prototype.bind=function(a,b){this.bindingContext=a,this.overrideContext=b,this.valueChanged(this.value)},a.prototype.valueChanged=function(a){var b=this;if(this.__queuedChanges)return void this.__queuedChanges.push(a);var c=this._runValueChanged(a);c instanceof Promise&&!function(){var a=b.__queuedChanges=[],d=function e(){if(!a.length)return void(b.__queuedChanges=void 0);var c=b._runValueChanged(a.shift())||Promise.resolve();c.then(e)};c.then(d)}()},a.prototype._runValueChanged=function(a){var b=this;if(!a){var c=void 0;return null!==this.view&&this.showing&&(c=this.viewSlot.remove(this.view),c instanceof Promise?c.then(function(){return b.view.unbind()}):this.view.unbind()),this.showing=!1,c}if(null===this.view&&(this.view=this.viewFactory.create()),this.view.isBound||this.view.bind(this.bindingContext,this.overrideContext),!this.showing)return this.showing=!0,this.viewSlot.add(this.view)},a.prototype.unbind=function(){null!==this.view&&(this.view.unbind(),this.viewFactory.isCaching&&(this.showing&&(this.showing=!1,this.viewSlot.remove(this.view,!0,!0)),this.view.returnToCache(),this.view=null))},a}())||f)||f)||f)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/with.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-binding"],function(a,b,c,d){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.With=void 0;var e,f,g;a.With=(e=(0,c.customAttribute)("with"),f=(0,b.inject)(c.BoundViewFactory,c.ViewSlot),e(g=(0,c.templateController)(g=f(g=function(){function a(a,b){this.viewFactory=a,this.viewSlot=b,this.parentOverrideContext=null,this.view=null}return a.prototype.bind=function(a,b){this.parentOverrideContext=b,this.valueChanged(this.value)},a.prototype.valueChanged=function(a){var b=(0,d.createOverrideContext)(a,this.parentOverrideContext);this.view?this.view.bind(a,b):(this.view=this.viewFactory.create(),this.view.bind(a,b),this.viewSlot.add(this.view))},a.prototype.unbind=function(){this.parentOverrideContext=null,this.view&&this.view.unbind()},a}())||g)||g)||g)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/repeat.js",["exports","aurelia-dependency-injection","aurelia-binding","aurelia-templating","./repeat-strategy-locator","./repeat-utilities","./analyze-view-factory","./abstract-repeater"],function(a,b,c,d,e,f,g,h){"use strict";function i(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function j(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function k(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function l(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}Object.defineProperty(a,"__esModule",{value:!0}),a.Repeat=void 0;var m,n,o,p,q,r,s,t;a.Repeat=(m=(0,d.customAttribute)("repeat"),n=(0,b.inject)(d.BoundViewFactory,d.TargetInstruction,d.ViewSlot,d.ViewResources,c.ObserverLocator,e.RepeatStrategyLocator),m(o=(0,d.templateController)(o=n((p=function(a){function b(b,c,d,e,h,k){var l=j(this,a.call(this,{local:"item",viewsRequireLifecycle:(0,g.viewsRequireLifecycle)(b)}));return i(l,"items",q,l),i(l,"local",r,l),i(l,"key",s,l),i(l,"value",t,l),l.viewFactory=b,l.instruction=c,l.viewSlot=d,l.lookupFunctions=e.lookupFunctions,l.observerLocator=h,l.key="key",l.value="value",l.strategyLocator=k,l.ignoreMutation=!1,l.sourceExpression=(0,f.getItemsSourceExpression)(l.instruction,"repeat.for"),l.isOneTime=(0,f.isOneTime)(l.sourceExpression),l.viewsRequireLifecycle=(0,g.viewsRequireLifecycle)(b),l}return k(b,a),b.prototype.call=function(a,b){this[a](this.items,b)},b.prototype.bind=function(a,b){this.scope={bindingContext:a,overrideContext:b},this.matcherBinding=this._captureAndRemoveMatcherBinding(),this.itemsChanged()},b.prototype.unbind=function(){this.scope=null,this.items=null,this.matcherBinding=null,this.viewSlot.removeAll(!0),this._unsubscribeCollection()},b.prototype._unsubscribeCollection=function(){this.collectionObserver&&(this.collectionObserver.unsubscribe(this.callContext,this),this.collectionObserver=null,this.callContext=null)},b.prototype.itemsChanged=function(){if(this._unsubscribeCollection(),this.scope){var a=this.items;if(this.strategy=this.strategyLocator.getStrategy(a),!this.strategy)throw new Error("Value for '"+this.sourceExpression+"' is non-repeatable");this.isOneTime||this._observeInnerCollection()||this._observeCollection(),this.strategy.instanceChanged(this,a)}},b.prototype._getInnerCollection=function(){var a=(0,f.unwrapExpression)(this.sourceExpression);return a?a.evaluate(this.scope,null):null},b.prototype.handleCollectionMutated=function(a,b){this.collectionObserver&&this.strategy.instanceMutated(this,a,b)},b.prototype.handleInnerCollectionMutated=function(a,b){var c=this;if(this.collectionObserver&&!this.ignoreMutation){this.ignoreMutation=!0;var d=this.sourceExpression.evaluate(this.scope,this.lookupFunctions);this.observerLocator.taskQueue.queueMicroTask(function(){return c.ignoreMutation=!1}),d===this.items?this.itemsChanged():this.items=d}},b.prototype._observeInnerCollection=function(){var a=this._getInnerCollection(),b=this.strategyLocator.getStrategy(a);return!!b&&(this.collectionObserver=b.getCollectionObserver(this.observerLocator,a),!!this.collectionObserver&&(this.callContext="handleInnerCollectionMutated",this.collectionObserver.subscribe(this.callContext,this),!0))},b.prototype._observeCollection=function(){var a=this.items;this.collectionObserver=this.strategy.getCollectionObserver(this.observerLocator,a),this.collectionObserver&&(this.callContext="handleCollectionMutated",this.collectionObserver.subscribe(this.callContext,this))},b.prototype._captureAndRemoveMatcherBinding=function(){if(this.viewFactory.viewFactory)for(var a=this.viewFactory.viewFactory.instructions,b=Object.keys(a),c=0;c<b.length;c++){var d=a[b[c]].expressions;if(d)for(var e=0;c<d.length;c++)if("matcher"===d[e].targetProperty){var f=d[e];return d.splice(e,1),f}}},b.prototype.viewCount=function(){return this.viewSlot.children.length},b.prototype.views=function(){return this.viewSlot.children},b.prototype.view=function(a){return this.viewSlot.children[a]},b.prototype.matcher=function(){return this.matcherBinding?this.matcherBinding.sourceExpression.evaluate(this.scope,this.matcherBinding.lookupFunctions):null},b.prototype.addView=function(a,b){var c=this.viewFactory.create();c.bind(a,b),this.viewSlot.add(c)},b.prototype.insertView=function(a,b,c){var d=this.viewFactory.create();d.bind(b,c),this.viewSlot.insert(a,d)},b.prototype.moveView=function(a,b){this.viewSlot.move(a,b)},b.prototype.removeAllViews=function(a,b){return this.viewSlot.removeAll(a,b)},b.prototype.removeViews=function(a,b,c){return this.viewSlot.removeMany(a,b,c)},b.prototype.removeView=function(a,b,c){return this.viewSlot.removeAt(a,b,c)},b.prototype.updateBindings=function(a){for(var b=a.bindings.length;b--;)(0,f.updateOneTimeBinding)(a.bindings[b]);for(b=a.controllers.length;b--;)for(var c=a.controllers[b].boundProperties.length;c--;){var d=a.controllers[b].boundProperties[c].binding;(0,f.updateOneTimeBinding)(d)}},b}(h.AbstractRepeater),q=l(p.prototype,"items",[d.bindable],{enumerable:!0,initializer:null}),r=l(p.prototype,"local",[d.bindable],{enumerable:!0,initializer:null}),s=l(p.prototype,"key",[d.bindable],{enumerable:!0,initializer:null}),t=l(p.prototype,"value",[d.bindable],{enumerable:!0,initializer:null}),o=p))||o)||o)||o)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/show.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-pal","./aurelia-hide-style"],function(a,b,c,d,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Show=void 0;var f,g,h;a.Show=(f=(0,c.customAttribute)("show"),g=(0,b.inject)(d.DOM.Element,c.Animator,b.Optional.of(d.DOM.boundary,!0)),f(h=g(h=function(){function a(a,b,c){this.element=a,this.animator=b,this.domBoundary=c}return a.prototype.created=function(){(0,e.injectAureliaHideStyleAtBoundary)(this.domBoundary)},a.prototype.valueChanged=function(a){a?this.animator.removeClass(this.element,e.aureliaHideClassName):this.animator.addClass(this.element,e.aureliaHideClassName)},a.prototype.bind=function(a){this.valueChanged(this.value)},a}())||h)||h)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/hide.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-pal","./aurelia-hide-style"],function(a,b,c,d,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Hide=void 0;var f,g,h;a.Hide=(f=(0,c.customAttribute)("hide"),g=(0,b.inject)(d.DOM.Element,c.Animator,b.Optional.of(d.DOM.boundary,!0)),f(h=g(h=function(){function a(a,b,c){this.element=a,this.animator=b,this.domBoundary=c}return a.prototype.created=function(){(0,e.injectAureliaHideStyleAtBoundary)(this.domBoundary)},a.prototype.valueChanged=function(a){a?this.animator.addClass(this.element,e.aureliaHideClassName):this.animator.removeClass(this.element,e.aureliaHideClassName)},a.prototype.bind=function(a){this.valueChanged(this.value)},a}())||h)||h)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/sanitize-html.js",["exports","aurelia-binding","aurelia-dependency-injection","./html-sanitizer"],function(a,b,c,d){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.SanitizeHTMLValueConverter=void 0;var e,f,g;a.SanitizeHTMLValueConverter=(e=(0,b.valueConverter)("sanitizeHTML"),f=(0,c.inject)(d.HTMLSanitizer),e(g=f(g=function(){function a(a){this.sanitizer=a}return a.prototype.toView=function(a){return null===a||void 0===a?null:this.sanitizer.sanitize(a)},a}())||g)||g)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/replaceable.js",["exports","aurelia-dependency-injection","aurelia-templating"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Replaceable=void 0;var d,e,f;a.Replaceable=(d=(0,c.customAttribute)("replaceable"),e=(0,b.inject)(c.BoundViewFactory,c.ViewSlot),d(f=(0,c.templateController)(f=e(f=function(){function a(a,b){this.viewFactory=a,this.viewSlot=b,this.view=null}return a.prototype.bind=function(a,b){null===this.view&&(this.view=this.viewFactory.create(),this.viewSlot.add(this.view)),this.view.bind(a,b)},a.prototype.unbind=function(){this.view.unbind()},a}())||f)||f)||f)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/focus.js",["exports","aurelia-templating","aurelia-binding","aurelia-dependency-injection","aurelia-task-queue","aurelia-pal"],function(a,b,c,d,e,f){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Focus=void 0;var g,h,i;a.Focus=(g=(0,b.customAttribute)("focus",c.bindingMode.twoWay),h=(0,d.inject)(f.DOM.Element,e.TaskQueue),g(i=h(i=function(){function a(a,b){var c=this;this.element=a,this.taskQueue=b,this.isAttached=!1,this.needsApply=!1,this.focusListener=function(a){c.value=!0},this.blurListener=function(a){f.DOM.activeElement!==c.element&&(c.value=!1)}}return a.prototype.valueChanged=function(a){this.isAttached?this._apply():this.needsApply=!0},a.prototype._apply=function(){var a=this;this.value?this.taskQueue.queueMicroTask(function(){a.value&&a.element.focus()}):this.element.blur()},a.prototype.attached=function(){this.isAttached=!0,this.needsApply&&(this.needsApply=!1,this._apply()),this.element.addEventListener("focus",this.focusListener),this.element.addEventListener("blur",this.blurListener)},a.prototype.detached=function(){this.isAttached=!1,this.element.removeEventListener("focus",this.focusListener),this.element.removeEventListener("blur",this.blurListener)},a}())||i)||i)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/css-resource.js",["exports","aurelia-templating","aurelia-loader","aurelia-dependency-injection","aurelia-path","aurelia-pal"],function(a,b,c,d,e,f){"use strict";function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function i(a,b){if("string"!=typeof b)throw new Error("Failed loading required CSS file: "+a);return b.replace(k,function(b,c){var d=c.charAt(0);return"'"!==d&&'"'!==d||(c=c.substr(1,c.length-2)),"url('"+(0,e.relativeToFile)(c,a)+"')"})}function j(a){var c,d,e=(c=(0,b.resource)(new l(a)),c(d=function(a){function b(){return g(this,a.apply(this,arguments))}return h(b,a),b}(m))||d);return e}Object.defineProperty(a,"__esModule",{value:!0}),a._createCSSResource=j;var k=/url\((?!['"]data)([^)]+)\)/gi,l=function(){function a(a){this.address=a,this._scoped=null,this._global=!1,this._alreadyGloballyInjected=!1}return a.prototype.initialize=function(a,b){this._scoped=new b(this)},a.prototype.register=function(a,b){"scoped"===b?a.registerViewEngineHooks(this._scoped):this._global=!0},a.prototype.load=function(a){var b=this;return a.get(c.Loader).loadText(this.address)["catch"](function(a){return null}).then(function(a){a=i(b.address,a),b._scoped.css=a,b._global&&(b._alreadyGloballyInjected=!0,f.DOM.injectStyles(a))})},a}(),m=function(){function a(a){this.owner=a,this.css=null}return a.prototype.beforeCompile=function(a,b,c){if(c.targetShadowDOM)f.DOM.injectStyles(this.css,a,!0);else if(f.FEATURE.scopedCSS){var d=f.DOM.injectStyles(this.css,a,!0);d.setAttribute("scoped","scoped")}else this.owner._alreadyGloballyInjected||(f.DOM.injectStyles(this.css),this.owner._alreadyGloballyInjected=!0)},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/html-sanitizer.js",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var b=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi;a.HTMLSanitizer=function(){function a(){}return a.prototype.sanitize=function(a){return a.replace(b,"")},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/attr-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.AttrBindingBehavior=void 0;a.AttrBindingBehavior=function(){function a(){}return a.prototype.bind=function(a,c){a.targetObserver=new b.DataAttributeObserver(a.target,a.targetProperty)},a.prototype.unbind=function(a,b){},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/binding-mode-behaviors.js",["exports","aurelia-binding","aurelia-metadata"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.TwoWayBindingBehavior=a.OneWayBindingBehavior=a.OneTimeBindingBehavior=void 0;var d,e,f,g,h,i,j={bind:function(a,b,c){a.originalMode=a.mode,a.mode=this.mode},unbind:function(a,b){a.mode=a.originalMode,a.originalMode=null}};a.OneTimeBindingBehavior=(d=(0,c.mixin)(j),d(e=function(){this.mode=b.bindingMode.oneTime})||e),a.OneWayBindingBehavior=(f=(0,c.mixin)(j),f(g=function(){this.mode=b.bindingMode.oneWay})||g),a.TwoWayBindingBehavior=(h=(0,c.mixin)(j),h(i=function(){this.mode=b.bindingMode.twoWay})||i)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/throttle-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";function c(a){var b=this,c=this.throttleState,d=+new Date-c.last;return d>=c.delay?(clearTimeout(c.timeoutId),c.timeoutId=null,c.last=+new Date,void this.throttledMethod(a)):(c.newValue=a,void(null===c.timeoutId&&(c.timeoutId=setTimeout(function(){c.timeoutId=null,c.last=+new Date,b.throttledMethod(c.newValue)},c.delay-d))))}Object.defineProperty(a,"__esModule",{value:!0}),a.ThrottleBindingBehavior=void 0;a.ThrottleBindingBehavior=function(){function a(){}return a.prototype.bind=function(a,d){var e=arguments.length<=2||void 0===arguments[2]?200:arguments[2],f="updateTarget";a.callSource?f="callSource":a.updateSource&&a.mode===b.bindingMode.twoWay&&(f="updateSource"),a.throttledMethod=a[f],a.throttledMethod.originalName=f,a[f]=c,a.throttleState={delay:e,last:0,timeoutId:null}},a.prototype.unbind=function(a,b){var c=a.throttledMethod.originalName;a[c]=a.throttledMethod,a.throttledMethod=null,clearTimeout(a.throttleState.timeoutId),a.throttleState=null},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/debounce-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";function c(a){var b=this,c=this.debounceState;return c.immediate?(c.immediate=!1,void this.debouncedMethod(a)):(clearTimeout(c.timeoutId),void(c.timeoutId=setTimeout(function(){return b.debouncedMethod(a)},c.delay)))}Object.defineProperty(a,"__esModule",{value:!0}),a.DebounceBindingBehavior=void 0;a.DebounceBindingBehavior=function(){function a(){}return a.prototype.bind=function(a,d){var e=arguments.length<=2||void 0===arguments[2]?200:arguments[2],f="updateTarget";a.callSource?f="callSource":a.updateSource&&a.mode===b.bindingMode.twoWay&&(f="updateSource"),a.debouncedMethod=a[f],a.debouncedMethod.originalName=f,a[f]=c,a.debounceState={delay:e,timeoutId:null,immediate:"updateTarget"===f}},a.prototype.unbind=function(a,b){var c=a.debouncedMethod.originalName;a[c]=a.debouncedMethod,a.debouncedMethod=null,clearTimeout(a.debounceState.timeoutId),a.debounceState=null},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/signal-binding-behavior.js",["exports","./binding-signaler"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.SignalBindingBehavior=void 0;a.SignalBindingBehavior=function(){function a(a){this.signals=a.signals}return a.inject=function(){return[b.BindingSignaler]},a.prototype.bind=function(a,b){if(!a.updateTarget)throw new Error("Only property bindings and string interpolation bindings can be signaled. Trigger, delegate and call bindings cannot be signaled.");if(3===arguments.length){var c=arguments[2],d=this.signals[c]||(this.signals[c]=[]);d.push(a),a.signalName=c}else{if(!(arguments.length>3))throw new Error("Signal name is required.");for(var e=Array.prototype.slice.call(arguments,2),f=e.length;f--;){var g=e[f],h=this.signals[g]||(this.signals[g]=[]);h.push(a)}a.signalName=e}},a.prototype.unbind=function(a,b){var c=a.signalName;if(a.signalName=null,Array.isArray(c))for(var d=c,e=d.length;e--;){var f=d[e],g=this.signals[f];g.splice(g.indexOf(a),1)}else{var h=this.signals[c];h.splice(h.indexOf(a),1)}},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/binding-signaler.js",["exports","aurelia-binding"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.BindingSignaler=void 0;a.BindingSignaler=function(){function a(){this.signals={}}return a.prototype.signal=function(a){var c=this.signals[a];if(c)for(var d=c.length;d--;)c[d].call(b.sourceContext)},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/update-trigger-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.UpdateTriggerBindingBehavior=void 0;var c,d,e="The updateTrigger binding behavior requires at least one event name argument: eg <input value.bind=\"firstName & updateTrigger:'blur'\">",f="The updateTrigger binding behavior can only be applied to two-way bindings on input/select elements.";a.UpdateTriggerBindingBehavior=(d=c=function(){function a(a){this.eventManager=a}return a.prototype.bind=function(a,c){for(var d=arguments.length,g=Array(d>2?d-2:0),h=2;h<d;h++)g[h-2]=arguments[h];if(0===g.length)throw new Error(e);if(a.mode!==b.bindingMode.twoWay)throw new Error(f);var i=a.observerLocator.getObserver(a.target,a.targetProperty);if(!i.handler)throw new Error(f);a.targetObserver=i,i.originalHandler=a.targetObserver.handler;var j=this.eventManager.createElementHandler(g);i.handler=j},a.prototype.unbind=function(a,b){a.targetObserver.handler=a.targetObserver.originalHandler,a.targetObserver.originalHandler=null},a}(),c.inject=[b.EventManager],d)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/abstract-repeater.js",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.AbstractRepeater=function(){function a(a){Object.assign(this,{local:"items",viewsRequireLifecycle:!0},a)}return a.prototype.viewCount=function(){throw new Error("subclass must implement `viewCount`")},a.prototype.views=function(){throw new Error("subclass must implement `views`")},a.prototype.view=function(a){throw new Error("subclass must implement `view`")},a.prototype.matcher=function(){throw new Error("subclass must implement `matcher`")},a.prototype.addView=function(a,b){throw new Error("subclass must implement `addView`")},a.prototype.insertView=function(a,b,c){throw new Error("subclass must implement `insertView`")},a.prototype.moveView=function(a,b){throw new Error("subclass must implement `moveView`")},a.prototype.removeAllViews=function(a,b){throw new Error("subclass must implement `removeAllViews`")},a.prototype.removeViews=function(a,b,c){throw new Error("subclass must implement `removeView`")},a.prototype.removeView=function(a,b,c){throw new Error("subclass must implement `removeView`")},a.prototype.updateBindings=function(a){throw new Error("subclass must implement `updateBindings`")},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/repeat-strategy-locator.js",["exports","./null-repeat-strategy","./array-repeat-strategy","./map-repeat-strategy","./set-repeat-strategy","./number-repeat-strategy"],function(a,b,c,d,e,f){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.RepeatStrategyLocator=void 0;a.RepeatStrategyLocator=function(){function a(){this.matchers=[],this.strategies=[],this.addStrategy(function(a){return null===a||void 0===a},new b.NullRepeatStrategy),this.addStrategy(function(a){return a instanceof Array},new c.ArrayRepeatStrategy),this.addStrategy(function(a){return a instanceof Map},new d.MapRepeatStrategy),this.addStrategy(function(a){return a instanceof Set},new e.SetRepeatStrategy),this.addStrategy(function(a){return"number"==typeof a},new f.NumberRepeatStrategy)}return a.prototype.addStrategy=function(a,b){this.matchers.push(a),this.strategies.push(b)},a.prototype.getStrategy=function(a){for(var b=this.matchers,c=0,d=b.length;c<d;++c)if(b[c](a))return this.strategies[c];return null},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/dynamic-element.js",["exports","aurelia-templating"],function(a,b){"use strict";function c(a,c,d){for(var e,f,g,h=(e=(0,b.customElement)(a),f=(0,b.useView)(c),e(g=f(g=function(){function a(){}return a.prototype.bind=function(a){this.$parent=a},a}())||g)||g),i=0,j=d.length;i<j;++i)(0,b.bindable)(d[i])(h);return h}Object.defineProperty(a,"__esModule",{value:!0}),a._createDynamicElement=c})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/html-resource-plugin.js",["exports","aurelia-templating","./dynamic-element"],function(a,b,c){"use strict";function d(a){return/([^\/^\?]+)\.html/i.exec(a)[1].toLowerCase()}function e(a){var e=a.container.get(b.ViewEngine),f=a.aurelia.loader;e.addResourcePlugin(".html",{fetch:function(a){return f.loadTemplate(a).then(function(b){var e,f=b.template.getAttribute("bindable"),g=d(a);return f?(f=f.split(",").map(function(a){return a.trim()}),b.template.removeAttribute("bindable")):f=[],e={},e[g]=(0,c._createDynamicElement)(g,a,f),e})}})}Object.defineProperty(a,"__esModule",{value:!0}),a.getElementName=d,a.configure=e})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/null-repeat-strategy.js",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.NullRepeatStrategy=function(){function a(){}return a.prototype.instanceChanged=function(a,b){a.removeAllViews(!0)},a.prototype.getCollectionObserver=function(a,b){},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/array-repeat-strategy.js",["exports","./repeat-utilities","aurelia-binding"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.ArrayRepeatStrategy=void 0;a.ArrayRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(a,b){return a.getArrayObserver(b)},a.prototype.instanceChanged=function(a,c){var d=this,e=c.length;if(!c||0===e)return void a.removeAllViews(!0,!a.viewsRequireLifecycle);var f=a.views(),g=f.length;return 0===g?void this._standardProcessInstanceChanged(a,c):void(a.viewsRequireLifecycle?!function(){for(var h=f.slice(0),i=a.local,j=a.matcher(),k=[],l=[],m=0;m<g;m++){var n=h[m],o=n.bindingContext[i];(0,b.indexOf)(c,o,j)===-1?l.push(n):k.push(o)}var p=void 0,q=void 0;k.length>0?(q=a.removeViews(l,!0,!a.viewsRequireLifecycle),p=function(){for(var g=0;g<e;g++){var h=c[g],i=(0,b.indexOf)(k,h,j,g),l=void 0;if(i===-1){var m=(0,b.createFullOverrideContext)(a,c[g],g,e);a.insertView(g,m.bindingContext,m),k.splice(g,0,void 0)}else i===g?(l=f[i],k[i]=void 0):(l=f[i],a.moveView(i,g),k.splice(i,1),k.splice(g,0,void 0));l&&(0,b.updateOverrideContext)(l.overrideContext,g,e)}d._inPlaceProcessItems(a,c)}):(q=a.removeAllViews(!0,!a.viewsRequireLifecycle),p=function(){return d._standardProcessInstanceChanged(a,c)}),q instanceof Promise?q.then(p):p()}():this._inPlaceProcessItems(a,c))},a.prototype._standardProcessInstanceChanged=function(a,c){for(var d=0,e=c.length;d<e;d++){var f=(0,b.createFullOverrideContext)(a,c[d],d,e);a.addView(f.bindingContext,f);
-}},a.prototype._inPlaceProcessItems=function(a,c){for(var d=c.length,e=a.viewCount();e>d;)e--,a.removeView(e,!0,!a.viewsRequireLifecycle);for(var f=a.local,g=0;g<e;g++){var h=a.view(g),i=g===d-1,j=0!==g&&!i;h.bindingContext[f]===c[g]&&h.overrideContext.$middle===j&&h.overrideContext.$last===i||(h.bindingContext[f]=c[g],h.overrideContext.$middle=j,h.overrideContext.$last=i,a.updateBindings(h))}for(var k=e;k<d;k++){var l=(0,b.createFullOverrideContext)(a,c[k],k,d);a.addView(l.bindingContext,l)}},a.prototype.instanceMutated=function(a,b,d){var e=this;if(a.__queuedSplices){for(var f=0,g=d.length;f<g;++f){var h=d[f],i=h.index,j=h.removed,k=h.addedCount;(0,c.mergeSplice)(a.__queuedSplices,i,j,k)}return void(a.__array=b.slice(0))}var l=this._runSplices(a,b.slice(0),d);l instanceof Promise&&!function(){var b=a.__queuedSplices=[],c=function d(){if(!b.length)return a.__queuedSplices=void 0,void(a.__array=void 0);var c=e._runSplices(a,a.__array,b)||Promise.resolve();b=a.__queuedSplices=[],c.then(d)};l.then(c)}()},a.prototype._runSplices=function(a,c,d){for(var e=this,f=0,g=[],h=0,i=d.length;h<i;++h){for(var j=d[h],k=j.removed,l=0,m=k.length;l<m;++l){var n=a.removeView(j.index+f+g.length,!0);n instanceof Promise&&g.push(n)}f-=j.addedCount}if(g.length>0)return Promise.all(g).then(function(){var f=e._handleAddedSplices(a,c,d);(0,b.updateOverrideContexts)(a.views(),f)});var o=this._handleAddedSplices(a,c,d);(0,b.updateOverrideContexts)(a.views(),o)},a.prototype._handleAddedSplices=function(a,c,d){for(var e=void 0,f=void 0,g=c.length,h=0,i=d.length;h<i;++h){var j=d[h],k=e=j.index,l=j.index+j.addedCount;for(("undefined"==typeof f||null===f||f>j.index)&&(f=e);k<l;++k){var m=(0,b.createFullOverrideContext)(a,c[k],k,g);a.insertView(k,m.bindingContext,m)}}return f},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/map-repeat-strategy.js",["exports","./repeat-utilities"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.MapRepeatStrategy=void 0;a.MapRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(a,b){return a.getMapObserver(b)},a.prototype.instanceChanged=function(a,b){var c=this,d=a.removeAllViews(!0,!a.viewsRequireLifecycle);return d instanceof Promise?void d.then(function(){return c._standardProcessItems(a,b)}):void this._standardProcessItems(a,b)},a.prototype._standardProcessItems=function(a,c){var d=0,e=void 0;c.forEach(function(f,g){e=(0,b.createFullOverrideContext)(a,f,d,c.size,g),a.addView(e.bindingContext,e),++d})},a.prototype.instanceMutated=function(a,c,d){var e=void 0,f=void 0,g=void 0,h=void 0,i=void 0,j=void 0,k=[],l=void 0;for(f=0,g=d.length;f<g;++f)switch(j=d[f],e=j.key,j.type){case"update":i=this._getViewIndexByKey(a,e),l=a.removeView(i,!0,!a.viewsRequireLifecycle),l instanceof Promise&&k.push(l),h=(0,b.createFullOverrideContext)(a,c.get(e),i,c.size,e),a.insertView(i,h.bindingContext,h);break;case"add":h=(0,b.createFullOverrideContext)(a,c.get(e),c.size-1,c.size,e),a.insertView(c.size-1,h.bindingContext,h);break;case"delete":if(void 0===j.oldValue)return;i=this._getViewIndexByKey(a,e),l=a.removeView(i,!0,!a.viewsRequireLifecycle),l instanceof Promise&&k.push(l);break;case"clear":a.removeAllViews(!0,!a.viewsRequireLifecycle);break;default:continue}k.length>0?Promise.all(k).then(function(){(0,b.updateOverrideContexts)(a.views(),0)}):(0,b.updateOverrideContexts)(a.views(),0)},a.prototype._getViewIndexByKey=function(a,b){var c=void 0,d=void 0,e=void 0;for(c=0,d=a.viewCount();c<d;++c)if(e=a.view(c),e.bindingContext[a.key]===b)return c},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/set-repeat-strategy.js",["exports","./repeat-utilities"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.SetRepeatStrategy=void 0;a.SetRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(a,b){return a.getSetObserver(b)},a.prototype.instanceChanged=function(a,b){var c=this,d=a.removeAllViews(!0,!a.viewsRequireLifecycle);return d instanceof Promise?void d.then(function(){return c._standardProcessItems(a,b)}):void this._standardProcessItems(a,b)},a.prototype._standardProcessItems=function(a,c){var d=0,e=void 0;c.forEach(function(f){e=(0,b.createFullOverrideContext)(a,f,d,c.size),a.addView(e.bindingContext,e),++d})},a.prototype.instanceMutated=function(a,c,d){var e=void 0,f=void 0,g=void 0,h=void 0,i=void 0,j=void 0,k=[],l=void 0;for(f=0,g=d.length;f<g;++f)switch(j=d[f],e=j.value,j.type){case"add":h=(0,b.createFullOverrideContext)(a,e,c.size-1,c.size),a.insertView(c.size-1,h.bindingContext,h);break;case"delete":i=this._getViewIndexByValue(a,e),l=a.removeView(i,!0,!a.viewsRequireLifecycle),l instanceof Promise&&k.push(l);break;case"clear":a.removeAllViews(!0,!a.viewsRequireLifecycle);break;default:continue}k.length>0?Promise.all(k).then(function(){(0,b.updateOverrideContexts)(a.views(),0)}):(0,b.updateOverrideContexts)(a.views(),0)},a.prototype._getViewIndexByValue=function(a,b){var c=void 0,d=void 0,e=void 0;for(c=0,d=a.viewCount();c<d;++c)if(e=a.view(c),e.bindingContext[a.local]===b)return c},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/number-repeat-strategy.js",["exports","./repeat-utilities"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.NumberRepeatStrategy=void 0;a.NumberRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(){return null},a.prototype.instanceChanged=function(a,b){var c=this,d=a.removeAllViews(!0,!a.viewsRequireLifecycle);return d instanceof Promise?void d.then(function(){return c._standardProcessItems(a,b)}):void this._standardProcessItems(a,b)},a.prototype._standardProcessItems=function(a,c){var d=a.viewCount(),e=void 0,f=void 0,g=void 0,h=void 0;if(c=Math.floor(c),h=d-c,h>0)for(h>d&&(h=d),e=0,f=h;e<f;++e)a.removeView(d-(e+1),!0,!a.viewsRequireLifecycle);else{for(e=d,f=c;e<f;++e)g=(0,b.createFullOverrideContext)(a,e,e,f),a.addView(g.bindingContext,g);(0,b.updateOverrideContexts)(a.views(),0)}},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/repeat-utilities.js",["exports","aurelia-binding"],function(a,b){"use strict";function c(a,b){var c=a.length;for(b>0&&(b-=1);b<c;++b)e(a[b].overrideContext,b,c)}function d(a,c,d,f,g){var h={},i=(0,b.createOverrideContext)(h,a.scope.overrideContext);return"undefined"!=typeof g?(h[a.key]=g,h[a.value]=c):h[a.local]=c,e(i,d,f),i}function e(a,b,c){var d=0===b,e=b===c-1,f=b%2===0;a.$index=b,a.$first=d,a.$last=e,a.$middle=!(d||e),a.$odd=!f,a.$even=f}function f(a,b){return a.behaviorInstructions.filter(function(a){return a.originalAttrName===b})[0].attributes.items.sourceExpression}function g(a){for(var c=!1;a instanceof b.BindingBehavior;)a=a.expression;for(;a instanceof b.ValueConverter;)a=a.expression,c=!0;return c?a:null}function h(a){for(;a instanceof b.BindingBehavior;){if("oneTime"===a.name)return!0;a=a.expression}return!1}function i(a){a.call&&a.mode===k?a.call(b.sourceContext):a.updateOneTimeBindings&&a.updateOneTimeBindings()}function j(a,b,c,d){if(!c)return a.indexOf(b);for(var e=a.length,f=d||0;f<e;f++)if(c(a[f],b))return f;return-1}Object.defineProperty(a,"__esModule",{value:!0}),a.updateOverrideContexts=c,a.createFullOverrideContext=d,a.updateOverrideContext=e,a.getItemsSourceExpression=f,a.unwrapExpression=g,a.isOneTime=h,a.updateOneTimeBinding=i,a.indexOf=j;var k=b.bindingMode.oneTime})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/analyze-view-factory.js",["exports"],function(a){"use strict";function b(a){var b=a.type,c=null!==b.elementName?b.elementName:b.attributeName;return e.indexOf(c)===-1&&(b.handlesAttached||b.handlesBind||b.handlesCreated||b.handlesDetached||b.handlesUnbind)||b.viewFactory&&d(b.viewFactory)||a.viewFactory&&d(a.viewFactory)}function c(a){var c=a.behaviorInstructions;if(c)for(var e=c.length;e--;)if(b(c[e]))return!0;return a.viewFactory&&d(a.viewFactory)}function d(a){if("_viewsRequireLifecycle"in a)return a._viewsRequireLifecycle;if(a._viewsRequireLifecycle=!1,a.viewFactory)return a._viewsRequireLifecycle=d(a.viewFactory),a._viewsRequireLifecycle;if(a.template.querySelector(".au-animate"))return a._viewsRequireLifecycle=!0,!0;for(var b in a.instructions)if(c(a.instructions[b]))return a._viewsRequireLifecycle=!0,!0;return a._viewsRequireLifecycle=!1,!1}Object.defineProperty(a,"__esModule",{value:!0}),a.viewsRequireLifecycle=d;var e=a.lifecycleOptionalBehaviors=["focus","if","repeat","show","with"]})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/aurelia-hide-style.js",["exports","aurelia-pal"],function(a,b){"use strict";function c(){b.DOM.injectStyles(f)}function d(a){b.FEATURE.shadowDOM&&a&&!a.hasAureliaHideStyle&&(a.hasAureliaHideStyle=!0,b.DOM.injectStyles(f,a))}Object.defineProperty(a,"__esModule",{value:!0}),a.aureliaHideClassName=void 0,a.injectAureliaHideStyleAtHead=c,a.injectAureliaHideStyleAtBoundary=d;var e=a.aureliaHideClassName="aurelia-hide",f="."+e+" { display:none !important; }"})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/aurelia-templating-resources.js",["exports","./compose","./if","./with","./repeat","./show","./hide","./sanitize-html","./replaceable","./focus","aurelia-templating","./css-resource","./html-sanitizer","./attr-binding-behavior","./binding-mode-behaviors","./throttle-binding-behavior","./debounce-binding-behavior","./signal-binding-behavior","./binding-signaler","./update-trigger-binding-behavior","./abstract-repeater","./repeat-strategy-locator","./html-resource-plugin","./null-repeat-strategy","./array-repeat-strategy","./map-repeat-strategy","./set-repeat-strategy","./number-repeat-strategy","./repeat-utilities","./analyze-view-factory","./aurelia-hide-style"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E){"use strict";function F(a){(0,E.injectAureliaHideStyleAtHead)(),a.globalResources("./compose","./if","./with","./repeat","./show","./hide","./replaceable","./sanitize-html","./focus","./binding-mode-behaviors","./throttle-binding-behavior","./debounce-binding-behavior","./signal-binding-behavior","./update-trigger-binding-behavior","./attr-binding-behavior"),(0,w.configure)(a);var b=a.container.get(k.ViewEngine);b.addResourcePlugin(".css",{fetch:function(a){var b;return b={},b[a]=(0,l._createCSSResource)(a),b}})}Object.defineProperty(a,"__esModule",{value:!0}),a.viewsRequireLifecycle=a.unwrapExpression=a.updateOneTimeBinding=a.isOneTime=a.getItemsSourceExpression=a.updateOverrideContext=a.createFullOverrideContext=a.NumberRepeatStrategy=a.SetRepeatStrategy=a.MapRepeatStrategy=a.ArrayRepeatStrategy=a.NullRepeatStrategy=a.RepeatStrategyLocator=a.AbstractRepeater=a.UpdateTriggerBindingBehavior=a.BindingSignaler=a.SignalBindingBehavior=a.DebounceBindingBehavior=a.ThrottleBindingBehavior=a.TwoWayBindingBehavior=a.OneWayBindingBehavior=a.OneTimeBindingBehavior=a.AttrBindingBehavior=a.configure=a.Focus=a.Replaceable=a.SanitizeHTMLValueConverter=a.HTMLSanitizer=a.Hide=a.Show=a.Repeat=a.With=a.If=a.Compose=void 0,a.Compose=b.Compose,a.If=c.If,a.With=d.With,a.Repeat=e.Repeat,a.Show=f.Show,a.Hide=g.Hide,a.HTMLSanitizer=m.HTMLSanitizer,a.SanitizeHTMLValueConverter=h.SanitizeHTMLValueConverter,a.Replaceable=i.Replaceable,a.Focus=j.Focus,a.configure=F,a.AttrBindingBehavior=n.AttrBindingBehavior,a.OneTimeBindingBehavior=o.OneTimeBindingBehavior,a.OneWayBindingBehavior=o.OneWayBindingBehavior,a.TwoWayBindingBehavior=o.TwoWayBindingBehavior,a.ThrottleBindingBehavior=p.ThrottleBindingBehavior,a.DebounceBindingBehavior=q.DebounceBindingBehavior,a.SignalBindingBehavior=r.SignalBindingBehavior,a.BindingSignaler=s.BindingSignaler,a.UpdateTriggerBindingBehavior=t.UpdateTriggerBindingBehavior,a.AbstractRepeater=u.AbstractRepeater,a.RepeatStrategyLocator=v.RepeatStrategyLocator,a.NullRepeatStrategy=x.NullRepeatStrategy,a.ArrayRepeatStrategy=y.ArrayRepeatStrategy,a.MapRepeatStrategy=z.MapRepeatStrategy,a.SetRepeatStrategy=A.SetRepeatStrategy,a.NumberRepeatStrategy=B.NumberRepeatStrategy,a.createFullOverrideContext=C.createFullOverrideContext,a.updateOverrideContext=C.updateOverrideContext,a.getItemsSourceExpression=C.getItemsSourceExpression,a.isOneTime=C.isOneTime,a.updateOneTimeBinding=C.updateOneTimeBinding,a.unwrapExpression=C.unwrapExpression,a.viewsRequireLifecycle=D.viewsRequireLifecycle})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1.js",["npm:aurelia-templating-resources@1.1.1/aurelia-templating-resources"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/route-loader.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-router","aurelia-path","aurelia-metadata"],function(a,b,c,d,e,f){"use strict";function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(a,"__esModule",{value:!0}),a.TemplatingRouteLoader=void 0;var i,j;a.TemplatingRouteLoader=(i=(0,b.inject)(c.CompositionEngine),i(j=function(a){function b(b){var c=g(this,a.call(this));return c.compositionEngine=b,c}return h(b,a),b.prototype.loadRoute=function(a,b){var c=a.container.createChild(),g={viewModel:(0,e.relativeToFile)(b.moduleId,f.Origin.get(a.container.viewModel.constructor).moduleId),childContainer:c,view:b.view||b.viewStrategy,router:a};return c.getChildRouter=function(){var b=void 0;return c.registerHandler(d.Router,function(d){return b||(b=a.createChild(c))}),c.get(d.Router)},this.compositionEngine.ensureViewModel(g)},b}(d.RouteLoader))||j)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/router-view.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-router","aurelia-metadata","aurelia-pal"],function(a,b,c,d,e,f){"use strict";function g(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function h(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}Object.defineProperty(a,"__esModule",{value:!0}),a.RouterView=void 0;var i,j,k,l,m,n,o,p,q=function(){function a(){}return a.prototype.before=function(a,b,c){var d=Promise.resolve(c());return void 0!==b?d.then(function(){return a.remove(b,!0)}):d},a.prototype["with"]=function(a,b,c){var d=Promise.resolve(c());return void 0!==b?Promise.all([a.remove(b,!0),d]):d},a.prototype.after=function(a,b,c){return Promise.resolve(a.removeAll(!0)).then(c)},a}(),r=new q;a.RouterView=(i=(0,c.customElement)("router-view"),j=(0,b.inject)(f.DOM.Element,b.Container,c.ViewSlot,d.Router,c.ViewLocator,c.CompositionTransaction,c.CompositionEngine),i(k=(0,c.noView)(k=j((l=function(){function a(a,b,c,d,e,f,h){g(this,"swapOrder",m,this),g(this,"layoutView",n,this),g(this,"layoutViewModel",o,this),g(this,"layoutModel",p,this),this.element=a,this.container=b,this.viewSlot=c,this.router=d,this.viewLocator=e,this.compositionTransaction=f,this.compositionEngine=h,this.router.registerViewPort(this,this.element.getAttribute("name")),"initialComposition"in f||(f.initialComposition=!0,this.compositionTransactionNotifier=f.enlist())}return a.prototype.created=function(a){this.owningView=a},a.prototype.bind=function(a,b){this.container.viewModel=a,this.overrideContext=b},a.prototype.process=function(a,b){var d=this,f=a.component,g=f.childContainer,h=f.viewModel,i=f.viewModelResource,j=i.metadata,k=f.router.currentInstruction.config,l=k.viewPorts?k.viewPorts[a.name]:{},m={viewModel:l.layoutViewModel||k.layoutViewModel||this.layoutViewModel,view:l.layoutView||k.layoutView||this.layoutView,model:l.layoutModel||k.layoutModel||this.layoutModel,router:a.component.router,childContainer:g,viewSlot:this.viewSlot},n=this.viewLocator.getViewStrategy(f.view||h);return n&&f.view&&n.makeRelativeTo(e.Origin.get(f.router.container.viewModel.constructor).moduleId),j.load(g,i.value,null,n,!0).then(function(e){d.compositionTransactionNotifier||(d.compositionTransactionOwnershipToken=d.compositionTransaction.tryCapture()),(m.viewModel||m.view)&&(a.layoutInstruction=m),a.controller=j.create(g,c.BehaviorInstruction.dynamic(d.element,h,e)),b||d.swap(a)})},a.prototype.swap=function(a){var b=this,d=function(){var d=b.view,e=void 0,f=b.viewSlot,g=a.layoutInstruction;(e=b.swapOrder in r?r[b.swapOrder]:r.after)(f,d,function(){var d=void 0;return g?(g.viewModel||(g.viewModel={}),d=b.compositionEngine.createController(g).then(function(b){return c.ShadowDOM.distributeView(a.controller.view,b.slots||b.view.slots),b.view||b})):d=Promise.resolve(a.controller.view),d.then(function(a){return b.view=a,f.add(a)}).then(function(){b._notify()})})};return a.controller.automate(this.overrideContext,this.owningView),this.compositionTransactionOwnershipToken?this.compositionTransactionOwnershipToken.waitForCompositionComplete().then(function(){return b.compositionTransactionOwnershipToken=null,d()}):d()},a.prototype._notify=function(){this.compositionTransactionNotifier&&(this.compositionTransactionNotifier.done(),this.compositionTransactionNotifier=null)},a}(),m=h(l.prototype,"swapOrder",[c.bindable],{enumerable:!0,initializer:null}),n=h(l.prototype,"layoutView",[c.bindable],{enumerable:!0,initializer:null}),o=h(l.prototype,"layoutViewModel",[c.bindable],{enumerable:!0,initializer:null}),p=h(l.prototype,"layoutModel",[c.bindable],{enumerable:!0,initializer:null}),k=l))||k)||k)||k)})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader@1.0.0/aurelia-loader.js",["exports","aurelia-path","aurelia-metadata"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Loader=a.TemplateRegistryEntry=a.TemplateDependency=void 0;var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=a.TemplateDependency=function(a,b){this.src=a,this.name=b},f=a.TemplateRegistryEntry=function(){function a(a){this.templateIsLoaded=!1,this.factoryIsReady=!1,this.resources=null,this.dependencies=null,this.address=a,this.onReady=null,this._template=null,this._factory=null}return a.prototype.addDependency=function(a,d){var f="string"==typeof a?(0,b.relativeToFile)(a,this.address):c.Origin.get(a).moduleId;this.dependencies.push(new e(f,d))},d(a,[{key:"template",get:function(){return this._template},set:function(a){var c=this.address,d=void 0,f=void 0,g=void 0,h=void 0;this._template=a,this.templateIsLoaded=!0,d=a.content.querySelectorAll("require"),h=this.dependencies=new Array(d.length);for(var i=0,j=d.length;i<j;++i){if(f=d[i],g=f.getAttribute("from"),!g)throw new Error("<require> element in "+c+' has no "from" attribute.');h[i]=new e((0,b.relativeToFile)(g,c),f.getAttribute("as")),f.parentNode&&f.parentNode.removeChild(f)}}},{key:"factory",get:function(){return this._factory},set:function(a){this._factory=a,this.factoryIsReady=!0}}]),a}();a.Loader=function(){function a(){this.templateRegistry={}}return a.prototype.map=function(a,b){throw new Error("Loaders must implement map(id, source).")},a.prototype.normalizeSync=function(a,b){throw new Error("Loaders must implement normalizeSync(moduleId, relativeTo).")},a.prototype.normalize=function(a,b){throw new Error("Loaders must implement normalize(moduleId: string, relativeTo: string): Promise<string>.")},a.prototype.loadModule=function(a){throw new Error("Loaders must implement loadModule(id).")},a.prototype.loadAllModules=function(a){throw new Error("Loader must implement loadAllModules(ids).")},a.prototype.loadTemplate=function(a){throw new Error("Loader must implement loadTemplate(url).")},a.prototype.loadText=function(a){throw new Error("Loader must implement loadText(url).")},a.prototype.applyPluginToUrl=function(a,b){throw new Error("Loader must implement applyPluginToUrl(url, pluginName).")},a.prototype.addPlugin=function(a,b){throw new Error("Loader must implement addPlugin(pluginName, implementation).")},a.prototype.getOrCreateTemplateRegistryEntry=function(a){return this.templateRegistry[a]||(this.templateRegistry[a]=new f(a))},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader@1.0.0.js",["npm:aurelia-loader@1.0.0/aurelia-loader"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-binding@1.0.9/aurelia-binding.js",["exports","aurelia-logging","aurelia-pal","aurelia-task-queue","aurelia-metadata"],function(a,b,c,d,e){"use strict";function f(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function i(a){if(a in La)return La[a];var b=a.charAt(0).toLowerCase()+a.slice(1).replace(/[_.-](\w|$)/g,function(a,b){return b.toUpperCase()});return La[a]=b,b}function j(a,b){return{bindingContext:a,parentOverrideContext:b||null}}function k(a,b,c){var d=b.overrideContext;if(c){for(;c&&d;)c--,d=d.parentOverrideContext;if(c||!d)return;return a in d?d:d.bindingContext}for(;d&&!(a in d)&&!(d.bindingContext&&a in d.bindingContext);)d=d.parentOverrideContext;return d?a in d?d:d.bindingContext:b.bindingContext||b.overrideContext}function l(a,b){return b?{bindingContext:a,overrideContext:j(a,j(b))}:{bindingContext:a,overrideContext:j(a)}}function m(a){for(var b=void 0===this._observerSlots?0:this._observerSlots,c=b;c--&&this[Na[c]]!==a;);if(c===-1){for(c=0;this[Na[c]];)c++;this[Na[c]]=a,a.subscribe(Ma,this),c===b&&(this._observerSlots=c+1)}void 0===this._version&&(this._version=0),this[Oa[c]]=this._version}function n(a,b){var c=this.observerLocator.getObserver(a,b);m.call(this,c)}function o(a){var b=this.observerLocator.getArrayObserver(a);m.call(this,b)}function p(a){for(var b=this._observerSlots;b--;)if(a||this[Oa[b]]!==this._version){var c=this[Na[b]];this[Na[b]]=null,c&&c.unsubscribe(Ma,this)}}function q(){return function(a){a.prototype.observeProperty=n,a.prototype.observeArray=o,a.prototype.unobserve=p,a.prototype.addObserver=m}}function r(a){for(var b=0,d=Qa.keys(),e=void 0;(e=d.next())&&!e.done;){var f=e.value;if(Qa["delete"](f),f.connect(!0),b++,b%100===0&&c.PLATFORM.performance.now()-a>Sa)break}Qa.size?c.PLATFORM.requestAnimationFrame(r):(Ta=!1,Ua=0)}function s(a){Ua<Ra?(Ua++,a.connect(!1)):Qa.set(a),Ta||(Ta=!0,c.PLATFORM.requestAnimationFrame(r))}function t(a,b){return!this.hasSubscriber(a,b)&&(this._context0?this._context1?this._context2?this._contextsRest?(this._contextsRest.push(a),this._callablesRest.push(b),!0):(this._contextsRest=[a],this._callablesRest=[b],!0):(this._context2=a,this._callable2=b,!0):(this._context1=a,this._callable1=b,!0):(this._context0=a,this._callable0=b,!0))}function u(a,b){if(this._context0===a&&this._callable0===b)return this._context0=null,this._callable0=null,!0;if(this._context1===a&&this._callable1===b)return this._context1=null,this._callable1=null,!0;if(this._context2===a&&this._callable2===b)return this._context2=null,this._callable2=null,!0;var c=this._contextsRest,d=void 0;return!(!c||!c.length||(d=c.indexOf(a))===-1||this._callablesRest[d]!==b)&&(c.splice(d,1),this._callablesRest.splice(d,1),!0)}function v(a,b){var c=this._context0,d=this._callable0,e=this._context1,f=this._callable1,g=this._context2,h=this._callable2,i=this._contextsRest?this._contextsRest.length:0,j=void 0,k=void 0,l=void 0,m=void 0;if(i){for(l=Xa.length;l--&&Xa[l];);for(l<0?(l=Xa.length,j=[],k=[],Xa.push(!0),Va.push(j),Wa.push(k)):(Xa[l]=!0,j=Va[l],k=Wa[l]),m=i;m--;)j[m]=this._contextsRest[m],k[m]=this._callablesRest[m]}if(c&&(d?d.call(c,a,b):c(a,b)),e&&(f?f.call(e,a,b):e(a,b)),g&&(h?h.call(g,a,b):g(a,b)),i){for(m=0;m<i;m++){var n=k[m],o=j[m];n?n.call(o,a,b):o(a,b),j[m]=null,k[m]=null}Xa[l]=!1}}function w(){return!!(this._context0||this._context1||this._context2||this._contextsRest&&this._contextsRest.length)}function x(a,b){var c=this._context0===a&&this._callable0===b||this._context1===a&&this._callable1===b||this._context2===a&&this._callable2===b;if(c)return!0;var d=void 0,e=this._contextsRest;if(!e||0===(d=e.length))return!1;for(var f=this._callablesRest;d--;)if(e[d]===a&&f[d]===b)return!0;return!1}function y(){return function(a){a.prototype.addSubscriber=t,a.prototype.removeSubscriber=u,a.prototype.callSubscribers=v,a.prototype.hasSubscribers=w,a.prototype.hasSubscriber=x}}function z(a){return+a===a>>>0}function A(a){return+a}function B(a,b,c){return{index:a,removed:b,addedCount:c}}function C(){}function D(a,b,c,d,e,f){return bb.calcSplices(a,b,c,d,e,f)}function E(a,b,c,d){return b<c||d<a?-1:b===c||d===a?0:a<c?b<d?b-c:d-c:d<b?d-a:b-a}function F(a,b,c,d){for(var e=B(b,c,d),f=!1,g=0,h=0;h<a.length;h++){var i=a[h];if(i.index+=g,!f){var j=E(e.index,e.index+e.removed.length,i.index,i.index+i.addedCount);if(j>=0){a.splice(h,1),h--,g-=i.addedCount-i.removed.length,e.addedCount+=i.addedCount-j;var k=e.removed.length+i.removed.length-j;if(e.addedCount||k){var l=i.removed;if(e.index<i.index){var m=e.removed.slice(0,i.index-e.index);Array.prototype.push.apply(m,l),l=m}if(e.index+e.removed.length>i.index+i.addedCount){var n=e.removed.slice(i.index+i.addedCount-e.index);Array.prototype.push.apply(l,n)}e.removed=l,i.index<e.index&&(e.index=i.index)}else f=!0}else if(e.index<i.index){f=!0,a.splice(h,0,e),h++;var o=e.addedCount-e.removed.length;i.index+=o,g+=o}}}f||a.push(e)}function G(a,b){for(var c=[],d=0;d<b.length;d++){var e=b[d];switch(e.type){case"splice":F(c,e.index,e.removed.slice(),e.addedCount);break;case"add":case"update":case"delete":if(!z(e.name))continue;var f=A(e.name);if(f<0)continue;F(c,f,[e.oldValue],"delete"===e.type?0:1);break;default:console.error("Unexpected record type: "+JSON.stringify(e))}}return c}function H(a,b){var c=[];return G(a,b).forEach(function(b){return 1===b.addedCount&&1===b.removed.length?void(b.removed[0]!==a[b.index]&&c.push(b)):void(c=c.concat(D(a,b.index,b.index+b.addedCount,b.removed,0,b.removed.length)))}),c}function I(a,b,c,d){return{type:a,object:b,key:c,oldValue:d}}function J(a){for(var b=new Array(a.size),c=a.keys(),d=0,e=void 0;(e=c.next())&&!e.done;)b[d]=I("added",a,e.value),d++;return b}function K(a,b){return lb["for"](a,b)}function L(a,b,c){for(var d=b.length,e=[],f=0;f<d;f++)e[f]=b[f].evaluate(a,c);return e}function M(a,b){return null!==a&&null!==b?"string"==typeof a&&"string"!=typeof b?a+b.toString():"string"!=typeof a&&"string"==typeof b?a.toString()+b:a+b:null!==a?a:null!==b?b:0}function N(a,b,c){var d=null===a||void 0===a?null:a[b];if("function"==typeof d)return d;if(!c&&(null===d||void 0===d))return null;throw new Error(b+" is not a function")}function O(a,b){if(Array.isArray(a))return a[parseInt(b,10)];if(a)return a[b];if(null!==a&&void 0!==a)return a[b]}function P(a,b,c){if(Array.isArray(a)){var d=parseInt(b,10);a.length<=d&&(a.length=d+1),a[d]=c}else a[b]=c;return c}function Q(a){var b=new Gb;return a.accept(b)}function R(a){return a>=Nb&&a<=Sb||a===Hc}function S(a){return vc<=a&&a<=Dc||nc<=a&&a<=pc||a===uc||a===Vb}function T(a){return vc<=a&&a<=Dc||nc<=a&&a<=pc||lc<=a&&a<=mc||a===uc||a===Vb}function U(a){return lc<=a&&a<=mc}function V(a){return a===wc||a===oc}function W(a){return a===cc||a===ac}function X(a){switch(a){case yc:return Ob;case xc:return Qb;case zc:return Rb;case Ac:return Nb;case Cc:return Pb;default:return a}}function Y(a,b){if(!a)throw b||"Assertion failed"}function Z(a,b){return Mc["for"](a,b)}function $(a){return a.path&&a.path[0]||a.deepPath&&a.deepPath[0]||a.target}function _(a){a.standardStopPropagation=a.stopPropagation,a.stopPropagation=function(){this.propagationStopped=!0,this.standardStopPropagation()}}function aa(a){var b=!1;a.propagationStopped=!1;for(var c=$(a);c&&!a.propagationStopped;){if(c.delegatedCallbacks){var d=c.delegatedCallbacks[a.type];d&&(b||(_(a),b=!0),d(a))}c=c.parentNode}}function ba(a){return!!(a&&a.get&&a.get.dependencies)}function ca(a,b,c){var d=Object.getOwnPropertyDescriptor(a.prototype,b);d.get.dependencies=c}function da(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return function(a,c,d){return d.get.dependencies=b,d}}function ea(a,b,c,d){var e=c.get.dependencies;if(!(e instanceof fd)){for(var f=e.length;f--;)e[f]=d.parser.parse(e[f]);e=c.get.dependencies=new fd(b,e)}var g={bindingContext:a,overrideContext:j(a)};return new Ya(g,e,d)}function fa(a){var b=c.DOM.createElement("div");return b.innerHTML=a,b.firstChild}function ga(a){return void 0===a||"string"==typeof a?function(b){e.metadata.define(e.metadata.resource,new pd(a),b)}:void e.metadata.define(e.metadata.resource,new pd,a)}function ha(a){return void 0===a||"string"==typeof a?function(b){e.metadata.define(e.metadata.resource,new qd(a),b)}:void e.metadata.define(e.metadata.resource,new qd,a)}function ia(a){var b=a.au;if(void 0===b)throw new Error('No Aurelia APIs are defined for the element: "'+a.tagName+'".');return b}function ja(a,b){return vd["for"](a,b)}function ka(a,b,c){function d(a,b,c,d){var e=void 0===b;e&&(a=a.prototype,b="string"==typeof d?d:d.name);var f="_"+b,g={configurable:!0,enumerable:!1,writable:!0},h=d&&d.changeHandler||b+"Changed";return c?"function"==typeof c.initializer&&(g.value=c.initializer()):c={},"enumerable"in c||(c.enumerable=!0),delete c.value,delete c.writable,delete c.initializer,Reflect.defineProperty(a,f,g),c.get=function(){return this[f]},c.set=function(a){var c=this[f];this[f]=a,Reflect.defineProperty(this,f,{enumerable:!1}),this[h]&&this[h](a,c,b)},c.get.dependencies=[f],e?void Reflect.defineProperty(a,b,c):c}return void 0===b?function(b,c,e){return d(b,c,e,a)}:d(a,b,c)}Object.defineProperty(a,"__esModule",{value:!0}),a.getSetObserver=a.BindingEngine=a.NameExpression=a.Listener=a.ListenerExpression=a.BindingBehaviorResource=a.ValueConverterResource=a.Call=a.CallExpression=a.Binding=a.BindingExpression=a.ObjectObservationAdapter=a.ObserverLocator=a.SVGAnalyzer=a.presentationAttributes=a.presentationElements=a.elements=a.ComputedExpression=a.ClassObserver=a.SelectValueObserver=a.CheckedObserver=a.ValueAttributeObserver=a.StyleObserver=a.DataAttributeObserver=a.dataAttributeAccessor=a.XLinkAttributeObserver=a.SetterObserver=a.PrimitiveObserver=a.propertyAccessor=a.DirtyCheckProperty=a.DirtyChecker=a.EventManager=a.getMapObserver=a.ParserImplementation=a.Parser=a.Scanner=a.Lexer=a.Token=a.bindingMode=a.ExpressionCloner=a.Unparser=a.LiteralObject=a.LiteralArray=a.LiteralString=a.LiteralPrimitive=a.PrefixNot=a.Binary=a.CallFunction=a.CallMember=a.CallScope=a.AccessKeyed=a.AccessMember=a.AccessScope=a.AccessThis=a.Conditional=a.Assign=a.ValueConverter=a.BindingBehavior=a.Chain=a.Expression=a.getArrayObserver=a.CollectionLengthObserver=a.ModifyCollectionObserver=a.ExpressionObserver=a.sourceContext=void 0,
+"bundle";System.registerDynamic("github:github/fetch@2.0.3/fetch.js",[],!1,function(a,b,c){var d=System.get("@@global-helpers").prepareGlobal(c.id,null,null);return function(a){!function(a){"use strict";function b(a){if("string"!=typeof a&&(a=String(a)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(a))throw new TypeError("Invalid character in header field name");return a.toLowerCase()}function c(a){return"string"!=typeof a&&(a=String(a)),a}function d(a){var b={next:function(){var b=a.shift();return{done:void 0===b,value:b}}};return r.iterable&&(b[Symbol.iterator]=function(){return b}),b}function e(a){this.map={},a instanceof e?a.forEach(function(a,b){this.append(b,a)},this):Array.isArray(a)?a.forEach(function(a){this.append(a[0],a[1])},this):a&&Object.getOwnPropertyNames(a).forEach(function(b){this.append(b,a[b])},this)}function f(a){return a.bodyUsed?Promise.reject(new TypeError("Already read")):void(a.bodyUsed=!0)}function g(a){return new Promise(function(b,c){a.onload=function(){b(a.result)},a.onerror=function(){c(a.error)}})}function h(a){var b=new FileReader,c=g(b);return b.readAsArrayBuffer(a),c}function i(a){var b=new FileReader,c=g(b);return b.readAsText(a),c}function j(a){for(var b=new Uint8Array(a),c=new Array(b.length),d=0;d<b.length;d++)c[d]=String.fromCharCode(b[d]);return c.join("")}function k(a){if(a.slice)return a.slice(0);var b=new Uint8Array(a.byteLength);return b.set(new Uint8Array(a)),b.buffer}function l(){return this.bodyUsed=!1,this._initBody=function(a){if(this._bodyInit=a,a)if("string"==typeof a)this._bodyText=a;else if(r.blob&&Blob.prototype.isPrototypeOf(a))this._bodyBlob=a;else if(r.formData&&FormData.prototype.isPrototypeOf(a))this._bodyFormData=a;else if(r.searchParams&&URLSearchParams.prototype.isPrototypeOf(a))this._bodyText=a.toString();else if(r.arrayBuffer&&r.blob&&t(a))this._bodyArrayBuffer=k(a.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!r.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(a)&&!u(a))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=k(a)}else this._bodyText="";this.headers.get("content-type")||("string"==typeof a?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r.searchParams&&URLSearchParams.prototype.isPrototypeOf(a)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},r.blob&&(this.blob=function(){var a=f(this);if(a)return a;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(h)}),this.text=function(){var a=f(this);if(a)return a;if(this._bodyBlob)return i(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(j(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},r.formData&&(this.formData=function(){return this.text().then(o)}),this.json=function(){return this.text().then(JSON.parse)},this}function m(a){var b=a.toUpperCase();return v.indexOf(b)>-1?b:a}function n(a,b){b=b||{};var c=b.body;if(a instanceof n){if(a.bodyUsed)throw new TypeError("Already read");this.url=a.url,this.credentials=a.credentials,b.headers||(this.headers=new e(a.headers)),this.method=a.method,this.mode=a.mode,c||null==a._bodyInit||(c=a._bodyInit,a.bodyUsed=!0)}else this.url=String(a);if(this.credentials=b.credentials||this.credentials||"omit",!b.headers&&this.headers||(this.headers=new e(b.headers)),this.method=m(b.method||this.method||"GET"),this.mode=b.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&c)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(c)}function o(a){var b=new FormData;return a.trim().split("&").forEach(function(a){if(a){var c=a.split("="),d=c.shift().replace(/\+/g," "),e=c.join("=").replace(/\+/g," ");b.append(decodeURIComponent(d),decodeURIComponent(e))}}),b}function p(a){var b=new e;return a.split(/\r?\n/).forEach(function(a){var c=a.split(":"),d=c.shift().trim();if(d){var e=c.join(":").trim();b.append(d,e)}}),b}function q(a,b){b||(b={}),this.type="default",this.status="status"in b?b.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in b?b.statusText:"OK",this.headers=new e(b.headers),this.url=b.url||"",this._initBody(a)}if(!a.fetch){var r={searchParams:"URLSearchParams"in a,iterable:"Symbol"in a&&"iterator"in Symbol,blob:"FileReader"in a&&"Blob"in a&&function(){try{return new Blob,!0}catch(a){return!1}}(),formData:"FormData"in a,arrayBuffer:"ArrayBuffer"in a};if(r.arrayBuffer)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],t=function(a){return a&&DataView.prototype.isPrototypeOf(a)},u=ArrayBuffer.isView||function(a){return a&&s.indexOf(Object.prototype.toString.call(a))>-1};e.prototype.append=function(a,d){a=b(a),d=c(d);var e=this.map[a];this.map[a]=e?e+","+d:d},e.prototype["delete"]=function(a){delete this.map[b(a)]},e.prototype.get=function(a){return a=b(a),this.has(a)?this.map[a]:null},e.prototype.has=function(a){return this.map.hasOwnProperty(b(a))},e.prototype.set=function(a,d){this.map[b(a)]=c(d)},e.prototype.forEach=function(a,b){for(var c in this.map)this.map.hasOwnProperty(c)&&a.call(b,this.map[c],c,this)},e.prototype.keys=function(){var a=[];return this.forEach(function(b,c){a.push(c)}),d(a)},e.prototype.values=function(){var a=[];return this.forEach(function(b){a.push(b)}),d(a)},e.prototype.entries=function(){var a=[];return this.forEach(function(b,c){a.push([c,b])}),d(a)},r.iterable&&(e.prototype[Symbol.iterator]=e.prototype.entries);var v=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];n.prototype.clone=function(){return new n(this,{body:this._bodyInit})},l.call(n.prototype),l.call(q.prototype),q.prototype.clone=function(){return new q(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new e(this.headers),url:this.url})},q.error=function(){var a=new q(null,{status:0,statusText:""});return a.type="error",a};var w=[301,302,303,307,308];q.redirect=function(a,b){if(w.indexOf(b)===-1)throw new RangeError("Invalid status code");return new q(null,{status:b,headers:{location:a}})},a.Headers=e,a.Request=n,a.Response=q,a.fetch=function(a,b){return new Promise(function(c,d){var e=new n(a,b),f=new XMLHttpRequest;f.onload=function(){var a={status:f.status,statusText:f.statusText,headers:p(f.getAllResponseHeaders()||"")};a.url="responseURL"in f?f.responseURL:a.headers.get("X-Request-URL");var b="response"in f?f.response:f.responseText;c(new q(b,a))},f.onerror=function(){d(new TypeError("Network request failed"))},f.ontimeout=function(){d(new TypeError("Network request failed"))},f.open(e.method,e.url,!0),"include"===e.credentials&&(f.withCredentials=!0),"responseType"in f&&r.blob&&(f.responseType="blob"),e.headers.forEach(function(a,b){f.setRequestHeader(b,a)}),f.send("undefined"==typeof e._bodyInit?null:e._bodyInit)})},a.fetch.polyfill=!0}}("undefined"!=typeof self?self:this)}(this),d()}),System.registerDynamic("github:github/fetch@2.0.3.js",["github:github/fetch@2.0.3/fetch.js"],!0,function(a,b,c){this||self;c.exports=a("github:github/fetch@2.0.3/fetch.js")}),function(){var a=System.amdDefine;a("npm:aurelia-pal-browser@1.0.0/aurelia-pal-browser.js",["exports","aurelia-pal"],function(a,b){"use strict";function c(){function a(){}a.name||Object.defineProperty(Function.prototype,"name",{get:function(){var a=this.toString().match(/^\s*function\s*(\S*)\s*\(/)[1];return Object.defineProperty(this,"name",{value:a}),a}})}function d(){if("classList"in document.createElement("_")&&(!document.createElementNS||"classList"in document.createElementNS("http://www.w3.org/2000/svg","g"))){var a=document.createElement("_");if(a.classList.add("c1","c2"),!a.classList.contains("c2")){var b=function(a){var b=DOMTokenList.prototype[a];DOMTokenList.prototype[a]=function(a){for(var c=0,d=arguments.length;c<d;++c)a=arguments[c],b.call(this,a)}};b("add"),b("remove")}a.classList.toggle("c3",!1),a.classList.contains("c3")&&!function(){var a=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(b,c){return 1 in arguments&&!this.contains(b)==!c?c:a.call(this,b)}}(),a=null}else!function(){var a="prototype",b=String.prototype.trim,c=Array.prototype.indexOf,d=[],e=function(a,b){this.name=a,this.code=DOMException[a],this.message=b},f=function(a,b){if(""===b)throw new e("SYNTAX_ERR","An invalid or illegal string was specified");if(/\s/.test(b))throw new e("INVALID_CHARACTER_ERR","String contains an invalid character");return c.call(a,b)},g=function(a){for(var c=b.call(a.getAttribute("class")||""),e=c?c.split(/\s+/):d,f=0,g=e.length;f<g;++f)this.push(e[f]);this._updateClassName=function(){a.setAttribute("class",this.toString())}},h=g[a]=[];e[a]=Error[a],h.item=function(a){return this[a]||null},h.contains=function(a){return a+="",f(this,a)!==-1},h.add=function(){var a=arguments,b=0,c=a.length,d=void 0,e=!1;do d=a[b]+"",f(this,d)===-1&&(this.push(d),e=!0);while(++b<c);e&&this._updateClassName()},h.remove=function(){var a=arguments,b=0,c=a.length,d=void 0,e=!1,g=void 0;do for(d=a[b]+"",g=f(this,d);g!==-1;)this.splice(g,1),e=!0,g=f(this,d);while(++b<c);e&&this._updateClassName()},h.toggle=function(a,b){a+="";var c=this.contains(a),d=c?b!==!0&&"remove":b!==!1&&"add";return d&&this[d](a),b===!0||b===!1?b:!c},h.toString=function(){return this.join(" ")},Object.defineProperty(Element.prototype,"classList",{get:function(){return new g(this)},enumerable:!0,configurable:!0})}()}function e(){"performance"in window==!1&&(window.performance={}),"now"in window.performance==!1&&!function(){var a=Date.now();performance.timing&&performance.timing.navigationStart&&(a=performance.timing.navigationStart),window.performance.now=function(){return Date.now()-a}}(),k.performance=window.performance}function f(){if(!window.CustomEvent||"function"!=typeof window.CustomEvent){var a=function(a,b){b=b||{bubbles:!1,cancelable:!1,detail:void 0};var c=document.createEvent("CustomEvent");return c.initCustomEvent(a,b.bubbles,b.cancelable,b.detail),c};a.prototype=window.Event.prototype,window.CustomEvent=a}}function g(){if(Element&&!Element.prototype.matches){var a=Element.prototype;a.matches=a.matchesSelector||a.mozMatchesSelector||a.msMatchesSelector||a.oMatchesSelector||a.webkitMatchesSelector}}function h(){function a(a){return"template"===a.tagName&&"http://www.w3.org/2000/svg"===a.namespaceURI}function b(a){var b=a.ownerDocument.createElement("template"),d=a.attributes,e=d.length,f=void 0;for(a.parentNode.insertBefore(b,a);e-- >0;)f=d[e],b.setAttribute(f.name,f.value),a.removeAttribute(f.name);return a.parentNode.removeChild(a),c(b)}function c(a){for(var b=a.content=document.createDocumentFragment(),c=void 0;c=a.firstChild;)b.appendChild(c);return a}function d(d){for(var e=c(d).content,f=e.querySelectorAll("template"),g=0,h=f.length;g<h;++g){var i=f[g];a(i)?b(i):c(i)}return d}l.htmlTemplateElement?l.ensureHTMLTemplateElement=function(a){return a}:l.ensureHTMLTemplateElement=d}function i(){o||(o=!0,f(),c(),h(),g(),d(),e(),(0,b.initializePAL)(function(a,b,c){Object.assign(a,k),Object.assign(b,l),Object.assign(c,n),function(a){a.console=a.console||{};for(var b=a.console,c=void 0,d=void 0,e={},f=function(){},g="memory".split(","),h="assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn".split(",");c=g.pop();)b[c]||(b[c]=e);for(;d=h.pop();)b[d]||(b[d]=f)}(a.global),a.global.console&&"object"===j(console.log)&&["log","info","warn","error","assert","dir","clear","profile","profileEnd"].forEach(function(a){console[a]=this.bind(console[a],console)},Function.prototype.call),Object.defineProperty(c,"title",{get:function(){return document.title},set:function(a){document.title=a}}),Object.defineProperty(c,"activeElement",{get:function(){return document.activeElement}}),Object.defineProperty(a,"XMLHttpRequest",{get:function(){return a.global.XMLHttpRequest}})}))}Object.defineProperty(a,"__esModule",{value:!0}),a._DOM=a._FEATURE=a._PLATFORM=void 0,a._ensureFunctionName=c,a._ensureClassList=d,a._ensurePerformance=e,a._ensureCustomEvent=f,a._ensureElementMatches=g,a._ensureHTMLTemplateElement=h,a.initialize=i;var j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},k=a._PLATFORM={location:window.location,history:window.history,addEventListener:function(a,b,c){this.global.addEventListener(a,b,c)},removeEventListener:function(a,b,c){this.global.removeEventListener(a,b,c)},performance:window.performance,requestAnimationFrame:function(a){return this.global.requestAnimationFrame(a)}},l=a._FEATURE={};l.shadowDOM=function(){return!!HTMLElement.prototype.attachShadow}(),l.scopedCSS=function(){return"scoped"in document.createElement("style")}(),l.htmlTemplateElement=function(){return"content"in document.createElement("template")}(),l.mutationObserver=function(){return!(!window.MutationObserver&&!window.WebKitMutationObserver)}();var m=window.ShadowDOMPolyfill||null,n=a._DOM={Element:Element,SVGElement:SVGElement,boundary:"aurelia-dom-boundary",addEventListener:function(a,b,c){document.addEventListener(a,b,c)},removeEventListener:function(a,b,c){document.removeEventListener(a,b,c)},adoptNode:function(a){return document.adoptNode(a,!0)},createElement:function(a){return document.createElement(a)},createTextNode:function(a){return document.createTextNode(a)},createComment:function(a){return document.createComment(a)},createDocumentFragment:function(){return document.createDocumentFragment()},createMutationObserver:function(a){return new(window.MutationObserver||window.WebKitMutationObserver)(a)},createCustomEvent:function(a,b){return new window.CustomEvent(a,b)},dispatchEvent:function(a){document.dispatchEvent(a)},getComputedStyle:function(a){return window.getComputedStyle(a)},getElementById:function(a){return document.getElementById(a)},querySelectorAll:function(a){return document.querySelectorAll(a)},nextElementSibling:function(a){if(a.nextElementSibling)return a.nextElementSibling;do a=a.nextSibling;while(a&&1!==a.nodeType);return a},createTemplateFromMarkup:function(a){var b=document.createElement("div");b.innerHTML=a;var c=b.firstElementChild;if(!c||"TEMPLATE"!==c.nodeName)throw new Error("Template markup must be wrapped in a <template> element e.g. <template> <!-- markup here --> </template>");return l.ensureHTMLTemplateElement(c)},appendNode:function(a,b){(b||document.body).appendChild(a)},replaceNode:function(a,b,c){b.parentNode?b.parentNode.replaceChild(a,b):null!==m?m.unwrap(c).replaceChild(m.unwrap(a),m.unwrap(b)):c.replaceChild(a,b)},removeNode:function(a,b){a.parentNode?a.parentNode.removeChild(a):b&&(null!==m?m.unwrap(b).removeChild(m.unwrap(a)):b.removeChild(a))},injectStyles:function(a,b,c){var d=document.createElement("style");return d.innerHTML=a,d.type="text/css",b=b||document.head,c&&b.childNodes.length>0?b.insertBefore(d,b.childNodes[0]):b.appendChild(d),d}},o=!1})}(),function(){var a=System.amdDefine;a("npm:aurelia-pal-browser@1.0.0.js",["npm:aurelia-pal-browser@1.0.0/aurelia-pal-browser"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-polyfills@1.1.1/aurelia-polyfills.js",["aurelia-pal"],function(a){"use strict";var b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a};!function(b,c){if(!(c in b)){var d,e=a.PLATFORM.global,f=0,g=""+Math.random(),h="__symbol:",i=h.length,j="__symbol@@"+g,k="defineProperty",l="defineProperties",m="getOwnPropertyNames",n="getOwnPropertyDescriptor",o="propertyIsEnumerable",p=b[m],q=b[n],r=b.create,s=b.keys,t=b[k],u=b[l],v=q(b,m),w=b.prototype,x=w.hasOwnProperty,y=w[o],z=w.toString,A=(Array.prototype.indexOf||function(a){for(var b=this.length;b--&&this[b]!==a;);return b},function(a,b,c){x.call(a,j)||t(a,j,{enumerable:!1,configurable:!1,writable:!1,value:{}}),a[j]["@@"+b]=c}),B=function(a,b){var c=r(a);return p(b).forEach(function(a){G.call(b,a)&&M(c,a,b[a])}),c},C=function(a){var b=r(a);return b.enumerable=!1,b},D=function(){},E=function(a){return a!=j&&!x.call(J,a)},F=function(a){return a!=j&&x.call(J,a)},G=function(a){var b=""+a;return F(b)?x.call(this,b)&&this[j]["@@"+b]:y.call(this,a)},H=function(a){var c={enumerable:!1,configurable:!0,get:D,set:function(b){d(this,a,{enumerable:!1,configurable:!0,writable:!0,value:b}),A(this,a,!0)}};return t(w,a,c),J[a]=t(b(a),"constructor",K)},I=function(a){if(this&&this!==e)throw new TypeError("Symbol is not a constructor");return H(h.concat(a||"",g,++f))},J=r(null),K={value:I},L=function(a){return J[a]},M=function(a,b,c){var e=""+b;return F(e)?(d(a,e,c.enumerable?C(c):c),A(a,e,!!c.enumerable)):t(a,b,c),a},N=function(a){var c=z.call(a);return a="[object String]"===c?a.split(""):b(a),p(a).filter(F).map(L)};v.value=M,t(b,k,v),v.value=N,t(b,c,v),v.value=function(a){return p(a).filter(E)},t(b,m,v),v.value=function(a,b){var c=N(b);return c.length?s(b).concat(c).forEach(function(c){G.call(b,c)&&M(a,c,b[c])}):u(a,b),a},t(b,l,v),v.value=G,t(w,o,v),v.value=I,t(e,"Symbol",v),v.value=function(a){var b=h.concat(h,a,g);return b in w?J[b]:H(b)},t(I,"for",v),v.value=function(a){return x.call(J,a)?a.slice(2*i,-g.length):void 0},t(I,"keyFor",v),v.value=function(a,b){var c=q(a,b);return c&&F(b)&&(c.enumerable=G.call(a,b)),c},t(b,n,v),v.value=function(a,b){return 1===arguments.length?r(a):B(a,b)},t(b,"create",v),v.value=function(){var a=z.call(this);return"[object String]"===a&&F(this)?"[object Symbol]":a},t(w,"toString",v);try{d=r(t({},h,{get:function(){return t(this,h,{value:!1})[h]}}))[h]||t}catch(O){d=function(a,b,c){var d=q(w,b);delete w[b],t(a,b,c),t(w,b,d)}}}}(Object,"getOwnPropertySymbols"),function(a,b){var c,d=a.defineProperty,e=a.prototype,f=e.toString,g="toStringTag";["iterator","match","replace","search","split","hasInstance","isConcatSpreadable","unscopables","species","toPrimitive",g].forEach(function(b){if(!(b in Symbol))switch(d(Symbol,b,{value:Symbol(b)}),b){case g:c=a.getOwnPropertyDescriptor(e,"toString"),c.value=function(){var a=f.call(this),b="undefined"==typeof this||null===this?void 0:this[Symbol.toStringTag];return"undefined"==typeof b?a:"[object "+b+"]"},d(e,"toString",c)}})}(Object,Symbol),function(a,b,c){function d(){return this}b[a]||(b[a]=function(){var b=0,c=this,e={next:function(){var a=c.length<=b;return a?{done:a}:{done:a,value:c[b++]}}};return e[a]=d,e}),c[a]||(c[a]=function(){var b=String.fromCodePoint,c=this,e=0,f=c.length,g={next:function(){var a=f<=e,d=a?"":b(c.codePointAt(e));return e+=d.length,a?{done:a}:{done:a,value:d}}};return g[a]=d,g})}(Symbol.iterator,Array.prototype,String.prototype),Number.isNaN=Number.isNaN||function(a){return a!==a},Number.isFinite=Number.isFinite||function(a){return"number"==typeof a&&isFinite(a)},String.prototype.endsWith&&!function(){try{return!"ab".endsWith("a",1)}catch(a){return!0}}()||(String.prototype.endsWith=function(a,b){var c=this.toString();("number"!=typeof b||!isFinite(b)||Math.floor(b)!==b||b>c.length)&&(b=c.length),b-=a.length;var d=c.indexOf(a,b);return d!==-1&&d===b}),String.prototype.startsWith&&!function(){try{return!"ab".startsWith("b",1)}catch(a){return!0}}()||(String.prototype.startsWith=function(a,b){return b=b||0,this.substr(b,a.length)===a}),Array.from||(Array.from=function(){var a=function(a){return isNaN(a=+a)?0:(a>0?Math.floor:Math.ceil)(a)},b=function(b){return b>0?Math.min(a(b),9007199254740991):0},c=function(a,b,c,d){try{return b(c,d)}catch(e){throw"function"==typeof a["return"]&&a["return"](),e}};return function(a){var d,e,f,g,h=Object(a),i="function"==typeof this?this:Array,j=arguments.length,k=j>1?arguments[1]:void 0,l=void 0!==k,m=0,n=h[Symbol.iterator];if(l&&(k=k.bind(j>2?arguments[2]:void 0)),void 0==n||Array.isArray(a))for(d=b(h.length),e=new i(d);d>m;m++)e[m]=l?k(h[m],m):h[m];else for(g=n.call(h),e=new i;!(f=g.next()).done;m++)e[m]=l?c(g,k,f.value,m):f.value;return e.length=m,e}}()),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{configurable:!0,writable:!0,enumerable:!1,value:function f(a){if(null===this)throw new TypeError("Array.prototype.find called on null or undefined");if("function"!=typeof a)throw new TypeError("predicate must be a function");for(var f,b=Object(this),c=b.length>>>0,d=arguments[1],e=0;e<c;e++)if(f=b[e],a.call(d,f,e,b))return f}}),Array.prototype.findIndex||Object.defineProperty(Array.prototype,"findIndex",{configurable:!0,writable:!0,enumerable:!1,value:function g(a){if(null===this)throw new TypeError("Array.prototype.findIndex called on null or undefined");if("function"!=typeof a)throw new TypeError("predicate must be a function");for(var g,b=Object(this),c=b.length>>>0,d=arguments[1],e=0;e<c;e++)if(g=b[e],a.call(d,g,e,b))return e;return-1}}),Array.prototype.includes||Object.defineProperty(Array.prototype,"includes",{configurable:!0,writable:!0,enumerable:!1,value:function(a){var b=Object(this),c=parseInt(b.length)||0;if(0===c)return!1;var d,e=parseInt(arguments[1])||0;e>=0?d=e:(d=c+e,d<0&&(d=0));for(var f;d<c;){if(f=b[d],a===f||a!==a&&f!==f)return!0;d++}return!1}}),function(){var a=!1;try{var b=Object.keys("a");a=1!==b.length||"0"!==b[0]}catch(c){a=!0}a&&(Object.keys=function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=c.length;return function(e){if(void 0===e||null===e)throw TypeError("Cannot convert undefined or null to object");e=Object(e);var f,g,h=[];for(f in e)a.call(e,f)&&h.push(f);if(b)for(g=0;g<d;g++)a.call(e,c[g])&&h.push(c[g]);return h}}())}(),function(a){"assign"in a||a.defineProperty(a,"assign",{configurable:!0,writable:!0,value:function(){var b=a.getOwnPropertySymbols,c=a.propertyIsEnumerable,d=b?function(a){return b(a).filter(c,a)}:function(){return Array.prototype};return function(c){function e(a){c[a]=h[a]}!b||c instanceof a||console.warn("problematic Symbols",c);for(var f=1,g=arguments.length;f<g;++f){var h=arguments[f];null!==h&&void 0!==h&&a.keys(h).concat(d(h)).forEach(e)}return c}}()})}(Object),function(a){function b(a,b){function d(a){return this&&this.constructor===d?(this._keys=[],this._values=[],this._itp=[],this.objectOnly=b,void(a&&c.call(this,a))):new d(a)}return b||t(a,"size",{get:q}),a.constructor=d,d.prototype=a,d}function c(a){this.add?a.forEach(this.add,this):a.forEach(function(a){this.set(a[0],a[1])},this)}function d(a){return this.has(a)&&(this._keys.splice(s,1),this._values.splice(s,1),this._itp.forEach(function(a){s<a[0]&&a[0]--})),-1<s}function e(a){return this.has(a)?this._values[s]:void 0}function f(a,b){if(this.objectOnly&&b!==Object(b))throw new TypeError("Invalid value used as weak collection key");if(b!=b||0===b)for(s=a.length;s--&&!u(a[s],b););else s=a.indexOf(b);return-1<s}function g(a){return f.call(this,this._values,a)}function h(a){return f.call(this,this._keys,a)}function i(a,b){return this.has(a)?this._values[s]=b:this._values[this._keys.push(a)-1]=b,this}function j(a){return this.has(a)||this._values.push(a),this}function k(){(this._keys||0).length=this._values.length=0}function l(){return p(this._itp,this._keys)}function m(){return p(this._itp,this._values)}function n(){return p(this._itp,this._keys,this._values)}function o(){return p(this._itp,this._values,this._values)}function p(a,b,c){var d,e=[0],f=!1;return a.push(e),d={},d[Symbol.iterator]=function(){return this},d.next=function(){var d,g=e[0];return!f&&g<b.length?(d=c?[b[g],c[g]]:b[g],e[0]++):(f=!0,a.splice(a.indexOf(e),1)),{done:f,value:d}},d}function q(){return this._values.length}function r(a,b){for(var c=this.entries();;){var d=c.next();if(d.done)break;a.call(b,d.value[1],d.value[0],this)}}var s,t=Object.defineProperty,u=function(a,b){return a===b||a!==a&&b!==b};if("undefined"==typeof WeakMap&&(a.WeakMap=b({"delete":d,clear:k,get:e,has:h,set:i},!0)),"undefined"==typeof Map||"function"!=typeof(new Map).values||!(new Map).values().next){var v;a.Map=b((v={"delete":d,has:h,get:e,set:i,keys:l,values:m,entries:n,forEach:r,clear:k},v[Symbol.iterator]=n,v))}if("undefined"==typeof Set||"function"!=typeof(new Set).values||!(new Set).values().next){var w;a.Set=b((w={has:g,add:j,"delete":d,clear:k,keys:m,values:m,entries:o,forEach:r},w[Symbol.iterator]=m,w))}"undefined"==typeof WeakSet&&(a.WeakSet=b({"delete":d,add:j,clear:k,has:g},!0))}(a.PLATFORM.global);var c=Object.freeze({}),d="__metadata__",e=Function.prototype.bind;"undefined"==typeof a.PLATFORM.global.Reflect&&(a.PLATFORM.global.Reflect={}),"function"!=typeof Reflect.getOwnMetadata&&(Reflect.getOwnMetadata=function(a,b,e){if(b.hasOwnProperty(d))return(b[d][e]||c)[a]}),"function"!=typeof Reflect.defineMetadata&&(Reflect.defineMetadata=function(a,b,c,e){var f=c.hasOwnProperty(d)?c[d]:c[d]={},g=f[e]||(f[e]={});g[a]=b}),"function"!=typeof Reflect.metadata&&(Reflect.metadata=function(a,b){return function(c,d){Reflect.defineMetadata(a,b,c,d)}}),"function"!=typeof Reflect.defineProperty&&(Reflect.defineProperty=function(a,c,d){if("object"===("undefined"==typeof a?"undefined":b(a))?null===a:"function"!=typeof a)throw new TypeError("Reflect.defineProperty called on non-object");try{return Object.defineProperty(a,c,d),!0}catch(e){return!1}}),"function"!=typeof Reflect.construct&&(Reflect.construct=function(a,b){if(b)switch(b.length){case 0:return new a;case 1:return new a(b[0]);case 2:return new a(b[0],b[1]);case 3:return new a(b[0],b[1],b[2]);case 4:return new a(b[0],b[1],b[2],b[3])}var c=[null];return c.push.apply(c,b),new(e.apply(a,c))}),"function"!=typeof Reflect.ownKeys&&(Reflect.ownKeys=function(a){return Object.getOwnPropertyNames(a).concat(Object.getOwnPropertySymbols(a))})})}(),function(){var a=System.amdDefine;a("npm:aurelia-polyfills@1.1.1.js",["npm:aurelia-polyfills@1.1.1/aurelia-polyfills"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-bootstrapper@1.0.0/aurelia-bootstrapper.js",["exports","aurelia-pal","aurelia-pal-browser","aurelia-polyfills"],function(a,b,c){"use strict";function d(a){return new Promise(function(b,c){m?b(a(m)):l.push(function(){try{b(a(m))}catch(d){c(d)}})})}function e(a){return new Promise(function(b,c){function d(){a.document.removeEventListener("DOMContentLoaded",d),a.removeEventListener("load",d),b(a.document)}"complete"===a.document.readyState?b(a.document):(a.document.addEventListener("DOMContentLoaded",d),a.addEventListener("load",d))})}function f(){return b.PLATFORM.Loader?Promise.resolve(new b.PLATFORM.Loader):window.System&&"function"==typeof window.System["import"]?System.normalize("aurelia-bootstrapper").then(function(a){return System.normalize("aurelia-loader-default",a)}).then(function(a){return System["import"](a).then(function(a){return new a.DefaultLoader})}):"function"==typeof window.require?new Promise(function(a,b){return require(["aurelia-loader-default"],function(b){return a(new b.DefaultLoader)},b)}):Promise.reject("No PLATFORM.Loader is defined and there is neither a System API (ES6) or a Require API (AMD) globally available to load your app.")}function g(a){return a.normalize("aurelia-bootstrapper").then(function(b){return a.normalize("aurelia-framework",b).then(function(c){return a.map("aurelia-framework",c),Promise.all([a.normalize("aurelia-dependency-injection",c).then(function(b){return a.map("aurelia-dependency-injection",b)}),a.normalize("aurelia-router",b).then(function(b){return a.map("aurelia-router",b)}),a.normalize("aurelia-logging-console",b).then(function(b){return a.map("aurelia-logging-console",b)})]).then(function(){return a.loadModule(c).then(function(a){return n=a.Aurelia})})})})}function h(a,b){var c=b.getAttribute("aurelia-app")||b.getAttribute("data-aurelia-app");return i(a,b,c)}function i(a,b,c){var d=new n(a);return d.host=b,d.configModuleId=c||null,c?a.loadModule(c).then(function(a){return a.configure(d)}):(d.use.standardConfiguration().developmentLogging(),d.start().then(function(){return d.setRoot()}))}function j(){return e(window).then(function(a){(0,c.initialize)();var b=a.querySelectorAll("[aurelia-app],[data-aurelia-app]");return f().then(function(a){return g(a).then(function(){for(var c=0,d=b.length;c<d;++c)h(a,b[c])["catch"](console.error.bind(console));m=a;for(var e=0,f=l.length;e<f;++e)l[e]();l=null})})})}function k(a){return d(function(b){var c=new n(b);return a(c)})}Object.defineProperty(a,"__esModule",{value:!0}),a.bootstrap=k;var l=[],m=null,n=null;j()})}(),function(){var a=System.amdDefine;a("npm:aurelia-bootstrapper@1.0.0.js",["npm:aurelia-bootstrapper@1.0.0/aurelia-bootstrapper"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-fetch-client@1.1.3/aurelia-fetch-client.js",["exports"],function(a){"use strict";function b(a){return new Blob([JSON.stringify(void 0!==a?a:{})],{type:"application/json"})}function c(a){if(!a.ok)throw a;return a}function d(){this.isRequesting=!!++this.activeRequestCount}function e(){this.isRequesting=!!--this.activeRequestCount}function f(a){var b=e.bind(this);return a.then(b,b),a}function g(a){var b={};for(var c in a||{})a.hasOwnProperty(c)&&(b[c]="function"==typeof a[c]?a[c]():a[c]);return b}function h(a,b){var c=this.defaults||{},d=void 0,e=void 0,f=void 0,h=g(c.headers);if(Request.prototype.isPrototypeOf(a))d=a,f=new Headers(d.headers).get("Content-Type");else{b||(b={}),e=b.body;var k=e?{body:e}:null,l=Object.assign({},c,{headers:{}},b,k);f=new Headers(l.headers).get("Content-Type"),d=new Request(i(this.baseUrl,a),l)}return!f&&new Headers(h).has("content-type")&&d.headers.set("Content-Type",new Headers(h).get("content-type")),j(d.headers,h),e&&Blob.prototype.isPrototypeOf(e)&&e.type&&d.headers.set("Content-Type",e.type),d}function i(a,b){return r.test(b)?b:(a||"")+b}function j(a,b){for(var c in b||{})b.hasOwnProperty(c)&&!a.has(c)&&a.set(c,b[c])}function k(a,b){return m(a,b,"request","requestError")}function l(a,b,c){return m(a,b,"response","responseError",c)}function m(a,b,c,d){for(var e=arguments.length,f=Array(e>4?e-4:0),g=4;g<e;g++)f[g-4]=arguments[g];return(b||[]).reduce(function(a,b){var e=b[c],g=b[d];return a.then(e&&function(a){return e.call.apply(e,[b,a].concat(f))}||n,g&&function(a){return g.call.apply(g,[b,a].concat(f))}||o)},Promise.resolve(a))}function n(a){return a}function o(a){throw a}Object.defineProperty(a,"__esModule",{value:!0}),a.json=b;var p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},q=a.HttpClientConfiguration=function(){function a(){this.baseUrl="",this.defaults={},this.interceptors=[]}return a.prototype.withBaseUrl=function(a){return this.baseUrl=a,this},a.prototype.withDefaults=function(a){return this.defaults=a,this},a.prototype.withInterceptor=function(a){return this.interceptors.push(a),this},a.prototype.useStandardConfiguration=function(){var a={credentials:"same-origin"};return Object.assign(this.defaults,a,this.defaults),this.rejectErrorResponses()},a.prototype.rejectErrorResponses=function(){return this.withInterceptor({response:c})},a}(),r=(a.HttpClient=function(){function a(){if(this.activeRequestCount=0,this.isRequesting=!1,this.isConfigured=!1,this.baseUrl="",this.defaults=null,this.interceptors=[],"undefined"==typeof fetch)throw new Error("HttpClient requires a Fetch API implementation, but the current environment doesn't support it. You may need to load a polyfill such as https://github.com/github/fetch");
+}return a.prototype.configure=function(a){var b=void 0;if("object"===("undefined"==typeof a?"undefined":p(a)))b={defaults:a};else{if("function"!=typeof a)throw new Error("invalid config");b=new q,b.baseUrl=this.baseUrl,b.defaults=Object.assign({},this.defaults),b.interceptors=this.interceptors;var c=a(b);q.prototype.isPrototypeOf(c)&&(b=c)}var d=b.defaults;if(d&&Headers.prototype.isPrototypeOf(d.headers))throw new Error("Default headers must be a plain object.");return this.baseUrl=b.baseUrl,this.defaults=d,this.interceptors=b.interceptors||[],this.isConfigured=!0,this},a.prototype.fetch=function(a){function b(b,c){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a,b){var c=this;d.call(this);var e=Promise.resolve().then(function(){return h.call(c,a,b,c.defaults)}),g=k(e,this.interceptors).then(function(a){var b=null;if(Response.prototype.isPrototypeOf(a))b=a;else{if(!Request.prototype.isPrototypeOf(a))throw new Error("An invalid result was returned by the interceptor chain. Expected a Request or Response instance, but got ["+a+"]");e=Promise.resolve(a),b=fetch(a)}return e.then(function(a){return l(b,c.interceptors,a)})});return f.call(this,g)}),a}(),/^([a-z][a-z0-9+\-.]*:)?\/\//i)})}(),function(){var a=System.amdDefine;a("npm:aurelia-fetch-client@1.1.3.js",["npm:aurelia-fetch-client@1.1.3/aurelia-fetch-client"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-framework@1.0.6/aurelia-framework.js",["exports","aurelia-dependency-injection","aurelia-binding","aurelia-metadata","aurelia-templating","aurelia-loader","aurelia-task-queue","aurelia-path","aurelia-pal","aurelia-logging"],function(a,b,c,d,e,f,g,h,i,j){"use strict";function k(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function l(){i.DOM.addEventListener("submit",function(a){var b=a.target,c=b.action;"form"!==b.tagName.toLowerCase()||c||a.preventDefault()})}function m(a,b){var c=void 0,d=function e(){return c=b.shift(),c?Promise.resolve(c(a)).then(e):Promise.resolve()};return d()}function n(a,b,c){function d(d){return b.loadModule(d).then(function(b){return"configure"in b?Promise.resolve(b.configure(a,c.config||{})).then(function(){a.resourcesRelativeTo=null,s.debug("Configured plugin "+c.moduleId+".")}):(a.resourcesRelativeTo=null,void s.debug("Loaded plugin "+c.moduleId+"."))})}s.debug("Loading plugin "+c.moduleId+"."),a.resourcesRelativeTo=c.resourcesRelativeTo;var e=c.moduleId;return c.resourcesRelativeTo.length>1?b.normalize(c.moduleId,c.resourcesRelativeTo[1]).then(function(a){return d(a)}):d(e)}function o(a,b,c){function d(b){var c=b.moduleId,d=p(c);return f(c)&&(c=g(c)),a.loader.normalize(c,b.relativeTo).then(function(a){return{name:b.moduleId,importId:f(b.moduleId)?h(a,d):a}})}function f(a){var b=p(a);return!!b&&(""!==b&&(".js"!==b&&".ts"!==b))}function g(a){return a.replace(t,"")}function h(a,b){return g(a)+"."+b}var i=a.container.get(e.ViewEngine);return Promise.all(Object.keys(b).map(function(a){return d(b[a])})).then(function(a){var b=[],d=[];return a.forEach(function(a){b.push(void 0),d.push(a.importId)}),i.importViewResources(d,b,c)})}function p(a){var b=a.match(t);if(b&&b.length>0)return b[0].split(".")[1]}function q(a){if(a.processed)throw new Error("This config instance has already been applied. To load more plugins or global resources, create a new FrameworkConfiguration instance.")}Object.defineProperty(a,"__esModule",{value:!0}),a.LogManager=a.FrameworkConfiguration=a.Aurelia=void 0,Object.keys(b).forEach(function(c){"default"!==c&&"__esModule"!==c&&Object.defineProperty(a,c,{enumerable:!0,get:function(){return b[c]}})}),Object.keys(c).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return c[b]}})}),Object.keys(d).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return d[b]}})}),Object.keys(e).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return e[b]}})}),Object.keys(f).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return f[b]}})}),Object.keys(g).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return g[b]}})}),Object.keys(h).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return h[b]}})}),Object.keys(i).forEach(function(b){"default"!==b&&"__esModule"!==b&&Object.defineProperty(a,b,{enumerable:!0,get:function(){return i[b]}})});var r=k(j),s=(a.Aurelia=function(){function a(c,d,g){this.loader=c||new i.PLATFORM.Loader,this.container=d||(new b.Container).makeGlobal(),this.resources=g||new e.ViewResources,this.use=new u(this),this.logger=r.getLogger("aurelia"),this.hostConfigured=!1,this.host=null,this.use.instance(a,this),this.use.instance(f.Loader,this.loader),this.use.instance(e.ViewResources,this.resources)}return a.prototype.start=function(){var a=this;return this.started?Promise.resolve(this):(this.started=!0,this.logger.info("Aurelia Starting"),this.use.apply().then(function(){if(l(),!a.container.hasResolver(e.BindingLanguage)){var b="You must configure Aurelia with a BindingLanguage implementation.";throw a.logger.error(b),new Error(b)}a.logger.info("Aurelia Started");var c=i.DOM.createCustomEvent("aurelia-started",{bubbles:!0,cancelable:!0});return i.DOM.dispatchEvent(c),a}))},a.prototype.enhance=function(){var a=this,b=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],c=arguments.length<=1||void 0===arguments[1]?null:arguments[1];return this._configureHost(c||i.DOM.querySelectorAll("body")[0]),new Promise(function(c){var d=a.container.get(e.TemplatingEngine);a.root=d.enhance({container:a.container,element:a.host,resources:a.resources,bindingContext:b}),a.root.attached(),a._onAureliaComposed(),c(a)})},a.prototype.setRoot=function(){var a=this,b=arguments.length<=0||void 0===arguments[0]?null:arguments[0],c=arguments.length<=1||void 0===arguments[1]?null:arguments[1],d={};this.root&&this.root.viewModel&&this.root.viewModel.router&&(this.root.viewModel.router.deactivate(),this.root.viewModel.router.reset()),this._configureHost(c);var f=this.container.get(e.TemplatingEngine),g=this.container.get(e.CompositionTransaction);return delete g.initialComposition,b||(b=this.configModuleId?(0,h.relativeToFile)("./app",this.configModuleId):"app"),d.viewModel=b,d.container=d.childContainer=this.container,d.viewSlot=this.hostSlot,d.host=this.host,f.compose(d).then(function(b){return a.root=b,d.viewSlot.attached(),a._onAureliaComposed(),a})},a.prototype._configureHost=function(a){if(!this.hostConfigured){if(a=a||this.host,a&&"string"!=typeof a?this.host=a:this.host=i.DOM.getElementById(a||"applicationHost"),!this.host)throw new Error("No applicationHost was specified.");this.hostConfigured=!0,this.host.aurelia=this,this.hostSlot=new e.ViewSlot(this.host,(!0)),this.hostSlot.transformChildNodesIntoView(),this.container.registerInstance(i.DOM.boundary,this.host)}},a.prototype._onAureliaComposed=function(){var a=i.DOM.createCustomEvent("aurelia-composed",{bubbles:!0,cancelable:!0});setTimeout(function(){return i.DOM.dispatchEvent(a)},1)},a}(),r.getLogger("aurelia")),t=/\.[^\/.]+$/,u=function(){function a(a){var b=this;this.aurelia=a,this.container=a.container,this.info=[],this.processed=!1,this.preTasks=[],this.postTasks=[],this.resourcesToLoad={},this.preTask(function(){return a.loader.normalize("aurelia-bootstrapper").then(function(a){return b.bootstrapperName=a})}),this.postTask(function(){return o(a,b.resourcesToLoad,a.resources)})}return a.prototype.instance=function(a,b){return this.container.registerInstance(a,b),this},a.prototype.singleton=function(a,b){return this.container.registerSingleton(a,b),this},a.prototype["transient"]=function(a,b){return this.container.registerTransient(a,b),this},a.prototype.preTask=function(a){return q(this),this.preTasks.push(a),this},a.prototype.postTask=function(a){return q(this),this.postTasks.push(a),this},a.prototype.feature=function(a,b){return p(a)?this.plugin({moduleId:a,resourcesRelativeTo:[a,""],config:b||{}}):this.plugin({moduleId:a+"/index",resourcesRelativeTo:[a,""],config:b||{}})},a.prototype.globalResources=function(a){q(this);for(var b=Array.isArray(a)?a:arguments,c=void 0,d=this.resourcesRelativeTo||["",""],e=0,f=b.length;e<f;++e){if(c=b[e],"string"!=typeof c)throw new Error("Invalid resource path ["+c+"]. Resources must be specified as relative module IDs.");var g=d[0],i=d[1],j=c;(c.startsWith("./")||c.startsWith("../"))&&""!==g&&(j=(0,h.join)(g,c)),this.resourcesToLoad[j]={moduleId:j,relativeTo:i}}return this},a.prototype.globalName=function(a,b){return q(this),this.resourcesToLoad[a]={moduleId:b,relativeTo:""},this},a.prototype.plugin=function(a,b){return q(this),"string"==typeof a?this.plugin({moduleId:a,resourcesRelativeTo:[a,""],config:b||{}}):(this.info.push(a),this)},a.prototype._addNormalizedPlugin=function(a,b){var c=this,d={moduleId:a,resourcesRelativeTo:[a,""],config:b||{}};return this.plugin(d),this.preTask(function(){var b=[a,c.bootstrapperName];return d.moduleId=a,d.resourcesRelativeTo=b,Promise.resolve()}),this},a.prototype.defaultBindingLanguage=function(){return this._addNormalizedPlugin("aurelia-templating-binding")},a.prototype.router=function(){return this._addNormalizedPlugin("aurelia-templating-router")},a.prototype.history=function(){return this._addNormalizedPlugin("aurelia-history-browser")},a.prototype.defaultResources=function(){return this._addNormalizedPlugin("aurelia-templating-resources")},a.prototype.eventAggregator=function(){return this._addNormalizedPlugin("aurelia-event-aggregator")},a.prototype.basicConfiguration=function(){return this.defaultBindingLanguage().defaultResources().eventAggregator()},a.prototype.standardConfiguration=function(){return this.basicConfiguration().history().router()},a.prototype.developmentLogging=function(){var a=this;return this.preTask(function(){return a.aurelia.loader.normalize("aurelia-logging-console",a.bootstrapperName).then(function(b){return a.aurelia.loader.loadModule(b).then(function(a){r.addAppender(new a.ConsoleAppender),r.setLevel(r.logLevel.debug)})})}),this},a.prototype.apply=function(){var a=this;return this.processed?Promise.resolve():m(this,this.preTasks).then(function(){var b=a.aurelia.loader,c=a.info,d=void 0,e=function f(){return(d=c.shift())?n(a,b,d).then(f):(a.processed=!0,Promise.resolve())};return e().then(function(){return m(a,a.postTasks)})})},a}();a.FrameworkConfiguration=u;a.LogManager=r})}(),function(){var a=System.amdDefine;a("npm:aurelia-framework@1.0.6.js",["npm:aurelia-framework@1.0.6/aurelia-framework"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-history-browser@1.0.0/aurelia-history-browser.js",["exports","aurelia-pal","aurelia-history"],function(a,b,c){"use strict";function d(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function e(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a){a.singleton(c.History,m),a["transient"](k,l)}function g(a,b,c){if(c){var d=a.href.replace(/(javascript:|#).*$/,"");a.replace(d+"#"+b)}else a.hash="#"+b}function h(a,b,c){return a+"//"+b+(c?":"+c:"")}Object.defineProperty(a,"__esModule",{value:!0}),a.BrowserHistory=a.DefaultLinkHandler=a.LinkHandler=void 0,a.configure=f;var i,j,k=a.LinkHandler=function(){function a(){}return a.prototype.activate=function(a){},a.prototype.deactivate=function(){},a}(),l=a.DefaultLinkHandler=function(a){function c(){var b=d(this,a.call(this));return b.handler=function(a){var d=c.getEventInfo(a),e=d.shouldHandleEvent,f=d.href;e&&(a.preventDefault(),b.history.navigate(f))},b}return e(c,a),c.prototype.activate=function(a){a._hasPushState&&(this.history=a,b.DOM.addEventListener("click",this.handler,!0))},c.prototype.deactivate=function(){b.DOM.removeEventListener("click",this.handler)},c.getEventInfo=function(a){var b={shouldHandleEvent:!1,href:null,anchor:null},d=c.findClosestAnchor(a.target);if(!d||!c.targetIsThisWindow(d))return b;if(a.altKey||a.ctrlKey||a.metaKey||a.shiftKey)return b;var e=d.getAttribute("href");b.anchor=d,b.href=e;var f=1===a.which,g=e&&!("#"===e.charAt(0)||/^[a-z]+:/i.test(e));return b.shouldHandleEvent=f&&g,b},c.findClosestAnchor=function(a){for(;a;){if("A"===a.tagName)return a;a=a.parentNode}},c.targetIsThisWindow=function(a){var c=a.getAttribute("target"),d=b.PLATFORM.global;return!c||c===d.name||"_self"===c||"top"===c&&d===d.top},c}(k),m=a.BrowserHistory=(j=i=function(a){function c(c){var e=d(this,a.call(this));return e._isActive=!1,e._checkUrlCallback=e._checkUrl.bind(e),e.location=b.PLATFORM.location,e.history=b.PLATFORM.history,e.linkHandler=c,e}return e(c,a),c.prototype.activate=function(a){if(this._isActive)throw new Error("History has already been activated.");var c=!!a.pushState;this._isActive=!0,this.options=Object.assign({},{root:"/"},this.options,a),this.root=("/"+this.options.root+"/").replace(o,"/"),this._wantsHashChange=this.options.hashChange!==!1,this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var d=void 0;if(this._hasPushState?d="popstate":this._wantsHashChange&&(d="hashchange"),b.PLATFORM.addEventListener(d,this._checkUrlCallback),this._wantsHashChange&&c){var e=this.location,f=e.pathname.replace(/[^\/]$/,"$&/")===this.root;if(!this._hasPushState&&!f)return this.fragment=this._getFragment(null,!0),this.location.replace(this.root+this.location.search+"#"+this.fragment),!0;this._hasPushState&&f&&e.hash&&(this.fragment=this._getHash().replace(n,""),this.history.replaceState({},b.DOM.title,this.root+this.fragment+e.search))}if(this.fragment||(this.fragment=this._getFragment()),this.linkHandler.activate(this),!this.options.silent)return this._loadUrl()},c.prototype.deactivate=function(){b.PLATFORM.removeEventListener("popstate",this._checkUrlCallback),b.PLATFORM.removeEventListener("hashchange",this._checkUrlCallback),this._isActive=!1,this.linkHandler.deactivate()},c.prototype.getAbsoluteRoot=function(){var a=h(this.location.protocol,this.location.hostname,this.location.port);return""+a+this.root},c.prototype.navigate=function(a){var c=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],d=c.trigger,e=void 0===d||d,f=c.replace,h=void 0!==f&&f;if(a&&q.test(a))return this.location.href=a,!0;if(!this._isActive)return!1;if(a=this._getFragment(a||""),this.fragment===a&&!h)return!1;this.fragment=a;var i=this.root+a;if(""===a&&"/"!==i&&(i=i.slice(0,-1)),this._hasPushState)i=i.replace("//","/"),this.history[h?"replaceState":"pushState"]({},b.DOM.title,i);else{if(!this._wantsHashChange)return this.location.assign(i);g(this.location,a,h)}return e?this._loadUrl(a):void 0},c.prototype.navigateBack=function(){this.history.back()},c.prototype.setTitle=function(a){b.DOM.title=a},c.prototype._getHash=function(){return this.location.hash.substr(1)},c.prototype._getFragment=function(a,b){var c=void 0;return a||(this._hasPushState||!this._wantsHashChange||b?(a=this.location.pathname+this.location.search,c=this.root.replace(p,""),a.indexOf(c)||(a=a.substr(c.length))):a=this._getHash()),"/"+a.replace(n,"")},c.prototype._checkUrl=function(){var a=this._getFragment();a!==this.fragment&&this._loadUrl()},c.prototype._loadUrl=function(a){var b=this.fragment=this._getFragment(a);return!!this.options.routeHandler&&this.options.routeHandler(b)},c}(c.History),i.inject=[k],j),n=/^#?\/*|\s+$/g,o=/^\/+|\/+$/g,p=/\/$/,q=/^([a-z][a-z0-9+\-.]*:)?\/\//i})}(),function(){var a=System.amdDefine;a("npm:aurelia-history-browser@1.0.0.js",["npm:aurelia-history-browser@1.0.0/aurelia-history-browser"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader-default@1.0.0/aurelia-loader-default.js",["exports","aurelia-loader","aurelia-pal","aurelia-metadata"],function(b,c,d,e){"use strict";function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function h(a,b){var c=a,d=void 0,f=void 0;c.__useDefault&&(c=c["default"]),e.Origin.set(c,new e.Origin(b,"default"));for(d in c)f=c[d],"function"==typeof f&&e.Origin.set(f,new e.Origin(b,d));return a}Object.defineProperty(b,"__esModule",{value:!0}),b.DefaultLoader=b.TextTemplateLoader=void 0;var i=b.TextTemplateLoader=function(){function a(){}return a.prototype.loadTemplate=function(a,b){return a.loadText(b.address).then(function(a){b.template=d.DOM.createTemplateFromMarkup(a)})},a}(),j=b.DefaultLoader=function(a){function b(){var b=f(this,a.call(this));b.textPluginName="text",b.moduleRegistry=Object.create(null),b.useTemplateLoader(new i);var c=b;return b.addPlugin("template-registry-entry",{fetch:function(a){var b=c.getOrCreateTemplateRegistryEntry(a);return b.templateIsLoaded?b:c.templateLoader.loadTemplate(c,b).then(function(a){return b})}}),b}return g(b,a),b.prototype.useTemplateLoader=function(a){this.templateLoader=a},b.prototype.loadAllModules=function(a){for(var b=[],c=0,d=a.length;c<d;++c)b.push(this.loadModule(a[c]));return Promise.all(b)},b.prototype.loadTemplate=function(a){return this._import(this.applyPluginToUrl(a,"template-registry-entry"))},b.prototype.loadText=function(a){return this._import(this.applyPluginToUrl(a,this.textPluginName)).then(function(a){return"string"==typeof a?a:a["default"]})},b}(c.Loader);d.PLATFORM.Loader=j,d.PLATFORM.global.System&&d.PLATFORM.global.System["import"]?(d.PLATFORM.eachModule=function(a){var b=System._loader.modules;for(var c in b)try{if(a(c,b[c].module))return}catch(d){}},System.set("text",System.newModule({translate:function(a){return'module.exports = "'+a.source.replace(/(["\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r").replace(/[\u2028]/g,"\\u2028").replace(/[\u2029]/g,"\\u2029")+'";'}})),j.prototype._import=function(a){return System["import"](a)},j.prototype.loadModule=function(a){var b=this;return System.normalize(a).then(function(a){var c=b.moduleRegistry[a];return void 0!==c?Promise.resolve(c):System["import"](a).then(function(c){return b.moduleRegistry[a]=c,h(c,a)})})},j.prototype.map=function(a,b){System.map[a]=b},j.prototype.normalizeSync=function(a,b){return System.normalizeSync(a,b)},j.prototype.normalize=function(a,b){return System.normalize(a,b)},j.prototype.applyPluginToUrl=function(a,b){return a+"!"+b},j.prototype.addPlugin=function(a,b){System.set(a,System.newModule({fetch:function(a,c){var d=b.fetch(a.address);return Promise.resolve(d).then(function(b){return a.metadata.result=b,""})},instantiate:function(a){return a.metadata.result}}))}):(d.PLATFORM.global.requirejs&&requirejs.s&&requirejs.s.contexts&&requirejs.s.contexts._&&requirejs.s.contexts._.defined?d.PLATFORM.eachModule=function(a){var b=requirejs.s.contexts._.defined;for(var c in b)try{if(a(c,b[c]))return}catch(d){}}:d.PLATFORM.eachModule=function(a){},j.prototype._import=function(a){return new Promise(function(b,c){require([a],b,c)})},j.prototype.loadModule=function(a){var b=this,c=this.moduleRegistry[a];return void 0!==c?Promise.resolve(c):new Promise(function(c,d){require([a],function(d){b.moduleRegistry[a]=d,c(h(d,a))},d)})},j.prototype.map=function(a,b){},j.prototype.normalize=function(a,b){return Promise.resolve(a)},j.prototype.normalizeSync=function(a,b){return a},j.prototype.applyPluginToUrl=function(a,b){return b+"!"+a},j.prototype.addPlugin=function(b,c){var d=a;d(b,[],{load:function(a,b,d){var e=c.fetch(a);Promise.resolve(e).then(d)}})})})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader-default@1.0.0.js",["npm:aurelia-loader-default@1.0.0/aurelia-loader-default"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging-console@1.0.0/aurelia-logging-console.js",["exports","aurelia-logging"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.ConsoleAppender=void 0;a.ConsoleAppender=function(){function a(){}return a.prototype.debug=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).debug.apply(b,["DEBUG ["+a.id+"]"].concat(d))},a.prototype.info=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).info.apply(b,["INFO ["+a.id+"]"].concat(d))},a.prototype.warn=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).warn.apply(b,["WARN ["+a.id+"]"].concat(d))},a.prototype.error=function(a){for(var b,c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(b=console).error.apply(b,["ERROR ["+a.id+"]"].concat(d))},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging-console@1.0.0.js",["npm:aurelia-logging-console@1.0.0/aurelia-logging-console"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-binding@1.0.0/aurelia-templating-binding.js",["exports","aurelia-logging","aurelia-binding","aurelia-templating"],function(a,b,c,d){"use strict";function e(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function h(a,b){if("style"===b)r.getLogger("templating-binding").info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.');else if(a.parentElement&&"TEXTAREA"===a.parentElement.nodeName&&"textContent"===b)throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use <textarea value.bind="expression"></textarea> instead.')}function i(a){a.container.registerSingleton(d.BindingLanguage,y),a.container.registerAlias(d.BindingLanguage,y)}Object.defineProperty(a,"__esModule",{value:!0}),a.TemplatingBindingLanguage=a.SyntaxInterpreter=a.ChildInterpolationBinding=a.InterpolationBinding=a.InterpolationBindingExpression=a.AttributeMap=void 0,a.configure=i;var j,k,l,m,n,o,p,q,r=e(b),s=a.AttributeMap=(k=j=function(){function a(a){this.elements=Object.create(null),this.allElements=Object.create(null),this.svg=a,this.registerUniversal("accesskey","accessKey"),this.registerUniversal("contenteditable","contentEditable"),this.registerUniversal("tabindex","tabIndex"),this.registerUniversal("textcontent","textContent"),this.registerUniversal("innerhtml","innerHTML"),this.registerUniversal("scrolltop","scrollTop"),this.registerUniversal("scrollleft","scrollLeft"),this.registerUniversal("readonly","readOnly"),this.register("label","for","htmlFor"),this.register("input","maxlength","maxLength"),this.register("input","minlength","minLength"),this.register("input","formaction","formAction"),this.register("input","formenctype","formEncType"),this.register("input","formmethod","formMethod"),this.register("input","formnovalidate","formNoValidate"),this.register("input","formtarget","formTarget"),this.register("textarea","maxlength","maxLength"),this.register("td","rowspan","rowSpan"),this.register("td","colspan","colSpan"),this.register("th","rowspan","rowSpan"),this.register("th","colspan","colSpan")}return a.prototype.register=function(a,b,c){a=a.toLowerCase(),b=b.toLowerCase();var d=this.elements[a]=this.elements[a]||Object.create(null);d[b]=c},a.prototype.registerUniversal=function(a,b){a=a.toLowerCase(),this.allElements[a]=b},a.prototype.map=function(a,b){if(this.svg.isStandardSvgAttribute(a,b))return b;a=a.toLowerCase(),b=b.toLowerCase();var d=this.elements[a];return void 0!==d&&b in d?d[b]:b in this.allElements?this.allElements[b]:/(^data-)|(^aria-)|:/.test(b)?b:(0,c.camelCase)(b)},a}(),j.inject=[c.SVGAnalyzer],k),t=a.InterpolationBindingExpression=function(){function a(a,b,c,d,e,f){this.observerLocator=a,this.targetProperty=b,this.parts=c,this.mode=d,this.lookupFunctions=e,this.attribute=this.attrToRemove=f,this.discrete=!1}return a.prototype.createBinding=function(a){return 3===this.parts.length?new v(a,this.observerLocator,this.parts[1],this.mode,this.lookupFunctions,this.targetProperty,this.parts[0],this.parts[2]):new u(this.observerLocator,this.parts,a,this.targetProperty,this.mode,this.lookupFunctions)},a}(),u=a.InterpolationBinding=function(){function a(a,b,c,d,e,f){h(c,d),this.observerLocator=a,this.parts=b,this.target=c,this.targetProperty=d,this.targetAccessor=a.getAccessor(c,d),this.mode=e,this.lookupFunctions=f}return a.prototype.interpolate=function(){if(this.isBound){for(var a="",b=this.parts,c=0,d=b.length;c<d;c++)a+=c%2===0?b[c]:this["childBinding"+c].value;this.targetAccessor.setValue(a,this.target,this.targetProperty)}},a.prototype.updateOneTimeBindings=function(){for(var a=1,b=this.parts.length;a<b;a+=2){var d=this["childBinding"+a];d.mode===c.bindingMode.oneTime&&d.call()}},a.prototype.bind=function(a){if(this.isBound){if(this.source===a)return;this.unbind()}this.source=a;for(var b=this.parts,c=1,d=b.length;c<d;c+=2){var e=new v(this,this.observerLocator,b[c],this.mode,this.lookupFunctions);e.bind(a),this["childBinding"+c]=e}this.isBound=!0,this.interpolate()},a.prototype.unbind=function(){if(this.isBound){this.isBound=!1,this.source=null;for(var a=this.parts,b=1,c=a.length;b<c;b+=2){var d="childBinding"+b;this[d].unbind()}}},a}(),v=a.ChildInterpolationBinding=(l=(0,c.connectable)(),l(m=function(){function a(a,b,c,d,e,f,g,i){a instanceof u?this.parent=a:(h(a,f),this.target=a,this.targetProperty=f,this.targetAccessor=b.getAccessor(a,f)),this.observerLocator=b,this.sourceExpression=c,this.mode=d,this.lookupFunctions=e,this.left=g,this.right=i}return a.prototype.updateTarget=function(a){a=null===a||void 0===a?"":a.toString(),a!==this.value&&(this.value=a,this.parent?this.parent.interpolate():this.targetAccessor.setValue(this.left+a+this.right,this.target,this.targetProperty))},a.prototype.call=function(){this.isBound&&(this.rawValue=this.sourceExpression.evaluate(this.source,this.lookupFunctions),this.updateTarget(this.rawValue),this.mode!==c.bindingMode.oneTime&&(this._version++,this.sourceExpression.connect(this,this.source),this.rawValue instanceof Array&&this.observeArray(this.rawValue),this.unobserve(!1)))},a.prototype.bind=function(a){if(this.isBound){if(this.source===a)return;this.unbind()}this.isBound=!0,this.source=a;var b=this.sourceExpression;b.bind&&b.bind(this,a,this.lookupFunctions),this.rawValue=b.evaluate(a,this.lookupFunctions),this.updateTarget(this.rawValue),this.mode===c.bindingMode.oneWay&&(0,c.enqueueBindingConnect)(this)},a.prototype.unbind=function(){if(this.isBound){this.isBound=!1;var a=this.sourceExpression;a.unbind&&a.unbind(this,this.source),this.source=null,this.value=null,this.rawValue=null,this.unobserve(!0)}},a.prototype.connect=function(a){this.isBound&&(a&&(this.rawValue=this.sourceExpression.evaluate(this.source,this.lookupFunctions),this.updateTarget(this.rawValue)),this.sourceExpression.connect(this,this.source),this.rawValue instanceof Array&&this.observeArray(this.rawValue))},a}())||m),w=a.SyntaxInterpreter=(o=n=function(){function a(a,b,c,d){this.parser=a,this.observerLocator=b,this.eventManager=c,this.attributeMap=d}return a.prototype.interpret=function(a,b,c,d,e){return c.command in this?this[c.command](a,b,c,d,e):this.handleUnknownCommand(a,b,c,d,e)},a.prototype.handleUnknownCommand=function(a,b,c,d,e){return r.getLogger("templating-binding").warn("Unknown binding command.",c),d},a.prototype.determineDefaultBindingMode=function(a,b,d){var e=a.tagName.toLowerCase();return"input"===e&&("value"===b||"files"===b)&&"checkbox"!==a.type&&"radio"!==a.type||"input"===e&&"checked"===b&&("checkbox"===a.type||"radio"===a.type)||("textarea"===e||"select"===e)&&"value"===b||("textcontent"===b||"innerhtml"===b)&&"true"===a.contentEditable||"scrolltop"===b||"scrollleft"===b?c.bindingMode.twoWay:d&&b in d.attributes&&d.attributes[b]&&d.attributes[b].defaultBindingMode>=c.bindingMode.oneTime?d.attributes[b].defaultBindingMode:c.bindingMode.oneWay},a.prototype.bind=function(a,b,e,f,g){var h=f||d.BehaviorInstruction.attribute(e.attrName);return h.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),e.defaultBindingMode||this.determineDefaultBindingMode(b,e.attrName,g),a.lookupFunctions),h},a.prototype.trigger=function(a,b,d){return new c.ListenerExpression(this.eventManager,d.attrName,this.parser.parse(d.attrValue),(!1),(!0),a.lookupFunctions)},a.prototype.delegate=function(a,b,d){return new c.ListenerExpression(this.eventManager,d.attrName,this.parser.parse(d.attrValue),(!0),(!0),a.lookupFunctions)},a.prototype.call=function(a,b,e,f){var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.CallExpression(this.observerLocator,e.attrName,this.parser.parse(e.attrValue),a.lookupFunctions),g},a.prototype.options=function(a,b,c,e,f){var g=e||d.BehaviorInstruction.attribute(c.attrName),h=c.attrValue,i=this.language,j=null,k="",l=void 0,m=void 0,n=void 0,o=!1,p=!1;for(m=0,n=h.length;m<n;++m){if(l=h[m],";"!==l||o)if(":"===l&&null===j)j=k.trim(),k="";else{if("\\"===l){k+=l,p=!0;continue}k+=l,null!==j&&p===!1&&"'"===l&&(o=!o)}else c=i.inspectAttribute(a,"?",j,k.trim()),i.createAttributeInstruction(a,b,c,g,f),g.attributes[c.attrName]||(g.attributes[c.attrName]=c.attrValue),k="",j=null;p=!1}return null!==j&&(c=i.inspectAttribute(a,"?",j,k.trim()),i.createAttributeInstruction(a,b,c,g,f),g.attributes[c.attrName]||(g.attributes[c.attrName]=c.attrValue)),g},a.prototype["for"]=function(a,b,e,f){var g=void 0,h=void 0,i=void 0,j=void 0,k=void 0;if(j=e.attrValue,k=j.match(/^ *[[].+[\]]/),g=k?j.split("of "):j.split(" of "),2!==g.length)throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".');return i=f||d.BehaviorInstruction.attribute(e.attrName),k?(h=g[0].replace(/[[\]]/g,"").replace(/,/g," ").replace(/\s+/g," ").trim().split(" "),i.attributes.key=h[0],i.attributes.value=h[1]):i.attributes.local=g[0],i.attributes.items=new c.BindingExpression(this.observerLocator,"items",this.parser.parse(g[1]),c.bindingMode.oneWay,a.lookupFunctions),i},a.prototype["two-way"]=function(a,b,e,f){var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),c.bindingMode.twoWay,a.lookupFunctions),g},a.prototype["one-way"]=function(a,b,e,f){var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),c.bindingMode.oneWay,a.lookupFunctions),g},a.prototype["one-time"]=function(a,b,e,f){
+var g=f||d.BehaviorInstruction.attribute(e.attrName);return g.attributes[e.attrName]=new c.BindingExpression(this.observerLocator,this.attributeMap.map(b.tagName,e.attrName),this.parser.parse(e.attrValue),c.bindingMode.oneTime,a.lookupFunctions),g},a}(),n.inject=[c.Parser,c.ObserverLocator,c.EventManager,s],o),x={},y=a.TemplatingBindingLanguage=(q=p=function(a){function b(b,c,d,e){var g=f(this,a.call(this));return g.parser=b,g.observerLocator=c,g.syntaxInterpreter=d,g.emptyStringExpression=g.parser.parse("''"),d.language=g,g.attributeMap=e,g}return g(b,a),b.prototype.inspectAttribute=function(a,b,d,e){var f=d.split(".");if(x.defaultBindingMode=null,2===f.length)x.attrName=f[0].trim(),x.attrValue=e,x.command=f[1].trim(),"ref"===x.command?(x.expression=new c.NameExpression(this.parser.parse(e),x.attrName,a.lookupFunctions),x.command=null,x.attrName="ref"):x.expression=null;else if("ref"===d)x.attrName=d,x.attrValue=e,x.command=null,x.expression=new c.NameExpression(this.parser.parse(e),"element",a.lookupFunctions);else{x.attrName=d,x.attrValue=e,x.command=null;var g=this.parseInterpolation(a,e);null===g?x.expression=null:x.expression=new t(this.observerLocator,this.attributeMap.map(b,d),g,c.bindingMode.oneWay,a.lookupFunctions,d)}return x},b.prototype.createAttributeInstruction=function(a,b,c,e,f){var g=void 0;if(c.expression){if("ref"===c.attrName)return c.expression;g=e||d.BehaviorInstruction.attribute(c.attrName),g.attributes[c.attrName]=c.expression}else c.command&&(g=this.syntaxInterpreter.interpret(a,b,c,e,f));return g},b.prototype.inspectTextContent=function(a,b){var d=this.parseInterpolation(a,b);return null===d?null:new t(this.observerLocator,"textContent",d,c.bindingMode.oneWay,a.lookupFunctions,"textContent")},b.prototype.parseInterpolation=function(a,b){for(var c=b.indexOf("${",0),d=b.length,e=void 0,f=0,g=0,h=null,i=void 0,j=void 0,k=0;c>=0&&c<d-2;){g=1,i=c,c+=2;do e=b[c],c++,"'"!==e&&'"'!==e?"\\"!==e?null===h&&("{"===e?g++:"}"===e&&g--):c++:null===h?h=e:h===e&&(h=null);while(g>0&&c<d);if(0!==g)break;j=j||[],"\\"===b[i-1]&&"\\"!==b[i-2]?(j[k]=b.substring(f,i-1)+b.substring(i,c),k++,j[k]=this.emptyStringExpression,k++):(j[k]=b.substring(f,i),k++,j[k]=this.parser.parse(b.substring(i+2,c-1)),k++),f=c,c=b.indexOf("${",c)}return 0===k?null:(j[k]=b.substr(f),j)},b}(d.BindingLanguage),p.inject=[c.Parser,c.ObserverLocator,w,s],q)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-binding@1.0.0.js",["npm:aurelia-templating-binding@1.0.0/aurelia-templating-binding"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/compose.js",["exports","aurelia-dependency-injection","aurelia-task-queue","aurelia-templating","aurelia-pal"],function(a,b,c,d,e){"use strict";function f(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function g(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}function h(a,b){return Object.assign(b,{bindingContext:a.bindingContext,overrideContext:a.overrideContext,owningView:a.owningView,container:a.container,viewSlot:a.viewSlot,viewResources:a.viewResources,currentController:a.currentController,host:a.element})}function i(a,b){a.currentInstruction=null,a.compositionEngine.compose(b).then(function(b){a.currentController=b,a.currentViewModel=b?b.viewModel:null})}Object.defineProperty(a,"__esModule",{value:!0}),a.Compose=void 0;var j,k,l,m,n,o,p;a.Compose=(j=(0,d.customElement)("compose"),k=(0,b.inject)(e.DOM.Element,b.Container,d.CompositionEngine,d.ViewSlot,d.ViewResources,c.TaskQueue),j(l=(0,d.noView)(l=k((m=function(){function a(a,b,c,d,e,g){f(this,"model",n,this),f(this,"view",o,this),f(this,"viewModel",p,this),this.element=a,this.container=b,this.compositionEngine=c,this.viewSlot=d,this.viewResources=e,this.taskQueue=g,this.currentController=null,this.currentViewModel=null}return a.prototype.created=function(a){this.owningView=a},a.prototype.bind=function(a,b){this.bindingContext=a,this.overrideContext=b,i(this,h(this,{view:this.view,viewModel:this.viewModel,model:this.model}))},a.prototype.unbind=function(a,b){this.bindingContext=null,this.overrideContext=null;var c=!0,d=!0;this.viewSlot.removeAll(c,d)},a.prototype.modelChanged=function(a,b){var c=this;return this.currentInstruction?void(this.currentInstruction.model=a):void this.taskQueue.queueMicroTask(function(){if(c.currentInstruction)return void(c.currentInstruction.model=a);var b=c.currentViewModel;b&&"function"==typeof b.activate&&b.activate(a)})},a.prototype.viewChanged=function(a,b){var c=this,d=h(this,{view:a,viewModel:this.currentViewModel||this.viewModel,model:this.model});return this.currentInstruction?void(this.currentInstruction=d):(this.currentInstruction=d,void this.taskQueue.queueMicroTask(function(){return i(c,c.currentInstruction)}))},a.prototype.viewModelChanged=function(a,b){var c=this,d=h(this,{viewModel:a,view:this.view,model:this.model});return this.currentInstruction?void(this.currentInstruction=d):(this.currentInstruction=d,void this.taskQueue.queueMicroTask(function(){return i(c,c.currentInstruction)}))},a}(),n=g(m.prototype,"model",[d.bindable],{enumerable:!0,initializer:null}),o=g(m.prototype,"view",[d.bindable],{enumerable:!0,initializer:null}),p=g(m.prototype,"viewModel",[d.bindable],{enumerable:!0,initializer:null}),l=m))||l)||l)||l)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/if.js",["exports","aurelia-templating","aurelia-dependency-injection"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.If=void 0;var d,e,f;a.If=(d=(0,b.customAttribute)("if"),e=(0,c.inject)(b.BoundViewFactory,b.ViewSlot),d(f=(0,b.templateController)(f=e(f=function(){function a(a,b){this.viewFactory=a,this.viewSlot=b,this.showing=!1,this.view=null,this.bindingContext=null,this.overrideContext=null}return a.prototype.bind=function(a,b){this.bindingContext=a,this.overrideContext=b,this.valueChanged(this.value)},a.prototype.valueChanged=function(a){var b=this;if(this.__queuedChanges)return void this.__queuedChanges.push(a);var c=this._runValueChanged(a);c instanceof Promise&&!function(){var a=b.__queuedChanges=[],d=function e(){if(!a.length)return void(b.__queuedChanges=void 0);var c=b._runValueChanged(a.shift())||Promise.resolve();c.then(e)};c.then(d)}()},a.prototype._runValueChanged=function(a){var b=this;if(!a){var c=void 0;return null!==this.view&&this.showing&&(c=this.viewSlot.remove(this.view),c instanceof Promise?c.then(function(){return b.view.unbind()}):this.view.unbind()),this.showing=!1,c}if(null===this.view&&(this.view=this.viewFactory.create()),this.view.isBound||this.view.bind(this.bindingContext,this.overrideContext),!this.showing)return this.showing=!0,this.viewSlot.add(this.view)},a.prototype.unbind=function(){null!==this.view&&(this.view.unbind(),this.viewFactory.isCaching&&(this.showing&&(this.showing=!1,this.viewSlot.remove(this.view,!0,!0)),this.view.returnToCache(),this.view=null))},a}())||f)||f)||f)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/with.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-binding"],function(a,b,c,d){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.With=void 0;var e,f,g;a.With=(e=(0,c.customAttribute)("with"),f=(0,b.inject)(c.BoundViewFactory,c.ViewSlot),e(g=(0,c.templateController)(g=f(g=function(){function a(a,b){this.viewFactory=a,this.viewSlot=b,this.parentOverrideContext=null,this.view=null}return a.prototype.bind=function(a,b){this.parentOverrideContext=b,this.valueChanged(this.value)},a.prototype.valueChanged=function(a){var b=(0,d.createOverrideContext)(a,this.parentOverrideContext);this.view?this.view.bind(a,b):(this.view=this.viewFactory.create(),this.view.bind(a,b),this.viewSlot.add(this.view))},a.prototype.unbind=function(){this.parentOverrideContext=null,this.view&&this.view.unbind()},a}())||g)||g)||g)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/repeat.js",["exports","aurelia-dependency-injection","aurelia-binding","aurelia-templating","./repeat-strategy-locator","./repeat-utilities","./analyze-view-factory","./abstract-repeater"],function(a,b,c,d,e,f,g,h){"use strict";function i(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function j(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function k(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function l(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}Object.defineProperty(a,"__esModule",{value:!0}),a.Repeat=void 0;var m,n,o,p,q,r,s,t;a.Repeat=(m=(0,d.customAttribute)("repeat"),n=(0,b.inject)(d.BoundViewFactory,d.TargetInstruction,d.ViewSlot,d.ViewResources,c.ObserverLocator,e.RepeatStrategyLocator),m(o=(0,d.templateController)(o=n((p=function(a){function b(b,c,d,e,h,k){var l=j(this,a.call(this,{local:"item",viewsRequireLifecycle:(0,g.viewsRequireLifecycle)(b)}));return i(l,"items",q,l),i(l,"local",r,l),i(l,"key",s,l),i(l,"value",t,l),l.viewFactory=b,l.instruction=c,l.viewSlot=d,l.lookupFunctions=e.lookupFunctions,l.observerLocator=h,l.key="key",l.value="value",l.strategyLocator=k,l.ignoreMutation=!1,l.sourceExpression=(0,f.getItemsSourceExpression)(l.instruction,"repeat.for"),l.isOneTime=(0,f.isOneTime)(l.sourceExpression),l.viewsRequireLifecycle=(0,g.viewsRequireLifecycle)(b),l}return k(b,a),b.prototype.call=function(a,b){this[a](this.items,b)},b.prototype.bind=function(a,b){this.scope={bindingContext:a,overrideContext:b},this.matcherBinding=this._captureAndRemoveMatcherBinding(),this.itemsChanged()},b.prototype.unbind=function(){this.scope=null,this.items=null,this.matcherBinding=null,this.viewSlot.removeAll(!0),this._unsubscribeCollection()},b.prototype._unsubscribeCollection=function(){this.collectionObserver&&(this.collectionObserver.unsubscribe(this.callContext,this),this.collectionObserver=null,this.callContext=null)},b.prototype.itemsChanged=function(){if(this._unsubscribeCollection(),this.scope){var a=this.items;if(this.strategy=this.strategyLocator.getStrategy(a),!this.strategy)throw new Error("Value for '"+this.sourceExpression+"' is non-repeatable");this.isOneTime||this._observeInnerCollection()||this._observeCollection(),this.strategy.instanceChanged(this,a)}},b.prototype._getInnerCollection=function(){var a=(0,f.unwrapExpression)(this.sourceExpression);return a?a.evaluate(this.scope,null):null},b.prototype.handleCollectionMutated=function(a,b){this.collectionObserver&&this.strategy.instanceMutated(this,a,b)},b.prototype.handleInnerCollectionMutated=function(a,b){var c=this;if(this.collectionObserver&&!this.ignoreMutation){this.ignoreMutation=!0;var d=this.sourceExpression.evaluate(this.scope,this.lookupFunctions);this.observerLocator.taskQueue.queueMicroTask(function(){return c.ignoreMutation=!1}),d===this.items?this.itemsChanged():this.items=d}},b.prototype._observeInnerCollection=function(){var a=this._getInnerCollection(),b=this.strategyLocator.getStrategy(a);return!!b&&(this.collectionObserver=b.getCollectionObserver(this.observerLocator,a),!!this.collectionObserver&&(this.callContext="handleInnerCollectionMutated",this.collectionObserver.subscribe(this.callContext,this),!0))},b.prototype._observeCollection=function(){var a=this.items;this.collectionObserver=this.strategy.getCollectionObserver(this.observerLocator,a),this.collectionObserver&&(this.callContext="handleCollectionMutated",this.collectionObserver.subscribe(this.callContext,this))},b.prototype._captureAndRemoveMatcherBinding=function(){if(this.viewFactory.viewFactory)for(var a=this.viewFactory.viewFactory.instructions,b=Object.keys(a),c=0;c<b.length;c++){var d=a[b[c]].expressions;if(d)for(var e=0;c<d.length;c++)if("matcher"===d[e].targetProperty){var f=d[e];return d.splice(e,1),f}}},b.prototype.viewCount=function(){return this.viewSlot.children.length},b.prototype.views=function(){return this.viewSlot.children},b.prototype.view=function(a){return this.viewSlot.children[a]},b.prototype.matcher=function(){return this.matcherBinding?this.matcherBinding.sourceExpression.evaluate(this.scope,this.matcherBinding.lookupFunctions):null},b.prototype.addView=function(a,b){var c=this.viewFactory.create();c.bind(a,b),this.viewSlot.add(c)},b.prototype.insertView=function(a,b,c){var d=this.viewFactory.create();d.bind(b,c),this.viewSlot.insert(a,d)},b.prototype.moveView=function(a,b){this.viewSlot.move(a,b)},b.prototype.removeAllViews=function(a,b){return this.viewSlot.removeAll(a,b)},b.prototype.removeViews=function(a,b,c){return this.viewSlot.removeMany(a,b,c)},b.prototype.removeView=function(a,b,c){return this.viewSlot.removeAt(a,b,c)},b.prototype.updateBindings=function(a){for(var b=a.bindings.length;b--;)(0,f.updateOneTimeBinding)(a.bindings[b]);for(b=a.controllers.length;b--;)for(var c=a.controllers[b].boundProperties.length;c--;){var d=a.controllers[b].boundProperties[c].binding;(0,f.updateOneTimeBinding)(d)}},b}(h.AbstractRepeater),q=l(p.prototype,"items",[d.bindable],{enumerable:!0,initializer:null}),r=l(p.prototype,"local",[d.bindable],{enumerable:!0,initializer:null}),s=l(p.prototype,"key",[d.bindable],{enumerable:!0,initializer:null}),t=l(p.prototype,"value",[d.bindable],{enumerable:!0,initializer:null}),o=p))||o)||o)||o)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/show.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-pal","./aurelia-hide-style"],function(a,b,c,d,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Show=void 0;var f,g,h;a.Show=(f=(0,c.customAttribute)("show"),g=(0,b.inject)(d.DOM.Element,c.Animator,b.Optional.of(d.DOM.boundary,!0)),f(h=g(h=function(){function a(a,b,c){this.element=a,this.animator=b,this.domBoundary=c}return a.prototype.created=function(){(0,e.injectAureliaHideStyleAtBoundary)(this.domBoundary)},a.prototype.valueChanged=function(a){a?this.animator.removeClass(this.element,e.aureliaHideClassName):this.animator.addClass(this.element,e.aureliaHideClassName)},a.prototype.bind=function(a){this.valueChanged(this.value)},a}())||h)||h)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/hide.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-pal","./aurelia-hide-style"],function(a,b,c,d,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Hide=void 0;var f,g,h;a.Hide=(f=(0,c.customAttribute)("hide"),g=(0,b.inject)(d.DOM.Element,c.Animator,b.Optional.of(d.DOM.boundary,!0)),f(h=g(h=function(){function a(a,b,c){this.element=a,this.animator=b,this.domBoundary=c}return a.prototype.created=function(){(0,e.injectAureliaHideStyleAtBoundary)(this.domBoundary)},a.prototype.valueChanged=function(a){a?this.animator.addClass(this.element,e.aureliaHideClassName):this.animator.removeClass(this.element,e.aureliaHideClassName)},a.prototype.bind=function(a){this.valueChanged(this.value)},a}())||h)||h)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/sanitize-html.js",["exports","aurelia-binding","aurelia-dependency-injection","./html-sanitizer"],function(a,b,c,d){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.SanitizeHTMLValueConverter=void 0;var e,f,g;a.SanitizeHTMLValueConverter=(e=(0,b.valueConverter)("sanitizeHTML"),f=(0,c.inject)(d.HTMLSanitizer),e(g=f(g=function(){function a(a){this.sanitizer=a}return a.prototype.toView=function(a){return null===a||void 0===a?null:this.sanitizer.sanitize(a)},a}())||g)||g)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/replaceable.js",["exports","aurelia-dependency-injection","aurelia-templating"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Replaceable=void 0;var d,e,f;a.Replaceable=(d=(0,c.customAttribute)("replaceable"),e=(0,b.inject)(c.BoundViewFactory,c.ViewSlot),d(f=(0,c.templateController)(f=e(f=function(){function a(a,b){this.viewFactory=a,this.viewSlot=b,this.view=null}return a.prototype.bind=function(a,b){null===this.view&&(this.view=this.viewFactory.create(),this.viewSlot.add(this.view)),this.view.bind(a,b)},a.prototype.unbind=function(){this.view.unbind()},a}())||f)||f)||f)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/focus.js",["exports","aurelia-templating","aurelia-binding","aurelia-dependency-injection","aurelia-task-queue","aurelia-pal"],function(a,b,c,d,e,f){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Focus=void 0;var g,h,i;a.Focus=(g=(0,b.customAttribute)("focus",c.bindingMode.twoWay),h=(0,d.inject)(f.DOM.Element,e.TaskQueue),g(i=h(i=function(){function a(a,b){var c=this;this.element=a,this.taskQueue=b,this.isAttached=!1,this.needsApply=!1,this.focusListener=function(a){c.value=!0},this.blurListener=function(a){f.DOM.activeElement!==c.element&&(c.value=!1)}}return a.prototype.valueChanged=function(a){this.isAttached?this._apply():this.needsApply=!0},a.prototype._apply=function(){var a=this;this.value?this.taskQueue.queueMicroTask(function(){a.value&&a.element.focus()}):this.element.blur()},a.prototype.attached=function(){this.isAttached=!0,this.needsApply&&(this.needsApply=!1,this._apply()),this.element.addEventListener("focus",this.focusListener),this.element.addEventListener("blur",this.blurListener)},a.prototype.detached=function(){this.isAttached=!1,this.element.removeEventListener("focus",this.focusListener),this.element.removeEventListener("blur",this.blurListener)},a}())||i)||i)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/css-resource.js",["exports","aurelia-templating","aurelia-loader","aurelia-dependency-injection","aurelia-path","aurelia-pal"],function(a,b,c,d,e,f){"use strict";function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function i(a,b){if("string"!=typeof b)throw new Error("Failed loading required CSS file: "+a);return b.replace(k,function(b,c){var d=c.charAt(0);return"'"!==d&&'"'!==d||(c=c.substr(1,c.length-2)),"url('"+(0,e.relativeToFile)(c,a)+"')"})}function j(a){var c,d,e=(c=(0,b.resource)(new l(a)),c(d=function(a){function b(){return g(this,a.apply(this,arguments))}return h(b,a),b}(m))||d);return e}Object.defineProperty(a,"__esModule",{value:!0}),a._createCSSResource=j;var k=/url\((?!['"]data)([^)]+)\)/gi,l=function(){function a(a){this.address=a,this._scoped=null,this._global=!1,this._alreadyGloballyInjected=!1}return a.prototype.initialize=function(a,b){this._scoped=new b(this)},a.prototype.register=function(a,b){"scoped"===b?a.registerViewEngineHooks(this._scoped):this._global=!0},a.prototype.load=function(a){var b=this;return a.get(c.Loader).loadText(this.address)["catch"](function(a){return null}).then(function(a){a=i(b.address,a),b._scoped.css=a,b._global&&(b._alreadyGloballyInjected=!0,f.DOM.injectStyles(a))})},a}(),m=function(){function a(a){this.owner=a,this.css=null}return a.prototype.beforeCompile=function(a,b,c){if(c.targetShadowDOM)f.DOM.injectStyles(this.css,a,!0);else if(f.FEATURE.scopedCSS){var d=f.DOM.injectStyles(this.css,a,!0);d.setAttribute("scoped","scoped")}else this.owner._alreadyGloballyInjected||(f.DOM.injectStyles(this.css),this.owner._alreadyGloballyInjected=!0)},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/html-sanitizer.js",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var b=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi;a.HTMLSanitizer=function(){function a(){}return a.prototype.sanitize=function(a){return a.replace(b,"")},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/attr-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.AttrBindingBehavior=void 0;a.AttrBindingBehavior=function(){function a(){}return a.prototype.bind=function(a,c){a.targetObserver=new b.DataAttributeObserver(a.target,a.targetProperty)},a.prototype.unbind=function(a,b){},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/binding-mode-behaviors.js",["exports","aurelia-binding","aurelia-metadata"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.TwoWayBindingBehavior=a.OneWayBindingBehavior=a.OneTimeBindingBehavior=void 0;var d,e,f,g,h,i,j={bind:function(a,b,c){a.originalMode=a.mode,a.mode=this.mode},unbind:function(a,b){a.mode=a.originalMode,a.originalMode=null}};a.OneTimeBindingBehavior=(d=(0,c.mixin)(j),d(e=function(){this.mode=b.bindingMode.oneTime})||e),a.OneWayBindingBehavior=(f=(0,c.mixin)(j),f(g=function(){this.mode=b.bindingMode.oneWay})||g),a.TwoWayBindingBehavior=(h=(0,c.mixin)(j),h(i=function(){this.mode=b.bindingMode.twoWay})||i)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/throttle-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";function c(a){var b=this,c=this.throttleState,d=+new Date-c.last;return d>=c.delay?(clearTimeout(c.timeoutId),c.timeoutId=null,c.last=+new Date,void this.throttledMethod(a)):(c.newValue=a,void(null===c.timeoutId&&(c.timeoutId=setTimeout(function(){c.timeoutId=null,c.last=+new Date,b.throttledMethod(c.newValue)},c.delay-d))))}Object.defineProperty(a,"__esModule",{value:!0}),a.ThrottleBindingBehavior=void 0;a.ThrottleBindingBehavior=function(){function a(){}return a.prototype.bind=function(a,d){var e=arguments.length<=2||void 0===arguments[2]?200:arguments[2],f="updateTarget";a.callSource?f="callSource":a.updateSource&&a.mode===b.bindingMode.twoWay&&(f="updateSource"),a.throttledMethod=a[f],a.throttledMethod.originalName=f,a[f]=c,a.throttleState={delay:e,last:0,timeoutId:null}},a.prototype.unbind=function(a,b){var c=a.throttledMethod.originalName;a[c]=a.throttledMethod,a.throttledMethod=null,clearTimeout(a.throttleState.timeoutId),a.throttleState=null},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/debounce-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";function c(a){var b=this,c=this.debounceState;return c.immediate?(c.immediate=!1,void this.debouncedMethod(a)):(clearTimeout(c.timeoutId),void(c.timeoutId=setTimeout(function(){return b.debouncedMethod(a)},c.delay)))}Object.defineProperty(a,"__esModule",{value:!0}),a.DebounceBindingBehavior=void 0;a.DebounceBindingBehavior=function(){function a(){}return a.prototype.bind=function(a,d){var e=arguments.length<=2||void 0===arguments[2]?200:arguments[2],f="updateTarget";a.callSource?f="callSource":a.updateSource&&a.mode===b.bindingMode.twoWay&&(f="updateSource"),a.debouncedMethod=a[f],a.debouncedMethod.originalName=f,a[f]=c,a.debounceState={delay:e,timeoutId:null,immediate:"updateTarget"===f}},a.prototype.unbind=function(a,b){var c=a.debouncedMethod.originalName;a[c]=a.debouncedMethod,a.debouncedMethod=null,clearTimeout(a.debounceState.timeoutId),a.debounceState=null},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/signal-binding-behavior.js",["exports","./binding-signaler"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.SignalBindingBehavior=void 0;a.SignalBindingBehavior=function(){function a(a){this.signals=a.signals}return a.inject=function(){return[b.BindingSignaler]},a.prototype.bind=function(a,b){if(!a.updateTarget)throw new Error("Only property bindings and string interpolation bindings can be signaled. Trigger, delegate and call bindings cannot be signaled.");if(3===arguments.length){var c=arguments[2],d=this.signals[c]||(this.signals[c]=[]);d.push(a),a.signalName=c}else{if(!(arguments.length>3))throw new Error("Signal name is required.");for(var e=Array.prototype.slice.call(arguments,2),f=e.length;f--;){var g=e[f],h=this.signals[g]||(this.signals[g]=[]);h.push(a)}a.signalName=e}},a.prototype.unbind=function(a,b){var c=a.signalName;if(a.signalName=null,Array.isArray(c))for(var d=c,e=d.length;e--;){var f=d[e],g=this.signals[f];g.splice(g.indexOf(a),1)}else{var h=this.signals[c];h.splice(h.indexOf(a),1)}},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/binding-signaler.js",["exports","aurelia-binding"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.BindingSignaler=void 0;a.BindingSignaler=function(){function a(){this.signals={}}return a.prototype.signal=function(a){var c=this.signals[a];if(c)for(var d=c.length;d--;)c[d].call(b.sourceContext)},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/update-trigger-binding-behavior.js",["exports","aurelia-binding"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.UpdateTriggerBindingBehavior=void 0;var c,d,e="The updateTrigger binding behavior requires at least one event name argument: eg <input value.bind=\"firstName & updateTrigger:'blur'\">",f="The updateTrigger binding behavior can only be applied to two-way bindings on input/select elements.";a.UpdateTriggerBindingBehavior=(d=c=function(){function a(a){this.eventManager=a}return a.prototype.bind=function(a,c){for(var d=arguments.length,g=Array(d>2?d-2:0),h=2;h<d;h++)g[h-2]=arguments[h];if(0===g.length)throw new Error(e);if(a.mode!==b.bindingMode.twoWay)throw new Error(f);var i=a.observerLocator.getObserver(a.target,a.targetProperty);if(!i.handler)throw new Error(f);a.targetObserver=i,i.originalHandler=a.targetObserver.handler;var j=this.eventManager.createElementHandler(g);i.handler=j},a.prototype.unbind=function(a,b){a.targetObserver.handler=a.targetObserver.originalHandler,a.targetObserver.originalHandler=null},a}(),c.inject=[b.EventManager],d)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/abstract-repeater.js",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.AbstractRepeater=function(){function a(a){Object.assign(this,{local:"items",viewsRequireLifecycle:!0},a)}return a.prototype.viewCount=function(){throw new Error("subclass must implement `viewCount`")},a.prototype.views=function(){throw new Error("subclass must implement `views`")},a.prototype.view=function(a){throw new Error("subclass must implement `view`")},a.prototype.matcher=function(){throw new Error("subclass must implement `matcher`")},a.prototype.addView=function(a,b){throw new Error("subclass must implement `addView`")},a.prototype.insertView=function(a,b,c){throw new Error("subclass must implement `insertView`")},a.prototype.moveView=function(a,b){throw new Error("subclass must implement `moveView`")},a.prototype.removeAllViews=function(a,b){throw new Error("subclass must implement `removeAllViews`")},a.prototype.removeViews=function(a,b,c){throw new Error("subclass must implement `removeView`")},a.prototype.removeView=function(a,b,c){throw new Error("subclass must implement `removeView`")},a.prototype.updateBindings=function(a){throw new Error("subclass must implement `updateBindings`")},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/repeat-strategy-locator.js",["exports","./null-repeat-strategy","./array-repeat-strategy","./map-repeat-strategy","./set-repeat-strategy","./number-repeat-strategy"],function(a,b,c,d,e,f){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.RepeatStrategyLocator=void 0;a.RepeatStrategyLocator=function(){function a(){this.matchers=[],this.strategies=[],this.addStrategy(function(a){return null===a||void 0===a},new b.NullRepeatStrategy),this.addStrategy(function(a){return a instanceof Array},new c.ArrayRepeatStrategy),this.addStrategy(function(a){return a instanceof Map},new d.MapRepeatStrategy),this.addStrategy(function(a){return a instanceof Set},new e.SetRepeatStrategy),this.addStrategy(function(a){return"number"==typeof a},new f.NumberRepeatStrategy)}return a.prototype.addStrategy=function(a,b){this.matchers.push(a),this.strategies.push(b)},a.prototype.getStrategy=function(a){for(var b=this.matchers,c=0,d=b.length;c<d;++c)if(b[c](a))return this.strategies[c];return null},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/dynamic-element.js",["exports","aurelia-templating"],function(a,b){"use strict";function c(a,c,d){for(var e,f,g,h=(e=(0,b.customElement)(a),f=(0,b.useView)(c),e(g=f(g=function(){function a(){}return a.prototype.bind=function(a){this.$parent=a},a}())||g)||g),i=0,j=d.length;i<j;++i)(0,b.bindable)(d[i])(h);return h}Object.defineProperty(a,"__esModule",{value:!0}),a._createDynamicElement=c})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/html-resource-plugin.js",["exports","aurelia-templating","./dynamic-element"],function(a,b,c){"use strict";function d(a){return/([^\/^\?]+)\.html/i.exec(a)[1].toLowerCase()}function e(a){var e=a.container.get(b.ViewEngine),f=a.aurelia.loader;e.addResourcePlugin(".html",{fetch:function(a){return f.loadTemplate(a).then(function(b){var e,f=b.template.getAttribute("bindable"),g=d(a);return f?(f=f.split(",").map(function(a){return a.trim()}),b.template.removeAttribute("bindable")):f=[],e={},e[g]=(0,c._createDynamicElement)(g,a,f),e})}})}Object.defineProperty(a,"__esModule",{value:!0}),a.getElementName=d,a.configure=e})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/null-repeat-strategy.js",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.NullRepeatStrategy=function(){function a(){}return a.prototype.instanceChanged=function(a,b){a.removeAllViews(!0)},a.prototype.getCollectionObserver=function(a,b){},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/array-repeat-strategy.js",["exports","./repeat-utilities","aurelia-binding"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.ArrayRepeatStrategy=void 0;a.ArrayRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(a,b){return a.getArrayObserver(b)},a.prototype.instanceChanged=function(a,c){var d=this,e=c.length;if(!c||0===e)return void a.removeAllViews(!0,!a.viewsRequireLifecycle);var f=a.views(),g=f.length;return 0===g?void this._standardProcessInstanceChanged(a,c):void(a.viewsRequireLifecycle?!function(){for(var h=f.slice(0),i=a.local,j=a.matcher(),k=[],l=[],m=0;m<g;m++){var n=h[m],o=n.bindingContext[i];(0,b.indexOf)(c,o,j)===-1?l.push(n):k.push(o);
+}var p=void 0,q=void 0;k.length>0?(q=a.removeViews(l,!0,!a.viewsRequireLifecycle),p=function(){for(var g=0;g<e;g++){var h=c[g],i=(0,b.indexOf)(k,h,j,g),l=void 0;if(i===-1){var m=(0,b.createFullOverrideContext)(a,c[g],g,e);a.insertView(g,m.bindingContext,m),k.splice(g,0,void 0)}else i===g?(l=f[i],k[i]=void 0):(l=f[i],a.moveView(i,g),k.splice(i,1),k.splice(g,0,void 0));l&&(0,b.updateOverrideContext)(l.overrideContext,g,e)}d._inPlaceProcessItems(a,c)}):(q=a.removeAllViews(!0,!a.viewsRequireLifecycle),p=function(){return d._standardProcessInstanceChanged(a,c)}),q instanceof Promise?q.then(p):p()}():this._inPlaceProcessItems(a,c))},a.prototype._standardProcessInstanceChanged=function(a,c){for(var d=0,e=c.length;d<e;d++){var f=(0,b.createFullOverrideContext)(a,c[d],d,e);a.addView(f.bindingContext,f)}},a.prototype._inPlaceProcessItems=function(a,c){for(var d=c.length,e=a.viewCount();e>d;)e--,a.removeView(e,!0,!a.viewsRequireLifecycle);for(var f=a.local,g=0;g<e;g++){var h=a.view(g),i=g===d-1,j=0!==g&&!i;h.bindingContext[f]===c[g]&&h.overrideContext.$middle===j&&h.overrideContext.$last===i||(h.bindingContext[f]=c[g],h.overrideContext.$middle=j,h.overrideContext.$last=i,a.updateBindings(h))}for(var k=e;k<d;k++){var l=(0,b.createFullOverrideContext)(a,c[k],k,d);a.addView(l.bindingContext,l)}},a.prototype.instanceMutated=function(a,b,d){var e=this;if(a.__queuedSplices){for(var f=0,g=d.length;f<g;++f){var h=d[f],i=h.index,j=h.removed,k=h.addedCount;(0,c.mergeSplice)(a.__queuedSplices,i,j,k)}return void(a.__array=b.slice(0))}var l=this._runSplices(a,b.slice(0),d);l instanceof Promise&&!function(){var b=a.__queuedSplices=[],c=function d(){if(!b.length)return a.__queuedSplices=void 0,void(a.__array=void 0);var c=e._runSplices(a,a.__array,b)||Promise.resolve();b=a.__queuedSplices=[],c.then(d)};l.then(c)}()},a.prototype._runSplices=function(a,c,d){for(var e=this,f=0,g=[],h=0,i=d.length;h<i;++h){for(var j=d[h],k=j.removed,l=0,m=k.length;l<m;++l){var n=a.removeView(j.index+f+g.length,!0);n instanceof Promise&&g.push(n)}f-=j.addedCount}if(g.length>0)return Promise.all(g).then(function(){var f=e._handleAddedSplices(a,c,d);(0,b.updateOverrideContexts)(a.views(),f)});var o=this._handleAddedSplices(a,c,d);(0,b.updateOverrideContexts)(a.views(),o)},a.prototype._handleAddedSplices=function(a,c,d){for(var e=void 0,f=void 0,g=c.length,h=0,i=d.length;h<i;++h){var j=d[h],k=e=j.index,l=j.index+j.addedCount;for(("undefined"==typeof f||null===f||f>j.index)&&(f=e);k<l;++k){var m=(0,b.createFullOverrideContext)(a,c[k],k,g);a.insertView(k,m.bindingContext,m)}}return f},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/map-repeat-strategy.js",["exports","./repeat-utilities"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.MapRepeatStrategy=void 0;a.MapRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(a,b){return a.getMapObserver(b)},a.prototype.instanceChanged=function(a,b){var c=this,d=a.removeAllViews(!0,!a.viewsRequireLifecycle);return d instanceof Promise?void d.then(function(){return c._standardProcessItems(a,b)}):void this._standardProcessItems(a,b)},a.prototype._standardProcessItems=function(a,c){var d=0,e=void 0;c.forEach(function(f,g){e=(0,b.createFullOverrideContext)(a,f,d,c.size,g),a.addView(e.bindingContext,e),++d})},a.prototype.instanceMutated=function(a,c,d){var e=void 0,f=void 0,g=void 0,h=void 0,i=void 0,j=void 0,k=[],l=void 0;for(f=0,g=d.length;f<g;++f)switch(j=d[f],e=j.key,j.type){case"update":i=this._getViewIndexByKey(a,e),l=a.removeView(i,!0,!a.viewsRequireLifecycle),l instanceof Promise&&k.push(l),h=(0,b.createFullOverrideContext)(a,c.get(e),i,c.size,e),a.insertView(i,h.bindingContext,h);break;case"add":h=(0,b.createFullOverrideContext)(a,c.get(e),c.size-1,c.size,e),a.insertView(c.size-1,h.bindingContext,h);break;case"delete":if(void 0===j.oldValue)return;i=this._getViewIndexByKey(a,e),l=a.removeView(i,!0,!a.viewsRequireLifecycle),l instanceof Promise&&k.push(l);break;case"clear":a.removeAllViews(!0,!a.viewsRequireLifecycle);break;default:continue}k.length>0?Promise.all(k).then(function(){(0,b.updateOverrideContexts)(a.views(),0)}):(0,b.updateOverrideContexts)(a.views(),0)},a.prototype._getViewIndexByKey=function(a,b){var c=void 0,d=void 0,e=void 0;for(c=0,d=a.viewCount();c<d;++c)if(e=a.view(c),e.bindingContext[a.key]===b)return c},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/set-repeat-strategy.js",["exports","./repeat-utilities"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.SetRepeatStrategy=void 0;a.SetRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(a,b){return a.getSetObserver(b)},a.prototype.instanceChanged=function(a,b){var c=this,d=a.removeAllViews(!0,!a.viewsRequireLifecycle);return d instanceof Promise?void d.then(function(){return c._standardProcessItems(a,b)}):void this._standardProcessItems(a,b)},a.prototype._standardProcessItems=function(a,c){var d=0,e=void 0;c.forEach(function(f){e=(0,b.createFullOverrideContext)(a,f,d,c.size),a.addView(e.bindingContext,e),++d})},a.prototype.instanceMutated=function(a,c,d){var e=void 0,f=void 0,g=void 0,h=void 0,i=void 0,j=void 0,k=[],l=void 0;for(f=0,g=d.length;f<g;++f)switch(j=d[f],e=j.value,j.type){case"add":h=(0,b.createFullOverrideContext)(a,e,c.size-1,c.size),a.insertView(c.size-1,h.bindingContext,h);break;case"delete":i=this._getViewIndexByValue(a,e),l=a.removeView(i,!0,!a.viewsRequireLifecycle),l instanceof Promise&&k.push(l);break;case"clear":a.removeAllViews(!0,!a.viewsRequireLifecycle);break;default:continue}k.length>0?Promise.all(k).then(function(){(0,b.updateOverrideContexts)(a.views(),0)}):(0,b.updateOverrideContexts)(a.views(),0)},a.prototype._getViewIndexByValue=function(a,b){var c=void 0,d=void 0,e=void 0;for(c=0,d=a.viewCount();c<d;++c)if(e=a.view(c),e.bindingContext[a.local]===b)return c},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/number-repeat-strategy.js",["exports","./repeat-utilities"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.NumberRepeatStrategy=void 0;a.NumberRepeatStrategy=function(){function a(){}return a.prototype.getCollectionObserver=function(){return null},a.prototype.instanceChanged=function(a,b){var c=this,d=a.removeAllViews(!0,!a.viewsRequireLifecycle);return d instanceof Promise?void d.then(function(){return c._standardProcessItems(a,b)}):void this._standardProcessItems(a,b)},a.prototype._standardProcessItems=function(a,c){var d=a.viewCount(),e=void 0,f=void 0,g=void 0,h=void 0;if(c=Math.floor(c),h=d-c,h>0)for(h>d&&(h=d),e=0,f=h;e<f;++e)a.removeView(d-(e+1),!0,!a.viewsRequireLifecycle);else{for(e=d,f=c;e<f;++e)g=(0,b.createFullOverrideContext)(a,e,e,f),a.addView(g.bindingContext,g);(0,b.updateOverrideContexts)(a.views(),0)}},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/repeat-utilities.js",["exports","aurelia-binding"],function(a,b){"use strict";function c(a,b){var c=a.length;for(b>0&&(b-=1);b<c;++b)e(a[b].overrideContext,b,c)}function d(a,c,d,f,g){var h={},i=(0,b.createOverrideContext)(h,a.scope.overrideContext);return"undefined"!=typeof g?(h[a.key]=g,h[a.value]=c):h[a.local]=c,e(i,d,f),i}function e(a,b,c){var d=0===b,e=b===c-1,f=b%2===0;a.$index=b,a.$first=d,a.$last=e,a.$middle=!(d||e),a.$odd=!f,a.$even=f}function f(a,b){return a.behaviorInstructions.filter(function(a){return a.originalAttrName===b})[0].attributes.items.sourceExpression}function g(a){for(var c=!1;a instanceof b.BindingBehavior;)a=a.expression;for(;a instanceof b.ValueConverter;)a=a.expression,c=!0;return c?a:null}function h(a){for(;a instanceof b.BindingBehavior;){if("oneTime"===a.name)return!0;a=a.expression}return!1}function i(a){a.call&&a.mode===k?a.call(b.sourceContext):a.updateOneTimeBindings&&a.updateOneTimeBindings()}function j(a,b,c,d){if(!c)return a.indexOf(b);for(var e=a.length,f=d||0;f<e;f++)if(c(a[f],b))return f;return-1}Object.defineProperty(a,"__esModule",{value:!0}),a.updateOverrideContexts=c,a.createFullOverrideContext=d,a.updateOverrideContext=e,a.getItemsSourceExpression=f,a.unwrapExpression=g,a.isOneTime=h,a.updateOneTimeBinding=i,a.indexOf=j;var k=b.bindingMode.oneTime})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/analyze-view-factory.js",["exports"],function(a){"use strict";function b(a){var b=a.type,c=null!==b.elementName?b.elementName:b.attributeName;return e.indexOf(c)===-1&&(b.handlesAttached||b.handlesBind||b.handlesCreated||b.handlesDetached||b.handlesUnbind)||b.viewFactory&&d(b.viewFactory)||a.viewFactory&&d(a.viewFactory)}function c(a){var c=a.behaviorInstructions;if(c)for(var e=c.length;e--;)if(b(c[e]))return!0;return a.viewFactory&&d(a.viewFactory)}function d(a){if("_viewsRequireLifecycle"in a)return a._viewsRequireLifecycle;if(a._viewsRequireLifecycle=!1,a.viewFactory)return a._viewsRequireLifecycle=d(a.viewFactory),a._viewsRequireLifecycle;if(a.template.querySelector(".au-animate"))return a._viewsRequireLifecycle=!0,!0;for(var b in a.instructions)if(c(a.instructions[b]))return a._viewsRequireLifecycle=!0,!0;return a._viewsRequireLifecycle=!1,!1}Object.defineProperty(a,"__esModule",{value:!0}),a.viewsRequireLifecycle=d;var e=a.lifecycleOptionalBehaviors=["focus","if","repeat","show","with"]})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/aurelia-hide-style.js",["exports","aurelia-pal"],function(a,b){"use strict";function c(){b.DOM.injectStyles(f)}function d(a){b.FEATURE.shadowDOM&&a&&!a.hasAureliaHideStyle&&(a.hasAureliaHideStyle=!0,b.DOM.injectStyles(f,a))}Object.defineProperty(a,"__esModule",{value:!0}),a.aureliaHideClassName=void 0,a.injectAureliaHideStyleAtHead=c,a.injectAureliaHideStyleAtBoundary=d;var e=a.aureliaHideClassName="aurelia-hide",f="."+e+" { display:none !important; }"})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1/aurelia-templating-resources.js",["exports","./compose","./if","./with","./repeat","./show","./hide","./sanitize-html","./replaceable","./focus","aurelia-templating","./css-resource","./html-sanitizer","./attr-binding-behavior","./binding-mode-behaviors","./throttle-binding-behavior","./debounce-binding-behavior","./signal-binding-behavior","./binding-signaler","./update-trigger-binding-behavior","./abstract-repeater","./repeat-strategy-locator","./html-resource-plugin","./null-repeat-strategy","./array-repeat-strategy","./map-repeat-strategy","./set-repeat-strategy","./number-repeat-strategy","./repeat-utilities","./analyze-view-factory","./aurelia-hide-style"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E){"use strict";function F(a){(0,E.injectAureliaHideStyleAtHead)(),a.globalResources("./compose","./if","./with","./repeat","./show","./hide","./replaceable","./sanitize-html","./focus","./binding-mode-behaviors","./throttle-binding-behavior","./debounce-binding-behavior","./signal-binding-behavior","./update-trigger-binding-behavior","./attr-binding-behavior"),(0,w.configure)(a);var b=a.container.get(k.ViewEngine);b.addResourcePlugin(".css",{fetch:function(a){var b;return b={},b[a]=(0,l._createCSSResource)(a),b}})}Object.defineProperty(a,"__esModule",{value:!0}),a.viewsRequireLifecycle=a.unwrapExpression=a.updateOneTimeBinding=a.isOneTime=a.getItemsSourceExpression=a.updateOverrideContext=a.createFullOverrideContext=a.NumberRepeatStrategy=a.SetRepeatStrategy=a.MapRepeatStrategy=a.ArrayRepeatStrategy=a.NullRepeatStrategy=a.RepeatStrategyLocator=a.AbstractRepeater=a.UpdateTriggerBindingBehavior=a.BindingSignaler=a.SignalBindingBehavior=a.DebounceBindingBehavior=a.ThrottleBindingBehavior=a.TwoWayBindingBehavior=a.OneWayBindingBehavior=a.OneTimeBindingBehavior=a.AttrBindingBehavior=a.configure=a.Focus=a.Replaceable=a.SanitizeHTMLValueConverter=a.HTMLSanitizer=a.Hide=a.Show=a.Repeat=a.With=a.If=a.Compose=void 0,a.Compose=b.Compose,a.If=c.If,a.With=d.With,a.Repeat=e.Repeat,a.Show=f.Show,a.Hide=g.Hide,a.HTMLSanitizer=m.HTMLSanitizer,a.SanitizeHTMLValueConverter=h.SanitizeHTMLValueConverter,a.Replaceable=i.Replaceable,a.Focus=j.Focus,a.configure=F,a.AttrBindingBehavior=n.AttrBindingBehavior,a.OneTimeBindingBehavior=o.OneTimeBindingBehavior,a.OneWayBindingBehavior=o.OneWayBindingBehavior,a.TwoWayBindingBehavior=o.TwoWayBindingBehavior,a.ThrottleBindingBehavior=p.ThrottleBindingBehavior,a.DebounceBindingBehavior=q.DebounceBindingBehavior,a.SignalBindingBehavior=r.SignalBindingBehavior,a.BindingSignaler=s.BindingSignaler,a.UpdateTriggerBindingBehavior=t.UpdateTriggerBindingBehavior,a.AbstractRepeater=u.AbstractRepeater,a.RepeatStrategyLocator=v.RepeatStrategyLocator,a.NullRepeatStrategy=x.NullRepeatStrategy,a.ArrayRepeatStrategy=y.ArrayRepeatStrategy,a.MapRepeatStrategy=z.MapRepeatStrategy,a.SetRepeatStrategy=A.SetRepeatStrategy,a.NumberRepeatStrategy=B.NumberRepeatStrategy,a.createFullOverrideContext=C.createFullOverrideContext,a.updateOverrideContext=C.updateOverrideContext,a.getItemsSourceExpression=C.getItemsSourceExpression,a.isOneTime=C.isOneTime,a.updateOneTimeBinding=C.updateOneTimeBinding,a.unwrapExpression=C.unwrapExpression,a.viewsRequireLifecycle=D.viewsRequireLifecycle})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-resources@1.1.1.js",["npm:aurelia-templating-resources@1.1.1/aurelia-templating-resources"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/route-loader.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-router","aurelia-path","aurelia-metadata"],function(a,b,c,d,e,f){"use strict";function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(a,"__esModule",{value:!0}),a.TemplatingRouteLoader=void 0;var i,j;a.TemplatingRouteLoader=(i=(0,b.inject)(c.CompositionEngine),i(j=function(a){function b(b){var c=g(this,a.call(this));return c.compositionEngine=b,c}return h(b,a),b.prototype.loadRoute=function(a,b){var c=a.container.createChild(),g={viewModel:(0,e.relativeToFile)(b.moduleId,f.Origin.get(a.container.viewModel.constructor).moduleId),childContainer:c,view:b.view||b.viewStrategy,router:a};return c.getChildRouter=function(){var b=void 0;return c.registerHandler(d.Router,function(d){return b||(b=a.createChild(c))}),c.get(d.Router)},this.compositionEngine.ensureViewModel(g)},b}(d.RouteLoader))||j)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/router-view.js",["exports","aurelia-dependency-injection","aurelia-templating","aurelia-router","aurelia-metadata","aurelia-pal"],function(a,b,c,d,e,f){"use strict";function g(a,b,c,d){c&&Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:c.configurable,writable:c.writable,value:c.initializer?c.initializer.call(d):void 0})}function h(a,b,c,d,e){var f={};return Object.keys(d).forEach(function(a){f[a]=d[a]}),f.enumerable=!!f.enumerable,f.configurable=!!f.configurable,("value"in f||f.initializer)&&(f.writable=!0),f=c.slice().reverse().reduce(function(c,d){return d(a,b,c)||c},f),e&&void 0!==f.initializer&&(f.value=f.initializer?f.initializer.call(e):void 0,f.initializer=void 0),void 0===f.initializer&&(Object.defineProperty(a,b,f),f=null),f}Object.defineProperty(a,"__esModule",{value:!0}),a.RouterView=void 0;var i,j,k,l,m,n,o,p,q=function(){function a(){}return a.prototype.before=function(a,b,c){var d=Promise.resolve(c());return void 0!==b?d.then(function(){return a.remove(b,!0)}):d},a.prototype["with"]=function(a,b,c){var d=Promise.resolve(c());return void 0!==b?Promise.all([a.remove(b,!0),d]):d},a.prototype.after=function(a,b,c){return Promise.resolve(a.removeAll(!0)).then(c)},a}(),r=new q;a.RouterView=(i=(0,c.customElement)("router-view"),j=(0,b.inject)(f.DOM.Element,b.Container,c.ViewSlot,d.Router,c.ViewLocator,c.CompositionTransaction,c.CompositionEngine),i(k=(0,c.noView)(k=j((l=function(){function a(a,b,c,d,e,f,h){g(this,"swapOrder",m,this),g(this,"layoutView",n,this),g(this,"layoutViewModel",o,this),g(this,"layoutModel",p,this),this.element=a,this.container=b,this.viewSlot=c,this.router=d,this.viewLocator=e,this.compositionTransaction=f,this.compositionEngine=h,this.router.registerViewPort(this,this.element.getAttribute("name")),"initialComposition"in f||(f.initialComposition=!0,this.compositionTransactionNotifier=f.enlist())}return a.prototype.created=function(a){this.owningView=a},a.prototype.bind=function(a,b){this.container.viewModel=a,this.overrideContext=b},a.prototype.process=function(a,b){var d=this,f=a.component,g=f.childContainer,h=f.viewModel,i=f.viewModelResource,j=i.metadata,k=f.router.currentInstruction.config,l=k.viewPorts?k.viewPorts[a.name]:{},m={viewModel:l.layoutViewModel||k.layoutViewModel||this.layoutViewModel,view:l.layoutView||k.layoutView||this.layoutView,model:l.layoutModel||k.layoutModel||this.layoutModel,router:a.component.router,childContainer:g,viewSlot:this.viewSlot},n=this.viewLocator.getViewStrategy(f.view||h);return n&&f.view&&n.makeRelativeTo(e.Origin.get(f.router.container.viewModel.constructor).moduleId),j.load(g,i.value,null,n,!0).then(function(e){d.compositionTransactionNotifier||(d.compositionTransactionOwnershipToken=d.compositionTransaction.tryCapture()),(m.viewModel||m.view)&&(a.layoutInstruction=m),a.controller=j.create(g,c.BehaviorInstruction.dynamic(d.element,h,e)),b||d.swap(a)})},a.prototype.swap=function(a){var b=this,d=function(){var d=b.view,e=void 0,f=b.viewSlot,g=a.layoutInstruction;(e=b.swapOrder in r?r[b.swapOrder]:r.after)(f,d,function(){var d=void 0;return g?(g.viewModel||(g.viewModel={}),d=b.compositionEngine.createController(g).then(function(b){return c.ShadowDOM.distributeView(a.controller.view,b.slots||b.view.slots),b.view||b})):d=Promise.resolve(a.controller.view),d.then(function(a){return b.view=a,f.add(a)}).then(function(){b._notify()})})};return a.controller.automate(this.overrideContext,this.owningView),this.compositionTransactionOwnershipToken?this.compositionTransactionOwnershipToken.waitForCompositionComplete().then(function(){return b.compositionTransactionOwnershipToken=null,d()}):d()},a.prototype._notify=function(){this.compositionTransactionNotifier&&(this.compositionTransactionNotifier.done(),this.compositionTransactionNotifier=null)},a}(),m=h(l.prototype,"swapOrder",[c.bindable],{enumerable:!0,initializer:null}),n=h(l.prototype,"layoutView",[c.bindable],{enumerable:!0,initializer:null}),o=h(l.prototype,"layoutViewModel",[c.bindable],{enumerable:!0,initializer:null}),p=h(l.prototype,"layoutModel",[c.bindable],{enumerable:!0,initializer:null}),k=l))||k)||k)||k)})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader@1.0.0/aurelia-loader.js",["exports","aurelia-path","aurelia-metadata"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Loader=a.TemplateRegistryEntry=a.TemplateDependency=void 0;var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=a.TemplateDependency=function(a,b){this.src=a,this.name=b},f=a.TemplateRegistryEntry=function(){function a(a){this.templateIsLoaded=!1,this.factoryIsReady=!1,this.resources=null,this.dependencies=null,this.address=a,this.onReady=null,this._template=null,this._factory=null}return a.prototype.addDependency=function(a,d){var f="string"==typeof a?(0,b.relativeToFile)(a,this.address):c.Origin.get(a).moduleId;this.dependencies.push(new e(f,d))},d(a,[{key:"template",get:function(){return this._template},set:function(a){var c=this.address,d=void 0,f=void 0,g=void 0,h=void 0;this._template=a,this.templateIsLoaded=!0,d=a.content.querySelectorAll("require"),h=this.dependencies=new Array(d.length);for(var i=0,j=d.length;i<j;++i){if(f=d[i],g=f.getAttribute("from"),!g)throw new Error("<require> element in "+c+' has no "from" attribute.');h[i]=new e((0,b.relativeToFile)(g,c),f.getAttribute("as")),f.parentNode&&f.parentNode.removeChild(f)}}},{key:"factory",get:function(){return this._factory},set:function(a){this._factory=a,this.factoryIsReady=!0}}]),a}();a.Loader=function(){function a(){this.templateRegistry={}}return a.prototype.map=function(a,b){throw new Error("Loaders must implement map(id, source).")},a.prototype.normalizeSync=function(a,b){throw new Error("Loaders must implement normalizeSync(moduleId, relativeTo).")},a.prototype.normalize=function(a,b){throw new Error("Loaders must implement normalize(moduleId: string, relativeTo: string): Promise<string>.")},a.prototype.loadModule=function(a){throw new Error("Loaders must implement loadModule(id).")},a.prototype.loadAllModules=function(a){throw new Error("Loader must implement loadAllModules(ids).")},a.prototype.loadTemplate=function(a){throw new Error("Loader must implement loadTemplate(url).")},a.prototype.loadText=function(a){throw new Error("Loader must implement loadText(url).")},a.prototype.applyPluginToUrl=function(a,b){throw new Error("Loader must implement applyPluginToUrl(url, pluginName).")},a.prototype.addPlugin=function(a,b){throw new Error("Loader must implement addPlugin(pluginName, implementation).")},a.prototype.getOrCreateTemplateRegistryEntry=function(a){return this.templateRegistry[a]||(this.templateRegistry[a]=new f(a))},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-loader@1.0.0.js",["npm:aurelia-loader@1.0.0/aurelia-loader"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-binding@1.0.9/aurelia-binding.js",["exports","aurelia-logging","aurelia-pal","aurelia-task-queue","aurelia-metadata"],function(a,b,c,d,e){"use strict";function f(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function h(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function i(a){if(a in La)return La[a];var b=a.charAt(0).toLowerCase()+a.slice(1).replace(/[_.-](\w|$)/g,function(a,b){return b.toUpperCase()});return La[a]=b,b}function j(a,b){return{bindingContext:a,parentOverrideContext:b||null}}function k(a,b,c){var d=b.overrideContext;if(c){for(;c&&d;)c--,d=d.parentOverrideContext;if(c||!d)return;return a in d?d:d.bindingContext}for(;d&&!(a in d)&&!(d.bindingContext&&a in d.bindingContext);)d=d.parentOverrideContext;return d?a in d?d:d.bindingContext:b.bindingContext||b.overrideContext}function l(a,b){return b?{bindingContext:a,overrideContext:j(a,j(b))}:{bindingContext:a,overrideContext:j(a)}}function m(a){for(var b=void 0===this._observerSlots?0:this._observerSlots,c=b;c--&&this[Na[c]]!==a;);if(c===-1){for(c=0;this[Na[c]];)c++;this[Na[c]]=a,a.subscribe(Ma,this),c===b&&(this._observerSlots=c+1)}void 0===this._version&&(this._version=0),this[Oa[c]]=this._version}function n(a,b){var c=this.observerLocator.getObserver(a,b);m.call(this,c)}function o(a){var b=this.observerLocator.getArrayObserver(a);m.call(this,b)}function p(a){for(var b=this._observerSlots;b--;)if(a||this[Oa[b]]!==this._version){var c=this[Na[b]];this[Na[b]]=null,c&&c.unsubscribe(Ma,this)}}function q(){return function(a){a.prototype.observeProperty=n,a.prototype.observeArray=o,a.prototype.unobserve=p,a.prototype.addObserver=m}}function r(a){for(var b=0,d=Qa.keys(),e=void 0;(e=d.next())&&!e.done;){var f=e.value;if(Qa["delete"](f),f.connect(!0),b++,b%100===0&&c.PLATFORM.performance.now()-a>Sa)break}Qa.size?c.PLATFORM.requestAnimationFrame(r):(Ta=!1,Ua=0)}function s(a){Ua<Ra?(Ua++,a.connect(!1)):Qa.set(a),Ta||(Ta=!0,c.PLATFORM.requestAnimationFrame(r))}function t(a,b){return!this.hasSubscriber(a,b)&&(this._context0?this._context1?this._context2?this._contextsRest?(this._contextsRest.push(a),this._callablesRest.push(b),!0):(this._contextsRest=[a],this._callablesRest=[b],!0):(this._context2=a,this._callable2=b,!0):(this._context1=a,this._callable1=b,!0):(this._context0=a,this._callable0=b,!0))}function u(a,b){if(this._context0===a&&this._callable0===b)return this._context0=null,this._callable0=null,!0;if(this._context1===a&&this._callable1===b)return this._context1=null,this._callable1=null,!0;if(this._context2===a&&this._callable2===b)return this._context2=null,this._callable2=null,!0;var c=this._contextsRest,d=void 0;return!(!c||!c.length||(d=c.indexOf(a))===-1||this._callablesRest[d]!==b)&&(c.splice(d,1),this._callablesRest.splice(d,1),!0)}function v(a,b){var c=this._context0,d=this._callable0,e=this._context1,f=this._callable1,g=this._context2,h=this._callable2,i=this._contextsRest?this._contextsRest.length:0,j=void 0,k=void 0,l=void 0,m=void 0;if(i){for(l=Xa.length;l--&&Xa[l];);for(l<0?(l=Xa.length,j=[],k=[],Xa.push(!0),Va.push(j),Wa.push(k)):(Xa[l]=!0,j=Va[l],k=Wa[l]),m=i;m--;)j[m]=this._contextsRest[m],k[m]=this._callablesRest[m]}if(c&&(d?d.call(c,a,b):c(a,b)),e&&(f?f.call(e,a,b):e(a,b)),g&&(h?h.call(g,a,b):g(a,b)),i){for(m=0;m<i;m++){var n=k[m],o=j[m];n?n.call(o,a,b):o(a,b),j[m]=null,k[m]=null}Xa[l]=!1}}function w(){return!!(this._context0||this._context1||this._context2||this._contextsRest&&this._contextsRest.length)}function x(a,b){var c=this._context0===a&&this._callable0===b||this._context1===a&&this._callable1===b||this._context2===a&&this._callable2===b;if(c)return!0;var d=void 0,e=this._contextsRest;if(!e||0===(d=e.length))return!1;for(var f=this._callablesRest;d--;)if(e[d]===a&&f[d]===b)return!0;return!1}function y(){return function(a){a.prototype.addSubscriber=t,a.prototype.removeSubscriber=u,a.prototype.callSubscribers=v,a.prototype.hasSubscribers=w,a.prototype.hasSubscriber=x}}function z(a){return+a===a>>>0}function A(a){return+a}function B(a,b,c){return{index:a,removed:b,addedCount:c}}function C(){}function D(a,b,c,d,e,f){return bb.calcSplices(a,b,c,d,e,f)}function E(a,b,c,d){return b<c||d<a?-1:b===c||d===a?0:a<c?b<d?b-c:d-c:d<b?d-a:b-a}function F(a,b,c,d){for(var e=B(b,c,d),f=!1,g=0,h=0;h<a.length;h++){var i=a[h];if(i.index+=g,!f){var j=E(e.index,e.index+e.removed.length,i.index,i.index+i.addedCount);if(j>=0){a.splice(h,1),h--,g-=i.addedCount-i.removed.length,e.addedCount+=i.addedCount-j;var k=e.removed.length+i.removed.length-j;if(e.addedCount||k){var l=i.removed;if(e.index<i.index){var m=e.removed.slice(0,i.index-e.index);Array.prototype.push.apply(m,l),l=m}if(e.index+e.removed.length>i.index+i.addedCount){var n=e.removed.slice(i.index+i.addedCount-e.index);Array.prototype.push.apply(l,n)}e.removed=l,i.index<e.index&&(e.index=i.index)}else f=!0}else if(e.index<i.index){f=!0,a.splice(h,0,e),h++;var o=e.addedCount-e.removed.length;i.index+=o,g+=o}}}f||a.push(e)}function G(a,b){for(var c=[],d=0;d<b.length;d++){var e=b[d];switch(e.type){case"splice":F(c,e.index,e.removed.slice(),e.addedCount);break;case"add":case"update":case"delete":if(!z(e.name))continue;var f=A(e.name);if(f<0)continue;F(c,f,[e.oldValue],"delete"===e.type?0:1);break;default:console.error("Unexpected record type: "+JSON.stringify(e))}}return c}function H(a,b){var c=[];return G(a,b).forEach(function(b){return 1===b.addedCount&&1===b.removed.length?void(b.removed[0]!==a[b.index]&&c.push(b)):void(c=c.concat(D(a,b.index,b.index+b.addedCount,b.removed,0,b.removed.length)))}),c}function I(a,b,c,d){return{type:a,object:b,key:c,oldValue:d}}function J(a){for(var b=new Array(a.size),c=a.keys(),d=0,e=void 0;(e=c.next())&&!e.done;)b[d]=I("added",a,e.value),d++;return b}function K(a,b){return lb["for"](a,b)}function L(a,b,c){for(var d=b.length,e=[],f=0;f<d;f++)e[f]=b[f].evaluate(a,c);return e}function M(a,b){return null!==a&&null!==b?"string"==typeof a&&"string"!=typeof b?a+b.toString():"string"!=typeof a&&"string"==typeof b?a.toString()+b:a+b:null!==a?a:null!==b?b:0}function N(a,b,c){var d=null===a||void 0===a?null:a[b];if("function"==typeof d)return d;if(!c&&(null===d||void 0===d))return null;throw new Error(b+" is not a function")}function O(a,b){if(Array.isArray(a))return a[parseInt(b,10)];if(a)return a[b];if(null!==a&&void 0!==a)return a[b]}function P(a,b,c){if(Array.isArray(a)){var d=parseInt(b,10);a.length<=d&&(a.length=d+1),a[d]=c}else a[b]=c;return c}function Q(a){var b=new Gb;return a.accept(b)}function R(a){return a>=Nb&&a<=Sb||a===Hc}function S(a){return vc<=a&&a<=Dc||nc<=a&&a<=pc||a===uc||a===Vb}function T(a){return vc<=a&&a<=Dc||nc<=a&&a<=pc||lc<=a&&a<=mc||a===uc||a===Vb}function U(a){return lc<=a&&a<=mc}function V(a){return a===wc||a===oc}function W(a){return a===cc||a===ac}function X(a){switch(a){case yc:return Ob;case xc:return Qb;case zc:return Rb;case Ac:return Nb;case Cc:return Pb;default:return a}}function Y(a,b){if(!a)throw b||"Assertion failed"}function Z(a,b){return Mc["for"](a,b)}function $(a){return a.path&&a.path[0]||a.deepPath&&a.deepPath[0]||a.target}function _(a){a.standardStopPropagation=a.stopPropagation,a.stopPropagation=function(){this.propagationStopped=!0,this.standardStopPropagation()}}function aa(a){var b=!1;a.propagationStopped=!1;for(var c=$(a);c&&!a.propagationStopped;){if(c.delegatedCallbacks){var d=c.delegatedCallbacks[a.type];d&&(b||(_(a),b=!0),d(a))}c=c.parentNode}}function ba(a){return!!(a&&a.get&&a.get.dependencies)}function ca(a,b,c){var d=Object.getOwnPropertyDescriptor(a.prototype,b);d.get.dependencies=c}function da(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return function(a,c,d){return d.get.dependencies=b,d}}function ea(a,b,c,d){var e=c.get.dependencies;if(!(e instanceof fd)){for(var f=e.length;f--;)e[f]=d.parser.parse(e[f]);e=c.get.dependencies=new fd(b,e)}var g={bindingContext:a,overrideContext:j(a)};return new Ya(g,e,d)}function fa(a){var b=c.DOM.createElement("div");return b.innerHTML=a,b.firstChild}function ga(a){return void 0===a||"string"==typeof a?function(b){e.metadata.define(e.metadata.resource,new pd(a),b)}:void e.metadata.define(e.metadata.resource,new pd,a)}function ha(a){return void 0===a||"string"==typeof a?function(b){e.metadata.define(e.metadata.resource,new qd(a),b)}:void e.metadata.define(e.metadata.resource,new qd,a)}function ia(a){var b=a.au;if(void 0===b)throw new Error('No Aurelia APIs are defined for the element: "'+a.tagName+'".');return b}function ja(a,b){return vd["for"](a,b)}function ka(a,b,c){function d(a,b,c,d){var e=void 0===b;e&&(a=a.prototype,b="string"==typeof d?d:d.name);var f="_"+b,g={configurable:!0,enumerable:!1,writable:!0},h=d&&d.changeHandler||b+"Changed";return c?"function"==typeof c.initializer&&(g.value=c.initializer()):c={},"enumerable"in c||(c.enumerable=!0),delete c.value,delete c.writable,delete c.initializer,Reflect.defineProperty(a,f,g),c.get=function(){return this[f]},c.set=function(a){var c=this[f];this[f]=a,Reflect.defineProperty(this,f,{enumerable:!1}),this[h]&&this[h](a,c,b)},c.get.dependencies=[f],e?void Reflect.defineProperty(a,b,c):c}return void 0===b?function(b,c,e){return d(b,c,e,a)}:d(a,b,c)}Object.defineProperty(a,"__esModule",{value:!0}),a.getSetObserver=a.BindingEngine=a.NameExpression=a.Listener=a.ListenerExpression=a.BindingBehaviorResource=a.ValueConverterResource=a.Call=a.CallExpression=a.Binding=a.BindingExpression=a.ObjectObservationAdapter=a.ObserverLocator=a.SVGAnalyzer=a.presentationAttributes=a.presentationElements=a.elements=a.ComputedExpression=a.ClassObserver=a.SelectValueObserver=a.CheckedObserver=a.ValueAttributeObserver=a.StyleObserver=a.DataAttributeObserver=a.dataAttributeAccessor=a.XLinkAttributeObserver=a.SetterObserver=a.PrimitiveObserver=a.propertyAccessor=a.DirtyCheckProperty=a.DirtyChecker=a.EventManager=a.getMapObserver=a.ParserImplementation=a.Parser=a.Scanner=a.Lexer=a.Token=a.bindingMode=a.ExpressionCloner=a.Unparser=a.LiteralObject=a.LiteralArray=a.LiteralString=a.LiteralPrimitive=a.PrefixNot=a.Binary=a.CallFunction=a.CallMember=a.CallScope=a.AccessKeyed=a.AccessMember=a.AccessScope=a.AccessThis=a.Conditional=a.Assign=a.ValueConverter=a.BindingBehavior=a.Chain=a.Expression=a.getArrayObserver=a.CollectionLengthObserver=a.ModifyCollectionObserver=a.ExpressionObserver=a.sourceContext=void 0,
a.camelCase=i,a.createOverrideContext=j,a.getContextFor=k,a.createScopeForTest=l,a.connectable=q,a.enqueueBindingConnect=s,a.subscriberCollection=y,a.calcSplices=D,a.mergeSplice=F,a.projectArraySplices=H,a.getChangeRecords=J,a.cloneExpression=Q,a.hasDeclaredDependencies=ba,a.declarePropertyDependencies=ca,a.computedFrom=da,a.createComputedObserver=ea,a.valueConverter=ga,a.bindingBehavior=ha,a.observable=ka;for(var la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,Da,Ea,Fa,Ga,Ha,Ia=f(b),Ja="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},Ka=(function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}()),La=Object.create(null),Ma=a.sourceContext="Binding:source",Na=[],Oa=[],Pa=0;Pa<100;Pa++)Na.push("_observer"+Pa),Oa.push("_observerVersion"+Pa);var Qa=new Map,Ra=100,Sa=15,Ta=!1,Ua=0,Va=[],Wa=[],Xa=[],Ya=a.ExpressionObserver=(la=q(),ma=y(),la(na=ma(na=function(){function a(a,b,c,d){this.scope=a,this.expression=b,this.observerLocator=c,this.lookupFunctions=d}return a.prototype.getValue=function(){return this.expression.evaluate(this.scope,this.lookupFunctions)},a.prototype.setValue=function(a){this.expression.assign(this.scope,a)},a.prototype.subscribe=function(a,b){var c=this;if(this.hasSubscribers()||(this.oldValue=this.expression.evaluate(this.scope,this.lookupFunctions),this.expression.connect(this,this.scope)),this.addSubscriber(a,b),1===arguments.length&&a instanceof Function)return{dispose:function(){c.unsubscribe(a,b)}}},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)&&!this.hasSubscribers()&&(this.unobserve(!0),this.oldValue=void 0)},a.prototype.call=function(){var a=this.expression.evaluate(this.scope,this.lookupFunctions),b=this.oldValue;a!==b&&(this.oldValue=a,this.callSubscribers(a,b)),this._version++,this.expression.connect(this,this.scope),this.unobserve(!1)},a}())||na)||na),Za=0,$a=1,_a=2,ab=3;C.prototype={calcEditDistances:function(a,b,c,d,e,f){for(var g=f-e+1,h=c-b+1,i=new Array(g),j=void 0,k=void 0,l=0;l<g;++l)i[l]=new Array(h),i[l][0]=l;for(var m=0;m<h;++m)i[0][m]=m;for(var n=1;n<g;++n)for(var o=1;o<h;++o)this.equals(a[b+o-1],d[e+n-1])?i[n][o]=i[n-1][o-1]:(j=i[n-1][o]+1,k=i[n][o-1]+1,i[n][o]=j<k?j:k);return i},spliceOperationsFromEditDistances:function(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!==b)if(0!==c){var f=a[b-1][c-1],g=a[b-1][c],h=a[b][c-1],i=void 0;i=g<h?g<f?g:f:h<f?h:f,i===f?(f===d?e.push(Za):(e.push($a),d=f),b--,c--):i===g?(e.push(ab),b--,d=g):(e.push(_a),c--,d=h)}else e.push(ab),b--;else e.push(_a),c--;return e.reverse(),e},calcSplices:function(a,b,c,d,e,f){var g=0,h=0,i=Math.min(c-b,f-e);if(0===b&&0===e&&(g=this.sharedPrefix(a,d,i)),c===a.length&&f===d.length&&(h=this.sharedSuffix(a,d,i-g)),b+=g,e+=g,c-=h,f-=h,c-b===0&&f-e===0)return[];if(b===c){for(var j=B(b,[],0);e<f;)j.removed.push(d[e++]);return[j]}if(e===f)return[B(b,[],c-b)];for(var k=this.spliceOperationsFromEditDistances(this.calcEditDistances(a,b,c,d,e,f)),l=void 0,m=[],n=b,o=e,p=0;p<k.length;++p)switch(k[p]){case Za:l&&(m.push(l),l=void 0),n++,o++;break;case $a:l||(l=B(n,[],0)),l.addedCount++,n++,l.removed.push(d[o]),o++;break;case _a:l||(l=B(n,[],0)),l.addedCount++,n++;break;case ab:l||(l=B(n,[],0)),l.removed.push(d[o]),o++}return l&&m.push(l),m},sharedPrefix:function(a,b,c){for(var d=0;d<c;++d)if(!this.equals(a[d],b[d]))return d;return c},sharedSuffix:function(a,b,c){for(var d=a.length,e=b.length,f=0;f<c&&this.equals(a[--d],b[--e]);)f++;return f},calculateSplices:function(a,b){return this.calcSplices(a,0,a.length,b,0,b.length)},equals:function(a,b){return a===b}};var bb=new C,cb=a.ModifyCollectionObserver=(oa=y(),oa(pa=function(){function a(a,b){this.taskQueue=a,this.queued=!1,this.changeRecords=null,this.oldCollection=null,this.collection=b,this.lengthPropertyName=b instanceof Map||b instanceof Set?"size":"length"}return a.prototype.subscribe=function(a,b){this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)},a.prototype.addChangeRecord=function(a){if(this.hasSubscribers()||this.lengthObserver){if("splice"===a.type){var b=a.index,c=a.object.length;b>c?b=c-a.addedCount:b<0&&(b=c+a.removed.length+b-a.addedCount),b<0&&(b=0),a.index=b}null===this.changeRecords?this.changeRecords=[a]:this.changeRecords.push(a),this.queued||(this.queued=!0,this.taskQueue.queueMicroTask(this))}},a.prototype.flushChangeRecords=function(){(this.changeRecords&&this.changeRecords.length||this.oldCollection)&&this.call()},a.prototype.reset=function(a){this.oldCollection=a,this.hasSubscribers()&&!this.queued&&(this.queued=!0,this.taskQueue.queueMicroTask(this))},a.prototype.getLengthObserver=function(){return this.lengthObserver||(this.lengthObserver=new db(this.collection))},a.prototype.call=function(){var a=this.changeRecords,b=this.oldCollection,c=void 0;this.queued=!1,this.changeRecords=[],this.oldCollection=null,this.hasSubscribers()&&(c=b?this.collection instanceof Map||this.collection instanceof Set?J(b):D(this.collection,0,this.collection.length,b,0,b.length):this.collection instanceof Map||this.collection instanceof Set?a:H(this.collection,a),this.callSubscribers(c)),this.lengthObserver&&this.lengthObserver.call(this.collection[this.lengthPropertyName])},a}())||pa),db=a.CollectionLengthObserver=(qa=y(),qa(ra=function(){function a(a){this.collection=a,this.lengthPropertyName=a instanceof Map||a instanceof Set?"size":"length",this.currentValue=a[this.lengthPropertyName]}return a.prototype.getValue=function(){return this.collection[this.lengthPropertyName]},a.prototype.setValue=function(a){this.collection[this.lengthPropertyName]=a},a.prototype.subscribe=function(a,b){this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)},a.prototype.call=function(a){var b=this.currentValue;this.callSubscribers(a,b),this.currentValue=a},a}())||ra),eb=Array.prototype.pop,fb=Array.prototype.push,gb=Array.prototype.reverse,hb=Array.prototype.shift,ib=Array.prototype.sort,jb=Array.prototype.splice,kb=Array.prototype.unshift;Array.prototype.pop=function(){var a=this.length>0,b=eb.apply(this,arguments);return a&&void 0!==this.__array_observer__&&this.__array_observer__.addChangeRecord({type:"delete",object:this,name:this.length,oldValue:b}),b},Array.prototype.push=function(){var a=fb.apply(this,arguments);return void 0!==this.__array_observer__&&this.__array_observer__.addChangeRecord({type:"splice",object:this,index:this.length-arguments.length,removed:[],addedCount:arguments.length}),a},Array.prototype.reverse=function(){var a=void 0;void 0!==this.__array_observer__&&(this.__array_observer__.flushChangeRecords(),a=this.slice());var b=gb.apply(this,arguments);return void 0!==this.__array_observer__&&this.__array_observer__.reset(a),b},Array.prototype.shift=function(){var a=this.length>0,b=hb.apply(this,arguments);return a&&void 0!==this.__array_observer__&&this.__array_observer__.addChangeRecord({type:"delete",object:this,name:0,oldValue:b}),b},Array.prototype.sort=function(){var a=void 0;void 0!==this.__array_observer__&&(this.__array_observer__.flushChangeRecords(),a=this.slice());var b=ib.apply(this,arguments);return void 0!==this.__array_observer__&&this.__array_observer__.reset(a),b},Array.prototype.splice=function(){var a=jb.apply(this,arguments);return void 0!==this.__array_observer__&&this.__array_observer__.addChangeRecord({type:"splice",object:this,index:arguments[0],removed:a,addedCount:arguments.length>2?arguments.length-2:0}),a},Array.prototype.unshift=function(){var a=kb.apply(this,arguments);return void 0!==this.__array_observer__&&this.__array_observer__.addChangeRecord({type:"splice",object:this,index:0,removed:[],addedCount:arguments.length}),a},a.getArrayObserver=K;var lb=function(a){function b(b,c){return g(this,a.call(this,b,c))}return h(b,a),b["for"]=function(a,c){return"__array_observer__"in c||Reflect.defineProperty(c,"__array_observer__",{value:b.create(a,c),enumerable:!1,configurable:!1}),c.__array_observer__},b.create=function(a,c){return new b(a,c)},b}(cb),mb=a.Expression=function(){function a(){this.isChain=!1,this.isAssignable=!1}return a.prototype.evaluate=function(a,b,c){throw new Error('Binding expression "'+this+'" cannot be evaluated.')},a.prototype.assign=function(a,b,c){throw new Error('Binding expression "'+this+'" cannot be assigned to.')},a.prototype.toString=function(){return Fb.unparse(this)},a}(),nb=a.Chain=function(a){function b(b){var c=g(this,a.call(this));return c.expressions=b,c.isChain=!0,c}return h(b,a),b.prototype.evaluate=function(a,b){for(var c=void 0,d=this.expressions,e=void 0,f=0,g=d.length;f<g;++f)e=d[f].evaluate(a,b),null!==e&&(c=e);return c},b.prototype.accept=function(a){return a.visitChain(this)},b}(mb),ob=a.BindingBehavior=function(a){function b(b,c,d){var e=g(this,a.call(this));return e.expression=b,e.name=c,e.args=d,e}return h(b,a),b.prototype.evaluate=function(a,b){return this.expression.evaluate(a,b)},b.prototype.assign=function(a,b,c){return this.expression.assign(a,b,c)},b.prototype.accept=function(a){return a.visitBindingBehavior(this)},b.prototype.connect=function(a,b){this.expression.connect(a,b)},b.prototype.bind=function(a,b,c){this.expression.expression&&this.expression.bind&&this.expression.bind(a,b,c);var d=c.bindingBehaviors(this.name);if(!d)throw new Error('No BindingBehavior named "'+this.name+'" was found!');var e="behavior-"+this.name;if(a[e])throw new Error('A binding behavior named "'+this.name+'" has already been applied to "'+this.expression+'"');a[e]=d,d.bind.apply(d,[a,b].concat(L(b,this.args,a.lookupFunctions)))},b.prototype.unbind=function(a,b){var c="behavior-"+this.name;a[c].unbind(a,b),a[c]=null,this.expression.expression&&this.expression.unbind&&this.expression.unbind(a,b)},b}(mb),pb=a.ValueConverter=function(a){function b(b,c,d,e){var f=g(this,a.call(this));return f.expression=b,f.name=c,f.args=d,f.allArgs=e,f}return h(b,a),b.prototype.evaluate=function(a,b){var c=b.valueConverters(this.name);if(!c)throw new Error('No ValueConverter named "'+this.name+'" was found!');return"toView"in c?c.toView.apply(c,L(a,this.allArgs,b)):this.allArgs[0].evaluate(a,b)},b.prototype.assign=function(a,b,c){var d=c.valueConverters(this.name);if(!d)throw new Error('No ValueConverter named "'+this.name+'" was found!');return"fromView"in d&&(b=d.fromView.apply(d,[b].concat(L(a,this.args,c)))),this.allArgs[0].assign(a,b,c)},b.prototype.accept=function(a){return a.visitValueConverter(this)},b.prototype.connect=function(a,b){for(var c=this.allArgs,d=c.length;d--;)c[d].connect(a,b)},b}(mb),qb=a.Assign=function(a){function b(b,c){var d=g(this,a.call(this));return d.target=b,d.value=c,d}return h(b,a),b.prototype.evaluate=function(a,b){return this.target.assign(a,this.value.evaluate(a,b))},b.prototype.accept=function(a){a.visitAssign(this)},b.prototype.connect=function(a,b){},b}(mb),rb=a.Conditional=function(a){function b(b,c,d){var e=g(this,a.call(this));return e.condition=b,e.yes=c,e.no=d,e}return h(b,a),b.prototype.evaluate=function(a,b){return this.condition.evaluate(a)?this.yes.evaluate(a):this.no.evaluate(a)},b.prototype.accept=function(a){return a.visitConditional(this)},b.prototype.connect=function(a,b){this.condition.connect(a,b),this.condition.evaluate(b)?this.yes.connect(a,b):this.no.connect(a,b)},b}(mb),sb=a.AccessThis=function(a){function b(b){var c=g(this,a.call(this));return c.ancestor=b,c}return h(b,a),b.prototype.evaluate=function(a,b){for(var c=a.overrideContext,d=this.ancestor;d--&&c;)c=c.parentOverrideContext;return d<1&&c?c.bindingContext:void 0},b.prototype.accept=function(a){return a.visitAccessThis(this)},b.prototype.connect=function(a,b){},b}(mb),tb=a.AccessScope=function(a){function b(b,c){var d=g(this,a.call(this));return d.name=b,d.ancestor=c,d.isAssignable=!0,d}return h(b,a),b.prototype.evaluate=function(a,b){var c=k(this.name,a,this.ancestor);return c[this.name]},b.prototype.assign=function(a,b){var c=k(this.name,a,this.ancestor);return c?c[this.name]=b:void 0},b.prototype.accept=function(a){return a.visitAccessScope(this)},b.prototype.connect=function(a,b){var c=k(this.name,b,this.ancestor);a.observeProperty(c,this.name)},b}(mb),ub=a.AccessMember=function(a){function b(b,c){var d=g(this,a.call(this));return d.object=b,d.name=c,d.isAssignable=!0,d}return h(b,a),b.prototype.evaluate=function(a,b){var c=this.object.evaluate(a,b);return null===c||void 0===c?c:c[this.name]},b.prototype.assign=function(a,b){var c=this.object.evaluate(a);return null!==c&&void 0!==c||(c={},this.object.assign(a,c)),c[this.name]=b,b},b.prototype.accept=function(a){return a.visitAccessMember(this)},b.prototype.connect=function(a,b){this.object.connect(a,b);var c=this.object.evaluate(b);c&&a.observeProperty(c,this.name)},b}(mb),vb=a.AccessKeyed=function(a){function b(b,c){var d=g(this,a.call(this));return d.object=b,d.key=c,d.isAssignable=!0,d}return h(b,a),b.prototype.evaluate=function(a,b){var c=this.object.evaluate(a,b),d=this.key.evaluate(a,b);return O(c,d)},b.prototype.assign=function(a,b){var c=this.object.evaluate(a),d=this.key.evaluate(a);return P(c,d,b)},b.prototype.accept=function(a){return a.visitAccessKeyed(this)},b.prototype.connect=function(a,b){this.object.connect(a,b);var c=this.object.evaluate(b);if(c instanceof Object){this.key.connect(a,b);var d=this.key.evaluate(b);null===d||void 0===d||Array.isArray(c)&&"number"==typeof d||a.observeProperty(c,d)}},b}(mb),wb=a.CallScope=function(a){function b(b,c,d){var e=g(this,a.call(this));return e.name=b,e.args=c,e.ancestor=d,e}return h(b,a),b.prototype.evaluate=function(a,b,c){var d=L(a,this.args,b),e=k(this.name,a,this.ancestor),f=N(e,this.name,c);if(f)return f.apply(e,d)},b.prototype.accept=function(a){return a.visitCallScope(this)},b.prototype.connect=function(a,b){for(var c=this.args,d=c.length;d--;)c[d].connect(a,b)},b}(mb),xb=a.CallMember=function(a){function b(b,c,d){var e=g(this,a.call(this));return e.object=b,e.name=c,e.args=d,e}return h(b,a),b.prototype.evaluate=function(a,b,c){var d=this.object.evaluate(a,b),e=L(a,this.args,b),f=N(d,this.name,c);if(f)return f.apply(d,e)},b.prototype.accept=function(a){return a.visitCallMember(this)},b.prototype.connect=function(a,b){this.object.connect(a,b);var c=this.object.evaluate(b);if(N(c,this.name,!1))for(var d=this.args,e=d.length;e--;)d[e].connect(a,b)},b}(mb),yb=a.CallFunction=function(a){function b(b,c){var d=g(this,a.call(this));return d.func=b,d.args=c,d}return h(b,a),b.prototype.evaluate=function(a,b,c){var d=this.func.evaluate(a,b);if("function"==typeof d)return d.apply(null,L(a,this.args,b));if(c||null!==d&&void 0!==d)throw new Error(this.func+" is not a function")},b.prototype.accept=function(a){return a.visitCallFunction(this)},b.prototype.connect=function(a,b){this.func.connect(a,b);var c=this.func.evaluate(b);if("function"==typeof c)for(var d=this.args,e=d.length;e--;)d[e].connect(a,b)},b}(mb),zb=a.Binary=function(a){function b(b,c,d){var e=g(this,a.call(this));return e.operation=b,e.left=c,e.right=d,e}return h(b,a),b.prototype.evaluate=function(a,b){var c=this.left.evaluate(a);switch(this.operation){case"&&":return c&&this.right.evaluate(a);case"||":return c||this.right.evaluate(a)}var d=this.right.evaluate(a);switch(this.operation){case"==":return c==d;case"===":return c===d;case"!=":return c!=d;case"!==":return c!==d}if(null===c||null===d||void 0===c||void 0===d){switch(this.operation){case"+":return null!==c&&void 0!==c?c:null!==d&&void 0!==d?d:0;case"-":return null!==c&&void 0!==c?c:null!==d&&void 0!==d?0-d:0}return null}switch(this.operation){case"+":return M(c,d);case"-":return c-d;case"*":return c*d;case"/":return c/d;case"%":return c%d;case"<":return c<d;case">":return c>d;case"<=":return c<=d;case">=":return c>=d;case"^":return c^d}throw new Error("Internal error ["+this.operation+"] not handled")},b.prototype.accept=function(a){return a.visitBinary(this)},b.prototype.connect=function(a,b){this.left.connect(a,b);var c=this.left.evaluate(b);"&&"===this.operation&&!c||"||"===this.operation&&c||this.right.connect(a,b)},b}(mb),Ab=a.PrefixNot=function(a){function b(b,c){var d=g(this,a.call(this));return d.operation=b,d.expression=c,d}return h(b,a),b.prototype.evaluate=function(a,b){return!this.expression.evaluate(a)},b.prototype.accept=function(a){return a.visitPrefix(this)},b.prototype.connect=function(a,b){this.expression.connect(a,b)},b}(mb),Bb=a.LiteralPrimitive=function(a){function b(b){var c=g(this,a.call(this));return c.value=b,c}return h(b,a),b.prototype.evaluate=function(a,b){return this.value},b.prototype.accept=function(a){return a.visitLiteralPrimitive(this)},b.prototype.connect=function(a,b){},b}(mb),Cb=a.LiteralString=function(a){function b(b){var c=g(this,a.call(this));return c.value=b,c}return h(b,a),b.prototype.evaluate=function(a,b){return this.value},b.prototype.accept=function(a){return a.visitLiteralString(this)},b.prototype.connect=function(a,b){},b}(mb),Db=a.LiteralArray=function(a){function b(b){var c=g(this,a.call(this));return c.elements=b,c}return h(b,a),b.prototype.evaluate=function(a,b){for(var c=this.elements,d=[],e=0,f=c.length;e<f;++e)d[e]=c[e].evaluate(a,b);return d},b.prototype.accept=function(a){return a.visitLiteralArray(this)},b.prototype.connect=function(a,b){for(var c=this.elements.length,d=0;d<c;d++)this.elements[d].connect(a,b)},b}(mb),Eb=a.LiteralObject=function(a){function b(b,c){var d=g(this,a.call(this));return d.keys=b,d.values=c,d}return h(b,a),b.prototype.evaluate=function(a,b){for(var c={},d=this.keys,e=this.values,f=0,g=d.length;f<g;++f)c[d[f]]=e[f].evaluate(a,b);return c},b.prototype.accept=function(a){return a.visitLiteralObject(this)},b.prototype.connect=function(a,b){for(var c=this.keys.length,d=0;d<c;d++)this.values[d].connect(a,b)},b}(mb),Fb=a.Unparser=function(){function a(a){this.buffer=a}return a.unparse=function(b){var c=[],d=new a(c);return b.accept(d),c.join("")},a.prototype.write=function(a){this.buffer.push(a)},a.prototype.writeArgs=function(a){this.write("(");for(var b=0,c=a.length;b<c;++b)0!==b&&this.write(","),a[b].accept(this);this.write(")")},a.prototype.visitChain=function(a){for(var b=a.expressions,c=0,d=expression.length;c<d;++c)0!==c&&this.write(";"),b[c].accept(this)},a.prototype.visitBindingBehavior=function(a){var b=a.args;a.expression.accept(this),this.write("&"+a.name);for(var c=0,d=b.length;c<d;++c)this.write(":"),b[c].accept(this)},a.prototype.visitValueConverter=function(a){var b=a.args;a.expression.accept(this),this.write("|"+a.name);for(var c=0,d=b.length;c<d;++c)this.write(":"),b[c].accept(this)},a.prototype.visitAssign=function(a){a.target.accept(this),this.write("="),a.value.accept(this)},a.prototype.visitConditional=function(a){a.condition.accept(this),this.write("?"),a.yes.accept(this),this.write(":"),a.no.accept(this)},a.prototype.visitAccessThis=function(a){if(0===a.ancestor)return void this.write("$this");this.write("$parent");for(var b=a.ancestor-1;b--;)this.write(".$parent")},a.prototype.visitAccessScope=function(a){for(var b=a.ancestor;b--;)this.write("$parent.");this.write(a.name)},a.prototype.visitAccessMember=function(a){a.object.accept(this),this.write("."+a.name)},a.prototype.visitAccessKeyed=function(a){a.object.accept(this),this.write("["),a.key.accept(this),this.write("]")},a.prototype.visitCallScope=function(a){for(var b=a.ancestor;b--;)this.write("$parent.");this.write(a.name),this.writeArgs(a.args)},a.prototype.visitCallFunction=function(a){a.func.accept(this),this.writeArgs(a.args)},a.prototype.visitCallMember=function(a){a.object.accept(this),this.write("."+a.name),this.writeArgs(a.args)},a.prototype.visitPrefix=function(a){this.write("("+a.operation),a.expression.accept(this),this.write(")")},a.prototype.visitBinary=function(a){a.left.accept(this),this.write(a.operation),a.right.accept(this)},a.prototype.visitLiteralPrimitive=function(a){this.write(""+a.value)},a.prototype.visitLiteralArray=function(a){var b=a.elements;this.write("[");for(var c=0,d=b.length;c<d;++c)0!==c&&this.write(","),b[c].accept(this);this.write("]")},a.prototype.visitLiteralObject=function(a){var b=a.keys,c=a.values;this.write("{");for(var d=0,e=b.length;d<e;++d)0!==d&&this.write(","),this.write("'"+b[d]+"':"),c[d].accept(this);this.write("}")},a.prototype.visitLiteralString=function(a){var b=a.value.replace(/'/g,"'");this.write("'"+b+"'")},a}(),Gb=a.ExpressionCloner=function(){function a(){}return a.prototype.cloneExpressionArray=function(a){for(var b=[],c=a.length;c--;)b[c]=a[c].accept(this);return b},a.prototype.visitChain=function(a){return new nb(this.cloneExpressionArray(a.expressions))},a.prototype.visitBindingBehavior=function(a){return new ob(a.expression.accept(this),a.name,this.cloneExpressionArray(a.args))},a.prototype.visitValueConverter=function(a){return new pb(a.expression.accept(this),a.name,this.cloneExpressionArray(a.args))},a.prototype.visitAssign=function(a){return new qb(a.target.accept(this),a.value.accept(this))},a.prototype.visitConditional=function(a){return new rb(a.condition.accept(this),a.yes.accept(this),a.no.accept(this))},a.prototype.visitAccessThis=function(a){return new sb(a.ancestor)},a.prototype.visitAccessScope=function(a){return new tb(a.name,a.ancestor)},a.prototype.visitAccessMember=function(a){return new ub(a.object.accept(this),a.name)},a.prototype.visitAccessKeyed=function(a){return new vb(a.object.accept(this),a.key.accept(this))},a.prototype.visitCallScope=function(a){return new wb(a.name,this.cloneExpressionArray(a.args),a.ancestor)},a.prototype.visitCallFunction=function(a){return new yb(a.func.accept(this),this.cloneExpressionArray(a.args))},a.prototype.visitCallMember=function(a){return new xb(a.object.accept(this),a.name,this.cloneExpressionArray(a.args))},a.prototype.visitPrefix=function(a){return new Ab(a.operation,a.expression.accept(this))},a.prototype.visitBinary=function(a){return new zb(a.operation,a.left.accept(this),a.right.accept(this))},a.prototype.visitLiteralPrimitive=function(a){return new Bb(a)},a.prototype.visitLiteralArray=function(a){return new Db(this.cloneExpressionArray(a.elements))},a.prototype.visitLiteralObject=function(a){return new Eb(a.keys,this.cloneExpressionArray(a.values))},a.prototype.visitLiteralString=function(a){return new Cb(a.value)},a}(),Hb=a.bindingMode={oneTime:0,oneWay:1,twoWay:2},Ib=a.Token=function(){function a(a,b){this.index=a,this.text=b}return a.prototype.withOp=function(a){return this.opKey=a,this},a.prototype.withGetterSetter=function(a){return this.key=a,this},a.prototype.withValue=function(a){return this.value=a,this},a.prototype.toString=function(){return"Token("+this.text+")"},a}(),Jb=a.Lexer=function(){function a(){}return a.prototype.lex=function(a){for(var b=new Kb(a),c=[],d=b.scanToken();d;)c.push(d),d=b.scanToken();return c},a}(),Kb=a.Scanner=function(){function a(a){this.input=a,this.length=a.length,this.peek=0,this.index=-1,this.advance()}return a.prototype.scanToken=function(){for(;this.peek<=Sb;){if(++this.index>=this.length)return this.peek=Mb,null;this.peek=this.input.charCodeAt(this.index)}if(S(this.peek))return this.scanIdentifier();if(U(this.peek))return this.scanNumber(this.index);var a=this.index;switch(this.peek){case dc:return this.advance(),U(this.peek)?this.scanNumber(a):new Ib(a,".");case Zb:case $b:case Ec:case Gc:case qc:case sc:case bc:case fc:case gc:return this.scanCharacter(a,String.fromCharCode(this.peek));case Yb:case Ub:return this.scanString();case ac:case cc:case _b:case ec:case Wb:case tc:case kc:return this.scanOperator(a,String.fromCharCode(this.peek));case hc:case jc:case Tb:case ic:return this.scanComplexOperator(a,ic,String.fromCharCode(this.peek),"=");case Xb:return this.scanComplexOperator(a,Xb,"&","&");case Fc:return this.scanComplexOperator(a,Fc,"|","|");case Hc:for(;R(this.peek);)this.advance();return this.scanToken()}var b=String.fromCharCode(this.peek);return this.error("Unexpected character ["+b+"]"),null},a.prototype.scanCharacter=function(a,b){return Y(this.peek===b.charCodeAt(0)),this.advance(),new Ib(a,b)},a.prototype.scanOperator=function(a,b){return Y(this.peek===b.charCodeAt(0)),Y(Lb.indexOf(b)!==-1),this.advance(),new Ib(a,b).withOp(b)},a.prototype.scanComplexOperator=function(a,b,c,d){Y(this.peek===c.charCodeAt(0)),this.advance();var e=c;return this.peek===b&&(this.advance(),e+=d),this.peek===b&&(this.advance(),e+=d),Y(Lb.indexOf(e)!==-1),new Ib(a,e).withOp(e)},a.prototype.scanIdentifier=function(){Y(S(this.peek));var a=this.index;for(this.advance();T(this.peek);)this.advance();var b=this.input.substring(a,this.index),c=new Ib(a,b);return Lb.indexOf(b)!==-1?c.withOp(b):c.withGetterSetter(b),c},a.prototype.scanNumber=function(a){Y(U(this.peek));var b=this.index===a;for(this.advance();;){if(!U(this.peek))if(this.peek===dc)b=!1;else{if(!V(this.peek))break;this.advance(),W(this.peek)&&this.advance(),U(this.peek)||this.error("Invalid exponent",-1),b=!1}this.advance()}var c=this.input.substring(a,this.index),d=b?parseInt(c,10):parseFloat(c);return new Ib(a,c).withValue(d)},a.prototype.scanString=function(){Y(this.peek===Yb||this.peek===Ub);var a=this.index,b=this.peek;this.advance();for(var c=void 0,d=this.index;this.peek!==b;)if(this.peek===rc){c||(c=[]),c.push(this.input.substring(d,this.index)),this.advance();var e=void 0;if(this.peek===Bc){var f=this.input.substring(this.index+1,this.index+5);/[A-Z0-9]{4}/.test(f)||this.error("Invalid unicode escape [\\u"+f+"]"),e=parseInt(f,16);for(var g=0;g<5;++g)this.advance()}else e=X(this.peek),this.advance();c.push(String.fromCharCode(e)),d=this.index}else this.peek===Mb?this.error("Unterminated quote"):this.advance();var h=this.input.substring(d,this.index);this.advance();var i=this.input.substring(a,this.index),j=h;return null!==c&&void 0!==c&&(c.push(h),j=c.join("")),new Ib(a,i).withValue(j)},a.prototype.advance=function(){++this.index>=this.length?this.peek=Mb:this.peek=this.input.charCodeAt(this.index)},a.prototype.error=function(a){var b=arguments.length<=1||void 0===arguments[1]?0:arguments[1],c=this.index+b;throw new Error("Lexer Error: "+a+" at column "+c+" in expression ["+this.input+"]")},a}(),Lb=["undefined","null","true","false","+","-","*","/","%","^","=","==","===","!=","!==","<",">","<=",">=","&&","||","&","|","!","?"],Mb=0,Nb=9,Ob=10,Pb=11,Qb=12,Rb=13,Sb=32,Tb=33,Ub=34,Vb=36,Wb=37,Xb=38,Yb=39,Zb=40,$b=41,_b=42,ac=43,bc=44,cc=45,dc=46,ec=47,fc=58,gc=59,hc=60,ic=61,jc=62,kc=63,lc=48,mc=57,nc=65,oc=69,pc=90,qc=91,rc=92,sc=93,tc=94,uc=95,vc=97,wc=101,xc=102,yc=110,zc=114,Ac=116,Bc=117,Cc=118,Dc=122,Ec=123,Fc=124,Gc=125,Hc=160,Ic=new Ib((-1),null),Jc=a.Parser=function(){function a(){this.cache={},this.lexer=new Jb}return a.prototype.parse=function(a){return a=a||"",this.cache[a]||(this.cache[a]=new Kc(this.lexer,a).parseChain())},a}(),Kc=a.ParserImplementation=function(){function a(a,b){this.index=0,this.input=b,this.tokens=a.lex(b)}return a.prototype.parseChain=function(){for(var a=!1,b=[];this.optional(";");)a=!0;for(;this.index<this.tokens.length;){")"!==this.peek.text&&"}"!==this.peek.text&&"]"!==this.peek.text||this.error("Unconsumed token "+this.peek.text);var c=this.parseBindingBehavior();for(b.push(c);this.optional(";");)a=!0;a&&this.error("Multiple expressions are not allowed.")}return 1===b.length?b[0]:new nb(b)},a.prototype.parseBindingBehavior=function(){for(var a=this.parseValueConverter();this.optional("&");){var b=this.peek.text,c=[];for(this.advance();this.optional(":");)c.push(this.parseExpression());a=new ob(a,b,c)}return a},a.prototype.parseValueConverter=function(){for(var a=this.parseExpression();this.optional("|");){var b=this.peek.text,c=[];for(this.advance();this.optional(":");)c.push(this.parseExpression());a=new pb(a,b,c,[a].concat(c))}return a},a.prototype.parseExpression=function(){for(var a=this.peek.index,b=this.parseConditional();"="===this.peek.text;){if(!b.isAssignable){var c=this.index<this.tokens.length?this.peek.index:this.input.length,d=this.input.substring(a,c);this.error("Expression "+d+" is not assignable")}this.expect("="),b=new qb(b,this.parseConditional())}return b},a.prototype.parseConditional=function(){var a=this.peek.index,b=this.parseLogicalOr();if(this.optional("?")){var c=this.parseExpression();if(!this.optional(":")){var d=this.index<this.tokens.length?this.peek.index:this.input.length,e=this.input.substring(a,d);this.error("Conditional expression "+e+" requires all 3 expressions")}var f=this.parseExpression();b=new rb(b,c,f)}return b},a.prototype.parseLogicalOr=function(){for(var a=this.parseLogicalAnd();this.optional("||");)a=new zb("||",a,this.parseLogicalAnd());return a},a.prototype.parseLogicalAnd=function(){for(var a=this.parseEquality();this.optional("&&");)a=new zb("&&",a,this.parseEquality());return a},a.prototype.parseEquality=function(){for(var a=this.parseRelational();;)if(this.optional("=="))a=new zb("==",a,this.parseRelational());else if(this.optional("!="))a=new zb("!=",a,this.parseRelational());else if(this.optional("==="))a=new zb("===",a,this.parseRelational());else{if(!this.optional("!=="))return a;a=new zb("!==",a,this.parseRelational())}},a.prototype.parseRelational=function(){for(var a=this.parseAdditive();;)if(this.optional("<"))a=new zb("<",a,this.parseAdditive());else if(this.optional(">"))a=new zb(">",a,this.parseAdditive());else if(this.optional("<="))a=new zb("<=",a,this.parseAdditive());else{if(!this.optional(">="))return a;a=new zb(">=",a,this.parseAdditive())}},a.prototype.parseAdditive=function(){for(var a=this.parseMultiplicative();;)if(this.optional("+"))a=new zb("+",a,this.parseMultiplicative());else{if(!this.optional("-"))return a;a=new zb("-",a,this.parseMultiplicative())}},a.prototype.parseMultiplicative=function(){for(var a=this.parsePrefix();;)if(this.optional("*"))a=new zb("*",a,this.parsePrefix());else if(this.optional("%"))a=new zb("%",a,this.parsePrefix());else{if(!this.optional("/"))return a;a=new zb("/",a,this.parsePrefix())}},a.prototype.parsePrefix=function(){return this.optional("+")?this.parsePrefix():this.optional("-")?new zb("-",new Bb(0),this.parsePrefix()):this.optional("!")?new Ab("!",this.parsePrefix()):this.parseAccessOrCallMember()},a.prototype.parseAccessOrCallMember=function(){for(var a=this.parsePrimary();;)if(this.optional(".")){var b=this.peek.text;if(this.advance(),this.optional("(")){var c=this.parseExpressionList(")");this.expect(")"),a=a instanceof sb?new wb(b,c,a.ancestor):new xb(a,b,c)}else a=a instanceof sb?new tb(b,a.ancestor):new ub(a,b)}else if(this.optional("[")){var d=this.parseExpression();this.expect("]"),a=new vb(a,d)}else{if(!this.optional("("))return a;var e=this.parseExpressionList(")");this.expect(")"),a=new yb(a,e)}},a.prototype.parsePrimary=function(){if(this.optional("(")){var a=this.parseExpression();return this.expect(")"),a}if(this.optional("null"))return new Bb(null);if(this.optional("undefined"))return new Bb((void 0));if(this.optional("true"))return new Bb((!0));if(this.optional("false"))return new Bb((!1));if(this.optional("[")){var b=this.parseExpressionList("]");return this.expect("]"),new Db(b)}if("{"===this.peek.text)return this.parseObject();if(null!==this.peek.key&&void 0!==this.peek.key)return this.parseAccessOrCallScope();if(null!==this.peek.value&&void 0!==this.peek.value){var c=this.peek.value;return this.advance(),c instanceof String||"string"==typeof c?new Cb(c):new Bb(c)}if(this.index>=this.tokens.length)throw new Error("Unexpected end of expression: "+this.input);this.error("Unexpected token "+this.peek.text)},a.prototype.parseAccessOrCallScope=function(){var a=this.peek.key;if(this.advance(),"$this"===a)return new sb(0);for(var b=0;"$parent"===a;)if(b++,this.optional("."))a=this.peek.key,this.advance();else{if(this.peek===Ic||"("===this.peek.text||"["===this.peek.text||"}"===this.peek.text||","===this.peek.text)return new sb(b);
this.error("Unexpected token "+this.peek.text)}if(this.optional("(")){var c=this.parseExpressionList(")");return this.expect(")"),new wb(a,c,b)}return new tb(a,b)},a.prototype.parseObject=function(){var a=[],b=[];if(this.expect("{"),"}"!==this.peek.text)do{var c=this.peek,d=c.value;a.push("string"==typeof d?d:c.text),this.advance(),!c.key||","!==this.peek.text&&"}"!==this.peek.text?(this.expect(":"),b.push(this.parseExpression())):(--this.index,b.push(this.parseAccessOrCallScope()))}while(this.optional(","));return this.expect("}"),new Eb(a,b)},a.prototype.parseExpressionList=function(a){var b=[];if(this.peek.text!==a)do b.push(this.parseExpression());while(this.optional(","));return b},a.prototype.optional=function(a){return this.peek.text===a&&(this.advance(),!0)},a.prototype.expect=function(a){this.peek.text===a?this.advance():this.error("Missing expected "+a)},a.prototype.advance=function(){this.index++},a.prototype.error=function(a){var b=this.index<this.tokens.length?"at column "+(this.tokens[this.index].index+1)+" in":"at the end of the expression";throw new Error("Parser Error: "+a+" "+b+" ["+this.input+"]")},Ka(a,[{key:"peek",get:function(){return this.index<this.tokens.length?this.tokens[this.index]:Ic}}]),a}(),Lc=Map.prototype;a.getMapObserver=Z;var Mc=function(a){function b(b,c){return g(this,a.call(this,b,c))}return h(b,a),b["for"]=function(a,c){return"__map_observer__"in c||Reflect.defineProperty(c,"__map_observer__",{value:b.create(a,c),enumerable:!1,configurable:!1}),c.__map_observer__},b.create=function(a,c){var d=new b(a,c),e=Lc;return e.add===c.add&&e["delete"]===c["delete"]&&e.clear===c.clear||(e={add:c.add,"delete":c["delete"],clear:c.clear}),c.set=function(){var a=c.has(arguments[0]),b=a?"update":"add",f=c.get(arguments[0]),g=e.set.apply(c,arguments);return a&&f===c.get(arguments[0])||d.addChangeRecord({type:b,object:c,key:arguments[0],oldValue:f}),g},c["delete"]=function(){var a=c.has(arguments[0]),b=c.get(arguments[0]),f=e["delete"].apply(c,arguments);return a&&d.addChangeRecord({type:"delete",object:c,key:arguments[0],oldValue:b}),f},c.clear=function(){var a=e.clear.apply(c,arguments);return d.addChangeRecord({type:"clear",object:c}),a},d},b}(cb),Nc=function(){function a(a){this.eventName=a,this.count=0}return a.prototype.increment=function(){this.count++,1===this.count&&c.DOM.addEventListener(this.eventName,aa,!1)},a.prototype.decrement=function(){this.count--,0===this.count&&c.DOM.removeEventListener(this.eventName,aa)},a}(),Oc=function(){function a(){this.delegatedHandlers={}}return a.prototype.subscribe=function(a,b,c,d){var e=this;if(d){var f=function(){var d=e.delegatedHandlers,f=d[b]||(d[b]=new Nc(b)),g=a.delegatedCallbacks||(a.delegatedCallbacks={});return f.increment(),g[b]=c,{v:function(){f.decrement(),g[b]=null}}}();if("object"===("undefined"==typeof f?"undefined":Ja(f)))return f.v}return a.addEventListener(b,c,!1),function(){a.removeEventListener(b,c)}},a}(),Pc=a.EventManager=function(){function a(){this.elementHandlerLookup={},this.eventStrategyLookup={},this.registerElementConfig({tagName:"input",properties:{value:["change","input"],checked:["change","input"],files:["change","input"]}}),this.registerElementConfig({tagName:"textarea",properties:{value:["change","input"]}}),this.registerElementConfig({tagName:"select",properties:{value:["change"]}}),this.registerElementConfig({tagName:"content editable",properties:{value:["change","input","blur","keyup","paste"]}}),this.registerElementConfig({tagName:"scrollable element",properties:{scrollTop:["scroll"],scrollLeft:["scroll"]}}),this.defaultEventStrategy=new Oc}return a.prototype.registerElementConfig=function(a){var b=a.tagName.toLowerCase(),c=a.properties,d=void 0;this.elementHandlerLookup[b]={};for(d in c)c.hasOwnProperty(d)&&this.registerElementPropertyConfig(b,d,c[d])},a.prototype.registerElementPropertyConfig=function(a,b,c){this.elementHandlerLookup[a][b]=this.createElementHandler(c)},a.prototype.createElementHandler=function(a){return{subscribe:function(b,c){return a.forEach(function(a){b.addEventListener(a,c,!1)}),function(){a.forEach(function(a){b.removeEventListener(a,c)})}}}},a.prototype.registerElementHandler=function(a,b){this.elementHandlerLookup[a.toLowerCase()]=b},a.prototype.registerEventStrategy=function(a,b){this.eventStrategyLookup[a]=b},a.prototype.getElementHandler=function(a,b){var c=void 0,d=this.elementHandlerLookup;if(a.tagName){if(c=a.tagName.toLowerCase(),d[c]&&d[c][b])return d[c][b];if("textContent"===b||"innerHTML"===b)return d["content editable"].value;if("scrollTop"===b||"scrollLeft"===b)return d["scrollable element"][b]}return null},a.prototype.addEventListener=function(a,b,c,d){return(this.eventStrategyLookup[b]||this.defaultEventStrategy).subscribe(a,b,c,d)},a}(),Qc=a.DirtyChecker=function(){function a(){this.tracked=[],this.checkDelay=120}return a.prototype.addProperty=function(a){var b=this.tracked;b.push(a),1===b.length&&this.scheduleDirtyCheck()},a.prototype.removeProperty=function(a){var b=this.tracked;b.splice(b.indexOf(a),1)},a.prototype.scheduleDirtyCheck=function(){var a=this;setTimeout(function(){return a.check()},this.checkDelay)},a.prototype.check=function(){for(var a=this.tracked,b=a.length;b--;){var c=a[b];c.isDirty()&&c.call()}a.length&&this.scheduleDirtyCheck()},a}(),Rc=a.DirtyCheckProperty=(sa=y(),sa(ta=function(){function a(a,b,c){this.dirtyChecker=a,this.obj=b,this.propertyName=c}return a.prototype.getValue=function(){return this.obj[this.propertyName]},a.prototype.setValue=function(a){this.obj[this.propertyName]=a},a.prototype.call=function(){var a=this.oldValue,b=this.getValue();this.callSubscribers(b,a),this.oldValue=b},a.prototype.isDirty=function(){return this.oldValue!==this.obj[this.propertyName]},a.prototype.subscribe=function(a,b){this.hasSubscribers()||(this.oldValue=this.getValue(),this.dirtyChecker.addProperty(this)),this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)&&!this.hasSubscribers()&&this.dirtyChecker.removeProperty(this)},a}())||ta),Sc=Ia.getLogger("property-observation"),Tc=a.propertyAccessor={getValue:function(a,b){return a[b]},setValue:function(a,b,c){b[c]=a}},Uc=a.PrimitiveObserver=function(){function a(a,b){this.doNotCache=!0,this.primitive=a,this.propertyName=b}return a.prototype.getValue=function(){return this.primitive[this.propertyName]},a.prototype.setValue=function(){var a=Ja(this.primitive);throw new Error("The "+this.propertyName+" property of a "+a+" ("+this.primitive+") cannot be assigned.")},a.prototype.subscribe=function(){},a.prototype.unsubscribe=function(){},a}(),Vc=a.SetterObserver=(ua=y(),ua(va=function(){function a(a,b,c){this.taskQueue=a,this.obj=b,this.propertyName=c,this.queued=!1,this.observing=!1}return a.prototype.getValue=function(){return this.obj[this.propertyName]},a.prototype.setValue=function(a){this.obj[this.propertyName]=a},a.prototype.getterValue=function(){return this.currentValue},a.prototype.setterValue=function(a){var b=this.currentValue;b!==a&&(this.queued||(this.oldValue=b,this.queued=!0,this.taskQueue.queueMicroTask(this)),this.currentValue=a)},a.prototype.call=function(){var a=this.oldValue,b=this.currentValue;this.queued=!1,this.callSubscribers(b,a)},a.prototype.subscribe=function(a,b){this.observing||this.convertProperty(),this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)},a.prototype.convertProperty=function(){this.observing=!0,this.currentValue=this.obj[this.propertyName],this.setValue=this.setterValue,this.getValue=this.getterValue,Reflect.defineProperty(this.obj,this.propertyName,{configurable:!0,enumerable:!(this.propertyName in this.obj)||this.obj.propertyIsEnumerable(this.propertyName),get:this.getValue.bind(this),set:this.setValue.bind(this)})||Sc.warn("Cannot observe property '"+this.propertyName+"' of object",this.obj)},a}())||va),Wc=a.XLinkAttributeObserver=function(){function a(a,b,c){this.element=a,this.propertyName=b,this.attributeName=c}return a.prototype.getValue=function(){return this.element.getAttributeNS("http://www.w3.org/1999/xlink",this.attributeName)},a.prototype.setValue=function(a){return this.element.setAttributeNS("http://www.w3.org/1999/xlink",this.attributeName,a)},a.prototype.subscribe=function(){throw new Error('Observation of a "'+this.element.nodeName+'" element\'s "'+this.propertyName+'" property is not supported.')},a}(),Xc=a.dataAttributeAccessor={getValue:function(a,b){return a.getAttribute(b)},setValue:function(a,b,c){return b.setAttribute(c,a)}},Yc=a.DataAttributeObserver=function(){function a(a,b){this.element=a,this.propertyName=b}return a.prototype.getValue=function(){return this.element.getAttribute(this.propertyName)},a.prototype.setValue=function(a){return this.element.setAttribute(this.propertyName,a)},a.prototype.subscribe=function(){throw new Error('Observation of a "'+this.element.nodeName+'" element\'s "'+this.propertyName+'" property is not supported.')},a}(),Zc=a.StyleObserver=function(){function a(a,b){this.element=a,this.propertyName=b,this.styles=null,this.version=0}return a.prototype.getValue=function(){return this.element.style.cssText},a.prototype._setProperty=function(a,b){var c="";null!==b&&void 0!==b&&"function"==typeof b.indexOf&&b.indexOf("!important")!==-1&&(c="important",b=b.replace("!important","")),this.element.style.setProperty(a,b,c)},a.prototype.setValue=function(a){var b=this.styles||{},c=void 0,d=this.version;if(null!==a&&void 0!==a)if(a instanceof Object)for(c in a)a.hasOwnProperty(c)&&(b[c]=d,this._setProperty(c,a[c]));else if(a.length)for(var e=/\s*([\w\-]+)\s*:\s*((?:(?:[\w\-]+\(\s*(?:"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[\w\-]+\(\s*(?:^"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[^\)]*)\),?|[^\)]*)\),?|"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[^;]*),?\s*)+);?/g,f=void 0;null!==(f=e.exec(a));)c=f[1],c&&(b[c]=d,this._setProperty(c,f[2]));if(this.styles=b,this.version+=1,0!==d){d-=1;for(c in b)b.hasOwnProperty(c)&&b[c]===d&&this.element.style.removeProperty(c)}},a.prototype.subscribe=function(){throw new Error('Observation of a "'+this.element.nodeName+'" element\'s "'+this.propertyName+'" property is not supported.')},a}(),$c=a.ValueAttributeObserver=(wa=y(),wa(xa=function(){function a(a,b,c){this.element=a,this.propertyName=b,this.handler=c,"files"===b&&(this.setValue=function(){})}return a.prototype.getValue=function(){return this.element[this.propertyName]},a.prototype.setValue=function(a){a=void 0===a||null===a?"":a,this.element[this.propertyName]!==a&&(this.element[this.propertyName]=a,this.notify())},a.prototype.notify=function(){var a=this.oldValue,b=this.getValue();this.callSubscribers(b,a),this.oldValue=b},a.prototype.subscribe=function(a,b){this.hasSubscribers()||(this.oldValue=this.getValue(),this.disposeHandler=this.handler.subscribe(this.element,this.notify.bind(this))),this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)&&!this.hasSubscribers()&&(this.disposeHandler(),this.disposeHandler=null)},a}())||xa),_c="CheckedObserver:array",ad="CheckedObserver:value",bd=a.CheckedObserver=(ya=y(),ya(za=function(){function a(a,b,c){this.element=a,this.handler=b,this.observerLocator=c}return a.prototype.getValue=function(){return this.value},a.prototype.setValue=function(a){this.value!==a&&(this.arrayObserver&&(this.arrayObserver.unsubscribe(_c,this),this.arrayObserver=null),"checkbox"===this.element.type&&Array.isArray(a)&&(this.arrayObserver=this.observerLocator.getArrayObserver(a),this.arrayObserver.subscribe(_c,this)),this.oldValue=this.value,this.value=a,this.synchronizeElement(),this.notify(),this.initialSync||(this.initialSync=!0,this.observerLocator.taskQueue.queueMicroTask(this)))},a.prototype.call=function(a,b){this.synchronizeElement(),this.valueObserver||(this.valueObserver=this.element.__observers__.model||this.element.__observers__.value,this.valueObserver&&this.valueObserver.subscribe(ad,this))},a.prototype.synchronizeElement=function(){var a=this.value,b=this.element,c=b.hasOwnProperty("model")?b.model:b.value,d="radio"===b.type,e=b.matcher||function(a,b){return a===b};b.checked=d&&!!e(a,c)||!d&&a===!0||!d&&Array.isArray(a)&&a.findIndex(function(a){return!!e(a,c)})!==-1},a.prototype.synchronizeValue=function(){var a=this.value,b=this.element,c=b.hasOwnProperty("model")?b.model:b.value,d=void 0,e=b.matcher||function(a,b){return a===b};if("checkbox"===b.type){if(Array.isArray(a))return d=a.findIndex(function(a){return!!e(a,c)}),void(b.checked&&d===-1?a.push(c):b.checked||d===-1||a.splice(d,1));a=b.checked}else{if(!b.checked)return;a=c}this.oldValue=this.value,this.value=a,this.notify()},a.prototype.notify=function(){var a=this.oldValue,b=this.value;this.callSubscribers(b,a)},a.prototype.subscribe=function(a,b){this.hasSubscribers()||(this.disposeHandler=this.handler.subscribe(this.element,this.synchronizeValue.bind(this,!1))),this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)&&!this.hasSubscribers()&&(this.disposeHandler(),this.disposeHandler=null)},a.prototype.unbind=function(){this.arrayObserver&&(this.arrayObserver.unsubscribe(_c,this),this.arrayObserver=null),this.valueObserver&&this.valueObserver.unsubscribe(ad,this)},a}())||za),cd="SelectValueObserver:array",dd=a.SelectValueObserver=(Aa=y(),Aa(Ba=function(){function a(a,b,c){this.element=a,this.handler=b,this.observerLocator=c}return a.prototype.getValue=function(){return this.value},a.prototype.setValue=function(a){if(null!==a&&void 0!==a&&this.element.multiple&&!Array.isArray(a))throw new Error("Only null or Array instances can be bound to a multi-select.");this.value!==a&&(this.arrayObserver&&(this.arrayObserver.unsubscribe(cd,this),this.arrayObserver=null),Array.isArray(a)&&(this.arrayObserver=this.observerLocator.getArrayObserver(a),this.arrayObserver.subscribe(cd,this)),this.oldValue=this.value,this.value=a,this.synchronizeOptions(),this.notify(),this.initialSync||(this.initialSync=!0,this.observerLocator.taskQueue.queueMicroTask(this)))},a.prototype.call=function(a,b){this.synchronizeOptions()},a.prototype.synchronizeOptions=function(){var a=this.value,b=void 0,c=void 0;null===a||void 0===a?b=!0:Array.isArray(a)&&(c=!0);for(var d=this.element.options,e=d.length,f=this.element.matcher||function(a,b){return a===b},g=function(){var g=d.item(e);if(b)return g.selected=!1,"continue";var h=g.hasOwnProperty("model")?g.model:g.value;return c?(g.selected=a.findIndex(function(a){return!!f(h,a)})!==-1,"continue"):void(g.selected=!!f(h,a))};e--;){g()}},a.prototype.synchronizeValue=function(){for(var a=this,b=this.element.options,c=0,d=[],e=0,f=b.length;e<f;e++){var g=b.item(e);g.selected&&(d.push(g.hasOwnProperty("model")?g.model:g.value),c++)}if(this.element.multiple){if(Array.isArray(this.value)){var h=function(){for(var b=a.element.matcher||function(a,b){return a===b},c=0,e=function(){var e=a.value[c];d.findIndex(function(a){return b(e,a)})===-1?a.value.splice(c,1):c++};c<a.value.length;)e();c=0;for(var f=function(){var e=d[c];a.value.findIndex(function(a){return b(e,a)})===-1&&a.value.push(e),c++};c<d.length;)f();return{v:void 0}}();if("object"===("undefined"==typeof h?"undefined":Ja(h)))return h.v}}else d=0===c?null:d[0];d!==this.value&&(this.oldValue=this.value,this.value=d,this.notify())},a.prototype.notify=function(){var a=this.oldValue,b=this.value;this.callSubscribers(b,a)},a.prototype.subscribe=function(a,b){this.hasSubscribers()||(this.disposeHandler=this.handler.subscribe(this.element,this.synchronizeValue.bind(this,!1))),this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)&&!this.hasSubscribers()&&(this.disposeHandler(),this.disposeHandler=null)},a.prototype.bind=function(){var a=this;this.domObserver=c.DOM.createMutationObserver(function(){a.synchronizeOptions(),a.synchronizeValue()}),this.domObserver.observe(this.element,{childList:!0,subtree:!0})},a.prototype.unbind=function(){this.domObserver.disconnect(),this.domObserver=null,this.arrayObserver&&(this.arrayObserver.unsubscribe(cd,this),this.arrayObserver=null)},a}())||Ba),ed=a.ClassObserver=function(){function a(a){this.element=a,this.doNotCache=!0,this.value="",this.version=0}return a.prototype.getValue=function(){return this.value},a.prototype.setValue=function(a){var b=this.nameIndex||{},c=this.version,d=void 0,e=void 0;if(null!==a&&void 0!==a&&a.length){d=a.split(/\s+/);for(var f=0,g=d.length;f<g;f++)e=d[f],""!==e&&(b[e]=c,this.element.classList.add(e))}if(this.value=a,this.nameIndex=b,this.version+=1,0!==c){c-=1;for(e in b)b.hasOwnProperty(e)&&b[e]===c&&this.element.classList.remove(e)}},a.prototype.subscribe=function(){throw new Error('Observation of a "'+this.element.nodeName+'" element\'s "class" property is not supported.')},a}(),fd=a.ComputedExpression=function(a){function b(b,c){var d=g(this,a.call(this));return d.name=b,d.dependencies=c,d.isAssignable=!0,d}return h(b,a),b.prototype.evaluate=function(a,b){return a.bindingContext[this.name]},b.prototype.assign=function(a,b){a.bindingContext[this.name]=b},b.prototype.accept=function(a){throw new Error("not implemented")},b.prototype.connect=function(a,b){for(var c=this.dependencies,d=c.length;d--;)c[d].connect(a,b)},b}(mb),gd=a.elements={a:["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","style","systemLanguage","target","transform","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],altGlyph:["class","dx","dy","externalResourcesRequired","format","glyphRef","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","rotate","style","systemLanguage","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],altGlyphDef:["id","xml:base","xml:lang","xml:space"],altGlyphItem:["id","xml:base","xml:lang","xml:space"],animate:["accumulate","additive","attributeName","attributeType","begin","by","calcMode","dur","end","externalResourcesRequired","fill","from","id","keySplines","keyTimes","max","min","onbegin","onend","onload","onrepeat","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","systemLanguage","to","values","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],animateColor:["accumulate","additive","attributeName","attributeType","begin","by","calcMode","dur","end","externalResourcesRequired","fill","from","id","keySplines","keyTimes","max","min","onbegin","onend","onload","onrepeat","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","systemLanguage","to","values","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],animateMotion:["accumulate","additive","begin","by","calcMode","dur","end","externalResourcesRequired","fill","from","id","keyPoints","keySplines","keyTimes","max","min","onbegin","onend","onload","onrepeat","origin","path","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","rotate","systemLanguage","to","values","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],animateTransform:["accumulate","additive","attributeName","attributeType","begin","by","calcMode","dur","end","externalResourcesRequired","fill","from","id","keySplines","keyTimes","max","min","onbegin","onend","onload","onrepeat","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","systemLanguage","to","type","values","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],circle:["class","cx","cy","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","r","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],clipPath:["class","clipPathUnits","externalResourcesRequired","id","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],"color-profile":["id","local","name","rendering-intent","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],cursor:["externalResourcesRequired","id","requiredExtensions","requiredFeatures","systemLanguage","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],defs:["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],desc:["class","id","style","xml:base","xml:lang","xml:space"],ellipse:["class","cx","cy","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","rx","ry","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],feBlend:["class","height","id","in","in2","mode","result","style","width","x","xml:base","xml:lang","xml:space","y"],feColorMatrix:["class","height","id","in","result","style","type","values","width","x","xml:base","xml:lang","xml:space","y"],feComponentTransfer:["class","height","id","in","result","style","width","x","xml:base","xml:lang","xml:space","y"],feComposite:["class","height","id","in","in2","k1","k2","k3","k4","operator","result","style","width","x","xml:base","xml:lang","xml:space","y"],feConvolveMatrix:["bias","class","divisor","edgeMode","height","id","in","kernelMatrix","kernelUnitLength","order","preserveAlpha","result","style","targetX","targetY","width","x","xml:base","xml:lang","xml:space","y"],feDiffuseLighting:["class","diffuseConstant","height","id","in","kernelUnitLength","result","style","surfaceScale","width","x","xml:base","xml:lang","xml:space","y"],feDisplacementMap:["class","height","id","in","in2","result","scale","style","width","x","xChannelSelector","xml:base","xml:lang","xml:space","y","yChannelSelector"],feDistantLight:["azimuth","elevation","id","xml:base","xml:lang","xml:space"],feFlood:["class","height","id","result","style","width","x","xml:base","xml:lang","xml:space","y"],feFuncA:["amplitude","exponent","id","intercept","offset","slope","tableValues","type","xml:base","xml:lang","xml:space"],feFuncB:["amplitude","exponent","id","intercept","offset","slope","tableValues","type","xml:base","xml:lang","xml:space"],feFuncG:["amplitude","exponent","id","intercept","offset","slope","tableValues","type","xml:base","xml:lang","xml:space"],feFuncR:["amplitude","exponent","id","intercept","offset","slope","tableValues","type","xml:base","xml:lang","xml:space"],feGaussianBlur:["class","height","id","in","result","stdDeviation","style","width","x","xml:base","xml:lang","xml:space","y"],feImage:["class","externalResourcesRequired","height","id","preserveAspectRatio","result","style","width","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],feMerge:["class","height","id","result","style","width","x","xml:base","xml:lang","xml:space","y"],feMergeNode:["id","xml:base","xml:lang","xml:space"],feMorphology:["class","height","id","in","operator","radius","result","style","width","x","xml:base","xml:lang","xml:space","y"],feOffset:["class","dx","dy","height","id","in","result","style","width","x","xml:base","xml:lang","xml:space","y"],fePointLight:["id","x","xml:base","xml:lang","xml:space","y","z"],feSpecularLighting:["class","height","id","in","kernelUnitLength","result","specularConstant","specularExponent","style","surfaceScale","width","x","xml:base","xml:lang","xml:space","y"],feSpotLight:["id","limitingConeAngle","pointsAtX","pointsAtY","pointsAtZ","specularExponent","x","xml:base","xml:lang","xml:space","y","z"],feTile:["class","height","id","in","result","style","width","x","xml:base","xml:lang","xml:space","y"],feTurbulence:["baseFrequency","class","height","id","numOctaves","result","seed","stitchTiles","style","type","width","x","xml:base","xml:lang","xml:space","y"],filter:["class","externalResourcesRequired","filterRes","filterUnits","height","id","primitiveUnits","style","width","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],font:["class","externalResourcesRequired","horiz-adv-x","horiz-origin-x","horiz-origin-y","id","style","vert-adv-y","vert-origin-x","vert-origin-y","xml:base","xml:lang","xml:space"],"font-face":["accent-height","alphabetic","ascent","bbox","cap-height","descent","font-family","font-size","font-stretch","font-style","font-variant","font-weight","hanging","id","ideographic","mathematical","overline-position","overline-thickness","panose-1","slope","stemh","stemv","strikethrough-position","strikethrough-thickness","underline-position","underline-thickness","unicode-range","units-per-em","v-alphabetic","v-hanging","v-ideographic","v-mathematical","widths","x-height","xml:base","xml:lang","xml:space"],"font-face-format":["id","string","xml:base","xml:lang","xml:space"],"font-face-name":["id","name","xml:base","xml:lang","xml:space"],"font-face-src":["id","xml:base","xml:lang","xml:space"],"font-face-uri":["id","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],foreignObject:["class","externalResourcesRequired","height","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","style","systemLanguage","transform","width","x","xml:base","xml:lang","xml:space","y"],g:["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],glyph:["arabic-form","class","d","glyph-name","horiz-adv-x","id","lang","orientation","style","unicode","vert-adv-y","vert-origin-x","vert-origin-y","xml:base","xml:lang","xml:space"],glyphRef:["class","dx","dy","format","glyphRef","id","style","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],hkern:["g1","g2","id","k","u1","u2","xml:base","xml:lang","xml:space"],image:["class","externalResourcesRequired","height","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","preserveAspectRatio","requiredExtensions","requiredFeatures","style","systemLanguage","transform","width","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],line:["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","style","systemLanguage","transform","x1","x2","xml:base","xml:lang","xml:space","y1","y2"],linearGradient:["class","externalResourcesRequired","gradientTransform","gradientUnits","id","spreadMethod","style","x1","x2","xlink:arcrole","xlink:href","xlink:role","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y1","y2"],marker:["class","externalResourcesRequired","id","markerHeight","markerUnits","markerWidth","orient","preserveAspectRatio","refX","refY","style","viewBox","xml:base","xml:lang","xml:space"],mask:["class","externalResourcesRequired","height","id","maskContentUnits","maskUnits","requiredExtensions","requiredFeatures","style","systemLanguage","width","x","xml:base","xml:lang","xml:space","y"],metadata:["id","xml:base","xml:lang","xml:space"],"missing-glyph":["class","d","horiz-adv-x","id","style","vert-adv-y","vert-origin-x","vert-origin-y","xml:base","xml:lang","xml:space"],mpath:["externalResourcesRequired","id","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],path:["class","d","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","pathLength","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],pattern:["class","externalResourcesRequired","height","id","patternContentUnits","patternTransform","patternUnits","preserveAspectRatio","requiredExtensions","requiredFeatures","style","systemLanguage","viewBox","width","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],polygon:["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","points","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],polyline:["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","points","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],radialGradient:["class","cx","cy","externalResourcesRequired","fx","fy","gradientTransform","gradientUnits","id","r","spreadMethod","style","xlink:arcrole","xlink:href","xlink:role","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],rect:["class","externalResourcesRequired","height","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","rx","ry","style","systemLanguage","transform","width","x","xml:base","xml:lang","xml:space","y"],script:["externalResourcesRequired","id","type","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],set:["attributeName","attributeType","begin","dur","end","externalResourcesRequired","fill","id","max","min","onbegin","onend","onload","onrepeat","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","systemLanguage","to","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],stop:["class","id","offset","style","xml:base","xml:lang","xml:space"],style:["id","media","title","type","xml:base","xml:lang","xml:space"],svg:["baseProfile","class","contentScriptType","contentStyleType","externalResourcesRequired","height","id","onabort","onactivate","onclick","onerror","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onresize","onscroll","onunload","onzoom","preserveAspectRatio","requiredExtensions","requiredFeatures","style","systemLanguage","version","viewBox","width","x","xml:base","xml:lang","xml:space","y","zoomAndPan"],"switch":["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","style","systemLanguage","transform","xml:base","xml:lang","xml:space"],
symbol:["class","externalResourcesRequired","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","preserveAspectRatio","style","viewBox","xml:base","xml:lang","xml:space"],text:["class","dx","dy","externalResourcesRequired","id","lengthAdjust","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","rotate","style","systemLanguage","textLength","transform","x","xml:base","xml:lang","xml:space","y"],textPath:["class","externalResourcesRequired","id","lengthAdjust","method","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","spacing","startOffset","style","systemLanguage","textLength","xlink:arcrole","xlink:href","xlink:role","xlink:title","xlink:type","xml:base","xml:lang","xml:space"],title:["class","id","style","xml:base","xml:lang","xml:space"],tref:["class","dx","dy","externalResourcesRequired","id","lengthAdjust","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","rotate","style","systemLanguage","textLength","x","xlink:arcrole","xlink:href","xlink:role","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],tspan:["class","dx","dy","externalResourcesRequired","id","lengthAdjust","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","rotate","style","systemLanguage","textLength","x","xml:base","xml:lang","xml:space","y"],use:["class","externalResourcesRequired","height","id","onactivate","onclick","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","requiredExtensions","requiredFeatures","style","systemLanguage","transform","width","x","xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space","y"],view:["externalResourcesRequired","id","preserveAspectRatio","viewBox","viewTarget","xml:base","xml:lang","xml:space","zoomAndPan"],vkern:["g1","g2","id","k","u1","u2","xml:base","xml:lang","xml:space"]},hd=a.presentationElements={a:!0,altGlyph:!0,animate:!0,animateColor:!0,circle:!0,clipPath:!0,defs:!0,ellipse:!0,feBlend:!0,feColorMatrix:!0,feComponentTransfer:!0,feComposite:!0,feConvolveMatrix:!0,feDiffuseLighting:!0,feDisplacementMap:!0,feFlood:!0,feGaussianBlur:!0,feImage:!0,feMerge:!0,feMorphology:!0,feOffset:!0,feSpecularLighting:!0,feTile:!0,feTurbulence:!0,filter:!0,font:!0,foreignObject:!0,g:!0,glyph:!0,glyphRef:!0,image:!0,line:!0,linearGradient:!0,marker:!0,mask:!0,"missing-glyph":!0,path:!0,pattern:!0,polygon:!0,polyline:!0,radialGradient:!0,rect:!0,stop:!0,svg:!0,"switch":!0,symbol:!0,text:!0,textPath:!0,tref:!0,tspan:!0,use:!0},id=a.presentationAttributes={"alignment-baseline":!0,"baseline-shift":!0,"clip-path":!0,"clip-rule":!0,clip:!0,"color-interpolation-filters":!0,"color-interpolation":!0,"color-profile":!0,"color-rendering":!0,color:!0,cursor:!0,direction:!0,display:!0,"dominant-baseline":!0,"enable-background":!0,"fill-opacity":!0,"fill-rule":!0,fill:!0,filter:!0,"flood-color":!0,"flood-opacity":!0,"font-family":!0,"font-size-adjust":!0,"font-size":!0,"font-stretch":!0,"font-style":!0,"font-variant":!0,"font-weight":!0,"glyph-orientation-horizontal":!0,"glyph-orientation-vertical":!0,"image-rendering":!0,kerning:!0,"letter-spacing":!0,"lighting-color":!0,"marker-end":!0,"marker-mid":!0,"marker-start":!0,mask:!0,opacity:!0,overflow:!0,"pointer-events":!0,"shape-rendering":!0,"stop-color":!0,"stop-opacity":!0,"stroke-dasharray":!0,"stroke-dashoffset":!0,"stroke-linecap":!0,"stroke-linejoin":!0,"stroke-miterlimit":!0,"stroke-opacity":!0,"stroke-width":!0,stroke:!0,"text-anchor":!0,"text-decoration":!0,"text-rendering":!0,"unicode-bidi":!0,visibility:!0,"word-spacing":!0,"writing-mode":!0},jd=a.SVGAnalyzer=function(){function a(){"altglyph"===fa("<svg><altGlyph /></svg>").firstElementChild.nodeName&&gd.altGlyph&&(gd.altglyph=gd.altGlyph,delete gd.altGlyph,gd.altglyphdef=gd.altGlyphDef,delete gd.altGlyphDef,gd.altglyphitem=gd.altGlyphItem,delete gd.altGlyphItem,gd.glyphref=gd.glyphRef,delete gd.glyphRef)}return a.prototype.isStandardSvgAttribute=function(a,b){return hd[a]&&id[b]||gd[a]&&gd[a].indexOf(b)!==-1},a}(),kd=a.ObserverLocator=(Da=Ca=function(){function a(a,b,c,d,e){this.taskQueue=a,this.eventManager=b,this.dirtyChecker=c,this.svgAnalyzer=d,this.parser=e,this.adapters=[],this.logger=Ia.getLogger("observer-locator")}return a.prototype.getObserver=function(a,b){var c=a.__observers__,d=void 0;return c&&b in c?c[b]:(d=this.createPropertyObserver(a,b),d.doNotCache||(void 0===c&&(c=this.getOrCreateObserversLookup(a)),c[b]=d),d)},a.prototype.getOrCreateObserversLookup=function(a){return a.__observers__||this.createObserversLookup(a)},a.prototype.createObserversLookup=function(a){var b={};return Reflect.defineProperty(a,"__observers__",{enumerable:!1,configurable:!1,writable:!1,value:b})||this.logger.warn("Cannot add observers to object",a),b},a.prototype.addAdapter=function(a){this.adapters.push(a)},a.prototype.getAdapterObserver=function(a,b,c){for(var d=0,e=this.adapters.length;d<e;d++){var f=this.adapters[d],g=f.getObserver(a,b,c);if(g)return g}return null},a.prototype.createPropertyObserver=function(a,b){var d=void 0,e=void 0,f=void 0;if(!(a instanceof Object))return new Uc(a,b);if(a instanceof c.DOM.Element){if("class"===b)return new ed(a);if("style"===b||"css"===b)return new Zc(a,b);if(e=this.eventManager.getElementHandler(a,b),"value"===b&&"select"===a.tagName.toLowerCase())return new dd(a,e,this);if("checked"===b&&"input"===a.tagName.toLowerCase())return new bd(a,e,this);if(e)return new $c(a,b,e);if(f=/^xlink:(.+)$/.exec(b))return new Wc(a,b,f[1]);if("role"===b&&(a instanceof c.DOM.Element||a instanceof c.DOM.SVGElement)||/^\w+:|^data-|^aria-/.test(b)||a instanceof c.DOM.SVGElement&&this.svgAnalyzer.isStandardSvgAttribute(a.nodeName,b))return new Yc(a,b)}if(d=Object.getPropertyDescriptor(a,b),ba(d))return ea(a,b,d,this);if(d){var g=d.get||d.set;if(g){if(g.getObserver)return g.getObserver(a);var h=this.getAdapterObserver(a,b,d);return h?h:new Rc(this.dirtyChecker,a,b)}}return a instanceof Array?"length"===b?this.getArrayObserver(a).getLengthObserver():new Rc(this.dirtyChecker,a,b):a instanceof Map?"size"===b?this.getMapObserver(a).getLengthObserver():new Rc(this.dirtyChecker,a,b):a instanceof Set?"size"===b?this.getSetObserver(a).getLengthObserver():new Rc(this.dirtyChecker,a,b):new Vc(this.taskQueue,a,b)},a.prototype.getAccessor=function(a,b){if(a instanceof c.DOM.Element){if("class"===b||"style"===b||"css"===b||"value"===b&&("input"===a.tagName.toLowerCase()||"select"===a.tagName.toLowerCase())||"checked"===b&&"input"===a.tagName.toLowerCase()||"model"===b&&"input"===a.tagName.toLowerCase()||/^xlink:.+$/.exec(b))return this.getObserver(a,b);if(/^\w+:|^data-|^aria-/.test(b)||a instanceof c.DOM.SVGElement&&this.svgAnalyzer.isStandardSvgAttribute(a.nodeName,b))return Xc}return Tc},a.prototype.getArrayObserver=function(a){return K(this.taskQueue,a)},a.prototype.getMapObserver=function(a){return Z(this.taskQueue,a)},a.prototype.getSetObserver=function(a){return ja(this.taskQueue,a)},a}(),Ca.inject=[d.TaskQueue,Pc,Qc,jd,Jc],Da),ld=(a.ObjectObservationAdapter=function(){function a(){}return a.prototype.getObserver=function(a,b,c){throw new Error("BindingAdapters must implement getObserver(object, propertyName).")},a}(),a.BindingExpression=function(){function a(a,b,c,d,e,f){this.observerLocator=a,this.targetProperty=b,this.sourceExpression=c,this.mode=d,this.lookupFunctions=e,this.attribute=f,this.discrete=!1}return a.prototype.createBinding=function(a){return new nd(this.observerLocator,this.sourceExpression,a,this.targetProperty,this.mode,this.lookupFunctions)},a}()),md="Binding:target",nd=a.Binding=(Ea=q(),Ea(Fa=function(){function a(a,b,c,d,e,f){this.observerLocator=a,this.sourceExpression=b,this.target=c,this.targetProperty=d,this.mode=e,this.lookupFunctions=f}return a.prototype.updateTarget=function(a){this.targetObserver.setValue(a,this.target,this.targetProperty)},a.prototype.updateSource=function(a){this.sourceExpression.assign(this.source,a,this.lookupFunctions)},a.prototype.call=function(a,b,c){if(this.isBound){if(a===Ma)return c=this.targetObserver.getValue(this.target,this.targetProperty),b=this.sourceExpression.evaluate(this.source,this.lookupFunctions),b!==c&&this.updateTarget(b),void(this.mode!==Hb.oneTime&&(this._version++,this.sourceExpression.connect(this,this.source),this.unobserve(!1)));if(a===md)return void(b!==this.sourceExpression.evaluate(this.source,this.lookupFunctions)&&this.updateSource(b));throw new Error("Unexpected call context "+a)}},a.prototype.bind=function(a){if(this.isBound){if(this.source===a)return;this.unbind()}this.isBound=!0,this.source=a,this.sourceExpression.bind&&this.sourceExpression.bind(this,a,this.lookupFunctions);var b=this.mode;if(!this.targetObserver){var c=b===Hb.twoWay?"getObserver":"getAccessor";this.targetObserver=this.observerLocator[c](this.target,this.targetProperty)}"bind"in this.targetObserver&&this.targetObserver.bind();var d=this.sourceExpression.evaluate(a,this.lookupFunctions);this.updateTarget(d),b===Hb.oneWay?s(this):b===Hb.twoWay&&(this.sourceExpression.connect(this,a),this.targetObserver.subscribe(md,this))},a.prototype.unbind=function(){this.isBound&&(this.isBound=!1,this.sourceExpression.unbind&&this.sourceExpression.unbind(this,this.source),this.source=null,"unbind"in this.targetObserver&&this.targetObserver.unbind(),this.targetObserver.unsubscribe&&this.targetObserver.unsubscribe(md,this),this.unobserve(!0))},a.prototype.connect=function(a){if(this.isBound){if(a){var b=this.sourceExpression.evaluate(this.source,this.lookupFunctions);this.updateTarget(b)}this.sourceExpression.connect(this,this.source)}},a}())||Fa),od=(a.CallExpression=function(){function a(a,b,c,d){this.observerLocator=a,this.targetProperty=b,this.sourceExpression=c,this.lookupFunctions=d}return a.prototype.createBinding=function(a){return new od(this.observerLocator,this.sourceExpression,a,this.targetProperty,this.lookupFunctions)},a}(),a.Call=function(){function a(a,b,c,d,e){this.sourceExpression=b,this.target=c,this.targetProperty=a.getObserver(c,d),this.lookupFunctions=e}return a.prototype.callSource=function(a){var b=this.source.overrideContext;Object.assign(b,a),b.$event=a;var c=!0,d=this.sourceExpression.evaluate(this.source,this.lookupFunctions,c);delete b.$event;for(var e in a)delete b[e];return d},a.prototype.bind=function(a){var b=this;if(this.isBound){if(this.source===a)return;this.unbind()}this.isBound=!0,this.source=a,this.sourceExpression.bind&&this.sourceExpression.bind(this,a,this.lookupFunctions),this.targetProperty.setValue(function(a){return b.callSource(a)})},a.prototype.unbind=function(){this.isBound&&(this.isBound=!1,this.sourceExpression.unbind&&this.sourceExpression.unbind(this,this.source),this.source=null,this.targetProperty.setValue(null))},a}()),pd=a.ValueConverterResource=function(){function a(a){this.name=a}return a.convention=function(b){if(b.endsWith("ValueConverter"))return new a(i(b.substring(0,b.length-14)))},a.prototype.initialize=function(a,b){this.instance=a.get(b)},a.prototype.register=function(a,b){a.registerValueConverter(b||this.name,this.instance)},a.prototype.load=function(a,b){},a}(),qd=a.BindingBehaviorResource=function(){function a(a){this.name=a}return a.convention=function(b){if(b.endsWith("BindingBehavior"))return new a(i(b.substring(0,b.length-15)))},a.prototype.initialize=function(a,b){this.instance=a.get(b)},a.prototype.register=function(a,b){a.registerBindingBehavior(b||this.name,this.instance)},a.prototype.load=function(a,b){},a}(),rd=(a.ListenerExpression=function(){function a(a,b,c,d,e,f){this.eventManager=a,this.targetEvent=b,this.sourceExpression=c,this.delegate=d,this.discrete=!0,this.preventDefault=e,this.lookupFunctions=f}return a.prototype.createBinding=function(a){return new rd(this.eventManager,this.targetEvent,this.delegate,this.sourceExpression,a,this.preventDefault,this.lookupFunctions)},a}(),a.Listener=function(){function a(a,b,c,d,e,f,g){this.eventManager=a,this.targetEvent=b,this.delegate=c,this.sourceExpression=d,this.target=e,this.preventDefault=f,this.lookupFunctions=g}return a.prototype.callSource=function(a){var b=this.source.overrideContext;b.$event=a;var c=!0,d=this.sourceExpression.evaluate(this.source,this.lookupFunctions,c);return delete b.$event,d!==!0&&this.preventDefault&&a.preventDefault(),d},a.prototype.bind=function(a){var b=this;if(this.isBound){if(this.source===a)return;this.unbind()}this.isBound=!0,this.source=a,this.sourceExpression.bind&&this.sourceExpression.bind(this,a,this.lookupFunctions),this._disposeListener=this.eventManager.addEventListener(this.target,this.targetEvent,function(a){return b.callSource(a)},this.delegate)},a.prototype.unbind=function(){this.isBound&&(this.isBound=!1,this.sourceExpression.unbind&&this.sourceExpression.unbind(this,this.source),this.source=null,this._disposeListener(),this._disposeListener=null)},a}()),sd=(a.NameExpression=function(){function a(a,b,c){this.sourceExpression=a,this.apiName=b,this.lookupFunctions=c,this.discrete=!0}return a.prototype.createBinding=function(b){return new sd(this.sourceExpression,a.locateAPI(b,this.apiName),this.lookupFunctions)},a.locateAPI=function(a,b){switch(b){case"element":return a;case"controller":return ia(a).controller;case"view-model":return ia(a).controller.viewModel;case"view":return ia(a).controller.view;default:var c=ia(a)[b];if(void 0===c)throw new Error('Attempted to reference "'+b+"\", but it was not found amongst the target's API.");return c.viewModel}},a}(),function(){function a(a,b,c){this.sourceExpression=a,this.target=b,this.lookupFunctions=c}return a.prototype.bind=function(a){if(this.isBound){if(this.source===a)return;this.unbind()}this.isBound=!0,this.source=a,this.sourceExpression.bind&&this.sourceExpression.bind(this,a,this.lookupFunctions),this.sourceExpression.assign(this.source,this.target,this.lookupFunctions)},a.prototype.unbind=function(){this.isBound&&(this.isBound=!1,this.sourceExpression.evaluate(this.source,this.lookupFunctions)===this.target&&this.sourceExpression.assign(this.source,null,this.lookupFunctions),this.sourceExpression.unbind&&this.sourceExpression.unbind(this,this.source),this.source=null)},a}()),td={bindingBehaviors:function(a){return null},valueConverters:function(a){return null}},ud=(a.BindingEngine=(Ha=Ga=function(){function a(a,b){this.observerLocator=a,this.parser=b}return a.prototype.createBindingExpression=function(a,b){var c=arguments.length<=2||void 0===arguments[2]?Hb.oneWay:arguments[2],d=arguments.length<=3||void 0===arguments[3]?td:arguments[3];return new ld(this.observerLocator,a,this.parser.parse(b),c,d)},a.prototype.propertyObserver=function(a,b){var c=this;return{subscribe:function(d){var e=c.observerLocator.getObserver(a,b);return e.subscribe(d),{dispose:function(){return e.unsubscribe(d)}}}}},a.prototype.collectionObserver=function(a){var b=this;return{subscribe:function(c){var d=void 0;if(a instanceof Array)d=b.observerLocator.getArrayObserver(a);else if(a instanceof Map)d=b.observerLocator.getMapObserver(a);else{if(!(a instanceof Set))throw new Error("collection must be an instance of Array, Map or Set.");d=b.observerLocator.getSetObserver(a)}return d.subscribe(c),{dispose:function(){return d.unsubscribe(c)}}}}},a.prototype.expressionObserver=function(a,b){var c={bindingContext:a,overrideContext:j(a)};return new Ya(c,this.parser.parse(b),this.observerLocator,td)},a.prototype.parseExpression=function(a){return this.parser.parse(a)},a.prototype.registerAdapter=function(a){this.observerLocator.addAdapter(a)},a}(),Ga.inject=[kd,Jc],Ha),Set.prototype);a.getSetObserver=ja;var vd=function(a){function b(b,c){return g(this,a.call(this,b,c))}return h(b,a),b["for"]=function(a,c){return"__set_observer__"in c||Reflect.defineProperty(c,"__set_observer__",{value:b.create(a,c),enumerable:!1,configurable:!1}),c.__set_observer__},b.create=function(a,c){var d=new b(a,c),e=ud;return e.add===c.add&&e["delete"]===c["delete"]&&e.clear===c.clear||(e={add:c.add,"delete":c["delete"],clear:c.clear}),c.add=function(){var a="add",b=c.size,f=e.add.apply(c,arguments),g=c.size===b;return g||d.addChangeRecord({type:a,object:c,value:Array.from(c).pop()}),f},c["delete"]=function(){var a=c.has(arguments[0]),b=e["delete"].apply(c,arguments);return a&&d.addChangeRecord({type:"delete",object:c,value:arguments[0]}),b},c.clear=function(){var a=e.clear.apply(c,arguments);return d.addChangeRecord({type:"clear",object:c}),a},d},b}(cb)})}(),function(){var a=System.amdDefine;a("npm:aurelia-binding@1.0.9.js",["npm:aurelia-binding@1.0.9/aurelia-binding"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-task-queue@1.1.0/aurelia-task-queue.js",["exports","aurelia-pal"],function(a,b){"use strict";function c(a){var c=1,d=b.DOM.createMutationObserver(a),e=b.DOM.createTextNode("");return d.observe(e,{characterData:!0}),function(){c=-c,e.data=c}}function d(a){return function(){function b(){clearTimeout(c),clearInterval(d),a()}var c=setTimeout(b,0),d=setInterval(b,50)}}function e(a,b){"onError"in b?b.onError(a):f?setImmediate(function(){throw a}):setTimeout(function(){throw a},0)}Object.defineProperty(a,"__esModule",{value:!0}),a.TaskQueue=void 0;var f="function"==typeof setImmediate;a.TaskQueue=function(){function a(){var a=this;this.flushing=!1,this.microTaskQueue=[],this.microTaskQueueCapacity=1024,this.taskQueue=[],b.FEATURE.mutationObserver?this.requestFlushMicroTaskQueue=c(function(){return a.flushMicroTaskQueue()}):this.requestFlushMicroTaskQueue=d(function(){return a.flushMicroTaskQueue()}),this.requestFlushTaskQueue=d(function(){return a.flushTaskQueue()})}return a.prototype.queueMicroTask=function(a){this.microTaskQueue.length<1&&this.requestFlushMicroTaskQueue(),this.microTaskQueue.push(a)},a.prototype.queueTask=function(a){this.taskQueue.length<1&&this.requestFlushTaskQueue(),this.taskQueue.push(a)},a.prototype.flushTaskQueue=function(){var a=this.taskQueue,b=0,c=void 0;this.taskQueue=[];try{for(this.flushing=!0;b<a.length;)c=a[b],c.call(),b++}catch(d){e(d,c)}finally{this.flushing=!1}},a.prototype.flushMicroTaskQueue=function(){var a=this.microTaskQueue,b=this.microTaskQueueCapacity,c=0,d=void 0;try{for(this.flushing=!0;c<a.length;)if(d=a[c],d.call(),c++,c>b){for(var f=0,g=a.length-c;f<g;f++)a[f]=a[f+c];a.length-=c,c=0}}catch(h){e(h,d)}finally{this.flushing=!1}a.length=0},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-task-queue@1.1.0.js",["npm:aurelia-task-queue@1.1.0/aurelia-task-queue"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating@1.1.1/aurelia-templating.js",["exports","aurelia-logging","aurelia-metadata","aurelia-pal","aurelia-path","aurelia-loader","aurelia-dependency-injection","aurelia-binding","aurelia-task-queue"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function k(a){return"-"+a.toLowerCase()}function l(a){return(a.charAt(0).toLowerCase()+a.slice(1)).replace(Ra,k)}function m(a){return!(a.auInterpolationTarget||/[^\t\n\r ]/.test(a.textContent))}function n(a){var b=function(a){c.metadata.define(c.metadata.resource,new Sa,a)};return a?b(a):b}function o(a){throw new Error("BindingLanguage must implement "+a+"().")}function p(a,b,c,d){if(b){var e=a[b];if(e){if(e!==c)throw new Error("Attempted to register "+d+" when one with the same name already exists. Name: "+b+".")}else a[b]=c}}function q(a){if(void 0!==a.animatableElement)return a.animatableElement;for(var b=a.firstChild;b&&1!==b.nodeType;)b=b.nextSibling;return b&&1===b.nodeType?a.animatableElement=b.classList.contains("au-animate")?b:null:a.animatableElement=null}function r(a){if(a===d.DOM.Element)return this.element;if(a===ob){if(this.boundViewFactory)return this.boundViewFactory;var b=this.instruction.viewFactory,c=this.partReplacements;return c&&(b=c[b.part]||b),this.boundViewFactory=new ob(this,b,c),this.boundViewFactory}return a===lb?(void 0===this.viewSlot&&(this.viewSlot=new lb(this.element,this.instruction.anchorIsContainer),this.element.isContentProjectionSource=this.instruction.lifting,this.children.push(this.viewSlot)),this.viewSlot):a===Ta?this.elementEvents||(this.elementEvents=new Ta(this.element)):a===Qa?this.compositionTransaction||(this.compositionTransaction=this.parent.get(a)):a===jb?this.viewResources:a===Xa?this.instruction:this.superGet(a)}function s(a,b,c,d,e,f){var g=a.createChild(),h=void 0,i=void 0;for(g.element=b,g.instruction=c,g.children=d,g.viewResources=f,g.partReplacements=e,h=c.providers,i=h.length;i--;)g._resolvers.set(h[i],nb);return g.superGet=g.get,g.get=r,g}function t(a,b){var c=d.DOM.createComment("anchor");if(b){var e=a.firstChild;e&&"AU-CONTENT"===e.tagName&&(c.contentElement=e),c.hasAttribute=function(b){return a.hasAttribute(b)},c.getAttribute=function(b){return a.getAttribute(b)},c.setAttribute=function(b,c){a.setAttribute(b,c)}}return d.DOM.replaceNode(c,a),c}function u(a,b,c,e,f,g,h,i,j){var k=c.behaviorInstructions,l=c.expressions,m=void 0,n=void 0,o=void 0,p=void 0,q=void 0;if(c.contentExpression)return f.push(c.contentExpression.createBinding(b.nextSibling)),b.nextSibling.auInterpolationTarget=!0,void b.parentNode.removeChild(b);if(c.shadowSlot){var r=d.DOM.createComment("slot"),u=void 0;return u=c.slotDestination?new gb(r,c.slotName,c.slotDestination,c.slotFallbackFactory):new hb(r,c.slotName,c.slotFallbackFactory),d.DOM.replaceNode(r,b),h[c.slotName]=u,void e.push(u)}if(k.length)for(c.anchorIsContainer||(b=t(b,c.elementInstruction)),a[c.injectorId]=m=s(a[c.parentInjectorId],b,c,g,i,j),n=0,o=k.length;n<o;++n)p=k[n],q=p.type.create(m,p,b,f),e.push(q);for(n=0,o=l.length;n<o;++n)f.push(l[n].createBinding(b))}function v(a,b){var c=a.split(";"),d=void 0,e=void 0,f=void 0,g=void 0,h=void 0;for(b=b||{},e=0;e<c.length;e++)f=c[e],d=f.indexOf(":"),g=f.substring(0,d).trim(),h=f.substring(d+1).trim(),b[g]=h;return b}function w(a){var b="";for(var c in a)b+=c+":"+a[c]+";";return b}function x(a,b,c,d,e,f){var g=c.behaviorInstructions,h=c.expressions,i=c.providers,j=c.values,k=void 0,l=void 0,m=void 0,n=void 0,o=void 0;for(k=i.length;k--;)a._resolvers.set(i[k],nb);for(var p in j)if(o=b.getAttribute(p)){if("class"===p)b.setAttribute("class",o+" "+j[p]);else if("style"===p){var q=v(j[p]);v(o,q),b.setAttribute("style",w(q))}}else b.setAttribute(p,j[p]);if(g.length)for(k=0,l=g.length;k<l;++k)m=g[k],n=m.type.create(a,m,b,e),n.contentView&&f.push(n.contentView),d.push(n);for(k=0,l=h.length;k<l;++k)e.push(h[k].createBinding(b))}function y(){return++qb}function z(a,b){var c=a.type,d=a.attrName,e=a.attributes,f=void 0,g=void 0,h=void 0,i=b.mapAttribute(d);i&&d in e&&i!==d&&(e[i]=e[d],delete e[d]);for(g in e)h=e[g],null!==h&&"object"===("undefined"==typeof h?"undefined":Ma(h))&&(f=c.attributes[g],void 0!==f?h.targetProperty=f.name:h.targetProperty=g)}function A(){return(++rb).toString()}function B(a){var b=a.getAttribute("class"),c=A();return a.setAttribute("class",b?b+=" au-target":"au-target"),a.setAttribute("au-target-id",c),c}function C(a,b,c,e,f){var g=d.DOM.createElement("au-shadow-slot");d.DOM.replaceNode(g,c);var h=B(g),i=Xa.shadowSlot(f);if(i.slotName=c.getAttribute("name")||ib.defaultSlotKey,i.slotDestination=c.getAttribute("slot"),c.innerHTML.trim()){for(var j=d.DOM.createDocumentFragment(),k=void 0;k=c.firstChild;)j.appendChild(k);i.slotFallbackFactory=a.compile(j,b)}return e[h]=i,g}function D(a,b){return b instanceof f.TemplateRegistryEntry?Promise.resolve(b):a.loadTemplate(b)}function E(a,b,c){var d=b.__observers__;return void 0===d&&(a.isInitialized||a.initialize(g.Container.instance||new g.Container,b.constructor),d=a.observerLocator.getOrCreateObserversLookup(b),a._ensurePropertiesDefined(b,d)),d[c]}function F(){return++Cb}function G(){return!0}function H(){}function I(a,b){return function(d,e,f){var g="string"==typeof e?d.constructor:d,h=c.metadata.getOrCreateOwn(c.metadata.resource,Db,g);"string"==typeof a&&(a={selector:a,name:e}),f&&(f.writable=!0),a.all=b,h.addChildBinding(new Eb(a))}}function J(a){return I(a,!0)}function K(a){return I(a,!1)}function L(a,b,c){var d=a.get(b);d||(d=[],a.set(b,d)),d.push(c)}function M(a,b){for(var c=b.binders,d=c.length,e=new Map,f=0,g=a.length;f<g;++f){for(var h=a[f],i=h.addedNodes,j=h.removedNodes,k=0,l=j.length;k<l;++k){var m=j[k];if(1===m.nodeType)for(var n=0;n<d;++n){var o=c[n];o.onRemove(m)&&L(e,o,h)}}for(var p=0,q=i.length;p<q;++p){var r=i[p];if(1===r.nodeType)for(var s=0;s<d;++s){var t=c[s];t.onAdd(r)&&L(e,t,h)}}}e.forEach(function(a,b){null!==b.changeHandler&&b.viewModel[b.changeHandler](a)})}function N(a){return a.skipActivation||"function"!=typeof a.viewModel.activate?Promise.resolve():a.viewModel.activate(a.model)||Promise.resolve()}function O(a,b){if(/[A-Z]/.test(a)){var c=l(a);return Ka.getLogger("templating").warn("'"+a+"' is not a valid "+b+" name and has been converted to '"+c+"'. Upper-case letters are not allowed because the DOM is not case-sensitive."),c}return a}function P(a){return function(b){c.metadata.define(c.metadata.resource,a,b)}}function Q(a){return function(b){if(a instanceof Db)c.metadata.define(c.metadata.resource,a,b);else{var d=c.metadata.getOrCreateOwn(c.metadata.resource,Db,b);Object.assign(d,a)}}}function R(a){return function(b){var d=c.metadata.getOrCreateOwn(c.metadata.resource,Db,b);d.elementName=O(a,"custom element")}}function S(a,b){return function(d){var e=c.metadata.getOrCreateOwn(c.metadata.resource,Db,d);e.attributeName=O(a,"custom attribute"),e.attributeDefaultBindingMode=b}}function T(a){var b=function(a){var b=c.metadata.getOrCreateOwn(c.metadata.resource,Db,a);b.liftsContent=!0};return a?b(a):b}function U(a,b,d){var e=function(b,d,e){var f=d?b.constructor:b,g=c.metadata.getOrCreateOwn(c.metadata.resource,Db,f),h=void 0;return d&&(a=a||{},a.name=d),h=new Bb(a),h.registerWith(f,g,e)};if(!a)return e;if(b){var f=a;return a=null,e(f,b,d)}return e}function V(a){var b=function(a){var b=c.metadata.getOrCreateOwn(c.metadata.resource,Db,a);b.hasDynamicOptions=!0};return a?b(a):b}function W(a){var b="function"!=typeof a&&a?a:Jb,d=function(a){var d=c.metadata.getOrCreateOwn(c.metadata.resource,Db,a);d.targetShadowDOM=!0,d.shadowDOMOptions=b};return"function"==typeof a?d(a):d}function X(a){return function(b){var d=c.metadata.getOrCreateOwn(c.metadata.resource,Db,b);d.processAttributes=function(b,c,d,e,f){try{a(b,c,d,e,f)}catch(g){Ka.getLogger("templating").error(g)}}}}function Y(){return!1}function Z(a){return function(b){var d=c.metadata.getOrCreateOwn(c.metadata.resource,Db,b);d.processContent=a?function(b,c,d,e){try{return a(b,c,d,e)}catch(f){return Ka.getLogger("templating").error(f),!1}}:Y}}function $(a){var b=function(a){var b=c.metadata.getOrCreateOwn(c.metadata.resource,Db,a);b.containerless=!0};return a?b(a):b}function _(a){return function(b){c.metadata.define(cb.viewStrategyMetadataKey,a,b)}}function aa(a){return _(new Za(a))}function ba(a,b,c){return _(new bb(a,b,c))}function ca(a,b){var d=void 0,e=void 0;"function"==typeof a?d=a:(e=a,d=void 0);var f=function(a){c.metadata.define(cb.viewStrategyMetadataKey,new _a(e,b),a)};return d?f(d):f}function da(a){var b=function(a){c.metadata.define(c.metadata.resource,new Ib,a)};return a?b(a):b}function ea(){return function(a){c.metadata.define(yb.viewModelRequireMetadataKey,resources,a)}}Object.defineProperty(a,"__esModule",{value:!0}),a.TemplatingEngine=a.ElementConfigResource=a.CompositionEngine=a.HtmlBehaviorResource=a.BindableProperty=a.BehaviorPropertyObserver=a.Controller=a.ViewEngine=a.ModuleAnalyzer=a.ResourceDescription=a.ResourceModule=a.ViewCompiler=a.ViewFactory=a.BoundViewFactory=a.ViewSlot=a.View=a.ViewResources=a.ShadowDOM=a.ShadowSlot=a.PassThroughSlot=a.SlotCustomAttribute=a.BindingLanguage=a.ViewLocator=a.InlineViewStrategy=a.TemplateRegistryViewStrategy=a.NoViewStrategy=a.ConventionalViewStrategy=a.RelativeViewStrategy=a.viewStrategy=a.TargetInstruction=a.BehaviorInstruction=a.ViewCompileInstruction=a.ResourceLoadContext=a.ElementEvents=a.ViewEngineHooksResource=a.CompositionTransaction=a.CompositionTransactionOwnershipToken=a.CompositionTransactionNotifier=a.Animator=a.animationEvent=void 0,a._hyphenate=l,a._isAllWhitespace=m,a.viewEngineHooks=n,a.children=J,a.child=K,a.resource=P,a.behavior=Q,a.customElement=R,a.customAttribute=S,a.templateController=T,a.bindable=U,a.dynamicOptions=V,a.useShadowDOM=W,a.processAttributes=X,a.processContent=Z,a.containerless=$,a.useViewStrategy=_,a.useView=aa,a.inlineView=ba,a.noView=ca,a.elementConfig=da,a.viewResources=ea;var fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,Da,Ea,Fa,Ga,Ha,Ia,Ja,Ka=j(b),La=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),Ma="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},Na=(a.animationEvent={enterBegin:"animation:enter:begin",enterActive:"animation:enter:active",enterDone:"animation:enter:done",enterTimeout:"animation:enter:timeout",leaveBegin:"animation:leave:begin",leaveActive:"animation:leave:active",leaveDone:"animation:leave:done",leaveTimeout:"animation:leave:timeout",staggerNext:"animation:stagger:next",removeClassBegin:"animation:remove-class:begin",removeClassActive:"animation:remove-class:active",removeClassDone:"animation:remove-class:done",removeClassTimeout:"animation:remove-class:timeout",addClassBegin:"animation:add-class:begin",addClassActive:"animation:add-class:active",addClassDone:"animation:add-class:done",addClassTimeout:"animation:add-class:timeout",animateBegin:"animation:animate:begin",animateActive:"animation:animate:active",animateDone:"animation:animate:done",animateTimeout:"animation:animate:timeout",sequenceBegin:"animation:sequence:begin",sequenceDone:"animation:sequence:done"},a.Animator=function(){function a(){}return a.prototype.enter=function(a){return Promise.resolve(!1)},a.prototype.leave=function(a){return Promise.resolve(!1)},a.prototype.removeClass=function(a,b){return a.classList.remove(b),Promise.resolve(!1)},a.prototype.addClass=function(a,b){return a.classList.add(b),Promise.resolve(!1)},a.prototype.animate=function(a,b){return Promise.resolve(!1)},a.prototype.runSequence=function(a){},a.prototype.registerEffect=function(a,b){},a.prototype.unregisterEffect=function(a){},a}()),Oa=a.CompositionTransactionNotifier=function(){function a(a){this.owner=a,this.owner._compositionCount++}return a.prototype.done=function(){this.owner._compositionCount--,this.owner._tryCompleteTransaction()},a}(),Pa=a.CompositionTransactionOwnershipToken=function(){function a(a){this.owner=a,this.owner._ownershipToken=this,this.thenable=this._createThenable()}return a.prototype.waitForCompositionComplete=function(){return this.owner._tryCompleteTransaction(),this.thenable},a.prototype.resolve=function(){this._resolveCallback()},a.prototype._createThenable=function(){var a=this;return new Promise(function(b,c){a._resolveCallback=b})},a}(),Qa=a.CompositionTransaction=function(){function a(){this._ownershipToken=null,this._compositionCount=0}return a.prototype.tryCapture=function(){return null===this._ownershipToken?new Pa(this):null},a.prototype.enlist=function(){return new Oa(this)},a.prototype._tryCompleteTransaction=function(){
if(this._compositionCount<=0&&(this._compositionCount=0,null!==this._ownershipToken)){var a=this._ownershipToken;this._ownershipToken=null,a.resolve()}},a}(),Ra=/([A-Z])/g,Sa=a.ViewEngineHooksResource=function(){function a(){}return a.prototype.initialize=function(a,b){this.instance=a.get(b)},a.prototype.register=function(a,b){a.registerViewEngineHooks(this.instance)},a.prototype.load=function(a,b){},a.convention=function(b){if(b.endsWith("ViewEngineHooks"))return new a},a}(),Ta=a.ElementEvents=function(){function a(a){this.element=a,this.subscriptions={}}return a.prototype._enqueueHandler=function(a){this.subscriptions[a.eventName]=this.subscriptions[a.eventName]||[],this.subscriptions[a.eventName].push(a)},a.prototype._dequeueHandler=function(a){var b=void 0,c=this.subscriptions[a.eventName];return c&&(b=c.indexOf(a),b>-1&&c.splice(b,1)),a},a.prototype.publish=function(a){var b=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],c=arguments.length<=2||void 0===arguments[2]||arguments[2],e=arguments.length<=3||void 0===arguments[3]||arguments[3],f=d.DOM.createCustomEvent(a,{cancelable:e,bubbles:c,detail:b});this.element.dispatchEvent(f)},a.prototype.subscribe=function(a,b){var c=this,d=arguments.length<=2||void 0===arguments[2]||arguments[2];if(b&&"function"==typeof b)return b.eventName=a,b.handler=b,b.bubbles=d,b.dispose=function(){c.element.removeEventListener(a,b,d),c._dequeueHandler(b)},this.element.addEventListener(a,b,d),this._enqueueHandler(b),b},a.prototype.subscribeOnce=function(a,b){var c=this,d=arguments.length<=2||void 0===arguments[2]||arguments[2];if(b&&"function"==typeof b){var e=function(){var e=function f(a){b(a),f.dispose()};return{v:c.subscribe(a,e,d)}}();if("object"===("undefined"==typeof e?"undefined":Ma(e)))return e.v}},a.prototype.dispose=function(a){if(a&&"string"==typeof a){var b=this.subscriptions[a];if(b)for(;b.length;){var c=b.pop();c&&c.dispose()}}else this.disposeAll()},a.prototype.disposeAll=function(){for(var a in this.subscriptions)this.dispose(a)},a}(),Ua=a.ResourceLoadContext=function(){function a(){this.dependencies={}}return a.prototype.addDependency=function(a){this.dependencies[a]=!0},a.prototype.hasDependency=function(a){return a in this.dependencies},a}(),Va=a.ViewCompileInstruction=function(){var a=!(arguments.length<=0||void 0===arguments[0])&&arguments[0],b=!(arguments.length<=1||void 0===arguments[1])&&arguments[1];this.targetShadowDOM=a,this.compileSurrogate=b,this.associatedModuleId=null};Va.normal=new Va;var Wa=a.BehaviorInstruction=function(){function a(){this.initiatedByBehavior=!1,this.enhance=!1,this.partReplacements=null,this.viewFactory=null,this.originalAttrName=null,this.skipContentProcessing=!1,this.contentFactory=null,this.viewModel=null,this.anchorIsContainer=!1,this.host=null,this.attributes=null,this.type=null,this.attrName=null,this.inheritBindingContext=!1}return a.enhance=function(){var b=new a;return b.enhance=!0,b},a.unitTest=function(b,c){var d=new a;return d.type=b,d.attributes=c||{},d},a.element=function(b,c){var d=new a;return d.type=c,d.attributes={},d.anchorIsContainer=!(b.hasAttribute("containerless")||c.containerless),d.initiatedByBehavior=!0,d},a.attribute=function(b,c){var d=new a;return d.attrName=b,d.type=c||null,d.attributes={},d},a.dynamic=function(b,c,d){var e=new a;return e.host=b,e.viewModel=c,e.viewFactory=d,e.inheritBindingContext=!0,e},a}();Wa.normal=new Wa;var Xa=a.TargetInstruction=(ga=fa=function(){function a(){this.injectorId=null,this.parentInjectorId=null,this.shadowSlot=!1,this.slotName=null,this.slotFallbackFactory=null,this.contentExpression=null,this.expressions=null,this.behaviorInstructions=null,this.providers=null,this.viewFactory=null,this.anchorIsContainer=!1,this.elementInstruction=null,this.lifting=!1,this.values=null}return a.shadowSlot=function(b){var c=new a;return c.parentInjectorId=b,c.shadowSlot=!0,c},a.contentExpression=function(b){var c=new a;return c.contentExpression=b,c},a.lifting=function(b,c){var d=new a;return d.parentInjectorId=b,d.expressions=a.noExpressions,d.behaviorInstructions=[c],d.viewFactory=c.viewFactory,d.providers=[c.type.target],d.lifting=!0,d},a.normal=function(b,c,d,e,f,g){var h=new a;return h.injectorId=b,h.parentInjectorId=c,h.providers=d,h.behaviorInstructions=e,h.expressions=f,h.anchorIsContainer=!g||g.anchorIsContainer,h.elementInstruction=g,h},a.surrogate=function(b,c,d,e){var f=new a;return f.expressions=d,f.behaviorInstructions=c,f.providers=b,f.values=e,f},a}(),fa.noExpressions=Object.freeze([]),ga),Ya=a.viewStrategy=c.protocol.create("aurelia:view-strategy",{validate:function(a){return"function"==typeof a.loadViewFactory||"View strategies must implement: loadViewFactory(viewEngine: ViewEngine, compileInstruction: ViewCompileInstruction, loadContext?: ResourceLoadContext): Promise<ViewFactory>"},compose:function(a){"function"!=typeof a.makeRelativeTo&&(a.makeRelativeTo=d.PLATFORM.noop)}}),Za=a.RelativeViewStrategy=(ha=Ya(),ha(ia=function(){function a(a){this.path=a,this.absolutePath=null}return a.prototype.loadViewFactory=function(a,b,c,d){return null===this.absolutePath&&this.moduleId&&(this.absolutePath=(0,e.relativeToFile)(this.path,this.moduleId)),b.associatedModuleId=this.moduleId,a.loadViewFactory(this.absolutePath||this.path,b,c,d)},a.prototype.makeRelativeTo=function(a){null===this.absolutePath&&(this.absolutePath=(0,e.relativeToFile)(this.path,a))},a}())||ia),$a=a.ConventionalViewStrategy=(ja=Ya(),ja(ka=function(){function a(a,b){this.moduleId=b.moduleId,this.viewUrl=a.convertOriginToViewUrl(b)}return a.prototype.loadViewFactory=function(a,b,c,d){return b.associatedModuleId=this.moduleId,a.loadViewFactory(this.viewUrl,b,c,d)},a}())||ka),_a=a.NoViewStrategy=(la=Ya(),la(ma=function(){function a(a,b){this.dependencies=a||null,this.dependencyBaseUrl=b||""}return a.prototype.loadViewFactory=function(a,b,c,d){var e=this.entry,g=this.dependencies;if(e&&e.factoryIsReady)return Promise.resolve(null);if(this.entry=e=new f.TemplateRegistryEntry(this.moduleId||this.dependencyBaseUrl),e.dependencies=[],e.templateIsLoaded=!0,null!==g)for(var h=0,i=g.length;h<i;++h){var j=g[h];"string"==typeof j||"function"==typeof j?e.addDependency(j):e.addDependency(j.from,j.as)}return b.associatedModuleId=this.moduleId,a.loadViewFactory(e,b,c,d)},a}())||ma),ab=a.TemplateRegistryViewStrategy=(na=Ya(),na(oa=function(){function a(a,b){this.moduleId=a,this.entry=b}return a.prototype.loadViewFactory=function(a,b,c,d){var e=this.entry;return e.factoryIsReady?Promise.resolve(e.factory):(b.associatedModuleId=this.moduleId,a.loadViewFactory(e,b,c,d))},a}())||oa),bb=a.InlineViewStrategy=(pa=Ya(),pa(qa=function(){function a(a,b,c){this.markup=a,this.dependencies=b||null,this.dependencyBaseUrl=c||""}return a.prototype.loadViewFactory=function(a,b,c,e){var g=this.entry,h=this.dependencies;if(g&&g.factoryIsReady)return Promise.resolve(g.factory);if(this.entry=g=new f.TemplateRegistryEntry(this.moduleId||this.dependencyBaseUrl),g.template=d.DOM.createTemplateFromMarkup(this.markup),null!==h)for(var i=0,j=h.length;i<j;++i){var k=h[i];"string"==typeof k||"function"==typeof k?g.addDependency(k):g.addDependency(k.from,k.as)}return b.associatedModuleId=this.moduleId,a.loadViewFactory(g,b,c,e)},a}())||qa),cb=a.ViewLocator=(sa=ra=function(){function a(){}return a.prototype.getViewStrategy=function(b){if(!b)return null;if("object"===("undefined"==typeof b?"undefined":Ma(b))&&"getViewStrategy"in b){var d=c.Origin.get(b.constructor);return b=b.getViewStrategy(),"string"==typeof b&&(b=new Za(b)),Ya.assert(b),d.moduleId&&b.makeRelativeTo(d.moduleId),b}if("string"==typeof b&&(b=new Za(b)),Ya.validate(b))return b;"function"!=typeof b&&(b=b.constructor);var e=c.Origin.get(b),f=c.metadata.get(a.viewStrategyMetadataKey,b);if(f)e.moduleId&&(f.moduleId=e.moduleId);else{if(!e.moduleId)throw new Error("Cannot determine default view strategy for object.",b);f=this.createFallbackViewStrategy(e)}return f},a.prototype.createFallbackViewStrategy=function(a){return new $a(this,a)},a.prototype.convertOriginToViewUrl=function(a){var b=a.moduleId,c=b.endsWith(".js")||b.endsWith(".ts")?b.substring(0,b.length-3):b;return c+".html"},a}(),ra.viewStrategyMetadataKey="aurelia:view-strategy",sa),db=a.BindingLanguage=function(){function a(){}return a.prototype.inspectAttribute=function(a,b,c,d){o("inspectAttribute")},a.prototype.createAttributeInstruction=function(a,b,c,d){o("createAttributeInstruction")},a.prototype.inspectTextContent=function(a,b){o("inspectTextContent")},a}(),eb=Object.freeze([]),fb=a.SlotCustomAttribute=(ta=(0,g.inject)(d.DOM.Element),ta(ua=function(){function a(a){this.element=a,this.element.auSlotAttribute=this}return a.prototype.valueChanged=function(a,b){},a}())||ua),gb=a.PassThroughSlot=function(){function a(a,b,c,d){this.anchor=a,this.anchor.viewSlot=this,this.name=b,this.destinationName=c,this.fallbackFactory=d,this.destinationSlot=null,this.projections=0,this.contentView=null;var e=new fb(this.anchor);e.value=this.destinationName}return a.prototype.renderFallbackContent=function(a,b,c,d){if(null===this.contentView){this.contentView=this.fallbackFactory.create(this.ownerView.container),this.contentView.bind(this.ownerView.bindingContext,this.ownerView.overrideContext);var e=Object.create(null);e[this.destinationSlot.name]=this.destinationSlot,ib.distributeView(this.contentView,e,c,d,this.destinationSlot.name)}},a.prototype.passThroughTo=function(a){this.destinationSlot=a},a.prototype.addNode=function(b,c,d,e){return null!==this.contentView&&(this.contentView.removeNodes(),this.contentView.detached(),this.contentView.unbind(),this.contentView=null),c.viewSlot instanceof a?void c.viewSlot.passThroughTo(this):(this.projections++,void this.destinationSlot.addNode(b,c,d,e))},a.prototype.removeView=function(a,b){this.projections--,this.destinationSlot.removeView(a,b),this.needsFallbackRendering&&this.renderFallbackContent(null,eb,b)},a.prototype.removeAll=function(a){this.projections=0,this.destinationSlot.removeAll(a),this.needsFallbackRendering&&this.renderFallbackContent(null,eb,a)},a.prototype.projectFrom=function(a,b){this.destinationSlot.projectFrom(a,b)},a.prototype.created=function(a){this.ownerView=a},a.prototype.bind=function(a){this.contentView&&this.contentView.bind(a.bindingContext,a.overrideContext)},a.prototype.attached=function(){this.contentView&&this.contentView.attached()},a.prototype.detached=function(){this.contentView&&this.contentView.detached()},a.prototype.unbind=function(){this.contentView&&this.contentView.unbind()},La(a,[{key:"needsFallbackRendering",get:function(){return this.fallbackFactory&&0===this.projections}}]),a}(),hb=a.ShadowSlot=function(){function a(a,b,c){this.anchor=a,this.anchor.isContentProjectionSource=!0,this.anchor.viewSlot=this,this.name=b,this.fallbackFactory=c,this.contentView=null,this.projections=0,this.children=[],this.projectFromAnchors=null,this.destinationSlots=null}return a.prototype.addNode=function(a,b,c,d,e){if(null!==this.contentView&&(this.contentView.removeNodes(),this.contentView.detached(),this.contentView.unbind(),this.contentView=null),b.viewSlot instanceof gb)return void b.viewSlot.passThroughTo(this);if(null!==this.destinationSlots)ib.distributeNodes(a,[b],this.destinationSlots,this,d);else{b.auOwnerView=a,b.auProjectionSource=c,b.auAssignedSlot=this;var f=this._findAnchor(a,b,c,d),g=f.parentNode;g.insertBefore(b,f),this.children.push(b),this.projections++}},a.prototype.removeView=function(a,b){if(null!==this.destinationSlots)ib.undistributeView(a,this.destinationSlots,this);else if(this.contentView&&this.contentView.hasSlots)ib.undistributeView(a,this.contentView.slots,b);else{var c=this.children.find(function(a){return a.auSlotProjectFrom===b});if(c){for(var d=c.auProjectionChildren,e=0,f=d.length;e<f;++e){var g=d[e];g.auOwnerView===a&&(d.splice(e,1),a.fragment.appendChild(g),e--,f--,this.projections--)}this.needsFallbackRendering&&this.renderFallbackContent(a,eb,b)}}},a.prototype.removeAll=function(a){if(null!==this.destinationSlots)ib.undistributeAll(this.destinationSlots,this);else if(this.contentView&&this.contentView.hasSlots)ib.undistributeAll(this.contentView.slots,a);else{var b=this.children.find(function(b){return b.auSlotProjectFrom===a});if(b){for(var c=b.auProjectionChildren,d=0,e=c.length;d<e;++d){var f=c[d];f.auOwnerView.fragment.appendChild(f),this.projections--}b.auProjectionChildren=[],this.needsFallbackRendering&&this.renderFallbackContent(null,eb,a)}}},a.prototype._findAnchor=function(a,b,c,d){if(c){var e=this.children.find(function(a){return a.auSlotProjectFrom===c});if(e){if(void 0!==d)for(var f=e.auProjectionChildren,g=-1,h=void 0,i=0,j=f.length;i<j;++i){var k=f[i];if(k.auOwnerView!==h&&(g++,h=k.auOwnerView,g>=d&&h!==a))return f.splice(i,0,b),k}return e.auProjectionChildren.push(b),e}}return this.anchor},a.prototype.projectTo=function(a){this.destinationSlots=a},a.prototype.projectFrom=function(a,b){var c=d.DOM.createComment("anchor"),e=this.anchor.parentNode;c.auSlotProjectFrom=b,c.auOwnerView=a,c.auProjectionChildren=[],e.insertBefore(c,this.anchor),this.children.push(c),null===this.projectFromAnchors&&(this.projectFromAnchors=[]),this.projectFromAnchors.push(c)},a.prototype.renderFallbackContent=function(a,b,c,d){if(null===this.contentView&&(this.contentView=this.fallbackFactory.create(this.ownerView.container),this.contentView.bind(this.ownerView.bindingContext,this.ownerView.overrideContext),this.contentView.insertNodesBefore(this.anchor)),this.contentView.hasSlots){var e=this.contentView.slots,f=this.projectFromAnchors;if(null!==f)for(var g in e)for(var h=e[g],i=0,j=f.length;i<j;++i){var k=f[i];h.projectFrom(k.auOwnerView,k.auSlotProjectFrom)}this.fallbackSlots=e,ib.distributeNodes(a,b,e,c,d)}},a.prototype.created=function(a){this.ownerView=a},a.prototype.bind=function(a){this.contentView&&this.contentView.bind(a.bindingContext,a.overrideContext)},a.prototype.attached=function(){this.contentView&&this.contentView.attached()},a.prototype.detached=function(){this.contentView&&this.contentView.detached()},a.prototype.unbind=function(){this.contentView&&this.contentView.unbind()},La(a,[{key:"needsFallbackRendering",get:function(){return this.fallbackFactory&&0===this.projections}}]),a}(),ib=a.ShadowDOM=(wa=va=function(){function a(){}return a.getSlotName=function(b){return void 0===b.auSlotAttribute?a.defaultSlotKey:b.auSlotAttribute.value},a.distributeView=function(b,c,d,e,f){var g=void 0;if(null===b)g=eb;else{var h=b.fragment.childNodes,i=h.length;g=new Array(i);for(var j=0;j<i;++j)g[j]=h[j]}a.distributeNodes(b,g,c,d,e,f)},a.undistributeView=function(a,b,c){for(var d in b)b[d].removeView(a,c)},a.undistributeAll=function(a,b){for(var c in a)a[c].removeAll(b)},a.distributeNodes=function(b,c,d,e,f,g){for(var h=0,i=c.length;h<i;++h){var j=c[h],k=j.nodeType;if(j.isContentProjectionSource){j.viewSlot.projectTo(d);for(var l in d)d[l].projectFrom(b,j.viewSlot);c.splice(h,1),i--,h--}else if(1===k||3===k||j.viewSlot instanceof gb)if(3===k&&m(j))c.splice(h,1),i--,h--;else{var n=d[g||a.getSlotName(j)];n&&(n.addNode(b,j,e,f),c.splice(h,1),i--,h--)}else c.splice(h,1),i--,h--}for(var o in d){var p=d[o];p.needsFallbackRendering&&p.renderFallbackContent(b,c,e,f)}},a}(),va.defaultSlotKey="__au-default-slot-key__",wa),jb=a.ViewResources=function(){function a(a,b){this.bindingLanguage=null,this.parent=a||null,this.hasParent=null!==this.parent,this.viewUrl=b||"",this.lookupFunctions={valueConverters:this.getValueConverter.bind(this),bindingBehaviors:this.getBindingBehavior.bind(this)},this.attributes=Object.create(null),this.elements=Object.create(null),this.valueConverters=Object.create(null),this.bindingBehaviors=Object.create(null),this.attributeMap=Object.create(null),this.values=Object.create(null),this.beforeCompile=this.afterCompile=this.beforeCreate=this.afterCreate=this.beforeBind=this.beforeUnbind=!1}return a.prototype._tryAddHook=function(a,b){if("function"==typeof a[b]){for(var c=a[b].bind(a),d=1,e=void 0;void 0!==this[e=b+d.toString()];)d++;this[b]=!0,this[e]=c}},a.prototype._invokeHook=function(a,b,c,d,e){if(this.hasParent&&this.parent._invokeHook(a,b,c,d,e),this[a]){this[a+"1"](b,c,d,e);var f=a+"2";if(this[f]&&(this[f](b,c,d,e),f=a+"3",this[f])){this[f](b,c,d,e);for(var g=4;void 0!==this[f=a+g.toString()];)this[f](b,c,d,e),g++}}},a.prototype.registerViewEngineHooks=function(a){this._tryAddHook(a,"beforeCompile"),this._tryAddHook(a,"afterCompile"),this._tryAddHook(a,"beforeCreate"),this._tryAddHook(a,"afterCreate"),this._tryAddHook(a,"beforeBind"),this._tryAddHook(a,"beforeUnbind")},a.prototype.getBindingLanguage=function(a){return this.bindingLanguage||(this.bindingLanguage=a)},a.prototype.patchInParent=function(a){var b=this.parent;this.parent=a||null,this.hasParent=null!==this.parent,null===a.parent&&(a.parent=b,a.hasParent=null!==b)},a.prototype.relativeToView=function(a){return(0,e.relativeToFile)(a,this.viewUrl)},a.prototype.registerElement=function(a,b){p(this.elements,a,b,"an Element")},a.prototype.getElement=function(a){return this.elements[a]||(this.hasParent?this.parent.getElement(a):null)},a.prototype.mapAttribute=function(a){return this.attributeMap[a]||(this.hasParent?this.parent.mapAttribute(a):null)},a.prototype.registerAttribute=function(a,b,c){this.attributeMap[a]=c,p(this.attributes,a,b,"an Attribute")},a.prototype.getAttribute=function(a){return this.attributes[a]||(this.hasParent?this.parent.getAttribute(a):null)},a.prototype.registerValueConverter=function(a,b){p(this.valueConverters,a,b,"a ValueConverter")},a.prototype.getValueConverter=function(a){return this.valueConverters[a]||(this.hasParent?this.parent.getValueConverter(a):null)},a.prototype.registerBindingBehavior=function(a,b){p(this.bindingBehaviors,a,b,"a BindingBehavior")},a.prototype.getBindingBehavior=function(a){return this.bindingBehaviors[a]||(this.hasParent?this.parent.getBindingBehavior(a):null)},a.prototype.registerValue=function(a,b){p(this.values,a,b,"a value")},a.prototype.getValue=function(a){return this.values[a]||(this.hasParent?this.parent.getValue(a):null)},a}(),kb=a.View=function(){function a(a,b,c,d,e,f,g){this.container=a,this.viewFactory=b,this.resources=b.resources,this.fragment=c,this.firstChild=c.firstChild,this.lastChild=c.lastChild,this.controllers=d,this.bindings=e,this.children=f,this.slots=g,this.hasSlots=!1,this.fromCache=!1,this.isBound=!1,this.isAttached=!1,this.bindingContext=null,this.overrideContext=null,this.controller=null,this.viewModelScope=null,this.animatableElement=void 0,this._isUserControlled=!1,this.contentView=null;for(var h in g){this.hasSlots=!0;break}}return a.prototype.returnToCache=function(){this.viewFactory.returnViewToCache(this)},a.prototype.created=function(){var a=void 0,b=void 0,c=this.controllers;for(a=0,b=c.length;a<b;++a)c[a].created(this)},a.prototype.bind=function(a,b,c){var d=void 0,e=void 0,f=void 0,g=void 0,i=void 0;if(!c||!this._isUserControlled){if(this.isBound){if(this.bindingContext===a)return;this.unbind()}for(this.isBound=!0,this.bindingContext=a,this.overrideContext=b||(0,h.createOverrideContext)(a),this.resources._invokeHook("beforeBind",this),e=this.bindings,g=0,i=e.length;g<i;++g)e[g].bind(this);for(null!==this.viewModelScope&&(a.bind(this.viewModelScope.bindingContext,this.viewModelScope.overrideContext),this.viewModelScope=null),d=this.controllers,g=0,i=d.length;g<i;++g)d[g].bind(this);for(f=this.children,g=0,i=f.length;g<i;++g)f[g].bind(a,b,!0);this.hasSlots&&ib.distributeView(this.contentView,this.slots)}},a.prototype.addBinding=function(a){this.bindings.push(a),this.isBound&&a.bind(this)},a.prototype.unbind=function(){var a=void 0,b=void 0,c=void 0,d=void 0,e=void 0;if(this.isBound){for(this.isBound=!1,this.resources._invokeHook("beforeUnbind",this),null!==this.controller&&this.controller.unbind(),b=this.bindings,d=0,e=b.length;d<e;++d)b[d].unbind();for(a=this.controllers,d=0,e=a.length;d<e;++d)a[d].unbind();for(c=this.children,d=0,e=c.length;d<e;++d)c[d].unbind();this.bindingContext=null,this.overrideContext=null}},a.prototype.insertNodesBefore=function(a){a.parentNode.insertBefore(this.fragment,a)},a.prototype.appendNodesTo=function(a){a.appendChild(this.fragment)},a.prototype.removeNodes=function(){for(var a=this.fragment,b=this.firstChild,c=this.lastChild,d=void 0;b&&(d=b.nextSibling,a.appendChild(b),b!==c);)b=d},a.prototype.attached=function(){var a=void 0,b=void 0,c=void 0,d=void 0;if(!this.isAttached){for(this.isAttached=!0,null!==this.controller&&this.controller.attached(),a=this.controllers,c=0,d=a.length;c<d;++c)a[c].attached();for(b=this.children,c=0,d=b.length;c<d;++c)b[c].attached()}},a.prototype.detached=function(){var a=void 0,b=void 0,c=void 0,d=void 0;if(this.isAttached){for(this.isAttached=!1,null!==this.controller&&this.controller.detached(),a=this.controllers,c=0,d=a.length;c<d;++c)a[c].detached();for(b=this.children,c=0,d=b.length;c<d;++c)b[c].detached()}},a}(),lb=a.ViewSlot=function(){function a(a,b){var c=arguments.length<=2||void 0===arguments[2]?Na.instance:arguments[2];this.anchor=a,this.anchorIsContainer=b,this.bindingContext=null,this.overrideContext=null,this.animator=c,this.children=[],this.isBound=!1,this.isAttached=!1,this.contentSelectors=null,a.viewSlot=this,a.isContentProjectionSource=!1}return a.prototype.animateView=function(a){var b=arguments.length<=1||void 0===arguments[1]?"enter":arguments[1],c=q(a);if(null!==c)switch(b){case"enter":return this.animator.enter(c);case"leave":return this.animator.leave(c);default:throw new Error("Invalid animation direction: "+b)}},a.prototype.transformChildNodesIntoView=function(){var a=this.anchor;this.children.push({fragment:a,firstChild:a.firstChild,lastChild:a.lastChild,returnToCache:function(){},removeNodes:function(){for(var b=void 0;b=a.lastChild;)a.removeChild(b)},created:function(){},bind:function(){},unbind:function(){},attached:function(){},detached:function(){}})},a.prototype.bind=function(a,b){var c=void 0,d=void 0,e=void 0;if(this.isBound){if(this.bindingContext===a)return;this.unbind()}for(this.isBound=!0,this.bindingContext=a=a||this.bindingContext,this.overrideContext=b=b||this.overrideContext,e=this.children,c=0,d=e.length;c<d;++c)e[c].bind(a,b,!0)},a.prototype.unbind=function(){if(this.isBound){var a=void 0,b=void 0,c=this.children;for(this.isBound=!1,this.bindingContext=null,this.overrideContext=null,a=0,b=c.length;a<b;++a)c[a].unbind()}},a.prototype.add=function(a){if(this.anchorIsContainer?a.appendNodesTo(this.anchor):a.insertNodesBefore(this.anchor),this.children.push(a),this.isAttached)return a.attached(),this.animateView(a,"enter")},a.prototype.insert=function(a,b){var c=this.children,d=c.length;return 0===a&&0===d||a>=d?this.add(b):(b.insertNodesBefore(c[a].firstChild),c.splice(a,0,b),this.isAttached?(b.attached(),this.animateView(b,"enter")):void 0)},a.prototype.move=function(a,b){if(a!==b){var c=this.children,d=c[a];d.removeNodes(),d.insertNodesBefore(c[b].firstChild),c.splice(a,1),c.splice(b,0,d)}},a.prototype.remove=function(a,b,c){return this.removeAt(this.children.indexOf(a),b,c)},a.prototype.removeMany=function(a,b,c){var d=this,e=this.children,f=a.length,g=void 0,h=[];a.forEach(function(a){if(c)return void a.removeNodes();var b=d.animateView(a,"leave");b?h.push(b.then(function(){return a.removeNodes()})):a.removeNodes()});var i=function(){if(d.isAttached)for(g=0;g<f;++g)a[g].detached();if(b)for(g=0;g<f;++g)a[g].returnToCache();for(g=0;g<f;++g){var c=e.indexOf(a[g]);c>=0&&e.splice(c,1)}};return h.length>0?Promise.all(h).then(function(){return i()}):i()},a.prototype.removeAt=function(a,b,c){var d=this,e=this.children[a],f=function(){return a=d.children.indexOf(e),e.removeNodes(),d.children.splice(a,1),d.isAttached&&e.detached(),b&&e.returnToCache(),e};if(!c){var g=this.animateView(e,"leave");if(g)return g.then(function(){return f()})}return f()},a.prototype.removeAll=function(a,b){var c=this,d=this.children,e=d.length,f=void 0,g=[];d.forEach(function(a){if(b)return void a.removeNodes();var d=c.animateView(a,"leave");d?g.push(d.then(function(){return a.removeNodes()})):a.removeNodes()});var h=function(){if(c.isAttached)for(f=0;f<e;++f)d[f].detached();if(a)for(f=0;f<e;++f)d[f].returnToCache();c.children=[]};return g.length>0?Promise.all(g).then(function(){return h()}):h()},a.prototype.attached=function(){var a=void 0,b=void 0,c=void 0,d=void 0;if(!this.isAttached)for(this.isAttached=!0,c=this.children,a=0,b=c.length;a<b;++a)d=c[a],d.attached(),this.animateView(d,"enter")},a.prototype.detached=function(){var a=void 0,b=void 0,c=void 0;if(this.isAttached)for(this.isAttached=!1,c=this.children,a=0,b=c.length;a<b;++a)c[a].detached()},a.prototype.projectTo=function(a){var b=this;this.projectToSlots=a,this.add=this._projectionAdd,this.insert=this._projectionInsert,this.move=this._projectionMove,this.remove=this._projectionRemove,this.removeAt=this._projectionRemoveAt,this.removeMany=this._projectionRemoveMany,this.removeAll=this._projectionRemoveAll,this.children.forEach(function(c){return ib.distributeView(c,a,b)})},a.prototype._projectionAdd=function(a){ib.distributeView(a,this.projectToSlots,this),this.children.push(a),this.isAttached&&a.attached()},a.prototype._projectionInsert=function(a,b){0===a&&!this.children.length||a>=this.children.length?this.add(b):(ib.distributeView(b,this.projectToSlots,this,a),this.children.splice(a,0,b),this.isAttached&&b.attached())},a.prototype._projectionMove=function(a,b){if(a!==b){var c=this.children,d=c[a];ib.undistributeView(d,this.projectToSlots,this),ib.distributeView(d,this.projectToSlots,this,b),c.splice(a,1),c.splice(b,0,d)}},a.prototype._projectionRemove=function(a,b){ib.undistributeView(a,this.projectToSlots,this),this.children.splice(this.children.indexOf(a),1),this.isAttached&&a.detached()},a.prototype._projectionRemoveAt=function(a,b){var c=this.children[a];ib.undistributeView(c,this.projectToSlots,this),this.children.splice(a,1),this.isAttached&&c.detached()},a.prototype._projectionRemoveMany=function(a,b){var c=this;a.forEach(function(a){return c.remove(a,b)})},a.prototype._projectionRemoveAll=function(a){ib.undistributeAll(this.projectToSlots,this);var b=this.children;if(this.isAttached)for(var c=0,d=b.length;c<d;++c)b[c].detached();this.children=[]},a}(),mb=(0,g.resolver)(xa=function(){function a(){}return a.prototype.get=function(a,b){var c=b.__providerId__;return c in a?a[c]:a[c]=a.invoke(b)},a}())||xa,nb=new mb,ob=a.BoundViewFactory=function(){function a(a,b,c){this.parentContainer=a,this.viewFactory=b,this.factoryCreateInstruction={partReplacements:c}}return a.prototype.create=function(){var a=this.viewFactory.create(this.parentContainer.createChild(),this.factoryCreateInstruction);return a._isUserControlled=!0,a},a.prototype.setCacheSize=function(a,b){this.viewFactory.setCacheSize(a,b)},a.prototype.getCachedView=function(){return this.viewFactory.getCachedView()},a.prototype.returnViewToCache=function(a){this.viewFactory.returnViewToCache(a)},La(a,[{key:"isCaching",get:function(){return this.viewFactory.isCaching}}]),a}(),pb=a.ViewFactory=function(){function a(a,b,c){this.isCaching=!1,this.template=a,this.instructions=b,this.resources=c,this.cacheSize=-1,this.cache=null}return a.prototype.setCacheSize=function(a,b){a&&("*"===a?a=Number.MAX_VALUE:"string"==typeof a&&(a=parseInt(a,10))),this.cacheSize!==-1&&b||(this.cacheSize=a),this.cacheSize>0?this.cache=[]:this.cache=null,this.isCaching=this.cacheSize>0},a.prototype.getCachedView=function(){return null!==this.cache?this.cache.pop()||null:null},a.prototype.returnViewToCache=function(a){a.isAttached&&a.detached(),a.isBound&&a.unbind(),null!==this.cache&&this.cache.length<this.cacheSize&&(a.fromCache=!0,this.cache.push(a))},a.prototype.create=function(a,b,c){b=b||Wa.normal;var d=this.getCachedView();if(null!==d)return d;var e=b.enhance?this.template:this.template.cloneNode(!0),f=e.querySelectorAll(".au-target"),g=this.instructions,h=this.resources,i=[],j=[],k=[],l=Object.create(null),m={root:a},n=b.partReplacements,o=void 0,p=void 0,q=void 0,r=void 0,s=void 0;for(this.resources._invokeHook("beforeCreate",this,a,e,b),c&&null!==this.surrogateInstruction&&x(a,c,this.surrogateInstruction,i,j,k),b.enhance&&e.hasAttribute("au-target-id")&&(r=e,s=g[r.getAttribute("au-target-id")],u(m,r,s,i,j,k,l,n,h)),o=0,p=f.length;o<p;++o)r=f[o],s=g[r.getAttribute("au-target-id")],u(m,r,s,i,j,k,l,n,h);return q=new kb(a,this,e,i,j,k,l),b.initiatedByBehavior||q.created(),this.resources._invokeHook("afterCreate",q),q},a}(),qb=0,rb=0,sb=a.ViewCompiler=(ya=(0,g.inject)(db,jb),ya(za=function(){function a(a,b){this.bindingLanguage=a,this.resources=b}return a.prototype.compile=function(a,b,c){b=b||this.resources,c=c||Va.normal,a="string"==typeof a?d.DOM.createTemplateFromMarkup(a):a;var e=void 0,f=void 0,g=void 0;a.content?(f=a.getAttribute("part"),g=a.getAttribute("view-cache"),e=d.DOM.adoptNode(a.content)):e=a,c.targetShadowDOM=c.targetShadowDOM&&d.FEATURE.shadowDOM,b._invokeHook("beforeCompile",e,b,c);var h={};this._compileNode(e,b,h,a,"root",!c.targetShadowDOM);var i=e.firstChild;if(i&&1===i.nodeType){var j=i.getAttribute("au-target-id");if(j){var k=h[j];(k.shadowSlot||k.lifting)&&e.insertBefore(d.DOM.createComment("view"),i)}}var l=new pb(e,h,b);return l.surrogateInstruction=c.compileSurrogate?this._compileSurrogate(a,b):null,l.part=f,g&&l.setCacheSize(g),b._invokeHook("afterCompile",l),l},a.prototype._compileNode=function(a,b,c,e,f,g){switch(a.nodeType){case 1:return this._compileElement(a,b,c,e,f,g);case 3:var h=b.getBindingLanguage(this.bindingLanguage).inspectTextContent(b,a.wholeText);if(h){var i=d.DOM.createElement("au-marker"),j=B(i);for((a.parentNode||e).insertBefore(i,a),a.textContent=" ",c[j]=Xa.contentExpression(h);a.nextSibling&&3===a.nextSibling.nodeType;)(a.parentNode||e).removeChild(a.nextSibling)}else for(;a.nextSibling&&3===a.nextSibling.nodeType;)a=a.nextSibling;return a.nextSibling;case 11:for(var k=a.firstChild;k;)k=this._compileNode(k,b,c,a,f,g)}return a.nextSibling},a.prototype._compileSurrogate=function(a,b){var c=a.tagName.toLowerCase(),d=a.attributes,e=b.getBindingLanguage(this.bindingLanguage),f=void 0,g=void 0,h=void 0,i=void 0,j=void 0,k=void 0,l=void 0,m=void 0,n=void 0,o=void 0,p=[],q=void 0,r=[],s={},t=!1,u=[];for(i=0,j=d.length;i<j;++i)if(k=d[i],l=k.name,m=k.value,n=e.inspectAttribute(b,c,l,m),o=b.getAttribute(n.attrName),o&&(f=b.mapAttribute(n.attrName),f&&(g=o.attributes[f],g&&(n.defaultBindingMode=g.defaultBindingMode,n.command||n.expression||(n.command=g.hasOptions?"options":null)))),h=e.createAttributeInstruction(b,a,n,void 0,o))if(h.alteredAttr&&(o=b.getAttribute(h.attrName)),h.discrete)p.push(h);else if(o){if(h.type=o,z(h,b),o.liftsContent)throw new Error("You cannot place a template controller on a surrogate element.");r.push(h)}else p.push(h.attributes[h.attrName]);else if(o){if(h=Wa.attribute(l,o),h.attributes[b.mapAttribute(l)]=m,o.liftsContent)throw new Error("You cannot place a template controller on a surrogate element.");r.push(h)}else"id"!==l&&"part"!==l&&"replace-part"!==l&&(t=!0,s[l]=m);if(p.length||r.length||t){for(i=0,j=r.length;i<j;++i)h=r[i],h.type.compile(this,b,a,h),u.push(h.type.target);for(i=0,j=p.length;i<j;++i)q=p[i],void 0!==q.attrToRemove&&a.removeAttribute(q.attrToRemove);return Xa.surrogate(u,r,p,s)}return null},a.prototype._compileElement=function(a,b,c,d,e,f){var g=a.tagName.toLowerCase(),h=a.attributes,i=[],j=void 0,k=[],l=[],m=b.getBindingLanguage(this.bindingLanguage),n=void 0,o=void 0,p=void 0,q=void 0,r=void 0,s=void 0,t=void 0,u=void 0,v=void 0,w=void 0,x=void 0,A=void 0,D=void 0,E=void 0,F=void 0,G=void 0;if("slot"===g)return f&&(a=C(this,b,a,c,e)),a.nextSibling;for("template"===g?(o=this.compile(a,b),o.part=a.getAttribute("part")):(p=b.getElement(a.getAttribute("as-element")||g),p&&(q=Wa.element(a,p),p.processAttributes(this,b,a,h,q),k.push(q))),s=0,t=h.length;s<t;++s)if(u=h[s],v=u.name,w=u.value,A=m.inspectAttribute(b,g,v,w),f&&"slot"===A.attrName&&(A.attrName=v="au-slot"),p=b.getAttribute(A.attrName),
r=null,p?(E=b.mapAttribute(A.attrName),E&&(D=p.attributes[E],D&&(A.defaultBindingMode=D.defaultBindingMode,A.command||A.expression||(A.command=D.hasOptions?"options":null)))):q&&(r=q.type.attributes[A.attrName],r&&(A.defaultBindingMode=r.defaultBindingMode)),x=r?m.createAttributeInstruction(b,a,A,q):m.createAttributeInstruction(b,a,A,void 0,p))if(x.alteredAttr&&(p=b.getAttribute(x.attrName)),x.discrete)i.push(x);else if(p){if(x.type=p,z(x,b),p.liftsContent){x.originalAttrName=v,n=x;break}k.push(x)}else r?q.attributes[A.attrName].targetProperty=r.name:i.push(x.attributes[x.attrName]);else if(p){if(x=Wa.attribute(v,p),x.attributes[b.mapAttribute(v)]=w,p.liftsContent){x.originalAttrName=v,n=x;break}k.push(x)}else r&&(q.attributes[v]=w);if(n)n.viewFactory=o,a=n.type.compile(this,b,a,n,d),F=B(a),c[F]=Xa.lifting(e,n);else{if(i.length||k.length){for(G=!!k.length&&y(),s=0,t=k.length;s<t;++s)x=k[s],x.type.compile(this,b,a,x,d),l.push(x.type.target);for(s=0,t=i.length;s<t;++s)j=i[s],void 0!==j.attrToRemove&&a.removeAttribute(j.attrToRemove);F=B(a),c[F]=Xa.normal(G,e,l,k,i,q)}if(q&&q.skipContentProcessing)return a.nextSibling;for(var H=a.firstChild;H;)H=this._compileNode(H,b,c,a,G||e,f)}return a.nextSibling},a}())||za),tb=a.ResourceModule=function(){function a(a){this.id=a,this.moduleInstance=null,this.mainResource=null,this.resources=null,this.viewStrategy=null,this.isInitialized=!1,this.onLoaded=null,this.loadContext=null}return a.prototype.initialize=function(a){var b=this.mainResource,c=this.resources,d=this.viewStrategy;if(!this.isInitialized){this.isInitialized=!0,void 0!==b&&(b.metadata.viewStrategy=d,b.initialize(a));for(var e=0,f=c.length;e<f;++e)b=c[e],b.metadata.viewStrategy=d,b.initialize(a)}},a.prototype.register=function(a,b){var c=this.mainResource,d=this.resources;void 0!==c&&(c.register(a,b),b=null);for(var e=0,f=d.length;e<f;++e)d[e].register(a,b),b=null},a.prototype.load=function(a,b){if(null!==this.onLoaded)return this.loadContext===b?Promise.resolve():this.onLoaded;var c=this.mainResource,d=this.resources,e=void 0;if(void 0!==c){e=new Array(d.length+1),e[0]=c.load(a,b);for(var f=0,g=d.length;f<g;++f)e[f+1]=d[f].load(a,b)}else{e=new Array(d.length);for(var h=0,i=d.length;h<i;++h)e[h]=d[h].load(a,b)}return this.loadContext=b,this.onLoaded=Promise.all(e),this.onLoaded},a}(),ub=a.ResourceDescription=function(){function a(a,b,d){d||(d=c.metadata.get(c.metadata.resource,b),d||(d=new Db,d.elementName=l(a),c.metadata.define(c.metadata.resource,d,b))),d instanceof Db?void 0===d.elementName?d.elementName=l(a):void 0===d.attributeName?d.attributeName=l(a):null===d.attributeName&&null===d.elementName&&Db.convention(a,d):d.name||(d.name=l(a)),this.metadata=d,this.value=b}return a.prototype.initialize=function(a){this.metadata.initialize(a,this.value)},a.prototype.register=function(a,b){this.metadata.register(a,b)},a.prototype.load=function(a,b){return this.metadata.load(a,this.value,b)},a}(),vb=a.ModuleAnalyzer=function(){function a(){this.cache=Object.create(null)}return a.prototype.getAnalysis=function(a){return this.cache[a]},a.prototype.analyze=function(a,b,d){var e=void 0,g=void 0,i=void 0,j=void 0,k=void 0,m=void 0,n=[],o=void 0,p=void 0,q=void 0;if(q=this.cache[a])return q;q=new tb(a),this.cache[a]=q,"function"==typeof b&&(b={"default":b}),d&&(e=new ub(d,b[d]));for(k in b)m=b[k],k!==d&&"function"==typeof m&&(j=c.metadata.get(c.metadata.resource,m),j?(null===j.attributeName&&null===j.elementName&&Db.convention(k,j),null===j.attributeName&&null===j.elementName&&(j.elementName=l(k)),!e&&j instanceof Db&&null!==j.elementName?e=new ub(k,m,j):n.push(new ub(k,m,j))):Ya.decorates(m)?p=m:m instanceof f.TemplateRegistryEntry?p=new ab(a,m):(o=Db.convention(k))?(null===o.elementName||e?n.push(new ub(k,m,o)):e=new ub(k,m,o),c.metadata.define(c.metadata.resource,o,m)):(o=h.ValueConverterResource.convention(k)||h.BindingBehaviorResource.convention(k)||Sa.convention(k))?(n.push(new ub(k,m,o)),c.metadata.define(c.metadata.resource,o,m)):g||(g=m,i=k));return!e&&g&&(e=new ub(i,g)),q.moduleInstance=b,q.mainResource=e,q.resources=n,q.viewStrategy=p,q},a}(),wb=Ka.getLogger("templating"),xb=function(){function a(a){var b=this;a.then(function(a){return b.viewFactory=a})}return a.prototype.create=function(a,b,c,d){return this.viewFactory.create(a,b,c,d)},a.prototype.setCacheSize=function(a,b){this.viewFactory.setCacheSize(a,b)},a.prototype.getCachedView=function(){return this.viewFactory.getCachedView()},a.prototype.returnViewToCache=function(a){this.viewFactory.returnViewToCache(a)},La(a,[{key:"isCaching",get:function(){return this.viewFactory.isCaching}}]),a}(),yb=a.ViewEngine=(Aa=(0,g.inject)(f.Loader,g.Container,sb,vb,jb),Aa((Da=Ca=function(){function a(a,b,c,d,e){this.loader=a,this.container=b,this.viewCompiler=c,this.moduleAnalyzer=d,this.appResources=e,this._pluginMap={};var f=new Db;f.attributeName="au-slot",f.initialize(b,fb),f.register(e)}return a.prototype.addResourcePlugin=function(a,b){var c=a.replace(".","")+"-resource-plugin";this._pluginMap[a]=c,this.loader.addPlugin(c,b)},a.prototype.loadViewFactory=function(a,b,c,d){var e=this;return c=c||new Ua,D(this.loader,a).then(function(f){return f.onReady?c.hasDependency(a)?null===f.template?f.onReady:Promise.resolve(new xb(f.onReady)):(c.addDependency(a),f.onReady):(c.addDependency(a),f.onReady=e.loadTemplateResources(f,b,c,d).then(function(a){if(f.resources=a,null===f.template)return f.factory=null;var c=e.viewCompiler.compile(f.template,a,b);return f.factory=c}),f.onReady)})},a.prototype.loadTemplateResources=function(b,d,f,g){var h=new jb(this.appResources,b.address),i=b.dependencies,j=void 0,k=void 0;if(d=d||Va.normal,0===i.length&&!d.associatedModuleId)return Promise.resolve(h);if(j=i.map(function(a){return a.src}),k=i.map(function(a){return a.name}),wb.debug("importing resources for "+b.address,j),g){var l=c.metadata.get(a.viewModelRequireMetadataKey,g);if(l){for(var m=j.length,n=0,o=l.length;n<o;++n){var p=l[n],q="function"==typeof p?c.Origin.get(p).moduleId:(0,e.relativeToFile)(p.src||p,b.address);j.indexOf(q)===-1&&(j.push(q),k.push(p.as))}wb.debug("importing ViewModel resources for "+d.associatedModuleId,j.slice(m))}}return this.importViewResources(j,k,h,d,f)},a.prototype.importViewModelResource=function(a,b){var d=this;return this.loader.loadModule(a).then(function(e){var f=c.Origin.get(e).moduleId,g=d.moduleAnalyzer.analyze(f,e,b);if(!g.mainResource)throw new Error('No view model found in module "'+a+'".');return g.initialize(d.container),g.mainResource})},a.prototype.importViewResources=function(a,b,d,e,f){var g=this;return f=f||new Ua,e=e||Va.normal,a=a.map(function(a){return g._applyLoaderPlugin(a)}),this.loader.loadAllModules(a).then(function(a){var h=void 0,i=void 0,j=void 0,k=void 0,l=void 0,m=void 0,n=g.container,o=g.moduleAnalyzer,p=new Array(a.length);for(h=0,i=a.length;h<i;++h)l=a[h],k=c.Origin.get(l).moduleId,j=o.analyze(k,l),j.initialize(n),j.register(d,b[h]),p[h]=j;for(e.associatedModuleId&&(m=o.getAnalysis(e.associatedModuleId),m&&m.register(d)),h=0,i=p.length;h<i;++h)p[h]=p[h].load(n,f);return Promise.all(p).then(function(){return d})})},a.prototype._applyLoaderPlugin=function(a){var b=a.lastIndexOf(".");if(b!==-1){var c=a.substring(b),d=this._pluginMap[c];return void 0===d?a:this.loader.applyPluginToUrl(a,d)}return a},a}(),Ca.viewModelRequireMetadataKey="aurelia:view-model-require",Ba=Da))||Ba),zb=a.Controller=function(){function a(a,b,c,d){this.behavior=a,this.instruction=b,this.viewModel=c,this.isAttached=!1,this.view=null,this.isBound=!1,this.scope=null,this.container=d,this.elementEvents=d.elementEvents||null;var e=a.observerLocator.getOrCreateObserversLookup(c),f=a.handlesBind,g=b.attributes,h=this.boundProperties=[],i=a.properties,j=void 0,k=void 0;for(a._ensurePropertiesDefined(c,e),j=0,k=i.length;j<k;++j)i[j]._initialize(c,e,g,f,h)}return a.prototype.created=function(a){this.behavior.handlesCreated&&this.viewModel.created(a,this.view)},a.prototype.automate=function(a,b){this.view.bindingContext=this.viewModel,this.view.overrideContext=a||(0,h.createOverrideContext)(this.viewModel),this.view._isUserControlled=!0,this.behavior.handlesCreated&&this.viewModel.created(b||null,this.view),this.bind(this.view)},a.prototype.bind=function(a){var b=this.behavior.handlesBind,c=this.boundProperties,d=void 0,e=void 0,f=void 0,g=void 0,i=void 0;if(this.isBound){if(this.scope===a)return;this.unbind()}for(this.isBound=!0,this.scope=a,d=0,e=c.length;d<e;++d)f=c[d],g=f.observer,i=g.selfSubscriber,g.publishing=!1,b&&(g.selfSubscriber=null),f.binding.bind(a),g.call(),g.publishing=!0,g.selfSubscriber=i;var j=void 0;null!==this.view?(b&&(this.view.viewModelScope=a),this.viewModel===a.overrideContext.bindingContext?j=a.overrideContext:this.instruction.inheritBindingContext?j=(0,h.createOverrideContext)(this.viewModel,a.overrideContext):(j=(0,h.createOverrideContext)(this.viewModel),j.__parentOverrideContext=a.overrideContext),this.view.bind(this.viewModel,j)):b&&(j=a.overrideContext,void 0!==a.overrideContext.__parentOverrideContext&&this.viewModel.viewFactory&&this.viewModel.viewFactory.factoryCreateInstruction.partReplacements&&(j=Object.assign({},a.overrideContext),j.parentOverrideContext=a.overrideContext.__parentOverrideContext),this.viewModel.bind(a.bindingContext,j))},a.prototype.unbind=function(){if(this.isBound){var a=this.boundProperties,b=void 0,c=void 0;for(this.isBound=!1,this.scope=null,null!==this.view&&this.view.unbind(),this.behavior.handlesUnbind&&this.viewModel.unbind(),null!==this.elementEvents&&this.elementEvents.disposeAll(),b=0,c=a.length;b<c;++b)a[b].binding.unbind()}},a.prototype.attached=function(){this.isAttached||(this.isAttached=!0,this.behavior.handlesAttached&&this.viewModel.attached(),null!==this.view&&this.view.attached())},a.prototype.detached=function(){this.isAttached&&(this.isAttached=!1,null!==this.view&&this.view.detached(),this.behavior.handlesDetached&&this.viewModel.detached())},a}(),Ab=a.BehaviorPropertyObserver=(Ea=(0,h.subscriberCollection)(),Ea(Fa=function(){function a(a,b,c,d,e){this.taskQueue=a,this.obj=b,this.propertyName=c,this.notqueued=!0,this.publishing=!1,this.selfSubscriber=d,this.currentValue=this.oldValue=e}return a.prototype.getValue=function(){return this.currentValue},a.prototype.setValue=function(a){var b=this.currentValue;b!==a&&(this.oldValue=b,this.currentValue=a,this.publishing&&this.notqueued&&(this.taskQueue.flushing?this.call():(this.notqueued=!1,this.taskQueue.queueMicroTask(this))))},a.prototype.call=function(){var a=this.oldValue,b=this.currentValue;this.notqueued=!0,b!==a&&(this.selfSubscriber&&this.selfSubscriber(b,a),this.callSubscribers(b,a),this.oldValue=b)},a.prototype.subscribe=function(a,b){this.addSubscriber(a,b)},a.prototype.unsubscribe=function(a,b){this.removeSubscriber(a,b)},a}())||Fa),Bb=a.BindableProperty=function(){function a(a){"string"==typeof a?this.name=a:Object.assign(this,a),this.attribute=this.attribute||l(this.name),null!==this.defaultBindingMode&&void 0!==this.defaultBindingMode||(this.defaultBindingMode=h.bindingMode.oneWay),this.changeHandler=this.changeHandler||null,this.owner=null,this.descriptor=null}return a.prototype.registerWith=function(a,b,c){if(b.properties.push(this),b.attributes[this.attribute]=this,this.owner=b,c)return this.descriptor=c,this._configureDescriptor(b,c)},a.prototype._configureDescriptor=function(a,b){var c=this.name;return b.configurable=!0,b.enumerable=!0,"initializer"in b&&(this.defaultValue=b.initializer,delete b.initializer,delete b.writable),"value"in b&&(this.defaultValue=b.value,delete b.value,delete b.writable),b.get=function(){return E(a,this,c).getValue()},b.set=function(b){E(a,this,c).setValue(b)},b.get.getObserver=function(b){return E(a,b,c)},b},a.prototype.defineOn=function(a,b){var c=this.name,d=void 0;null===this.changeHandler&&(d=c+"Changed",d in a.prototype&&(this.changeHandler=d)),null===this.descriptor&&Object.defineProperty(a.prototype,c,this._configureDescriptor(b,{}))},a.prototype.createObserver=function(a){var b=null,c=this.defaultValue,d=this.changeHandler,e=this.name,f=void 0;if(!this.hasOptions){if(d in a)b="propertyChanged"in a?function(b,c){a[d](b,c),a.propertyChanged(e,b,c)}:function(b,c){return a[d](b,c)};else if("propertyChanged"in a)b=function(b,c){return a.propertyChanged(e,b,c)};else if(null!==d)throw new Error("Change handler "+d+" was specified but not declared on the class.");return void 0!==c&&(f="function"==typeof c?c.call(a):c),new Ab(this.owner.taskQueue,a,this.name,b,f)}},a.prototype._initialize=function(a,b,c,d,e){var f=void 0,g=void 0,h=void 0,i=this.defaultValue;if(this.isDynamic)for(var j in c)this._createDynamicProperty(a,b,d,j,c[j],e);else this.hasOptions||(g=b[this.name],null!==c&&(f=g.selfSubscriber,h=c[this.attribute],d&&(g.selfSubscriber=null),"string"==typeof h?(a[this.name]=h,g.call()):h?e.push({observer:g,binding:h.createBinding(a)}):void 0!==i&&g.call(),g.selfSubscriber=f),g.publishing=!0)},a.prototype._createDynamicProperty=function(a,b,c,d,e,f){var g=d+"Changed",h=null,i=void 0,j=void 0;g in a?h="propertyChanged"in a?function(b,c){a[g](b,c),a.propertyChanged(d,b,c)}:function(b,c){return a[g](b,c)}:"propertyChanged"in a&&(h=function(b,c){return a.propertyChanged(d,b,c)}),i=b[d]=new Ab(this.owner.taskQueue,a,d,h),Object.defineProperty(a,d,{configurable:!0,enumerable:!0,get:i.getValue.bind(i),set:i.setValue.bind(i)}),c&&(i.selfSubscriber=null),"string"==typeof e?(a[d]=e,i.call()):e&&(j={observer:i,binding:e.createBinding(a)},f.push(j)),i.publishing=!0,i.selfSubscriber=h},a}(),Cb=0,Db=a.HtmlBehaviorResource=function(){function a(){this.elementName=null,this.attributeName=null,this.attributeDefaultBindingMode=void 0,this.liftsContent=!1,this.targetShadowDOM=!1,this.shadowDOMOptions=null,this.processAttributes=H,this.processContent=G,this.usesShadowDOM=!1,this.childBindings=null,this.hasDynamicOptions=!1,this.containerless=!1,this.properties=[],this.attributes={},this.isInitialized=!1}return a.convention=function(b,c){var d=void 0;return b.endsWith("CustomAttribute")&&(d=c||new a,d.attributeName=l(b.substring(0,b.length-15))),b.endsWith("CustomElement")&&(d=c||new a,d.elementName=l(b.substring(0,b.length-13))),d},a.prototype.addChildBinding=function(a){null===this.childBindings&&(this.childBindings=[]),this.childBindings.push(a)},a.prototype.initialize=function(a,b){var c=b.prototype,e=this.properties,f=this.attributeName,g=this.attributeDefaultBindingMode,j=void 0,k=void 0,l=void 0;if(!this.isInitialized)if(this.isInitialized=!0,b.__providerId__=F(),this.observerLocator=a.get(h.ObserverLocator),this.taskQueue=a.get(i.TaskQueue),this.target=b,this.usesShadowDOM=this.targetShadowDOM&&d.FEATURE.shadowDOM,this.handlesCreated="created"in c,this.handlesBind="bind"in c,this.handlesUnbind="unbind"in c,this.handlesAttached="attached"in c,this.handlesDetached="detached"in c,this.htmlName=this.elementName||this.attributeName,null!==f)if(0===e.length&&new Bb({name:"value",changeHandler:"valueChanged"in c?"valueChanged":null,attribute:f,defaultBindingMode:g}).registerWith(b,this),l=e[0],1===e.length&&"value"===l.name)l.isDynamic=l.hasOptions=this.hasDynamicOptions,l.defineOn(b,this);else{for(j=0,k=e.length;j<k;++j)e[j].defineOn(b,this);l=new Bb({name:"value",changeHandler:"valueChanged"in c?"valueChanged":null,attribute:f,defaultBindingMode:g}),l.hasOptions=!0,l.registerWith(b,this)}else for(j=0,k=e.length;j<k;++j)e[j].defineOn(b,this)},a.prototype.register=function(a,b){null!==this.attributeName&&a.registerAttribute(b||this.attributeName,this,this.attributeName),null!==this.elementName&&a.registerElement(b||this.elementName,this)},a.prototype.load=function(a,b,d,e,f){var g=this,h=void 0;return null!==this.elementName?(e=a.get(cb).getViewStrategy(e||this.viewStrategy||b),h=new Va(this.targetShadowDOM,(!0)),e.moduleId||(e.moduleId=c.Origin.get(b).moduleId),e.loadViewFactory(a.get(yb),h,d,b).then(function(a){return f&&g.viewFactory||(g.viewFactory=a),a})):Promise.resolve(this)},a.prototype.compile=function(a,b,c,e,f){if(this.liftsContent){if(!e.viewFactory){var g=d.DOM.createElement("template"),h=d.DOM.createDocumentFragment(),i=c.getAttribute("view-cache"),j=c.getAttribute("part");c.removeAttribute(e.originalAttrName),d.DOM.replaceNode(g,c,f),h.appendChild(c),e.viewFactory=a.compile(h,b),j&&(e.viewFactory.part=j,c.removeAttribute("part")),i&&(e.viewFactory.setCacheSize(i),c.removeAttribute("view-cache")),c=g}}else if(null!==this.elementName){var k={};if(this.processContent(a,b,c,e)&&c.hasChildNodes()){for(var l=c.firstChild,n=this.usesShadowDOM?null:d.DOM.createElement("au-content"),o=void 0,p=void 0;l;)o=l.nextSibling,"TEMPLATE"===l.tagName&&(p=l.getAttribute("replace-part"))?(k[p]=a.compile(l,b),d.DOM.removeNode(l,f),e.partReplacements=k):null!==n&&(3===l.nodeType&&m(l)?d.DOM.removeNode(l,f):n.appendChild(l)),l=o;null!==n&&n.hasChildNodes()&&c.appendChild(n),e.skipContentProcessing=!1}else e.skipContentProcessing=!0}return c},a.prototype.create=function(a,b,c,e){var f=void 0,g=null;b=b||Wa.normal,c=c||null,e=e||null,null!==this.elementName&&c&&(this.usesShadowDOM?(f=c.attachShadow(this.shadowDOMOptions),a.registerInstance(d.DOM.boundary,f)):(f=c,this.targetShadowDOM&&a.registerInstance(d.DOM.boundary,f))),null!==c&&(c.au=g=c.au||{});var h=b.viewModel||a.get(this.target),i=new zb(this,b,h,a),j=this.childBindings,k=void 0;if(this.liftsContent)g.controller=i;else if(null!==this.elementName){if(k=b.viewFactory||this.viewFactory,a.viewModel=h,k&&(i.view=k.create(a,b,c)),null!==c){if(g.controller=i,i.view){if(!this.usesShadowDOM&&(1===c.childNodes.length||c.contentElement)){var l=c.childNodes[0]||c.contentElement;i.view.contentView={fragment:l},l.parentNode&&d.DOM.removeNode(l)}if(b.anchorIsContainer){if(null!==j)for(var m=0,n=j.length;m<n;++m)i.view.addBinding(j[m].create(c,h,i));i.view.appendNodesTo(f)}else i.view.insertNodesBefore(f)}else if(null!==j)for(var o=0,p=j.length;o<p;++o)e.push(j[o].create(c,h,i))}else if(i.view){if(i.view.controller=i,null!==j)for(var q=0,r=j.length;q<r;++q)i.view.addBinding(j[q].create(b.host,h,i))}else if(null!==j)for(var s=0,t=j.length;s<t;++s)e.push(j[s].create(b.host,h,i))}else if(null!==j)for(var u=0,v=j.length;u<v;++u)e.push(j[u].create(c,h,i));return null!==g&&(g[this.htmlName]=i),b.initiatedByBehavior&&k&&i.view.created(),i},a.prototype._ensurePropertiesDefined=function(a,b){var c=void 0,d=void 0,e=void 0,f=void 0;if(!("__propertiesDefined__"in b))for(b.__propertiesDefined__=!0,c=this.properties,d=0,e=c.length;d<e;++d)f=c[d].createObserver(a),void 0!==f&&(b[f.propertyName]=f)},a}(),Eb=function(){function a(a){this.name=a.name,this.changeHandler=a.changeHandler||this.name+"Changed",this.selector=a.selector,this.all=a.all}return a.prototype.create=function(a,b,c){return new Gb(this.selector,a,this.name,b,c,this.changeHandler,this.all)},a}(),Fb=[],Gb=function(){function a(a,b,c,d,e,f,g){this.selector=a,this.viewHost=b,this.property=c,this.viewModel=d,this.controller=e,this.changeHandler=f in d?f:null,this.usesShadowDOM=e.behavior.usesShadowDOM,this.all=g,!this.usesShadowDOM&&e.view&&e.view.contentView?this.contentView=e.view.contentView:this.contentView=null}return a.prototype.matches=function(a){if(a.matches(this.selector)){if(null===this.contentView)return!0;var b=this.contentView,c=a.auAssignedSlot;if(c&&c.projectFromAnchors){for(var d=c.projectFromAnchors,e=0,f=d.length;e<f;++e)if(d[e].auOwnerView===b)return!0;return!1}return a.auOwnerView===b}return!1},a.prototype.bind=function(a){var b=this.viewHost,c=this.viewModel,e=b.__childObserver__;if(!e){e=b.__childObserver__=d.DOM.createMutationObserver(M);var f={childList:!0,subtree:!this.usesShadowDOM};e.observe(b,f),e.binders=[]}if(e.binders.push(this),this.usesShadowDOM){var g=b.firstElementChild;if(this.all){var h=c[this.property];for(h?h.length=0:h=c[this.property]=[];g;)this.matches(g)&&h.push(g.au&&g.au.controller?g.au.controller.viewModel:g),g=g.nextElementSibling;null!==this.changeHandler&&this.viewModel[this.changeHandler](Fb)}else for(;g;){if(this.matches(g)){var i=g.au&&g.au.controller?g.au.controller.viewModel:g;this.viewModel[this.property]=i,null!==this.changeHandler&&this.viewModel[this.changeHandler](i);break}g=g.nextElementSibling}}},a.prototype.onRemove=function(a){if(this.matches(a)){var b=a.au&&a.au.controller?a.au.controller.viewModel:a;if(this.all){var c=this.viewModel[this.property]||(this.viewModel[this.property]=[]),d=c.indexOf(b);return d!==-1&&c.splice(d,1),!0}return!1}return!1},a.prototype.onAdd=function(a){if(this.matches(a)){var b=a.au&&a.au.controller?a.au.controller.viewModel:a;if(this.all){for(var c=this.viewModel[this.property]||(this.viewModel[this.property]=[]),d=0,e=a.previousElementSibling;e;)this.matches(e)&&d++,e=e.previousElementSibling;return c.splice(d,0,b),!0}this.viewModel[this.property]=b,null!==this.changeHandler&&this.viewModel[this.changeHandler](b)}return!1},a.prototype.unbind=function(){this.viewHost.__childObserver__&&(this.viewHost.__childObserver__.disconnect(),this.viewHost.__childObserver__=null)},a}(),Hb=a.CompositionEngine=(Ga=(0,g.inject)(yb,cb),Ga(Ha=function(){function a(a,b){this.viewEngine=a,this.viewLocator=b}return a.prototype._createControllerAndSwap=function(a){function b(b){return Promise.resolve(a.viewSlot.removeAll(!0)).then(function(){return a.currentController&&a.currentController.unbind(),a.viewSlot.add(b.view),a.compositionTransactionNotifier&&a.compositionTransactionNotifier.done(),b})}return this.createController(a).then(function(c){return c.automate(a.overrideContext,a.owningView),a.compositionTransactionOwnershipToken?a.compositionTransactionOwnershipToken.waitForCompositionComplete().then(function(){return b(c)}):b(c)})},a.prototype.createController=function(a){var b=this,c=void 0,d=void 0,e=void 0,f=void 0;return this.ensureViewModel(a).then(N).then(function(){c=a.childContainer,d=a.viewModel,e=a.viewModelResource,f=e.metadata;var g=b.viewLocator.getViewStrategy(a.view||d);return a.viewResources&&g.makeRelativeTo(a.viewResources.viewUrl),f.load(c,e.value,null,g,!0)}).then(function(b){return f.create(c,Wa.dynamic(a.host,d,b))})},a.prototype.ensureViewModel=function(a){var b=a.childContainer=a.childContainer||a.container.createChild();if("string"==typeof a.viewModel)return a.viewModel=a.viewResources?a.viewResources.relativeToView(a.viewModel):a.viewModel,this.viewEngine.importViewModelResource(a.viewModel).then(function(c){return b.autoRegister(c.value),a.host&&b.registerInstance(d.DOM.Element,a.host),a.viewModel=b.viewModel=b.get(c.value),a.viewModelResource=c,a});var e=c.metadata.getOrCreateOwn(c.metadata.resource,Db,a.viewModel.constructor);return e.elementName=e.elementName||"dynamic-element",e.initialize(a.container||b,a.viewModel.constructor),a.viewModelResource={metadata:e,value:a.viewModel.constructor},b.viewModel=a.viewModel,Promise.resolve(a)},a.prototype.compose=function(a){a.childContainer=a.childContainer||a.container.createChild(),a.view=this.viewLocator.getViewStrategy(a.view);var b=a.childContainer.get(Qa),c=b.tryCapture();return c?a.compositionTransactionOwnershipToken=c:a.compositionTransactionNotifier=b.enlist(),a.viewModel?this._createControllerAndSwap(a):a.view?(a.viewResources&&a.view.makeRelativeTo(a.viewResources.viewUrl),a.view.loadViewFactory(this.viewEngine,new Va).then(function(b){var c=b.create(a.childContainer);c.bind(a.bindingContext,a.overrideContext);var d=function(){return Promise.resolve(a.viewSlot.removeAll(!0)).then(function(){return a.viewSlot.add(c),a.compositionTransactionNotifier&&a.compositionTransactionNotifier.done(),c})};return a.compositionTransactionOwnershipToken?a.compositionTransactionOwnershipToken.waitForCompositionComplete().then(d):d()})):a.viewSlot?(a.viewSlot.removeAll(),a.compositionTransactionNotifier&&a.compositionTransactionNotifier.done(),Promise.resolve(null)):Promise.resolve(null)},a}())||Ha),Ib=a.ElementConfigResource=function(){function a(){}return a.prototype.initialize=function(a,b){},a.prototype.register=function(a,b){},a.prototype.load=function(a,b){var c=new b,d=a.get(h.EventManager);d.registerElementConfig(c)},a}(),Jb={mode:"open"};a.TemplatingEngine=(Ia=(0,g.inject)(g.Container,vb,sb,Hb),Ia(Ja=function(){function a(a,b,c,d){this._container=a,this._moduleAnalyzer=b,this._viewCompiler=c,this._compositionEngine=d,a.registerInstance(Na,Na.instance=new Na)}return a.prototype.configureAnimator=function(a){this._container.unregister(Na),this._container.registerInstance(Na,Na.instance=a)},a.prototype.compose=function(a){return this._compositionEngine.compose(a)},a.prototype.enhance=function(a){a instanceof d.DOM.Element&&(a={element:a});var b={},c=a.resources||this._container.get(jb);this._viewCompiler._compileNode(a.element,c,b,a.element.parentNode,"root",!0);var e=new pb(a.element,b,c),f=a.container||this._container.createChild(),g=e.create(f,Wa.enhance());return g.bind(a.bindingContext||{},a.overrideContext),g},a}())||Ja)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating@1.1.1.js",["npm:aurelia-templating@1.1.1/aurelia-templating"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-path@1.1.1/aurelia-path.js",["exports"],function(a){"use strict";function b(a){for(var b=0;b<a.length;++b){var c=a[b];if("."===c)a.splice(b,1),b-=1;else if(".."===c){if(0===b||1===b&&".."===a[2]||".."===a[b-1])continue;b>0&&(a.splice(b-1,2),b-=2)}}}function c(a,c){var d=c&&c.split("/"),e=a.trim().split("/");if("."===e[0].charAt(0)&&d){var f=d.slice(0,d.length-1);e.unshift.apply(e,f)}return b(e),e.join("/")}function d(a,b){if(!a)return b;if(!b)return a;var c=a.match(/^([^\/]*?:)\//),d=c&&c.length>0?c[1]:"";a=a.substr(d.length);var e=void 0;e=0===a.indexOf("///")&&"file:"===d?"///":0===a.indexOf("//")?"//":0===a.indexOf("/")?"/":"";for(var f="/"===b.slice(-1)?"/":"",g=a.split("/"),h=b.split("/"),i=[],j=0,k=g.length;j<k;++j)if(".."===g[j])i.pop();else{if("."===g[j]||""===g[j])continue;i.push(g[j])}for(var l=0,m=h.length;l<m;++l)if(".."===h[l])i.pop();else{if("."===h[l]||""===h[l])continue;i.push(h[l])}return d+e+i.join("/")+f}function e(a,b,c){var d=[];if(null===b||void 0===b)return d;if(Array.isArray(b))for(var f=0,g=b.length;f<g;f++)if(c)d.push(l(a)+"="+k(b[f]));else{var h=a+"["+("object"===j(b[f])&&null!==b[f]?f:"")+"]";d=d.concat(e(h,b[f]))}else if("object"!==("undefined"==typeof b?"undefined":j(b))||c)d.push(l(a)+"="+k(b));else for(var i in b)d=d.concat(e(a+"["+i+"]",b[i]));return d}function f(a,b){for(var c=[],d=Object.keys(a||{}).sort(),f=0,g=d.length;f<g;f++){var h=d[f];c=c.concat(e(h,a[h],b))}return 0===c.length?"":c.join("&")}function g(a,b){return Array.isArray(a)?(a.push(b),a):void 0!==a?[a,b]:b}function h(a,b,c){for(var d=a,e=b.length-1,f=0;f<=e;f++){var g=""===b[f]?d.length:b[f];if(f<e){var h=d[g]&&"object"!==j(d[g])?[d[g]]:d[g];d=d[g]=h||(isNaN(b[f+1])?{}:[])}else d=d[g]=c}}function i(a){var b={};if(!a||"string"!=typeof a)return b;var c=a;"?"===c.charAt(0)&&(c=c.substr(1));for(var d=c.replace(/\+/g," ").split("&"),e=0;e<d.length;e++){var f=d[e].split("="),i=decodeURIComponent(f[0]);if(i){var j=i.split("]["),k=j.length-1;if(/\[/.test(j[0])&&/\]$/.test(j[k])?(j[k]=j[k].replace(/\]$/,""),j=j.shift().split("[").concat(j),k=j.length-1):k=0,f.length>=2){var l=f[1]?decodeURIComponent(f[1]):"";k?h(b,j,l):b[i]=g(b[i],l)}else b[i]=!0}}return b}Object.defineProperty(a,"__esModule",{value:!0}),a.relativeToFile=c,a.join=d,a.buildQueryString=f,a.parseQueryString=i;var j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},k=encodeURIComponent,l=function(a){return k(a).replace("%24","$")}})}(),function(){var a=System.amdDefine;a("npm:aurelia-path@1.1.1.js",["npm:aurelia-path@1.1.1/aurelia-path"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-route-recognizer@1.1.0/aurelia-route-recognizer.js",["exports","aurelia-path"],function(a,b){"use strict";function c(a,b,c,d){var e=a;"/"===a.charAt(0)&&(e=a.substr(1));for(var f=[],g=e.split("/"),h=0,i=g.length;h<i;++h){var j=g[h],o=j.match(/^:([^?]+)(\?)?$/);if(o){var p=o,q=p[1],r=p[2];if(q.indexOf("=")!==-1)throw new Error("Parameter "+q+" in route "+a+" has a default value, which is not supported.");f.push(new l(q,(!!r))),b.push(q),c.dynamics++}else o=j.match(/^\*(.+)$/),o?(f.push(new m(o[1])),b.push(o[1]),c.stars++):""===j?f.push(new n):(f.push(new k(j,d)),c.statics++)}return f}function d(a){return a.sort(function(a,b){if(a.types.stars!==b.types.stars)return a.types.stars-b.types.stars;if(a.types.stars){if(a.types.statics!==b.types.statics)return b.types.statics-a.types.statics;if(a.types.dynamics!==b.types.dynamics)return b.types.dynamics-a.types.dynamics}return a.types.dynamics!==b.types.dynamics?a.types.dynamics-b.types.dynamics:a.types.statics!==b.types.statics?b.types.statics-a.types.statics:0})}function e(a,b){for(var c=[],d=0,e=a.length;d<e;d++){var f=a[d];c.push.apply(c,f.match(b))}for(var g=c.filter(function(a){return a.epsilon}),h=function(){var a=[];g.forEach(function(b){c.push.apply(c,b.epsilon),a.push.apply(a,b.epsilon)}),g=a.filter(function(a){return a.epsilon})};g.length>0;)h();return c}function f(a,b,c){for(var d=a.handlers,e=a.regex,f=b.match(e),g=1,h=new o(c),i=0,j=d.length;i<j;i++){for(var k=d[i],l=k.names,m={},n=0,p=l.length;n<p;n++)m[l[n]]=f[g++];h.push({handler:k.handler,params:m,isDynamic:!!l.length})}return h}function g(a,b){var c=a.put({validChars:"/"});return b.eachChar(function(a){c=c.put(a)}),b.optional&&(a.epsilon=a.epsilon||[],a.epsilon.push(c)),c}Object.defineProperty(a,"__esModule",{value:!0}),a.RouteRecognizer=a.EpsilonSegment=a.StarSegment=a.DynamicSegment=a.StaticSegment=a.State=void 0;var h=a.State=function(){function a(a){this.charSpec=a,this.nextStates=[]}return a.prototype.get=function(a){for(var b=this.nextStates,c=Array.isArray(b),d=0,b=c?b:b[Symbol.iterator]();;){var e;if(c){if(d>=b.length)break;e=b[d++]}else{if(d=b.next(),d.done)break;e=d.value}var f=e,g=f.charSpec.validChars===a.validChars&&f.charSpec.invalidChars===a.invalidChars;if(g)return f}},a.prototype.put=function(b){var c=this.get(b);return c?c:(c=new a(b),this.nextStates.push(c),b.repeat&&c.nextStates.push(c),c)},a.prototype.match=function(a){for(var b=this.nextStates,c=[],d=0,e=b.length;d<e;d++){var f=b[d],g=f.charSpec;void 0!==g.validChars?g.validChars.indexOf(a)!==-1&&c.push(f):void 0!==g.invalidChars&&g.invalidChars.indexOf(a)===-1&&c.push(f)}return c},a}(),i=["/",".","*","+","?","|","(",")","[","]","{","}","\\"],j=new RegExp("(\\"+i.join("|\\")+")","g"),k=a.StaticSegment=function(){function a(a,b){this.string=a,this.caseSensitive=b}return a.prototype.eachChar=function(a){for(var b=this.string,c=0,d=b.length;c<d;++c){var e=b[c];a({validChars:this.caseSensitive?e:e.toUpperCase()+e.toLowerCase()})}},a.prototype.regex=function(){return this.string.replace(j,"\\$1")},a.prototype.generate=function(){return this.string},a}(),l=a.DynamicSegment=function(){function a(a,b){this.name=a,this.optional=b}return a.prototype.eachChar=function(a){a({invalidChars:"/",repeat:!0})},a.prototype.regex=function(){return this.optional?"([^/]+)?":"([^/]+)"},a.prototype.generate=function(a,b){return b[this.name]=!0,a[this.name]},a}(),m=a.StarSegment=function(){function a(a){this.name=a}return a.prototype.eachChar=function(a){a({invalidChars:"",repeat:!0})},a.prototype.regex=function(){return"(.+)"},a.prototype.generate=function(a,b){return b[this.name]=!0,a[this.name]},a}(),n=a.EpsilonSegment=function(){function a(){}return a.prototype.eachChar=function(){},a.prototype.regex=function(){return""},a.prototype.generate=function(){return""},a}(),o=(a.RouteRecognizer=function(){function a(){this.rootState=new h,this.names={}}return a.prototype.add=function(a){var b=this;if(Array.isArray(a))return void a.forEach(function(a){return b.add(a)});for(var d=this.rootState,e="^",f={statics:0,dynamics:0,stars:0},h=[],i=a.handler.name,j=!0,k=!0,l=c(a.path,h,f,a.caseSensitive),m=0,o=l.length;m<o;m++){
var p=l[m];p instanceof n||(j=!1,k=k&&p.optional,d=g(d,p),e+=p.optional?"/?":"/",e+=p.regex())}if(k)if(j)d=d.put({validChars:"/"}),e+="/";else{var q=this.rootState.put({validChars:"/"});d.epsilon=[q],d=q}var r=[{handler:a.handler,names:h}];if(i)for(var s=Array.isArray(i)?i:[i],t=0;t<s.length;t++)this.names[s[t]]={segments:l,handlers:r};return d.handlers=r,d.regex=new RegExp(e+"$",a.caseSensitive?"":"i"),d.types=f,d},a.prototype.handlersFor=function(a){var b=this.names[a];if(!b)throw new Error("There is no route named "+a);return[].concat(b.handlers)},a.prototype.hasRoute=function(a){return!!this.names[a]},a.prototype.generate=function(a,c){var d=this.names[a];if(!d)throw new Error("There is no route named "+a);var e=d.handlers[0].handler;if(e.generationUsesHref)return e.href;for(var f=Object.assign({},c),g=d.segments,h={},i="",j=0,k=g.length;j<k;j++){var l=g[j];if(!(l instanceof n)){var m=l.generate(f,h);if(null===m||void 0===m){if(!l.optional)throw new Error("A value is required for route parameter '"+l.name+"' in route '"+a+"'.")}else i+="/",i+=m}}"/"!==i.charAt(0)&&(i="/"+i);for(var o in h)delete f[o];var p=(0,b.buildQueryString)(f);return i+=p?"?"+p:""},a.prototype.recognize=function(a){var c=[this.rootState],g={},h=!1,i=a,j=i.indexOf("?");if(j!==-1){var k=i.substr(j+1,i.length);i=i.substr(0,j),g=(0,b.parseQueryString)(k)}i=decodeURI(i),"/"!==i.charAt(0)&&(i="/"+i);var l=i.length;l>1&&"/"===i.charAt(l-1)&&(i=i.substr(0,l-1),h=!0);for(var m=0,n=i.length;m<n&&(c=e(c,i.charAt(m)),c.length);m++);for(var o=[],p=0,q=c.length;p<q;p++)c[p].handlers&&o.push(c[p]);c=d(o);var r=o[0];if(r&&r.handlers)return h&&"(.+)$"===r.regex.source.slice(-5)&&(i+="/"),f(r,i,g)},a}(),function(a){this.splice=Array.prototype.splice,this.slice=Array.prototype.slice,this.push=Array.prototype.push,this.length=0,this.queryParams=a||{}})})}(),function(){var a=System.amdDefine;a("npm:aurelia-route-recognizer@1.1.0.js",["npm:aurelia-route-recognizer@1.1.0/aurelia-route-recognizer"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-metadata@1.0.3/aurelia-metadata.js",["exports","aurelia-pal"],function(a,b){"use strict";function c(a){return a&&("function"==typeof a||"object"===("undefined"==typeof a?"undefined":n(a)))}function d(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];var d=function(a,c,d){var e=b.length;if(c){for(d=d||{value:a[c],writable:!0,configurable:!0,enumerable:!0};e--;)d=b[e](a,c,d)||d;Object.defineProperty(a,c,d)}else for(;e--;)a=b[e](a)||a;return a};return d.on=d,d}function e(a,b,c){function d(c,d,e){var f=c.constructor.name+"#"+d,g=b?{}:a||{},h="DEPRECATION - "+f;if("function"!=typeof e.value)throw new SyntaxError("Only methods can be marked as deprecated.");return g.message&&(h+=" - "+g.message),m({},e,{value:function(){if(g.error)throw new Error(h);return console.warn(h),e.value.apply(this,arguments)}})}return b?d(a,b,c):d}function f(a){function b(b){var d=function(b){for(var d="function"==typeof b?b.prototype:b,e=c.length;e--;){var f=c[e];Object.defineProperty(d,f,{value:a[f],writable:!0})}};return b?d(b):d}var c=Object.keys(a);return b}function g(){return!0}function h(){}function i(a){return void 0===a?a={}:"function"==typeof a&&(a={validate:a}),a.validate||(a.validate=g),a.compose||(a.compose=h),a}function j(a){return function(b){var c=a(b);return c===!0}}function k(a,b){return function(c){var d=b(c);if(d!==!0)throw new Error(d||a+" was not correctly implemented.")}}function l(a,b){b=i(b);var c=function d(c){var e="function"==typeof c?c.prototype:c;b.compose(e),d.assert(e),Object.defineProperty(e,"protocol:"+a,{enumerable:!1,configurable:!1,writable:!1,value:!0})};return c.validate=j(b.validate),c.assert=k(a,b.validate),c}Object.defineProperty(a,"__esModule",{value:!0}),a.Origin=a.metadata=void 0,a.decorators=d,a.deprecated=e,a.mixin=f,a.protocol=l;var m=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a},n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},o=a.metadata={resource:"aurelia:resource",paramTypes:"design:paramtypes",propertyType:"design:type",properties:"design:properties",get:function(a,b,d){if(c(b)){var e=o.getOwn(a,b,d);return void 0===e?o.get(a,Object.getPrototypeOf(b),d):e}},getOwn:function(a,b,d){if(c(b))return Reflect.getOwnMetadata(a,b,d)},define:function(a,b,c,d){Reflect.defineMetadata(a,b,c,d)},getOrCreateOwn:function(a,b,c,d){var e=o.getOwn(a,c,d);return void 0===e&&(e=new b,Reflect.defineMetadata(a,e,c,d)),e}},p=new Map,q=Object.freeze({moduleId:void 0,moduleMember:void 0});a.Origin=function(){function a(a,b){this.moduleId=a,this.moduleMember=b}return a.get=function(c){var d=p.get(c);return void 0===d&&b.PLATFORM.eachModule(function(b,e){if("object"===("undefined"==typeof e?"undefined":n(e)))for(var f in e){var g=e[f];if(g===c)return p.set(c,d=new a(b,f)),!0}return e===c&&(p.set(c,d=new a(b,"default")),!0)}),d||q},a.set=function(a,b){p.set(a,b)},a}();l.create=function(a,b){b=i(b);var c="protocol:"+a,d=function(c){var d=l(a,b);return c?d(c):d};return d.decorates=function(a){return a[c]===!0},d.validate=j(b.validate),d.assert=k(a,b.validate),d}})}(),function(){var a=System.amdDefine;a("npm:aurelia-metadata@1.0.3.js",["npm:aurelia-metadata@1.0.3/aurelia-metadata"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-dependency-injection@1.3.1/aurelia-dependency-injection.js",["exports","aurelia-metadata","aurelia-pal"],function(a,b,c){"use strict";function d(a,c){var d=a.inject;if("function"==typeof d)throw new Error("Decorator "+c+' cannot be used with "inject()". Please use an array instead.');return d||(d=b.metadata.getOwn(b.metadata.paramTypes,a).slice(),a.inject=d),d}function e(a){return function(b,c,e){var f=d(b,"lazy");f[e]=K.of(a)}}function f(a){return function(b,c,e){var f=d(b,"all");f[e]=L.of(a)}}function g(){var a=arguments.length<=0||void 0===arguments[0]||arguments[0],b=function(a){return function(b,c,e){var f=d(b,"optional");f[e]=M.of(f[e],a)}};return b("boolean"==typeof a?a:!0)}function h(a,b,c){var e=d(a,"parent");e[c]=N.of(e[c])}function i(a,b){return function(c,e,f){var g=d(c,"factory"),h=P.of(a);g[f]=b?h.as(b):h}}function j(a){for(var b=arguments.length,c=Array(b>1?b-1:0),e=1;e<b;e++)c[e-1]=arguments[e];var f=function(a){return function(b,e,f){var g=d(b,"newInstance");g[f]=Q.of.apply(Q,[g[f]].concat(c)),a&&g[f].as(a)}};return arguments.length>=1?f(a):f()}function k(a){return function(c){b.metadata.define(b.metadata.invoker,a,c)}}function l(a){var c=function(a){b.metadata.define(b.metadata.invoker,R.instance,a)};return a?c(a):c}function m(a){return function(c){b.metadata.define(b.metadata.registration,a,c)}}function n(a){return m(new S(a))}function o(a){var b=!(arguments.length<=1||void 0===arguments[1])&&arguments[1];return m(new T(a,b))}function p(a){if(null===a||void 0===a)throw new Error("key/value cannot be null or undefined. Are you trying to inject/register something that doesn't exist with DI?")}function q(a,b,c,d){for(var e=c.length,f=new Array(e);e--;)f[e]=a.get(c[e]);return void 0!==d&&(f=f.concat(d)),Reflect.construct(b,f)}function r(a){return a.hasOwnProperty("inject")?"function"==typeof a.inject?a.inject():a.inject:[]}function s(a){var c=function(a){var c=a.inject?a.inject.slice():null,d=b.metadata.getOwn(b.metadata.paramTypes,a)||U;if(c){for(var e=0;e<d.length;e++)if(c[e]&&c[e]!==d[e]){var f=c.indexOf(d[e]);f>-1&&c.splice(f,1),c.splice(f>-1&&f<e?e-1:e,0,d[e])}else c[e]||(c[e]=d[e]);a.inject=c}else a.inject=d};return a?c(a):c}function t(){for(var a=arguments.length,c=Array(a),d=0;d<a;d++)c[d]=arguments[d];return function(a,d,e){if("number"==typeof e&&1===c.length){var f=a.inject;if("function"==typeof f)throw new Error('Decorator inject cannot be used with "inject()". Please use an array instead.');return f||(f=b.metadata.getOwn(b.metadata.paramTypes,a).slice(),a.inject=f),void(f[e]=c[0])}if(e){var g=e.value;g.inject=c}else a.inject=c}}Object.defineProperty(a,"__esModule",{value:!0}),a.Container=a.InvocationHandler=a._emptyParameters=a.SingletonRegistration=a.TransientRegistration=a.FactoryInvoker=a.NewInstance=a.Factory=a.StrategyResolver=a.Parent=a.Optional=a.All=a.Lazy=a.resolver=void 0,a.getDecoratorDependencies=d,a.lazy=e,a.all=f,a.optional=g,a.parent=h,a.factory=i,a.newInstance=j,a.invoker=k,a.invokeAsFactory=l,a.registration=m,a["transient"]=n,a.singleton=o,a.autoinject=s,a.inject=t;var u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J=a.resolver=b.protocol.create("aurelia:resolver",function(a){return"function"==typeof a.get||"Resolvers must implement: get(container: Container, key: any): any"}),K=a.Lazy=(u=J(),u(v=function(){function a(a){this._key=a}return a.prototype.get=function(a){var b=this;return function(){return a.get(b._key)}},a.of=function(b){return new a(b)},a}())||v),L=a.All=(w=J(),w(x=function(){function a(a){this._key=a}return a.prototype.get=function(a){return a.getAll(this._key)},a.of=function(b){return new a(b)},a}())||x),M=a.Optional=(y=J(),y(z=function(){function a(a){var b=arguments.length<=1||void 0===arguments[1]||arguments[1];this._key=a,this._checkParent=b}return a.prototype.get=function(a){return a.hasResolver(this._key,this._checkParent)?a.get(this._key):null},a.of=function(b){var c=arguments.length<=1||void 0===arguments[1]||arguments[1];return new a(b,c)},a}())||z),N=a.Parent=(A=J(),A(B=function(){function a(a){this._key=a}return a.prototype.get=function(a){return a.parent?a.parent.get(this._key):null},a.of=function(b){return new a(b)},a}())||B),O=a.StrategyResolver=(C=J(),C(D=function(){function a(a,b){this.strategy=a,this.state=b}return a.prototype.get=function(a,b){switch(this.strategy){case 0:return this.state;case 1:var c=a.invoke(this.state);return this.state=c,this.strategy=0,c;case 2:return a.invoke(this.state);case 3:return this.state(a,b,this);case 4:return this.state[0].get(a,b);case 5:return a.get(this.state);default:throw new Error("Invalid strategy: "+this.strategy)}},a}())||D),P=a.Factory=(E=J(),E(F=function(){function a(a){this._key=a}return a.prototype.get=function(a){var b=this;return function(){for(var c=arguments.length,d=Array(c),e=0;e<c;e++)d[e]=arguments[e];return a.invoke(b._key,d)}},a.of=function(b){return new a(b)},a}())||F),Q=a.NewInstance=(G=J(),G(H=function(){function a(a){this.key=a,this.asKey=a;for(var b=arguments.length,c=Array(b>1?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];this.dynamicDependencies=c}return a.prototype.get=function(a){var b=this.dynamicDependencies.length>0?this.dynamicDependencies.map(function(b){return b["protocol:aurelia:resolver"]?b.get(a):a.get(b)}):void 0,c=a.invoke(this.key,b);return a.registerInstance(this.asKey,c),c},a.prototype.as=function(a){return this.asKey=a,this},a.of=function(b){for(var c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];return new(Function.prototype.bind.apply(a,[null].concat([b],d)))},a}())||H),R=a.FactoryInvoker=function(){function a(){}return a.prototype.invoke=function(a,b,c){for(var d=c.length,e=new Array(d);d--;)e[d]=a.get(c[d]);return b.apply(void 0,e)},a.prototype.invokeWithDynamicDependencies=function(a,b,c,d){for(var e=c.length,f=new Array(e);e--;)f[e]=a.get(c[e]);return void 0!==d&&(f=f.concat(d)),b.apply(void 0,f)},a}();R.instance=new R;var S=a.TransientRegistration=function(){function a(a){this._key=a}return a.prototype.registerResolver=function(a,b,c){var d=a.getResolver(this._key||b);return void 0===d?a.registerTransient(this._key||b,c):d},a}(),T=a.SingletonRegistration=function(){function a(a){var b=!(arguments.length<=1||void 0===arguments[1])&&arguments[1];"boolean"==typeof a?this._registerInChild=a:(this._key=a,this._registerInChild=b)}return a.prototype.registerResolver=function(a,b,c){var d=this._registerInChild?a:a.root,e=d.getResolver(this._key||b);return void 0===e?d.registerSingleton(this._key||b,c):e},a}(),U=a._emptyParameters=Object.freeze([]);b.metadata.registration="aurelia:registration",b.metadata.invoker="aurelia:invoker";var V=J.decorates,W=a.InvocationHandler=function(){function a(a,b,c){this.fn=a,this.invoker=b,this.dependencies=c}return a.prototype.invoke=function(a,b){return void 0!==b?this.invoker.invokeWithDynamicDependencies(a,this.fn,this.dependencies,b):this.invoker.invoke(a,this.fn,this.dependencies)},a}(),X=(I={},I[0]={invoke:function(a,b){return new b},invokeWithDynamicDependencies:q},I[1]={invoke:function(a,b,c){return new b(a.get(c[0]))},invokeWithDynamicDependencies:q},I[2]={invoke:function(a,b,c){return new b(a.get(c[0]),a.get(c[1]))},invokeWithDynamicDependencies:q},I[3]={invoke:function(a,b,c){return new b(a.get(c[0]),a.get(c[1]),a.get(c[2]))},invokeWithDynamicDependencies:q},I[4]={invoke:function(a,b,c){return new b(a.get(c[0]),a.get(c[1]),a.get(c[2]),a.get(c[3]))},invokeWithDynamicDependencies:q},I[5]={invoke:function(a,b,c){return new b(a.get(c[0]),a.get(c[1]),a.get(c[2]),a.get(c[3]),a.get(c[4]))},invokeWithDynamicDependencies:q},I.fallback={invoke:q,invokeWithDynamicDependencies:q},I);a.Container=function(){function a(a){void 0===a&&(a={}),this._configuration=a,this._onHandlerCreated=a.onHandlerCreated,this._handlers=a.handlers||(a.handlers=new Map),this._resolvers=new Map,this.root=this,this.parent=null}return a.prototype.makeGlobal=function(){return a.instance=this,this},a.prototype.setHandlerCreatedCallback=function(a){this._onHandlerCreated=a,this._configuration.onHandlerCreated=a},a.prototype.registerInstance=function(a,b){return this.registerResolver(a,new O(0,void 0===b?a:b))},a.prototype.registerSingleton=function(a,b){return this.registerResolver(a,new O(1,void 0===b?a:b))},a.prototype.registerTransient=function(a,b){return this.registerResolver(a,new O(2,void 0===b?a:b))},a.prototype.registerHandler=function(a,b){return this.registerResolver(a,new O(3,b))},a.prototype.registerAlias=function(a,b){return this.registerResolver(b,new O(5,a))},a.prototype.registerResolver=function(a,b){p(a);var c=this._resolvers,d=c.get(a);return void 0===d?c.set(a,b):4===d.strategy?d.state.push(b):c.set(a,new O(4,[d,b])),b},a.prototype.autoRegister=function(a,c){if(c=void 0===c?a:c,"function"==typeof c){var d=b.metadata.get(b.metadata.registration,c);return void 0===d?this.registerResolver(a,new O(1,c)):d.registerResolver(this,a,c)}return this.registerResolver(a,new O(0,c))},a.prototype.autoRegisterAll=function(a){for(var b=a.length;b--;)this.autoRegister(a[b])},a.prototype.unregister=function(a){this._resolvers["delete"](a)},a.prototype.hasResolver=function(a){var b=!(arguments.length<=1||void 0===arguments[1])&&arguments[1];return p(a),this._resolvers.has(a)||b&&null!==this.parent&&this.parent.hasResolver(a,b)},a.prototype.getResolver=function(a){return this._resolvers.get(a)},a.prototype.get=function(c){if(p(c),c===a)return this;if(V(c))return c.get(this,c);var d=this._resolvers.get(c);if(void 0===d){if(null===this.parent)return this.autoRegister(c).get(this,c);var e=b.metadata.get(b.metadata.registration,c);return void 0===e?this.parent._get(c):e.registerResolver(this,c,c).get(this,c)}return d.get(this,c)},a.prototype._get=function(a){var b=this._resolvers.get(a);return void 0===b?null===this.parent?this.autoRegister(a).get(this,a):this.parent._get(a):b.get(this,a)},a.prototype.getAll=function(a){p(a);var b=this._resolvers.get(a);if(void 0===b)return null===this.parent?U:this.parent.getAll(a);if(4===b.strategy){for(var c=b.state,d=c.length,e=new Array(d);d--;)e[d]=c[d].get(this,a);return e}return[b.get(this,a)]},a.prototype.createChild=function(){var b=new a(this._configuration);return b.root=this.root,b.parent=this,b},a.prototype.invoke=function(a,b){try{var d=this._handlers.get(a);return void 0===d&&(d=this._createInvocationHandler(a),this._handlers.set(a,d)),d.invoke(this,b)}catch(e){throw new c.AggregateError("Error invoking "+a.name+". Check the inner error for details.",e,(!0))}},a.prototype._createInvocationHandler=function(a){var c=void 0;if(void 0===a.inject)c=b.metadata.getOwn(b.metadata.paramTypes,a)||U;else{c=[];for(var d=a;"function"==typeof d;){var e;(e=c).push.apply(e,r(d)),d=Object.getPrototypeOf(d)}}var f=b.metadata.getOwn(b.metadata.invoker,a)||X[c.length]||X.fallback,g=new W(a,f,c);return void 0!==this._onHandlerCreated?this._onHandlerCreated(g):g},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-dependency-injection@1.3.1.js",["npm:aurelia-dependency-injection@1.3.1/aurelia-dependency-injection"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-history@1.0.0/aurelia-history.js",["exports"],function(a){"use strict";function b(a){throw new Error("History must implement "+a+"().")}Object.defineProperty(a,"__esModule",{value:!0});a.History=function(){function a(){}return a.prototype.activate=function(a){b("activate")},a.prototype.deactivate=function(){b("deactivate")},a.prototype.getAbsoluteRoot=function(){b("getAbsoluteRoot")},a.prototype.navigate=function(a,c){b("navigate")},a.prototype.navigateBack=function(){b("navigateBack")},a.prototype.setTitle=function(a){b("setTitle")},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-history@1.0.0.js",["npm:aurelia-history@1.0.0/aurelia-history"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-event-aggregator@1.0.1/aurelia-event-aggregator.js",["exports","aurelia-logging"],function(a,b){"use strict";function c(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function d(a,b,c){try{a(b,c)}catch(d){i.error(d)}}function e(a,b){try{a.handle(b)}catch(c){i.error(c)}}function f(a){var b=new k;return a.subscribeOnce=function(a,c){return b.subscribeOnce(a,c)},a.subscribe=function(a,c){return b.subscribe(a,c)},a.publish=function(a,c){b.publish(a,c)},b}function g(a){a.instance(k,f(a.aurelia))}Object.defineProperty(a,"__esModule",{value:!0}),a.EventAggregator=void 0,a.includeEventsIn=f,a.configure=g;var h=c(b),i=h.getLogger("event-aggregator"),j=function(){function a(a,b){this.messageType=a,this.callback=b}return a.prototype.handle=function(a){a instanceof this.messageType&&this.callback.call(null,a)},a}(),k=a.EventAggregator=function(){function a(){this.eventLookup={},this.messageHandlers=[]}return a.prototype.publish=function(a,b){var c=void 0,f=void 0;if(!a)throw new Error("Event was invalid.");if("string"==typeof a){if(c=this.eventLookup[a])for(c=c.slice(),f=c.length;f--;)d(c[f],b,a)}else for(c=this.messageHandlers.slice(),f=c.length;f--;)e(c[f],a)},a.prototype.subscribe=function(a,b){var c=void 0,d=void 0;if(!a)throw new Error("Event channel/type was invalid.");return"string"==typeof a?(c=b,d=this.eventLookup[a]||(this.eventLookup[a]=[])):(c=new j(a,b),d=this.messageHandlers),d.push(c),{dispose:function(){var a=d.indexOf(c);a!==-1&&d.splice(a,1)}}},a.prototype.subscribeOnce=function(a,b){var c=this.subscribe(a,function(a,d){return c.dispose(),b(a,d)});return c},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-event-aggregator@1.0.1.js",["npm:aurelia-event-aggregator@1.0.1/aurelia-event-aggregator"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-router@1.3.0/aurelia-router.js",["exports","aurelia-logging","aurelia-route-recognizer","aurelia-dependency-injection","aurelia-history","aurelia-event-aggregator"],function(a,b,c,d,e,f){"use strict";function g(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function h(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function i(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function j(a,b){var c=!(arguments.length<=2||void 0===arguments[2])&&arguments[2];return b||"#"===a[0]||(a="#"+a),b&&c&&(a=a.substring(1,a.length)),a}function k(a,b,c,d){if(M.test(a))return a;var e="";return b.length&&"/"!==b[0]&&(e+="/"),e+=b,e.length&&"/"===e[e.length-1]||"/"===a[0]||(e+="/"),e.length&&"/"===e[e.length-1]&&"/"===a[0]&&(e=e.substring(0,e.length-1)),j(e+a,c,d)}function l(a,b,c){return L.test(a)?j(a,c):k(a,b,c)}function m(a,b){return function(a){return Promise.resolve({status:b,output:a,completed:b===N.completed})}}function n(a){a.previousInstruction=null,a.plan=null}function o(a){return a&&"function"==typeof a.navigate}function p(a,b){var c=a.previousInstruction,d=a.config,e={};if("redirect"in d){var f=l(d.redirect,r(a));return a.queryString&&(f+="?"+a.queryString),Promise.reject(new S(f))}if(c){var g=q(c,a),h=[],i=function(f){var i=c.viewPortInstructions[f],j=d.viewPorts[f];if(!j)throw new Error('Invalid Route Config: Configuration for viewPort "'+f+'" was not found for route: "'+a.config.route+'."');var k=e[f]={name:f,config:j,prevComponent:i.component,prevModuleId:i.moduleId};if(i.moduleId!==j.moduleId)k.strategy=U.replace;else if("determineActivationStrategy"in i.component.viewModel){var l;k.strategy=(l=i.component.viewModel).determineActivationStrategy.apply(l,a.lifecycleArgs)}else d.activationStrategy?k.strategy=d.activationStrategy:g||b?k.strategy=U.invokeLifecycle:k.strategy=U.noChange;if(k.strategy!==U.replace&&i.childRouter){var m=a.getWildcardPath(),n=i.childRouter._createNavigationInstruction(m,a).then(function(a){return k.childNavigationInstruction=a,p(a,k.strategy===U.invokeLifecycle).then(function(b){a.plan=b})});h.push(n)}};for(var j in c.viewPortInstructions)i(j);return Promise.all(h).then(function(){return e})}for(var k in d.viewPorts)e[k]={name:k,strategy:U.replace,config:a.config.viewPorts[k]};return Promise.resolve(e)}function q(a,b){var c=a.params,d=b.params,e=b.config.hasChildRouter?b.getWildCardName():null;for(var f in d)if(f!==e&&c[f]!==d[f])return!0;for(var g in c)if(g!==e&&c[g]!==d[g])return!0;if(!b.options.compareQueryParams)return!1;var h=a.queryParams,i=b.queryParams;for(var j in i)if(h[j]!==i[j])return!0;for(var k in h)if(h[k]!==i[k])return!0;return!1}function r(a){var b=[];for(a=a.parentInstruction;a;)b.unshift(a.getBaseUrl()),a=a.parentInstruction;return b.unshift("/"),b.join("")}function s(a,b){if("object"!==("undefined"==typeof a?"undefined":J(a)))throw new Error("Invalid Route Config");if("string"!=typeof a.route){var c=a.name||"(no name)";throw new Error('Invalid Route Config for "'+c+'": You must specify a "route:" pattern.')}if(!("redirect"in a||a.moduleId||a.navigationStrategy||a.viewPorts))throw new Error('Invalid Route Config for "'+a.route+'": You must specify a "moduleId:", "redirect:", "navigationStrategy:", or "viewPorts:".')}function t(a,b,c){return Promise.resolve(b.call(c,a)).then(function(){return"viewPorts"in a.config||(a.config.viewPorts={"default":{moduleId:a.config.moduleId}}),a})}function u(a,b,c,d){function e(a){return d||z(a)?f():c.cancel(a)}function f(){if(h--)try{var a=g[h],d=a[b]();return A(d,e,c.cancel)}catch(f){return c.cancel(f)}return c()}var g=v(a,b),h=g.length;return f()}function v(a,b){var c=arguments.length<=2||void 0===arguments[2]?[]:arguments[2];for(var d in a){var e=a[d],f=e.prevComponent;if((e.strategy===U.invokeLifecycle||e.strategy===U.replace)&&f){var g=f.viewModel;b in g&&c.push(g)}e.childNavigationInstruction?v(e.childNavigationInstruction.plan,b,c):f&&w(f,b,c)}return c}function w(a,b,c){var d=a.childRouter;if(d&&d.currentInstruction){var e=d.currentInstruction.viewPortInstructions;for(var f in e){var g=e[f],h=g.component,i=h.viewModel;b in i&&c.push(i),w(h,b,c)}}}function x(a,b,c,d){function e(a,b){return d||z(a,b)?f():c.cancel(a)}function f(){if(i++,i<h)try{var a=function(){var a,d=g[i],f=(a=d.viewModel)[b].apply(a,d.lifecycleArgs);return{v:A(f,function(a){return e(a,d.router)},c.cancel)}}();if("object"===("undefined"==typeof a?"undefined":J(a)))return a.v}catch(d){return c.cancel(d)}return c()}var g=y(a,b),h=g.length,i=-1;return f()}function y(a,b){var c=arguments.length<=2||void 0===arguments[2]?[]:arguments[2],d=arguments[3],e=a.plan;return Object.keys(e).filter(function(f){var g=e[f],h=a.viewPortInstructions[f],i=h.component.viewModel;(g.strategy===U.invokeLifecycle||g.strategy===U.replace)&&b in i&&c.push({viewModel:i,lifecycleArgs:h.lifecycleArgs,router:d}),g.childNavigationInstruction&&y(g.childNavigationInstruction,b,c,h.component.childRouter||d)}),c}function z(a,b){return!(a instanceof Error)&&(o(a)?("function"==typeof a.setRouter&&a.setRouter(b),!!a.shouldContinueProcessing):void 0===a||a)}function A(a,b,c){if(a&&"function"==typeof a.then)return Promise.resolve(a).then(b)["catch"](c);if(a&&"function"==typeof a.subscribe){var d=function(){var d=a;return{v:new _(function(e){return d.subscribe({next:function(){e.subscribed&&(e.unsubscribe(),b(a))},error:function(a){e.subscribed&&(e.unsubscribe(),c(a))},complete:function(){e.subscribed&&(e.unsubscribe(),b(a))}})})}}();if("object"===("undefined"==typeof d?"undefined":J(d)))return d.v}try{return b(a)}catch(e){return c(e)}}function B(a,b){var c=C(b),d=c.map(function(b){return D(a,b.navigationInstruction,b.viewPortPlan)});return Promise.all(d)}function C(a){var b=arguments.length<=1||void 0===arguments[1]?[]:arguments[1],c=a.plan;for(var d in c){var e=c[d];if(e.strategy===U.replace)b.push({viewPortPlan:e,navigationInstruction:a}),e.childNavigationInstruction&&C(e.childNavigationInstruction,b);else{var f=a.addViewPortInstruction(d,e.strategy,e.prevModuleId,e.prevComponent);e.childNavigationInstruction&&(f.childNavigationInstruction=e.childNavigationInstruction,C(e.childNavigationInstruction,b))}}return b}function D(a,b,c){var d=c.config.moduleId;return E(a,b,c.config).then(function(e){var f=b.addViewPortInstruction(c.name,c.strategy,d,e),g=e.childRouter;if(g){var h=b.getWildcardPath();return g._createNavigationInstruction(h,b).then(function(b){return c.childNavigationInstruction=b,p(b).then(function(c){return b.plan=c,f.childNavigationInstruction=b,B(a,b)})})}})}function E(a,b,c){var d=b.router,e=b.lifecycleArgs;return a.loadRoute(d,c,b).then(function(a){var b=a.viewModel,f=a.childContainer;if(a.router=d,a.config=c,"configureRouter"in b){var g=function(){var c=f.getChildRouter();return a.childRouter=c,{v:c.configure(function(a){return b.configureRouter.apply(b,[a,c].concat(e))}).then(function(){return a})}}();if("object"===("undefined"==typeof g?"undefined":J(g)))return g.v}return a})}function F(a,b,c,d){b&&"completed"in b&&"output"in b||(b=b||{},b.output=new Error("Expected router pipeline to return a navigation result, but got ["+JSON.stringify(b)+"] instead."));var e=null;return o(b.output)?b.output.navigate(d):(e=b,b.completed||(b.output instanceof Error&&ea.error(b.output),H(d))),d._dequeueInstruction(c+1).then(function(a){return e||a||b})}function G(a,b,c,d){a.resolve(b);var e={instruction:a,result:b};if(c)d.events.publish("router:navigation:child:complete",e);else{d.isNavigating=!1,d.isExplicitNavigation=!1,d.isExplicitNavigationBack=!1;var f=void 0;if(b.output instanceof Error)f="error";else if(b.completed){var g=a.queryString?"?"+a.queryString:"";d.history.previousLocation=a.fragment+g,f="success"}else f="canceled";d.events.publish("router:navigation:"+f,e),d.events.publish("router:navigation:complete",e)}return b}function H(a){var b=a.history.previousLocation;b?a.navigate(a.history.previousLocation,{trigger:!1,replace:!0}):a.fallbackRoute?a.navigate(a.fallbackRoute,{trigger:!0,replace:!0}):ea.error("Router navigation failed, and no previous location or fallbackRoute could be restored.")}Object.defineProperty(a,"__esModule",{value:!0}),a.AppRouter=a.PipelineProvider=a.LoadRouteStep=a.RouteLoader=a.ActivateNextStep=a.DeactivatePreviousStep=a.CanActivateNextStep=a.CanDeactivatePreviousStep=a.Router=a.BuildNavigationPlanStep=a.activationStrategy=a.RouterConfiguration=a.RedirectToRoute=a.Redirect=a.NavModel=a.NavigationInstruction=a.CommitChangesStep=a.Pipeline=a.pipelineStatus=void 0,a._normalizeAbsolutePath=j,a._createRootedPath=k,a._resolveUrl=l,a.isNavigationCommand=o,a._buildNavigationPlan=p;var I=g(b),J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},K=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),L=/^#?\//,M=/^([a-z][a-z0-9+\-.]*:)?\/\//i,N=a.pipelineStatus={completed:"completed",canceled:"canceled",rejected:"rejected",running:"running"},O=a.Pipeline=function(){function a(){this.steps=[]}return a.prototype.addStep=function(a){var b=void 0;if("function"==typeof a)b=a;else{if("function"==typeof a.getSteps){for(var c=a.getSteps(),d=0,e=c.length;d<e;d++)this.addStep(c[d]);return this}b=a.run.bind(a)}return this.steps.push(b),this},a.prototype.run=function(a){function b(){if(c++,!(c<d.length))return b.complete();var e=d[c];try{return e(a,b)}catch(f){return b.reject(f)}}var c=-1,d=this.steps;return b.complete=m(b,N.completed),b.cancel=m(b,N.canceled),b.reject=m(b,N.rejected),b()},a}(),P=a.CommitChangesStep=function(){function a(){}return a.prototype.run=function(a,b){return a._commitChanges(!0).then(function(){return a._updateTitle(),b()})},a}(),Q=a.NavigationInstruction=function(){function a(a){this.plan=null,this.options={},Object.assign(this,a),this.params=this.params||{},this.viewPortInstructions={};var b=[],c=this;do{var d=Object.assign({},c.params);c.config&&c.config.hasChildRouter&&delete d[c.getWildCardName()],b.unshift(d),c=c.parentInstruction}while(c);var e=Object.assign.apply(Object,[{},this.queryParams].concat(b));this.lifecycleArgs=[e,this.config,this]}return a.prototype.getAllInstructions=function(){var a=[this];for(var b in this.viewPortInstructions){var c=this.viewPortInstructions[b].childNavigationInstruction;c&&a.push.apply(a,c.getAllInstructions())}return a},a.prototype.getAllPreviousInstructions=function(){return this.getAllInstructions().map(function(a){return a.previousInstruction}).filter(function(a){return a})},a.prototype.addViewPortInstruction=function(a,b,c,d){var e=Object.assign({},this.lifecycleArgs[1],{currentViewPort:a}),f=this.viewPortInstructions[a]={name:a,strategy:b,moduleId:c,component:d,childRouter:d.childRouter,lifecycleArgs:[].concat(this.lifecycleArgs[0],e,this.lifecycleArgs[2])};return f},a.prototype.getWildCardName=function(){var a=this.config.route.lastIndexOf("*");return this.config.route.substr(a+1)},a.prototype.getWildcardPath=function(){var a=this.getWildCardName(),b=this.params[a]||"";return this.queryString&&(b+="?"+this.queryString),b},a.prototype.getBaseUrl=function(){var a=this,b=this.fragment;if(""===b){var c=this.router.routes.find(function(b){return b.name===a.config.name&&""!==b.route});c&&(b=c.route)}if(!this.params)return b;var d=this.getWildCardName(),e=this.params[d]||"";return e?(e=encodeURI(e),b.substr(0,b.lastIndexOf(e))):b},a.prototype._commitChanges=function(a){var b=this,c=this.router;c.currentInstruction=this,this.previousInstruction&&(this.previousInstruction.config.navModel.isActive=!1),this.config.navModel.isActive=!0,c._refreshBaseUrl(),c.refreshNavigation();var d=[],e=[],f=function(f){var g=b.viewPortInstructions[f],h=c.viewPorts[f];if(!h)throw new Error("There was no router-view found in the view for "+g.moduleId+".");g.strategy===U.replace?(a&&e.push({viewPort:h,viewPortInstruction:g}),d.push(h.process(g,a).then(function(a){if(g.childNavigationInstruction)return g.childNavigationInstruction._commitChanges()}))):g.childNavigationInstruction&&d.push(g.childNavigationInstruction._commitChanges(a))};for(var g in this.viewPortInstructions)f(g);
-return Promise.all(d).then(function(){return e.forEach(function(a){return a.viewPort.swap(a.viewPortInstruction)}),null}).then(function(){return n(b)})},a.prototype._updateTitle=function(){var a=this._buildTitle();a&&this.router.history.setTitle(a)},a.prototype._buildTitle=function(){var a=arguments.length<=0||void 0===arguments[0]?" | ":arguments[0],b="",c=[];this.config.navModel.title&&(b=this.router.transformTitle(this.config.navModel.title));for(var d in this.viewPortInstructions){var e=this.viewPortInstructions[d];if(e.childNavigationInstruction){var f=e.childNavigationInstruction._buildTitle(a);f&&c.push(f)}}return c.length&&(b=c.join(a)+(b?a:"")+b),this.router.title&&(b+=(b?a:"")+this.router.transformTitle(this.router.title)),b},a}(),R=a.NavModel=function(){function a(a,b){this.isActive=!1,this.title=null,this.href=null,this.relativeHref=null,this.settings={},this.config=null,this.router=a,this.relativeHref=b}return a.prototype.setTitle=function(a){this.title=a,this.isActive&&this.router.updateTitle()},a}(),S=a.Redirect=function(){function a(a){var b=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];this.url=a,this.options=Object.assign({trigger:!0,replace:!0},b),this.shouldContinueProcessing=!1}return a.prototype.setRouter=function(a){this.router=a},a.prototype.navigate=function(a){var b=this.options.useAppRouter?a:this.router||a;b.navigate(this.url,this.options)},a}(),T=(a.RedirectToRoute=function(){function a(a){var b=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],c=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];this.route=a,this.params=b,this.options=Object.assign({trigger:!0,replace:!0},c),this.shouldContinueProcessing=!1}return a.prototype.setRouter=function(a){this.router=a},a.prototype.navigate=function(a){var b=this.options.useAppRouter?a:this.router||a;b.navigateToRoute(this.route,this.params,this.options)},a}(),a.RouterConfiguration=function(){function a(){this.instructions=[],this.options={},this.pipelineSteps=[]}return a.prototype.addPipelineStep=function(a,b){return this.pipelineSteps.push({name:a,step:b}),this},a.prototype.addAuthorizeStep=function(a){return this.addPipelineStep("authorize",a)},a.prototype.addPreActivateStep=function(a){return this.addPipelineStep("preActivate",a)},a.prototype.addPreRenderStep=function(a){return this.addPipelineStep("preRender",a)},a.prototype.addPostRenderStep=function(a){return this.addPipelineStep("postRender",a)},a.prototype.fallbackRoute=function(a){return this._fallbackRoute=a,this},a.prototype.map=function(a){return Array.isArray(a)?(a.forEach(this.map.bind(this)),this):this.mapRoute(a)},a.prototype.mapRoute=function(a){return this.instructions.push(function(b){var c=[];if(Array.isArray(a.route))for(var d=0,e=a.route.length;d<e;++d){var f=Object.assign({},a);f.route=a.route[d],c.push(f)}else c.push(Object.assign({},a));for(var g=void 0,h=0,i=c.length;h<i;++h){var j=c[h];j.settings=j.settings||{},g||(g=b.createNavModel(j)),b.addRoute(j,g)}}),this},a.prototype.mapUnknownRoutes=function(a){return this.unknownRouteConfig=a,this},a.prototype.exportToRouter=function(a){for(var b=this.instructions,c=0,d=b.length;c<d;++c)b[c](a);this.title&&(a.title=this.title),this.unknownRouteConfig&&a.handleUnknownRoutes(this.unknownRouteConfig),this._fallbackRoute&&(a.fallbackRoute=this._fallbackRoute),a.options=this.options;var e=this.pipelineSteps;if(e.length){if(!a.isRoot)throw new Error("Pipeline steps can only be added to the root router");for(var f=a.pipelineProvider,g=0,h=e.length;g<h;++g){var i=e[g],j=i.name,k=i.step;f.addStep(j,k)}}},a}()),U=a.activationStrategy={noChange:"no-change",invokeLifecycle:"invoke-lifecycle",replace:"replace"},V=a.BuildNavigationPlanStep=function(){function a(){}return a.prototype.run=function(a,b){return p(a).then(function(c){return a.plan=c,b()})["catch"](b.cancel)},a}(),W=a.Router=function(){function a(a,b){var c=this;this.parent=null,this.options={},this.transformTitle=function(a){return c.parent?c.parent.transformTitle(a):a},this.container=a,this.history=b,this.reset()}return a.prototype.reset=function(){var a=this;this.viewPorts={},this.routes=[],this.baseUrl="",this.isConfigured=!1,this.isNavigating=!1,this.isExplicitNavigation=!1,this.isExplicitNavigationBack=!1,this.navigation=[],this.currentInstruction=null,this._fallbackOrder=100,this._recognizer=new c.RouteRecognizer,this._childRecognizer=new c.RouteRecognizer,this._configuredPromise=new Promise(function(b){a._resolveConfiguredPromise=b})},a.prototype.registerViewPort=function(a,b){b=b||"default",this.viewPorts[b]=a},a.prototype.ensureConfigured=function(){return this._configuredPromise},a.prototype.configure=function(a){var b=this;this.isConfigured=!0;var c=a,d=void 0;return"function"==typeof a&&(d=new T,c=a(d)),Promise.resolve(c).then(function(a){a&&a.exportToRouter&&(d=a),d.exportToRouter(b),b.isConfigured=!0,b._resolveConfiguredPromise()})},a.prototype.navigate=function(a,b){return!this.isConfigured&&this.parent?this.parent.navigate(a,b):(this.isExplicitNavigation=!0,this.history.navigate(l(a,this.baseUrl,this.history._hasPushState),b))},a.prototype.navigateToRoute=function(a,b,c){var d=this.generate(a,b);return this.navigate(d,c)},a.prototype.navigateBack=function(){this.isExplicitNavigationBack=!0,this.history.navigateBack()},a.prototype.createChild=function(b){var c=new a(b||this.container.createChild(),this.history);return c.parent=this,c},a.prototype.generate=function(a,b){var c=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],d=this._recognizer.hasRoute(a);if((!this.isConfigured||!d)&&this.parent)return this.parent.generate(a,b);if(!d)throw new Error("A route with name '"+a+"' could not be found. Check that `name: '"+a+"'` was specified in the route's config.");var e=this._recognizer.generate(a,b),f=k(e,this.baseUrl,this.history._hasPushState,c.absolute);return c.absolute?""+this.history.getAbsoluteRoot()+f:f},a.prototype.createNavModel=function(a){var b=new R(this,"href"in a?a.href:a.route);return b.title=a.title,b.order=a.nav,b.href=a.href,b.settings=a.settings,b.config=a,b},a.prototype.addRoute=function(a,b){s(a,this.routes),"viewPorts"in a||a.navigationStrategy||(a.viewPorts={"default":{moduleId:a.moduleId,view:a.view}}),b||(b=this.createNavModel(a)),this.routes.push(a);var c=a.route;"/"===c.charAt(0)&&(c=c.substr(1));var d=a.caseSensitive===!0,e=this._recognizer.add({path:c,handler:a,caseSensitive:d});if(c){var f=a.settings;delete a.settings;var g=JSON.parse(JSON.stringify(a));a.settings=f,g.route=c+"/*childRoute",g.hasChildRouter=!0,this._childRecognizer.add({path:g.route,handler:g,caseSensitive:d}),g.navModel=b,g.settings=a.settings,g.navigationStrategy=a.navigationStrategy}if(a.navModel=b,(b.order||0===b.order)&&this.navigation.indexOf(b)===-1){if(!b.href&&""!==b.href&&(e.types.dynamics||e.types.stars))throw new Error('Invalid route config for "'+a.route+'" : dynamic routes must specify an "href:" to be included in the navigation model.');"number"!=typeof b.order&&(b.order=++this._fallbackOrder),this.navigation.push(b),this.navigation=this.navigation.sort(function(a,b){return a.order-b.order})}},a.prototype.hasRoute=function(a){return!!(this._recognizer.hasRoute(a)||this.parent&&this.parent.hasRoute(a))},a.prototype.hasOwnRoute=function(a){return this._recognizer.hasRoute(a)},a.prototype.handleUnknownRoutes=function(a){var b=this;if(!a)throw new Error("Invalid unknown route handler");this.catchAllHandler=function(c){return b._createRouteConfig(a,c).then(function(a){return c.config=a,c})}},a.prototype.updateTitle=function(){return this.parent?this.parent.updateTitle():void(this.currentInstruction&&this.currentInstruction._updateTitle())},a.prototype.refreshNavigation=function(){for(var a=this.navigation,b=0,c=a.length;b<c;b++){var d=a[b];d.config.href?d.href=j(d.config.href,this.history._hasPushState):d.href=k(d.relativeHref,this.baseUrl,this.history._hasPushState)}},a.prototype._refreshBaseUrl=function(){if(this.parent){var a=this.parent.currentInstruction.getBaseUrl();this.baseUrl=this.parent.baseUrl+a}},a.prototype._createNavigationInstruction=function(){var a=arguments.length<=0||void 0===arguments[0]?"":arguments[0],b=arguments.length<=1||void 0===arguments[1]?null:arguments[1],c=a,d="",e=a.indexOf("?");e!==-1&&(c=a.substr(0,e),d=a.substr(e+1));var f=this._recognizer.recognize(a);f&&f.length||(f=this._childRecognizer.recognize(a));var g={fragment:c,queryString:d,config:null,parentInstruction:b,previousInstruction:this.currentInstruction,router:this,options:{compareQueryParams:this.options.compareQueryParams}};if(f&&f.length){var h=f[0],i=new Q(Object.assign({},g,{params:h.params,queryParams:h.queryParams||f.queryParams,config:h.config||h.handler}));return"function"==typeof h.handler?t(i,h.handler,h):h.handler&&"function"==typeof h.handler.navigationStrategy?t(i,h.handler.navigationStrategy,h.handler):Promise.resolve(i)}if(this.catchAllHandler){var j=new Q(Object.assign({},g,{params:{path:c},queryParams:f&&f.queryParams,config:null}));return t(j,this.catchAllHandler)}return Promise.reject(new Error("Route not found: "+a))},a.prototype._createRouteConfig=function(a,b){var c=this;return Promise.resolve(a).then(function(a){return"string"==typeof a?{moduleId:a}:"function"==typeof a?a(b):a}).then(function(a){return"string"==typeof a?{moduleId:a}:a}).then(function(a){return a.route=b.params.path,s(a,c.routes),a.navModel||(a.navModel=c.createNavModel(a)),a})},K(a,[{key:"isRoot",get:function(){return!this.parent}}]),a}(),X=a.CanDeactivatePreviousStep=function(){function a(){}return a.prototype.run=function(a,b){return u(a.plan,"canDeactivate",b)},a}(),Y=a.CanActivateNextStep=function(){function a(){}return a.prototype.run=function(a,b){return x(a,"canActivate",b)},a}(),Z=a.DeactivatePreviousStep=function(){function a(){}return a.prototype.run=function(a,b){return u(a.plan,"deactivate",b,!0)},a}(),$=a.ActivateNextStep=function(){function a(){}return a.prototype.run=function(a,b){return x(a,"activate",b,!0)},a}(),_=function(){function a(a){this._subscribed=!0,this._subscription=a(this),this._subscribed||this.unsubscribe()}return a.prototype.unsubscribe=function(){this._subscribed&&this._subscription&&this._subscription.unsubscribe(),this._subscribed=!1},K(a,[{key:"subscribed",get:function(){return this._subscribed}}]),a}(),aa=a.RouteLoader=function(){function a(){}return a.prototype.loadRoute=function(a,b,c){throw Error('Route loaders must implement "loadRoute(router, config, navigationInstruction)".')},a}(),ba=a.LoadRouteStep=function(){function a(a){this.routeLoader=a}return a.inject=function(){return[aa]},a.prototype.run=function(a,b){return B(this.routeLoader,a).then(b)["catch"](b.cancel)},a}(),ca=function(){function a(a,b,c){this.steps=[],this.container=a,this.slotName=b,this.slotAlias=c}return a.prototype.getSteps=function(){var a=this;return this.steps.map(function(b){return a.container.get(b)})},a}(),da=a.PipelineProvider=function(){function a(a){this.container=a,this.steps=[V,X,ba,this._createPipelineSlot("authorize"),Y,this._createPipelineSlot("preActivate","modelbind"),Z,$,this._createPipelineSlot("preRender","precommit"),P,this._createPipelineSlot("postRender","postcomplete")]}return a.inject=function(){return[d.Container]},a.prototype.createPipeline=function(){var a=this,b=new O;return this.steps.forEach(function(c){return b.addStep(a.container.get(c))}),b},a.prototype._findStep=function(a){return this.steps.find(function(b){return b.slotName===a||b.slotAlias===a})},a.prototype.addStep=function(a,b){var c=this._findStep(a);if(!c)throw new Error("Invalid pipeline slot name: "+a+".");c.steps.includes(b)||c.steps.push(b)},a.prototype.removeStep=function(a,b){var c=this._findStep(a);c&&c.steps.splice(c.steps.indexOf(b),1)},a.prototype._clearSteps=function(){var a=arguments.length<=0||void 0===arguments[0]?"":arguments[0],b=this._findStep(a);b&&(b.steps=[])},a.prototype.reset=function(){this._clearSteps("authorize"),this._clearSteps("preActivate"),this._clearSteps("preRender"),this._clearSteps("postRender")},a.prototype._createPipelineSlot=function(a,b){return new ca(this.container,a,b)},a}(),ea=I.getLogger("app-router");a.AppRouter=function(a){function b(b,c,d,e){var f=h(this,a.call(this,b,c));return f.pipelineProvider=d,f.events=e,f}return i(b,a),b.inject=function(){return[d.Container,e.History,da,f.EventAggregator]},b.prototype.reset=function(){a.prototype.reset.call(this),this.maxInstructionCount=10,this._queue?this._queue.length=0:this._queue=[]},b.prototype.loadUrl=function(a){var b=this;return this._createNavigationInstruction(a).then(function(a){return b._queueInstruction(a)})["catch"](function(a){ea.error(a),H(b)})},b.prototype.registerViewPort=function(b,c){var d=this;if(a.prototype.registerViewPort.call(this,b,c),this.isActive)this._dequeueInstruction();else{var e=function(){var a=d._findViewModel(b);if("configureRouter"in a){if(!d.isConfigured){var c=function(){var b=d._resolveConfiguredPromise;return d._resolveConfiguredPromise=function(){},{v:{v:d.configure(function(b){return a.configureRouter(b,d)}).then(function(){d.activate(),b()})}}}();if("object"===("undefined"==typeof c?"undefined":J(c)))return c.v}}else d.activate()}();if("object"===("undefined"==typeof e?"undefined":J(e)))return e.v}return Promise.resolve()},b.prototype.activate=function(a){this.isActive||(this.isActive=!0,this.options=Object.assign({routeHandler:this.loadUrl.bind(this)},this.options,a),this.history.activate(this.options),this._dequeueInstruction())},b.prototype.deactivate=function(){this.isActive=!1,this.history.deactivate()},b.prototype._queueInstruction=function(a){var b=this;return new Promise(function(c){a.resolve=c,b._queue.unshift(a),b._dequeueInstruction()})},b.prototype._dequeueInstruction=function(){var a=this,b=arguments.length<=0||void 0===arguments[0]?0:arguments[0];return Promise.resolve().then(function(){if(!a.isNavigating||b){var c=a._queue.shift();if(a._queue.length=0,c){if(a.isNavigating=!0,c.previousInstruction=a.currentInstruction,b){if(b===a.maxInstructionCount-1)return ea.error(b+1+" navigation instructions have been attempted without success. Restoring last known good location."),H(a),a._dequeueInstruction(b+1);if(b>a.maxInstructionCount)throw new Error("Maximum navigation attempts exceeded. Giving up.")}else a.events.publish("router:navigation:processing",{instruction:c});var d=a.pipelineProvider.createPipeline();return d.run(c).then(function(d){return F(c,d,b,a)})["catch"](function(a){return{output:a instanceof Error?a:new Error(a)}}).then(function(d){return G(c,d,!!b,a)})}}})},b.prototype._findViewModel=function(a){if(this.container.viewModel)return this.container.viewModel;if(a.container)for(var b=a.container;b;){if(b.viewModel)return this.container.viewModel=b.viewModel,b.viewModel;b=b.parent}},b}(W)})}(),function(){var a=System.amdDefine;a("npm:aurelia-router@1.3.0.js",["npm:aurelia-router@1.3.0/aurelia-router"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-pal@1.3.0/aurelia-pal.js",["exports"],function(a){"use strict";function b(a,b,c){if(b){if(b.innerError&&c)return b;var d="\n------------------------------------------------\n";a+=d+"Inner Error:\n","string"==typeof b?a+="Message: "+b:(a+=b.message?"Message: "+b.message:"Unknown Inner Error Type. Displaying Inner Error as JSON:\n "+JSON.stringify(b,null," "),b.stack&&(a+="\nInner Error Stack:\n"+b.stack,a+="\nEnd Inner Error Stack")),a+=d}var e=new Error(a);return b&&(e.innerError=b),e}function c(b){h||(a.isInitialized=h=!0,"function"!=typeof Object.getPropertyDescriptor&&(Object.getPropertyDescriptor=function(a,b){for(var c=Object.getOwnPropertyDescriptor(a,b),d=Object.getPrototypeOf(a);"undefined"==typeof c&&null!==d;)c=Object.getOwnPropertyDescriptor(d,b),d=Object.getPrototypeOf(d);return c}),b(f,e,g))}function d(){a.isInitialized=h=!1}Object.defineProperty(a,"__esModule",{value:!0}),a.AggregateError=b,a.initializePAL=c,a.reset=d;var e=a.FEATURE={},f=a.PLATFORM={noop:function(){},eachModule:function(){},moduleName:function(a){function b(b){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){return a})};f.global=function(){return"undefined"!=typeof self?self:"undefined"!=typeof global?global:new Function("return this")()}();var g=a.DOM={},h=a.isInitialized=!1})}(),function(){var a=System.amdDefine;a("npm:aurelia-pal@1.3.0.js",["npm:aurelia-pal@1.3.0/aurelia-pal"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging@1.3.1/aurelia-logging.js",["exports"],function(a){"use strict";function b(){return[this].concat(Array.prototype.slice.call(arguments))}function c(a){var c=j[a];return function(){if(!(this.level<c))for(var d=b.apply(this,arguments),e=l.length;e--;){var f;(f=l[e])[a].apply(f,d)}}}function d(){var a=n.prototype;a.debug=c("debug"),a.info=c("info"),a.warn=c("warn"),a.error=c("error")}function e(a){return k[a]||new n(a)}function f(a){1===l.push(a)&&d()}function g(a){l=l.filter(function(b){return b!==a})}function h(a){m=a;for(var b in k)k[b].setLevel(a)}function i(){return m}Object.defineProperty(a,"__esModule",{value:!0}),a.getLogger=e,a.addAppender=f,a.removeAppender=g,a.setLevel=h,a.getLevel=i;var j=a.logLevel={none:0,error:1,warn:2,info:3,debug:4},k={},l=[],m=j.none,n=a.Logger=function(){function a(a){var b=k[a];return b?b:(k[a]=this,this.id=a,void(this.level=m))}return a.prototype.debug=function(a){},a.prototype.info=function(a){},a.prototype.warn=function(a){},a.prototype.error=function(a){},a.prototype.setLevel=function(a){this.level=a},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging@1.3.1.js",["npm:aurelia-logging@1.3.1/aurelia-logging"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/route-href.js",["exports","aurelia-templating","aurelia-dependency-injection","aurelia-router","aurelia-pal","aurelia-logging"],function(a,b,c,d,e,f){"use strict";function g(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}Object.defineProperty(a,"__esModule",{value:!0}),a.RouteHref=void 0;var h,i,j,k,l,m,n=g(f),o=n.getLogger("route-href");a.RouteHref=(h=(0,b.customAttribute)("route-href"),i=(0,b.bindable)({name:"route",changeHandler:"processChange"}),j=(0,b.bindable)({name:"params",changeHandler:"processChange"}),k=(0,b.bindable)({name:"attribute",defaultValue:"href"}),l=(0,c.inject)(d.Router,e.DOM.Element),h(m=i(m=j(m=k(m=l(m=function(){function a(a,b){this.router=a,this.element=b}return a.prototype.bind=function(){this.isActive=!0,this.processChange()},a.prototype.unbind=function(){this.isActive=!1},a.prototype.attributeChanged=function(a,b){b&&this.element.removeAttribute(b),this.processChange()},a.prototype.processChange=function(){var a=this;return this.router.ensureConfigured().then(function(){if(!a.isActive)return null;var b=a.router.generate(a.route,a.params);return a.element.setAttribute(a.attribute,b),null})["catch"](function(a){o.error(a)})},a}())||m)||m)||m)||m)||m)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/aurelia-templating-router.js",["exports","aurelia-router","./route-loader","./router-view","./route-href"],function(a,b,c,d,e){"use strict";function f(a){a.singleton(b.RouteLoader,c.TemplatingRouteLoader).singleton(b.Router,b.AppRouter).globalResources("./router-view","./route-href"),a.container.registerAlias(b.Router,b.AppRouter)}Object.defineProperty(a,"__esModule",{value:!0}),a.configure=a.RouteHref=a.RouterView=a.TemplatingRouteLoader=void 0,a.TemplatingRouteLoader=c.TemplatingRouteLoader,a.RouterView=d.RouterView,a.RouteHref=e.RouteHref,a.configure=f})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0.js",["npm:aurelia-templating-router@1.0.0/aurelia-templating-router"],function(a){return a})}(),System.registerDynamic("npm:font-awesome@4.7.0/css/font-awesome.css!github:systemjs/plugin-css@0.1.33.js",[],!1,function(a,b,c){var d=System.get("@@global-helpers").prepareGlobal(c.id,null,null);return function(a){}(this),d()}),System.registerDynamic("npm:font-awesome@4.7.0.js",["npm:font-awesome@4.7.0/css/font-awesome.css!"],!0,function(a,b,c){this||self;c.exports=a("npm:font-awesome@4.7.0/css/font-awesome.css!")}),function(){var a=System.amdDefine;!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(b,c){function d(a){var b=!!a&&"length"in a&&a.length,c=ga.type(a);return"function"!==c&&!ga.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}function e(a,b,c){if(ga.isFunction(b))return ga.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return ga.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(qa.test(b))return ga.filter(b,a,c);b=ga.filter(b,a)}return ga.grep(a,function(a){return aa.call(b,a)>-1!==c})}function f(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function g(a){var b={};return ga.each(a.match(wa)||[],function(a,c){b[c]=!0}),b}function h(){Y.removeEventListener("DOMContentLoaded",h),b.removeEventListener("load",h),ga.ready()}function i(){this.expando=ga.expando+i.uid++}function j(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Da,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:Ca.test(c)?ga.parseJSON(c):c)}catch(e){}Ba.set(a,b,c)}else c=void 0;return c}function k(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return ga.css(a,b,"")},i=h(),j=c&&c[3]||(ga.cssNumber[b]?"":"px"),k=(ga.cssNumber[b]||"px"!==j&&+i)&&Fa.exec(ga.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,ga.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}function l(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&ga.nodeName(a,b)?ga.merge([a],c):c}function m(a,b){for(var c=0,d=a.length;c<d;c++)Aa.set(a[c],"globalEval",!b||Aa.get(b[c],"globalEval"))}function n(a,b,c,d,e){for(var f,g,h,i,j,k,n=b.createDocumentFragment(),o=[],p=0,q=a.length;p<q;p++)if(f=a[p],f||0===f)if("object"===ga.type(f))ga.merge(o,f.nodeType?[f]:f);else if(Ma.test(f)){for(g=g||n.appendChild(b.createElement("div")),h=(Ja.exec(f)||["",""])[1].toLowerCase(),i=La[h]||La._default,g.innerHTML=i[1]+ga.htmlPrefilter(f)+i[2],k=i[0];k--;)g=g.lastChild;ga.merge(o,g.childNodes),g=n.firstChild,g.textContent=""}else o.push(b.createTextNode(f));for(n.textContent="",p=0;f=o[p++];)if(d&&ga.inArray(f,d)>-1)e&&e.push(f);else if(j=ga.contains(f.ownerDocument,f),g=l(n.appendChild(f),"script"),j&&m(g),c)for(k=0;f=g[k++];)Ka.test(f.type||"")&&c.push(f);return n}function o(){return!0}function p(){return!1}function q(){try{return Y.activeElement}catch(a){}}function r(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)r(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=p;else if(!e)return a;return 1===f&&(g=e,e=function(a){return ga().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=ga.guid++)),a.each(function(){ga.event.add(this,b,e,d,c)})}function s(a,b){return ga.nodeName(a,"table")&&ga.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function t(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function u(a){var b=Ta.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function v(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(Aa.hasData(a)&&(f=Aa.access(a),g=Aa.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)ga.event.add(b,e,j[e][c])}Ba.hasData(a)&&(h=Ba.access(a),i=ga.extend({},h),Ba.set(b,i))}}function w(a,b){var c=b.nodeName.toLowerCase();"input"===c&&Ia.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function x(a,b,c,d){b=$.apply([],b);var e,f,g,h,i,j,k=0,m=a.length,o=m-1,p=b[0],q=ga.isFunction(p);if(q||m>1&&"string"==typeof p&&!ea.checkClone&&Sa.test(p))return a.each(function(e){var f=a.eq(e);q&&(b[0]=p.call(this,e,f.html())),x(f,b,c,d)});if(m&&(e=n(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(g=ga.map(l(e,"script"),t),h=g.length;k<m;k++)i=e,k!==o&&(i=ga.clone(i,!0,!0),h&&ga.merge(g,l(i,"script"))),c.call(a[k],i,k);if(h)for(j=g[g.length-1].ownerDocument,ga.map(g,u),k=0;k<h;k++)i=g[k],Ka.test(i.type||"")&&!Aa.access(i,"globalEval")&&ga.contains(j,i)&&(i.src?ga._evalUrl&&ga._evalUrl(i.src):ga.globalEval(i.textContent.replace(Ua,"")))}return a}function y(a,b,c){for(var d,e=b?ga.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||ga.cleanData(l(d)),d.parentNode&&(c&&ga.contains(d.ownerDocument,d)&&m(l(d,"script")),d.parentNode.removeChild(d));return a}function z(a,b){var c=ga(b.createElement(a)).appendTo(b.body),d=ga.css(c[0],"display");return c.detach(),d}function A(a){var b=Y,c=Wa[a];return c||(c=z(a,b),"none"!==c&&c||(Va=(Va||ga("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=Va[0].contentDocument,b.write(),b.close(),c=z(a,b),Va.detach()),Wa[a]=c),c}function B(a,b,c){var d,e,f,g,h=a.style;return c=c||Za(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||ga.contains(a.ownerDocument,a)||(g=ga.style(a,b)),c&&!ea.pixelMarginRight()&&Ya.test(g)&&Xa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0!==g?g+"":g}function C(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}function D(a){if(a in eb)return a;for(var b=a[0].toUpperCase()+a.slice(1),c=db.length;c--;)if(a=db[c]+b,a in eb)return a}function E(a,b,c){var d=Fa.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function F(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=ga.css(a,c+Ga[f],!0,e)),d?("content"===c&&(g-=ga.css(a,"padding"+Ga[f],!0,e)),"margin"!==c&&(g-=ga.css(a,"border"+Ga[f]+"Width",!0,e))):(g+=ga.css(a,"padding"+Ga[f],!0,e),"padding"!==c&&(g+=ga.css(a,"border"+Ga[f]+"Width",!0,e)));return g}function G(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Za(a),g="border-box"===ga.css(a,"boxSizing",!1,f);if(e<=0||null==e){if(e=B(a,b,f),(e<0||null==e)&&(e=a.style[b]),Ya.test(e))return e;d=g&&(ea.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+F(a,b,c||(g?"border":"content"),d,f)+"px"}function H(a,b){for(var c,d,e,f=[],g=0,h=a.length;g<h;g++)d=a[g],d.style&&(f[g]=Aa.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&Ha(d)&&(f[g]=Aa.access(d,"olddisplay",A(d.nodeName)))):(e=Ha(d),"none"===c&&e||Aa.set(d,"olddisplay",e?c:ga.css(d,"display"))));for(g=0;g<h;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function I(a,b,c,d,e){return new I.prototype.init(a,b,c,d,e)}function J(){return b.setTimeout(function(){fb=void 0}),fb=ga.now()}function K(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=Ga[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function L(a,b,c){for(var d,e=(O.tweeners[b]||[]).concat(O.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function M(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},n=a.style,o=a.nodeType&&Ha(a),p=Aa.get(a,"fxshow");c.queue||(h=ga._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,ga.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[n.overflow,n.overflowX,n.overflowY],j=ga.css(a,"display"),k="none"===j?Aa.get(a,"olddisplay")||A(a.nodeName):j,"inline"===k&&"none"===ga.css(a,"float")&&(n.display="inline-block")),c.overflow&&(n.overflow="hidden",l.always(function(){n.overflow=c.overflow[0],n.overflowX=c.overflow[1],n.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],hb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(o?"hide":"show")){if("show"!==e||!p||void 0===p[d])continue;o=!0}m[d]=p&&p[d]||ga.style(a,d)}else j=void 0;if(ga.isEmptyObject(m))"inline"===("none"===j?A(a.nodeName):j)&&(n.display=j);else{p?"hidden"in p&&(o=p.hidden):p=Aa.access(a,"fxshow",{}),f&&(p.hidden=!o),o?ga(a).show():l.done(function(){ga(a).hide()}),l.done(function(){var b;Aa.remove(a,"fxshow");for(b in m)ga.style(a,b,m[b])});for(d in m)g=L(o?p[d]:0,d,l),d in p||(p[d]=g.start,o&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function N(a,b){var c,d,e,f,g;for(c in a)if(d=ga.camelCase(c),e=b[d],f=a[c],ga.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=ga.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function O(a,b,c){var d,e,f=0,g=O.prefilters.length,h=ga.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=fb||J(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:ga.extend({},b),opts:ga.extend(!0,{specialEasing:{},easing:ga.easing._default},c),originalProperties:b,originalOptions:c,startTime:fb||J(),duration:c.duration,tweens:[],createTween:function(b,c){var d=ga.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(N(k,j.opts.specialEasing);f<g;f++)if(d=O.prefilters[f].call(j,a,k,j.opts))return ga.isFunction(d.stop)&&(ga._queueHooks(j.elem,j.opts.queue).stop=ga.proxy(d.stop,d)),d;return ga.map(k,L,j),ga.isFunction(j.opts.start)&&j.opts.start.call(a,j),ga.fx.timer(ga.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function P(a){return a.getAttribute&&a.getAttribute("class")||""}function Q(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(wa)||[];if(ga.isFunction(c))for(;d=f[e++];)"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function R(a,b,c,d){function e(h){var i;return f[h]=!0,ga.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||g||f[j]?g?!(i=j):void 0:(b.dataTypes.unshift(j),e(j),!1)}),i}var f={},g=a===Bb;return e(b.dataTypes[0])||!f["*"]&&e("*")}function S(a,b){var c,d,e=ga.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&ga.extend(!0,a,d),a}function T(a,b,c){for(var d,e,f,g,h=a.contents,i=a.dataTypes;"*"===i[0];)i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function U(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];for(f=k.shift();f;)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{
+return Promise.all(d).then(function(){return e.forEach(function(a){return a.viewPort.swap(a.viewPortInstruction)}),null}).then(function(){return n(b)})},a.prototype._updateTitle=function(){var a=this._buildTitle();a&&this.router.history.setTitle(a)},a.prototype._buildTitle=function(){var a=arguments.length<=0||void 0===arguments[0]?" | ":arguments[0],b="",c=[];this.config.navModel.title&&(b=this.router.transformTitle(this.config.navModel.title));for(var d in this.viewPortInstructions){var e=this.viewPortInstructions[d];if(e.childNavigationInstruction){var f=e.childNavigationInstruction._buildTitle(a);f&&c.push(f)}}return c.length&&(b=c.join(a)+(b?a:"")+b),this.router.title&&(b+=(b?a:"")+this.router.transformTitle(this.router.title)),b},a}(),R=a.NavModel=function(){function a(a,b){this.isActive=!1,this.title=null,this.href=null,this.relativeHref=null,this.settings={},this.config=null,this.router=a,this.relativeHref=b}return a.prototype.setTitle=function(a){this.title=a,this.isActive&&this.router.updateTitle()},a}(),S=a.Redirect=function(){function a(a){var b=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];this.url=a,this.options=Object.assign({trigger:!0,replace:!0},b),this.shouldContinueProcessing=!1}return a.prototype.setRouter=function(a){this.router=a},a.prototype.navigate=function(a){var b=this.options.useAppRouter?a:this.router||a;b.navigate(this.url,this.options)},a}(),T=(a.RedirectToRoute=function(){function a(a){var b=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],c=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];this.route=a,this.params=b,this.options=Object.assign({trigger:!0,replace:!0},c),this.shouldContinueProcessing=!1}return a.prototype.setRouter=function(a){this.router=a},a.prototype.navigate=function(a){var b=this.options.useAppRouter?a:this.router||a;b.navigateToRoute(this.route,this.params,this.options)},a}(),a.RouterConfiguration=function(){function a(){this.instructions=[],this.options={},this.pipelineSteps=[]}return a.prototype.addPipelineStep=function(a,b){return this.pipelineSteps.push({name:a,step:b}),this},a.prototype.addAuthorizeStep=function(a){return this.addPipelineStep("authorize",a)},a.prototype.addPreActivateStep=function(a){return this.addPipelineStep("preActivate",a)},a.prototype.addPreRenderStep=function(a){return this.addPipelineStep("preRender",a)},a.prototype.addPostRenderStep=function(a){return this.addPipelineStep("postRender",a)},a.prototype.fallbackRoute=function(a){return this._fallbackRoute=a,this},a.prototype.map=function(a){return Array.isArray(a)?(a.forEach(this.map.bind(this)),this):this.mapRoute(a)},a.prototype.mapRoute=function(a){return this.instructions.push(function(b){var c=[];if(Array.isArray(a.route))for(var d=0,e=a.route.length;d<e;++d){var f=Object.assign({},a);f.route=a.route[d],c.push(f)}else c.push(Object.assign({},a));for(var g=void 0,h=0,i=c.length;h<i;++h){var j=c[h];j.settings=j.settings||{},g||(g=b.createNavModel(j)),b.addRoute(j,g)}}),this},a.prototype.mapUnknownRoutes=function(a){return this.unknownRouteConfig=a,this},a.prototype.exportToRouter=function(a){for(var b=this.instructions,c=0,d=b.length;c<d;++c)b[c](a);this.title&&(a.title=this.title),this.unknownRouteConfig&&a.handleUnknownRoutes(this.unknownRouteConfig),this._fallbackRoute&&(a.fallbackRoute=this._fallbackRoute),a.options=this.options;var e=this.pipelineSteps;if(e.length){if(!a.isRoot)throw new Error("Pipeline steps can only be added to the root router");for(var f=a.pipelineProvider,g=0,h=e.length;g<h;++g){var i=e[g],j=i.name,k=i.step;f.addStep(j,k)}}},a}()),U=a.activationStrategy={noChange:"no-change",invokeLifecycle:"invoke-lifecycle",replace:"replace"},V=a.BuildNavigationPlanStep=function(){function a(){}return a.prototype.run=function(a,b){return p(a).then(function(c){return a.plan=c,b()})["catch"](b.cancel)},a}(),W=a.Router=function(){function a(a,b){var c=this;this.parent=null,this.options={},this.transformTitle=function(a){return c.parent?c.parent.transformTitle(a):a},this.container=a,this.history=b,this.reset()}return a.prototype.reset=function(){var a=this;this.viewPorts={},this.routes=[],this.baseUrl="",this.isConfigured=!1,this.isNavigating=!1,this.isExplicitNavigation=!1,this.isExplicitNavigationBack=!1,this.navigation=[],this.currentInstruction=null,this._fallbackOrder=100,this._recognizer=new c.RouteRecognizer,this._childRecognizer=new c.RouteRecognizer,this._configuredPromise=new Promise(function(b){a._resolveConfiguredPromise=b})},a.prototype.registerViewPort=function(a,b){b=b||"default",this.viewPorts[b]=a},a.prototype.ensureConfigured=function(){return this._configuredPromise},a.prototype.configure=function(a){var b=this;this.isConfigured=!0;var c=a,d=void 0;return"function"==typeof a&&(d=new T,c=a(d)),Promise.resolve(c).then(function(a){a&&a.exportToRouter&&(d=a),d.exportToRouter(b),b.isConfigured=!0,b._resolveConfiguredPromise()})},a.prototype.navigate=function(a,b){return!this.isConfigured&&this.parent?this.parent.navigate(a,b):(this.isExplicitNavigation=!0,this.history.navigate(l(a,this.baseUrl,this.history._hasPushState),b))},a.prototype.navigateToRoute=function(a,b,c){var d=this.generate(a,b);return this.navigate(d,c)},a.prototype.navigateBack=function(){this.isExplicitNavigationBack=!0,this.history.navigateBack()},a.prototype.createChild=function(b){var c=new a(b||this.container.createChild(),this.history);return c.parent=this,c},a.prototype.generate=function(a,b){var c=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],d=this._recognizer.hasRoute(a);if((!this.isConfigured||!d)&&this.parent)return this.parent.generate(a,b);if(!d)throw new Error("A route with name '"+a+"' could not be found. Check that `name: '"+a+"'` was specified in the route's config.");var e=this._recognizer.generate(a,b),f=k(e,this.baseUrl,this.history._hasPushState,c.absolute);return c.absolute?""+this.history.getAbsoluteRoot()+f:f},a.prototype.createNavModel=function(a){var b=new R(this,"href"in a?a.href:a.route);return b.title=a.title,b.order=a.nav,b.href=a.href,b.settings=a.settings,b.config=a,b},a.prototype.addRoute=function(a,b){s(a,this.routes),"viewPorts"in a||a.navigationStrategy||(a.viewPorts={"default":{moduleId:a.moduleId,view:a.view}}),b||(b=this.createNavModel(a)),this.routes.push(a);var c=a.route;"/"===c.charAt(0)&&(c=c.substr(1));var d=a.caseSensitive===!0,e=this._recognizer.add({path:c,handler:a,caseSensitive:d});if(c){var f=a.settings;delete a.settings;var g=JSON.parse(JSON.stringify(a));a.settings=f,g.route=c+"/*childRoute",g.hasChildRouter=!0,this._childRecognizer.add({path:g.route,handler:g,caseSensitive:d}),g.navModel=b,g.settings=a.settings,g.navigationStrategy=a.navigationStrategy}if(a.navModel=b,(b.order||0===b.order)&&this.navigation.indexOf(b)===-1){if(!b.href&&""!==b.href&&(e.types.dynamics||e.types.stars))throw new Error('Invalid route config for "'+a.route+'" : dynamic routes must specify an "href:" to be included in the navigation model.');"number"!=typeof b.order&&(b.order=++this._fallbackOrder),this.navigation.push(b),this.navigation=this.navigation.sort(function(a,b){return a.order-b.order})}},a.prototype.hasRoute=function(a){return!!(this._recognizer.hasRoute(a)||this.parent&&this.parent.hasRoute(a))},a.prototype.hasOwnRoute=function(a){return this._recognizer.hasRoute(a)},a.prototype.handleUnknownRoutes=function(a){var b=this;if(!a)throw new Error("Invalid unknown route handler");this.catchAllHandler=function(c){return b._createRouteConfig(a,c).then(function(a){return c.config=a,c})}},a.prototype.updateTitle=function(){return this.parent?this.parent.updateTitle():void(this.currentInstruction&&this.currentInstruction._updateTitle())},a.prototype.refreshNavigation=function(){for(var a=this.navigation,b=0,c=a.length;b<c;b++){var d=a[b];d.config.href?d.href=j(d.config.href,this.history._hasPushState):d.href=k(d.relativeHref,this.baseUrl,this.history._hasPushState)}},a.prototype._refreshBaseUrl=function(){if(this.parent){var a=this.parent.currentInstruction.getBaseUrl();this.baseUrl=this.parent.baseUrl+a}},a.prototype._createNavigationInstruction=function(){var a=arguments.length<=0||void 0===arguments[0]?"":arguments[0],b=arguments.length<=1||void 0===arguments[1]?null:arguments[1],c=a,d="",e=a.indexOf("?");e!==-1&&(c=a.substr(0,e),d=a.substr(e+1));var f=this._recognizer.recognize(a);f&&f.length||(f=this._childRecognizer.recognize(a));var g={fragment:c,queryString:d,config:null,parentInstruction:b,previousInstruction:this.currentInstruction,router:this,options:{compareQueryParams:this.options.compareQueryParams}};if(f&&f.length){var h=f[0],i=new Q(Object.assign({},g,{params:h.params,queryParams:h.queryParams||f.queryParams,config:h.config||h.handler}));return"function"==typeof h.handler?t(i,h.handler,h):h.handler&&"function"==typeof h.handler.navigationStrategy?t(i,h.handler.navigationStrategy,h.handler):Promise.resolve(i)}if(this.catchAllHandler){var j=new Q(Object.assign({},g,{params:{path:c},queryParams:f&&f.queryParams,config:null}));return t(j,this.catchAllHandler)}return Promise.reject(new Error("Route not found: "+a))},a.prototype._createRouteConfig=function(a,b){var c=this;return Promise.resolve(a).then(function(a){return"string"==typeof a?{moduleId:a}:"function"==typeof a?a(b):a}).then(function(a){return"string"==typeof a?{moduleId:a}:a}).then(function(a){return a.route=b.params.path,s(a,c.routes),a.navModel||(a.navModel=c.createNavModel(a)),a})},K(a,[{key:"isRoot",get:function(){return!this.parent}}]),a}(),X=a.CanDeactivatePreviousStep=function(){function a(){}return a.prototype.run=function(a,b){return u(a.plan,"canDeactivate",b)},a}(),Y=a.CanActivateNextStep=function(){function a(){}return a.prototype.run=function(a,b){return x(a,"canActivate",b)},a}(),Z=a.DeactivatePreviousStep=function(){function a(){}return a.prototype.run=function(a,b){return u(a.plan,"deactivate",b,!0)},a}(),$=a.ActivateNextStep=function(){function a(){}return a.prototype.run=function(a,b){return x(a,"activate",b,!0)},a}(),_=function(){function a(a){this._subscribed=!0,this._subscription=a(this),this._subscribed||this.unsubscribe()}return a.prototype.unsubscribe=function(){this._subscribed&&this._subscription&&this._subscription.unsubscribe(),this._subscribed=!1},K(a,[{key:"subscribed",get:function(){return this._subscribed}}]),a}(),aa=a.RouteLoader=function(){function a(){}return a.prototype.loadRoute=function(a,b,c){throw Error('Route loaders must implement "loadRoute(router, config, navigationInstruction)".')},a}(),ba=a.LoadRouteStep=function(){function a(a){this.routeLoader=a}return a.inject=function(){return[aa]},a.prototype.run=function(a,b){return B(this.routeLoader,a).then(b)["catch"](b.cancel)},a}(),ca=function(){function a(a,b,c){this.steps=[],this.container=a,this.slotName=b,this.slotAlias=c}return a.prototype.getSteps=function(){var a=this;return this.steps.map(function(b){return a.container.get(b)})},a}(),da=a.PipelineProvider=function(){function a(a){this.container=a,this.steps=[V,X,ba,this._createPipelineSlot("authorize"),Y,this._createPipelineSlot("preActivate","modelbind"),Z,$,this._createPipelineSlot("preRender","precommit"),P,this._createPipelineSlot("postRender","postcomplete")]}return a.inject=function(){return[d.Container]},a.prototype.createPipeline=function(){var a=this,b=new O;return this.steps.forEach(function(c){return b.addStep(a.container.get(c))}),b},a.prototype._findStep=function(a){return this.steps.find(function(b){return b.slotName===a||b.slotAlias===a})},a.prototype.addStep=function(a,b){var c=this._findStep(a);if(!c)throw new Error("Invalid pipeline slot name: "+a+".");c.steps.includes(b)||c.steps.push(b)},a.prototype.removeStep=function(a,b){var c=this._findStep(a);c&&c.steps.splice(c.steps.indexOf(b),1)},a.prototype._clearSteps=function(){var a=arguments.length<=0||void 0===arguments[0]?"":arguments[0],b=this._findStep(a);b&&(b.steps=[])},a.prototype.reset=function(){this._clearSteps("authorize"),this._clearSteps("preActivate"),this._clearSteps("preRender"),this._clearSteps("postRender")},a.prototype._createPipelineSlot=function(a,b){return new ca(this.container,a,b)},a}(),ea=I.getLogger("app-router");a.AppRouter=function(a){function b(b,c,d,e){var f=h(this,a.call(this,b,c));return f.pipelineProvider=d,f.events=e,f}return i(b,a),b.inject=function(){return[d.Container,e.History,da,f.EventAggregator]},b.prototype.reset=function(){a.prototype.reset.call(this),this.maxInstructionCount=10,this._queue?this._queue.length=0:this._queue=[]},b.prototype.loadUrl=function(a){var b=this;return this._createNavigationInstruction(a).then(function(a){return b._queueInstruction(a)})["catch"](function(a){ea.error(a),H(b)})},b.prototype.registerViewPort=function(b,c){var d=this;if(a.prototype.registerViewPort.call(this,b,c),this.isActive)this._dequeueInstruction();else{var e=function(){var a=d._findViewModel(b);if("configureRouter"in a){if(!d.isConfigured){var c=function(){var b=d._resolveConfiguredPromise;return d._resolveConfiguredPromise=function(){},{v:{v:d.configure(function(b){return a.configureRouter(b,d)}).then(function(){d.activate(),b()})}}}();if("object"===("undefined"==typeof c?"undefined":J(c)))return c.v}}else d.activate()}();if("object"===("undefined"==typeof e?"undefined":J(e)))return e.v}return Promise.resolve()},b.prototype.activate=function(a){this.isActive||(this.isActive=!0,this.options=Object.assign({routeHandler:this.loadUrl.bind(this)},this.options,a),this.history.activate(this.options),this._dequeueInstruction())},b.prototype.deactivate=function(){this.isActive=!1,this.history.deactivate()},b.prototype._queueInstruction=function(a){var b=this;return new Promise(function(c){a.resolve=c,b._queue.unshift(a),b._dequeueInstruction()})},b.prototype._dequeueInstruction=function(){var a=this,b=arguments.length<=0||void 0===arguments[0]?0:arguments[0];return Promise.resolve().then(function(){if(!a.isNavigating||b){var c=a._queue.shift();if(a._queue.length=0,c){if(a.isNavigating=!0,c.previousInstruction=a.currentInstruction,b){if(b===a.maxInstructionCount-1)return ea.error(b+1+" navigation instructions have been attempted without success. Restoring last known good location."),H(a),a._dequeueInstruction(b+1);if(b>a.maxInstructionCount)throw new Error("Maximum navigation attempts exceeded. Giving up.")}else a.events.publish("router:navigation:processing",{instruction:c});var d=a.pipelineProvider.createPipeline();return d.run(c).then(function(d){return F(c,d,b,a)})["catch"](function(a){return{output:a instanceof Error?a:new Error(a)}}).then(function(d){return G(c,d,!!b,a)})}}})},b.prototype._findViewModel=function(a){if(this.container.viewModel)return this.container.viewModel;if(a.container)for(var b=a.container;b;){if(b.viewModel)return this.container.viewModel=b.viewModel,b.viewModel;b=b.parent}},b}(W)})}(),function(){var a=System.amdDefine;a("npm:aurelia-router@1.3.0.js",["npm:aurelia-router@1.3.0/aurelia-router"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-pal@1.4.0/aurelia-pal.js",["exports"],function(a){"use strict";function b(a,b,c){if(b){if(b.innerError&&c)return b;var d="\n------------------------------------------------\n";a+=d+"Inner Error:\n","string"==typeof b?a+="Message: "+b:(a+=b.message?"Message: "+b.message:"Unknown Inner Error Type. Displaying Inner Error as JSON:\n "+JSON.stringify(b,null," "),b.stack&&(a+="\nInner Error Stack:\n"+b.stack,a+="\nEnd Inner Error Stack")),a+=d}var e=new Error(a);return b&&(e.innerError=b),e}function c(b){h||(a.isInitialized=h=!0,"function"!=typeof Object.getPropertyDescriptor&&(Object.getPropertyDescriptor=function(a,b){for(var c=Object.getOwnPropertyDescriptor(a,b),d=Object.getPrototypeOf(a);"undefined"==typeof c&&null!==d;)c=Object.getOwnPropertyDescriptor(d,b),d=Object.getPrototypeOf(d);return c}),b(f,e,g))}function d(){a.isInitialized=h=!1}Object.defineProperty(a,"__esModule",{value:!0}),a.AggregateError=b,a.initializePAL=c,a.reset=d;var e=a.FEATURE={},f=a.PLATFORM={noop:function(){},eachModule:function(){},moduleName:function(a){function b(b){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){return a})};f.global=function(){return"undefined"!=typeof self?self:"undefined"!=typeof global?global:new Function("return this")()}();var g=a.DOM={},h=a.isInitialized=!1})}(),function(){var a=System.amdDefine;a("npm:aurelia-pal@1.4.0.js",["npm:aurelia-pal@1.4.0/aurelia-pal"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging@1.3.1/aurelia-logging.js",["exports"],function(a){"use strict";function b(){return[this].concat(Array.prototype.slice.call(arguments))}function c(a){var c=j[a];return function(){if(!(this.level<c))for(var d=b.apply(this,arguments),e=l.length;e--;){var f;(f=l[e])[a].apply(f,d)}}}function d(){var a=n.prototype;a.debug=c("debug"),a.info=c("info"),a.warn=c("warn"),a.error=c("error")}function e(a){return k[a]||new n(a)}function f(a){1===l.push(a)&&d()}function g(a){l=l.filter(function(b){return b!==a})}function h(a){m=a;for(var b in k)k[b].setLevel(a)}function i(){return m}Object.defineProperty(a,"__esModule",{value:!0}),a.getLogger=e,a.addAppender=f,a.removeAppender=g,a.setLevel=h,a.getLevel=i;var j=a.logLevel={none:0,error:1,warn:2,info:3,debug:4},k={},l=[],m=j.none,n=a.Logger=function(){function a(a){var b=k[a];return b?b:(k[a]=this,this.id=a,void(this.level=m))}return a.prototype.debug=function(a){},a.prototype.info=function(a){},a.prototype.warn=function(a){},a.prototype.error=function(a){},a.prototype.setLevel=function(a){this.level=a},a}()})}(),function(){var a=System.amdDefine;a("npm:aurelia-logging@1.3.1.js",["npm:aurelia-logging@1.3.1/aurelia-logging"],function(a){return a})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/route-href.js",["exports","aurelia-templating","aurelia-dependency-injection","aurelia-router","aurelia-pal","aurelia-logging"],function(a,b,c,d,e,f){"use strict";function g(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}Object.defineProperty(a,"__esModule",{value:!0}),a.RouteHref=void 0;var h,i,j,k,l,m,n=g(f),o=n.getLogger("route-href");a.RouteHref=(h=(0,b.customAttribute)("route-href"),i=(0,b.bindable)({name:"route",changeHandler:"processChange"}),j=(0,b.bindable)({name:"params",changeHandler:"processChange"}),k=(0,b.bindable)({name:"attribute",defaultValue:"href"}),l=(0,c.inject)(d.Router,e.DOM.Element),h(m=i(m=j(m=k(m=l(m=function(){function a(a,b){this.router=a,this.element=b}return a.prototype.bind=function(){this.isActive=!0,this.processChange()},a.prototype.unbind=function(){this.isActive=!1},a.prototype.attributeChanged=function(a,b){b&&this.element.removeAttribute(b),this.processChange()},a.prototype.processChange=function(){var a=this;return this.router.ensureConfigured().then(function(){if(!a.isActive)return null;var b=a.router.generate(a.route,a.params);return a.element.setAttribute(a.attribute,b),null})["catch"](function(a){o.error(a)})},a}())||m)||m)||m)||m)||m)})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0/aurelia-templating-router.js",["exports","aurelia-router","./route-loader","./router-view","./route-href"],function(a,b,c,d,e){"use strict";function f(a){a.singleton(b.RouteLoader,c.TemplatingRouteLoader).singleton(b.Router,b.AppRouter).globalResources("./router-view","./route-href"),a.container.registerAlias(b.Router,b.AppRouter)}Object.defineProperty(a,"__esModule",{value:!0}),a.configure=a.RouteHref=a.RouterView=a.TemplatingRouteLoader=void 0,a.TemplatingRouteLoader=c.TemplatingRouteLoader,a.RouterView=d.RouterView,a.RouteHref=e.RouteHref,a.configure=f})}(),function(){var a=System.amdDefine;a("npm:aurelia-templating-router@1.0.0.js",["npm:aurelia-templating-router@1.0.0/aurelia-templating-router"],function(a){return a})}(),System.registerDynamic("npm:font-awesome@4.7.0/css/font-awesome.css!github:systemjs/plugin-css@0.1.33.js",[],!1,function(a,b,c){var d=System.get("@@global-helpers").prepareGlobal(c.id,null,null);return function(a){}(this),d()}),System.registerDynamic("npm:font-awesome@4.7.0.js",["npm:font-awesome@4.7.0/css/font-awesome.css!"],!0,function(a,b,c){this||self;c.exports=a("npm:font-awesome@4.7.0/css/font-awesome.css!")}),function(){var a=System.amdDefine;!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(b,c){function d(a){var b=!!a&&"length"in a&&a.length,c=ga.type(a);return"function"!==c&&!ga.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}function e(a,b,c){if(ga.isFunction(b))return ga.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return ga.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(qa.test(b))return ga.filter(b,a,c);b=ga.filter(b,a)}return ga.grep(a,function(a){return aa.call(b,a)>-1!==c})}function f(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function g(a){var b={};return ga.each(a.match(wa)||[],function(a,c){b[c]=!0}),b}function h(){Y.removeEventListener("DOMContentLoaded",h),b.removeEventListener("load",h),ga.ready()}function i(){this.expando=ga.expando+i.uid++}function j(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Da,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:Ca.test(c)?ga.parseJSON(c):c)}catch(e){}Ba.set(a,b,c)}else c=void 0;return c}function k(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return ga.css(a,b,"")},i=h(),j=c&&c[3]||(ga.cssNumber[b]?"":"px"),k=(ga.cssNumber[b]||"px"!==j&&+i)&&Fa.exec(ga.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,ga.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}function l(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&ga.nodeName(a,b)?ga.merge([a],c):c}function m(a,b){for(var c=0,d=a.length;c<d;c++)Aa.set(a[c],"globalEval",!b||Aa.get(b[c],"globalEval"))}function n(a,b,c,d,e){for(var f,g,h,i,j,k,n=b.createDocumentFragment(),o=[],p=0,q=a.length;p<q;p++)if(f=a[p],f||0===f)if("object"===ga.type(f))ga.merge(o,f.nodeType?[f]:f);else if(Ma.test(f)){for(g=g||n.appendChild(b.createElement("div")),h=(Ja.exec(f)||["",""])[1].toLowerCase(),i=La[h]||La._default,g.innerHTML=i[1]+ga.htmlPrefilter(f)+i[2],k=i[0];k--;)g=g.lastChild;ga.merge(o,g.childNodes),g=n.firstChild,g.textContent=""}else o.push(b.createTextNode(f));for(n.textContent="",p=0;f=o[p++];)if(d&&ga.inArray(f,d)>-1)e&&e.push(f);else if(j=ga.contains(f.ownerDocument,f),g=l(n.appendChild(f),"script"),j&&m(g),c)for(k=0;f=g[k++];)Ka.test(f.type||"")&&c.push(f);return n}function o(){return!0}function p(){return!1}function q(){try{return Y.activeElement}catch(a){}}function r(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)r(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=p;else if(!e)return a;return 1===f&&(g=e,e=function(a){return ga().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=ga.guid++)),a.each(function(){ga.event.add(this,b,e,d,c)})}function s(a,b){return ga.nodeName(a,"table")&&ga.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function t(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function u(a){var b=Ta.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function v(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(Aa.hasData(a)&&(f=Aa.access(a),g=Aa.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)ga.event.add(b,e,j[e][c])}Ba.hasData(a)&&(h=Ba.access(a),i=ga.extend({},h),Ba.set(b,i))}}function w(a,b){var c=b.nodeName.toLowerCase();"input"===c&&Ia.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function x(a,b,c,d){b=$.apply([],b);var e,f,g,h,i,j,k=0,m=a.length,o=m-1,p=b[0],q=ga.isFunction(p);if(q||m>1&&"string"==typeof p&&!ea.checkClone&&Sa.test(p))return a.each(function(e){var f=a.eq(e);q&&(b[0]=p.call(this,e,f.html())),x(f,b,c,d)});if(m&&(e=n(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(g=ga.map(l(e,"script"),t),h=g.length;k<m;k++)i=e,k!==o&&(i=ga.clone(i,!0,!0),h&&ga.merge(g,l(i,"script"))),c.call(a[k],i,k);if(h)for(j=g[g.length-1].ownerDocument,ga.map(g,u),k=0;k<h;k++)i=g[k],Ka.test(i.type||"")&&!Aa.access(i,"globalEval")&&ga.contains(j,i)&&(i.src?ga._evalUrl&&ga._evalUrl(i.src):ga.globalEval(i.textContent.replace(Ua,"")))}return a}function y(a,b,c){for(var d,e=b?ga.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||ga.cleanData(l(d)),d.parentNode&&(c&&ga.contains(d.ownerDocument,d)&&m(l(d,"script")),d.parentNode.removeChild(d));return a}function z(a,b){var c=ga(b.createElement(a)).appendTo(b.body),d=ga.css(c[0],"display");return c.detach(),d}function A(a){var b=Y,c=Wa[a];return c||(c=z(a,b),"none"!==c&&c||(Va=(Va||ga("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=Va[0].contentDocument,b.write(),b.close(),c=z(a,b),Va.detach()),Wa[a]=c),c}function B(a,b,c){var d,e,f,g,h=a.style;return c=c||Za(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||ga.contains(a.ownerDocument,a)||(g=ga.style(a,b)),c&&!ea.pixelMarginRight()&&Ya.test(g)&&Xa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0!==g?g+"":g}function C(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}function D(a){if(a in eb)return a;for(var b=a[0].toUpperCase()+a.slice(1),c=db.length;c--;)if(a=db[c]+b,a in eb)return a}function E(a,b,c){var d=Fa.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function F(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=ga.css(a,c+Ga[f],!0,e)),d?("content"===c&&(g-=ga.css(a,"padding"+Ga[f],!0,e)),"margin"!==c&&(g-=ga.css(a,"border"+Ga[f]+"Width",!0,e))):(g+=ga.css(a,"padding"+Ga[f],!0,e),"padding"!==c&&(g+=ga.css(a,"border"+Ga[f]+"Width",!0,e)));return g}function G(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Za(a),g="border-box"===ga.css(a,"boxSizing",!1,f);if(e<=0||null==e){if(e=B(a,b,f),(e<0||null==e)&&(e=a.style[b]),Ya.test(e))return e;d=g&&(ea.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+F(a,b,c||(g?"border":"content"),d,f)+"px"}function H(a,b){for(var c,d,e,f=[],g=0,h=a.length;g<h;g++)d=a[g],d.style&&(f[g]=Aa.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&Ha(d)&&(f[g]=Aa.access(d,"olddisplay",A(d.nodeName)))):(e=Ha(d),"none"===c&&e||Aa.set(d,"olddisplay",e?c:ga.css(d,"display"))));for(g=0;g<h;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function I(a,b,c,d,e){return new I.prototype.init(a,b,c,d,e)}function J(){return b.setTimeout(function(){fb=void 0}),fb=ga.now()}function K(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=Ga[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function L(a,b,c){for(var d,e=(O.tweeners[b]||[]).concat(O.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function M(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},n=a.style,o=a.nodeType&&Ha(a),p=Aa.get(a,"fxshow");c.queue||(h=ga._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,ga.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[n.overflow,n.overflowX,n.overflowY],j=ga.css(a,"display"),k="none"===j?Aa.get(a,"olddisplay")||A(a.nodeName):j,"inline"===k&&"none"===ga.css(a,"float")&&(n.display="inline-block")),c.overflow&&(n.overflow="hidden",l.always(function(){n.overflow=c.overflow[0],n.overflowX=c.overflow[1],n.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],hb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(o?"hide":"show")){if("show"!==e||!p||void 0===p[d])continue;o=!0}m[d]=p&&p[d]||ga.style(a,d)}else j=void 0;if(ga.isEmptyObject(m))"inline"===("none"===j?A(a.nodeName):j)&&(n.display=j);else{p?"hidden"in p&&(o=p.hidden):p=Aa.access(a,"fxshow",{}),f&&(p.hidden=!o),o?ga(a).show():l.done(function(){ga(a).hide()}),l.done(function(){var b;Aa.remove(a,"fxshow");for(b in m)ga.style(a,b,m[b])});for(d in m)g=L(o?p[d]:0,d,l),d in p||(p[d]=g.start,o&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function N(a,b){var c,d,e,f,g;for(c in a)if(d=ga.camelCase(c),e=b[d],f=a[c],ga.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=ga.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function O(a,b,c){var d,e,f=0,g=O.prefilters.length,h=ga.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=fb||J(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:ga.extend({},b),opts:ga.extend(!0,{specialEasing:{},easing:ga.easing._default},c),originalProperties:b,originalOptions:c,startTime:fb||J(),duration:c.duration,tweens:[],createTween:function(b,c){var d=ga.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(N(k,j.opts.specialEasing);f<g;f++)if(d=O.prefilters[f].call(j,a,k,j.opts))return ga.isFunction(d.stop)&&(ga._queueHooks(j.elem,j.opts.queue).stop=ga.proxy(d.stop,d)),d;return ga.map(k,L,j),ga.isFunction(j.opts.start)&&j.opts.start.call(a,j),ga.fx.timer(ga.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function P(a){return a.getAttribute&&a.getAttribute("class")||""}function Q(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(wa)||[];if(ga.isFunction(c))for(;d=f[e++];)"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function R(a,b,c,d){function e(h){var i;return f[h]=!0,ga.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||g||f[j]?g?!(i=j):void 0:(b.dataTypes.unshift(j),e(j),!1)}),i}var f={},g=a===Bb;return e(b.dataTypes[0])||!f["*"]&&e("*")}function S(a,b){var c,d,e=ga.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&ga.extend(!0,a,d),a}function T(a,b,c){for(var d,e,f,g,h=a.contents,i=a.dataTypes;"*"===i[0];)i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function U(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];for(f=k.shift();f;)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{
b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}function V(a,b,c,d){var e;if(ga.isArray(b))ga.each(b,function(b,e){c||Fb.test(a)?d(a,e):V(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==ga.type(b))d(a,b);else for(e in b)V(a+"["+e+"]",b[e],c,d)}function W(a){return ga.isWindow(a)?a:9===a.nodeType&&a.defaultView}var X=[],Y=b.document,Z=X.slice,$=X.concat,_=X.push,aa=X.indexOf,ba={},ca=ba.toString,da=ba.hasOwnProperty,ea={},fa="2.2.4",ga=function(a,b){return new ga.fn.init(a,b)},ha=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ia=/^-ms-/,ja=/-([\da-z])/gi,ka=function(a,b){return b.toUpperCase()};ga.fn=ga.prototype={jquery:fa,constructor:ga,selector:"",length:0,toArray:function(){return Z.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:Z.call(this)},pushStack:function(a){var b=ga.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return ga.each(this,a)},map:function(a){return this.pushStack(ga.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(Z.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:_,sort:X.sort,splice:X.splice},ga.extend=ga.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||ga.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(ga.isPlainObject(d)||(e=ga.isArray(d)))?(e?(e=!1,f=c&&ga.isArray(c)?c:[]):f=c&&ga.isPlainObject(c)?c:{},g[b]=ga.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},ga.extend({expando:"jQuery"+(fa+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===ga.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!ga.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==ga.type(a)||a.nodeType||ga.isWindow(a))return!1;if(a.constructor&&!da.call(a,"constructor")&&!da.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||da.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?ba[ca.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=ga.trim(a),a&&(1===a.indexOf("use strict")?(b=Y.createElement("script"),b.text=a,Y.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(ia,"ms-").replace(ja,ka)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,e=0;if(d(a))for(c=a.length;e<c&&b.call(a[e],e,a[e])!==!1;e++);else for(e in a)if(b.call(a[e],e,a[e])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(ha,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(d(Object(a))?ga.merge(c,"string"==typeof a?[a]:a):_.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:aa.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var e,f,g=0,h=[];if(d(a))for(e=a.length;g<e;g++)f=b(a[g],g,c),null!=f&&h.push(f);else for(g in a)f=b(a[g],g,c),null!=f&&h.push(f);return $.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),ga.isFunction(a))return d=Z.call(arguments,2),e=function(){return a.apply(b||this,d.concat(Z.call(arguments)))},e.guid=a.guid=a.guid||ga.guid++,e},now:Date.now,support:ea}),"function"==typeof Symbol&&(ga.fn[Symbol.iterator]=X[Symbol.iterator]),ga.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){ba["[object "+b+"]"]=b.toLowerCase()});var la=function(a){function b(a,b,c,d){var e,f,g,h,i,j,l,n,o=b&&b.ownerDocument,p=b?b.nodeType:9;if(c=c||[],"string"!=typeof a||!a||1!==p&&9!==p&&11!==p)return c;if(!d&&((b?b.ownerDocument||b:O)!==G&&F(b),b=b||G,I)){if(11!==p&&(j=ra.exec(a)))if(e=j[1]){if(9===p){if(!(g=b.getElementById(e)))return c;if(g.id===e)return c.push(g),c}else if(o&&(g=o.getElementById(e))&&M(b,g)&&g.id===e)return c.push(g),c}else{if(j[2])return $.apply(c,b.getElementsByTagName(a)),c;if((e=j[3])&&v.getElementsByClassName&&b.getElementsByClassName)return $.apply(c,b.getElementsByClassName(e)),c}if(v.qsa&&!T[a+" "]&&(!J||!J.test(a))){if(1!==p)o=b,n=a;else if("object"!==b.nodeName.toLowerCase()){for((h=b.getAttribute("id"))?h=h.replace(ta,"\\$&"):b.setAttribute("id",h=N),l=z(a),f=l.length,i=ma.test(h)?"#"+h:"[id='"+h+"']";f--;)l[f]=i+" "+m(l[f]);n=l.join(","),o=sa.test(a)&&k(b.parentNode)||b}if(n)try{return $.apply(c,o.querySelectorAll(n)),c}catch(q){}finally{h===N&&b.removeAttribute("id")}}}return B(a.replace(ha,"$1"),b,c,d)}function c(){function a(c,d){return b.push(c+" ")>w.cacheLength&&delete a[b.shift()],a[c+" "]=d}var b=[];return a}function d(a){return a[N]=!0,a}function e(a){var b=G.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function f(a,b){for(var c=a.split("|"),d=c.length;d--;)w.attrHandle[c[d]]=b}function g(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||V)-(~a.sourceIndex||V);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function h(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function i(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function j(a){return d(function(b){return b=+b,d(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function k(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}function l(){}function m(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function n(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=Q++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[P,f];if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e){if(j=b[N]||(b[N]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===P&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function o(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function p(a,c,d){for(var e=0,f=c.length;e<f;e++)b(a,c[e],d);return d}function q(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function r(a,b,c,e,f,g){return e&&!e[N]&&(e=r(e)),f&&!f[N]&&(f=r(f,g)),d(function(d,g,h,i){var j,k,l,m=[],n=[],o=g.length,r=d||p(b||"*",h.nodeType?[h]:h,[]),s=!a||!d&&b?r:q(r,m,a,h,i),t=c?f||(d?a:o||e)?[]:g:s;if(c&&c(s,t,h,i),e)for(j=q(t,n),e(j,[],h,i),k=j.length;k--;)(l=j[k])&&(t[n[k]]=!(s[n[k]]=l));if(d){if(f||a){if(f){for(j=[],k=t.length;k--;)(l=t[k])&&j.push(s[k]=l);f(null,t=[],j,i)}for(k=t.length;k--;)(l=t[k])&&(j=f?aa(d,l):m[k])>-1&&(d[j]=!(g[j]=l))}}else t=q(t===g?t.splice(o,t.length):t),f?f(null,g,t,i):$.apply(g,t)})}function s(a){for(var b,c,d,e=a.length,f=w.relative[a[0].type],g=f||w.relative[" "],h=f?1:0,i=n(function(a){return a===b},g,!0),j=n(function(a){return aa(b,a)>-1},g,!0),k=[function(a,c,d){var e=!f&&(d||c!==C)||((b=c).nodeType?i(a,c,d):j(a,c,d));return b=null,e}];h<e;h++)if(c=w.relative[a[h].type])k=[n(o(k),c)];else{if(c=w.filter[a[h].type].apply(null,a[h].matches),c[N]){for(d=++h;d<e&&!w.relative[a[d].type];d++);return r(h>1&&o(k),h>1&&m(a.slice(0,h-1).concat({value:" "===a[h-2].type?"*":""})).replace(ha,"$1"),c,h<d&&s(a.slice(h,d)),d<e&&s(a=a.slice(d)),d<e&&m(a))}k.push(c)}return o(k)}function t(a,c){var e=c.length>0,f=a.length>0,g=function(d,g,h,i,j){var k,l,m,n=0,o="0",p=d&&[],r=[],s=C,t=d||f&&w.find.TAG("*",j),u=P+=null==s?1:Math.random()||.1,v=t.length;for(j&&(C=g===G||g||j);o!==v&&null!=(k=t[o]);o++){if(f&&k){for(l=0,g||k.ownerDocument===G||(F(k),h=!I);m=a[l++];)if(m(k,g||G,h)){i.push(k);break}j&&(P=u)}e&&((k=!m&&k)&&n--,d&&p.push(k))}if(n+=o,e&&o!==n){for(l=0;m=c[l++];)m(p,r,g,h);if(d){if(n>0)for(;o--;)p[o]||r[o]||(r[o]=Y.call(i));r=q(r)}$.apply(i,r),j&&!d&&r.length>0&&n+c.length>1&&b.uniqueSort(i)}return j&&(P=u,C=s),p};return e?d(g):g}var u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N="sizzle"+1*new Date,O=a.document,P=0,Q=0,R=c(),S=c(),T=c(),U=function(a,b){return a===b&&(E=!0),0},V=1<<31,W={}.hasOwnProperty,X=[],Y=X.pop,Z=X.push,$=X.push,_=X.slice,aa=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},ba="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ca="[\\x20\\t\\r\\n\\f]",da="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ea="\\["+ca+"*("+da+")(?:"+ca+"*([*^$|!~]?=)"+ca+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+da+"))|)"+ca+"*\\]",fa=":("+da+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ea+")*)|.*)\\)|)",ga=new RegExp(ca+"+","g"),ha=new RegExp("^"+ca+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ca+"+$","g"),ia=new RegExp("^"+ca+"*,"+ca+"*"),ja=new RegExp("^"+ca+"*([>+~]|"+ca+")"+ca+"*"),ka=new RegExp("="+ca+"*([^\\]'\"]*?)"+ca+"*\\]","g"),la=new RegExp(fa),ma=new RegExp("^"+da+"$"),na={ID:new RegExp("^#("+da+")"),CLASS:new RegExp("^\\.("+da+")"),TAG:new RegExp("^("+da+"|[*])"),ATTR:new RegExp("^"+ea),PSEUDO:new RegExp("^"+fa),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ca+"*(even|odd|(([+-]|)(\\d*)n|)"+ca+"*(?:([+-]|)"+ca+"*(\\d+)|))"+ca+"*\\)|)","i"),bool:new RegExp("^(?:"+ba+")$","i"),needsContext:new RegExp("^"+ca+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ca+"*((?:-\\d)?\\d*)"+ca+"*\\)|)(?=[^-]|$)","i")},oa=/^(?:input|select|textarea|button)$/i,pa=/^h\d$/i,qa=/^[^{]+\{\s*\[native \w/,ra=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,sa=/[+~]/,ta=/'|\\/g,ua=new RegExp("\\\\([\\da-f]{1,6}"+ca+"?|("+ca+")|.)","ig"),va=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},wa=function(){F()};try{$.apply(X=_.call(O.childNodes),O.childNodes),X[O.childNodes.length].nodeType}catch(xa){$={apply:X.length?function(a,b){Z.apply(a,_.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}v=b.support={},y=b.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},F=b.setDocument=function(a){var b,c,d=a?a.ownerDocument||a:O;return d!==G&&9===d.nodeType&&d.documentElement?(G=d,H=G.documentElement,I=!y(G),(c=G.defaultView)&&c.top!==c&&(c.addEventListener?c.addEventListener("unload",wa,!1):c.attachEvent&&c.attachEvent("onunload",wa)),v.attributes=e(function(a){return a.className="i",!a.getAttribute("className")}),v.getElementsByTagName=e(function(a){return a.appendChild(G.createComment("")),!a.getElementsByTagName("*").length}),v.getElementsByClassName=qa.test(G.getElementsByClassName),v.getById=e(function(a){return H.appendChild(a).id=N,!G.getElementsByName||!G.getElementsByName(N).length}),v.getById?(w.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&I){var c=b.getElementById(a);return c?[c]:[]}},w.filter.ID=function(a){var b=a.replace(ua,va);return function(a){return a.getAttribute("id")===b}}):(delete w.find.ID,w.filter.ID=function(a){var b=a.replace(ua,va);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),w.find.TAG=v.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):v.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},w.find.CLASS=v.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&I)return b.getElementsByClassName(a)},K=[],J=[],(v.qsa=qa.test(G.querySelectorAll))&&(e(function(a){H.appendChild(a).innerHTML="<a id='"+N+"'></a><select id='"+N+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&J.push("[*^$]="+ca+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||J.push("\\["+ca+"*(?:value|"+ba+")"),a.querySelectorAll("[id~="+N+"-]").length||J.push("~="),a.querySelectorAll(":checked").length||J.push(":checked"),a.querySelectorAll("a#"+N+"+*").length||J.push(".#.+[+~]")}),e(function(a){var b=G.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&J.push("name"+ca+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||J.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),J.push(",.*:")})),(v.matchesSelector=qa.test(L=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&e(function(a){v.disconnectedMatch=L.call(a,"div"),L.call(a,"[s!='']:x"),K.push("!=",fa)}),J=J.length&&new RegExp(J.join("|")),K=K.length&&new RegExp(K.join("|")),b=qa.test(H.compareDocumentPosition),M=b||qa.test(H.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},U=b?function(a,b){if(a===b)return E=!0,0;var c=!a.compareDocumentPosition-!b.compareDocumentPosition;return c?c:(c=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&c||!v.sortDetached&&b.compareDocumentPosition(a)===c?a===G||a.ownerDocument===O&&M(O,a)?-1:b===G||b.ownerDocument===O&&M(O,b)?1:D?aa(D,a)-aa(D,b):0:4&c?-1:1)}:function(a,b){if(a===b)return E=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===G?-1:b===G?1:e?-1:f?1:D?aa(D,a)-aa(D,b):0;if(e===f)return g(a,b);for(c=a;c=c.parentNode;)h.unshift(c);for(c=b;c=c.parentNode;)i.unshift(c);for(;h[d]===i[d];)d++;return d?g(h[d],i[d]):h[d]===O?-1:i[d]===O?1:0},G):G},b.matches=function(a,c){return b(a,null,null,c)},b.matchesSelector=function(a,c){if((a.ownerDocument||a)!==G&&F(a),c=c.replace(ka,"='$1']"),v.matchesSelector&&I&&!T[c+" "]&&(!K||!K.test(c))&&(!J||!J.test(c)))try{var d=L.call(a,c);if(d||v.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return b(c,G,null,[a]).length>0},b.contains=function(a,b){return(a.ownerDocument||a)!==G&&F(a),M(a,b)},b.attr=function(a,b){(a.ownerDocument||a)!==G&&F(a);var c=w.attrHandle[b.toLowerCase()],d=c&&W.call(w.attrHandle,b.toLowerCase())?c(a,b,!I):void 0;return void 0!==d?d:v.attributes||!I?a.getAttribute(b):(d=a.getAttributeNode(b))&&d.specified?d.value:null},b.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},b.uniqueSort=function(a){var b,c=[],d=0,e=0;if(E=!v.detectDuplicates,D=!v.sortStable&&a.slice(0),a.sort(U),E){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return D=null,a},x=b.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=x(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d++];)c+=x(b);return c},w=b.selectors={cacheLength:50,createPseudo:d,match:na,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ua,va),a[3]=(a[3]||a[4]||a[5]||"").replace(ua,va),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||b.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&b.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return na.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&la.test(c)&&(b=z(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ua,va).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=R[a+" "];return b||(b=new RegExp("(^|"+ca+")"+a+"("+ca+"|$)"))&&R(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,c,d){return function(e){var f=b.attr(e,a);return null==f?"!="===c:!c||(f+="","="===c?f===d:"!="===c?f!==d:"^="===c?d&&0===f.indexOf(d):"*="===c?d&&f.indexOf(d)>-1:"$="===c?d&&f.slice(-d.length)===d:"~="===c?(" "+f.replace(ga," ")+" ").indexOf(d)>-1:"|="===c&&(f===d||f.slice(0,d.length+1)===d+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){for(;p;){for(m=b;m=m[p];)if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(m=q,l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===P&&j[1],t=n&&j[2],m=n&&q.childNodes[n];m=++n&&m&&m[p]||(t=n=0)||o.pop();)if(1===m.nodeType&&++t&&m===b){k[a]=[P,n,t];break}}else if(s&&(m=b,l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===P&&j[1],t=n),t===!1)for(;(m=++n&&m&&m[p]||(t=n=0)||o.pop())&&((h?m.nodeName.toLowerCase()!==r:1!==m.nodeType)||!++t||(s&&(l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[P,t]),m!==b)););return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,c){var e,f=w.pseudos[a]||w.setFilters[a.toLowerCase()]||b.error("unsupported pseudo: "+a);return f[N]?f(c):f.length>1?(e=[a,a,"",c],w.setFilters.hasOwnProperty(a.toLowerCase())?d(function(a,b){for(var d,e=f(a,c),g=e.length;g--;)d=aa(a,e[g]),a[d]=!(b[d]=e[g])}):function(a){return f(a,0,e)}):f}},pseudos:{not:d(function(a){var b=[],c=[],e=A(a.replace(ha,"$1"));return e[N]?d(function(a,b,c,d){for(var f,g=e(a,null,d,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,d,f){return b[0]=a,e(b,null,f,c),b[0]=null,!c.pop()}}),has:d(function(a){return function(c){return b(a,c).length>0}}),contains:d(function(a){return a=a.replace(ua,va),function(b){return(b.textContent||b.innerText||x(b)).indexOf(a)>-1}}),lang:d(function(a){return ma.test(a||"")||b.error("unsupported lang: "+a),a=a.replace(ua,va).toLowerCase(),function(b){var c;do if(c=I?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===H},focus:function(a){return a===G.activeElement&&(!G.hasFocus||G.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!w.pseudos.empty(a)},header:function(a){return pa.test(a.nodeName)},input:function(a){return oa.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:j(function(){return[0]}),last:j(function(a,b){return[b-1]}),eq:j(function(a,b,c){return[c<0?c+b:c]}),even:j(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:j(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:j(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:j(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},w.pseudos.nth=w.pseudos.eq;for(u in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[u]=h(u);for(u in{submit:!0,reset:!0})w.pseudos[u]=i(u);return l.prototype=w.filters=w.pseudos,w.setFilters=new l,z=b.tokenize=function(a,c){var d,e,f,g,h,i,j,k=S[a+" "];if(k)return c?0:k.slice(0);for(h=a,i=[],j=w.preFilter;h;){d&&!(e=ia.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),d=!1,(e=ja.exec(h))&&(d=e.shift(),f.push({value:d,type:e[0].replace(ha," ")}),h=h.slice(d.length));for(g in w.filter)!(e=na[g].exec(h))||j[g]&&!(e=j[g](e))||(d=e.shift(),f.push({value:d,type:g,matches:e}),h=h.slice(d.length));if(!d)break}return c?h.length:h?b.error(a):S(a,i).slice(0)},A=b.compile=function(a,b){var c,d=[],e=[],f=T[a+" "];if(!f){for(b||(b=z(a)),c=b.length;c--;)f=s(b[c]),f[N]?d.push(f):e.push(f);f=T(a,t(e,d)),f.selector=a}return f},B=b.select=function(a,b,c,d){var e,f,g,h,i,j="function"==typeof a&&a,l=!d&&z(a=j.selector||a);if(c=c||[],1===l.length){if(f=l[0]=l[0].slice(0),f.length>2&&"ID"===(g=f[0]).type&&v.getById&&9===b.nodeType&&I&&w.relative[f[1].type]){if(b=(w.find.ID(g.matches[0].replace(ua,va),b)||[])[0],!b)return c;j&&(b=b.parentNode),a=a.slice(f.shift().value.length)}for(e=na.needsContext.test(a)?0:f.length;e--&&(g=f[e],!w.relative[h=g.type]);)if((i=w.find[h])&&(d=i(g.matches[0].replace(ua,va),sa.test(f[0].type)&&k(b.parentNode)||b))){if(f.splice(e,1),a=d.length&&m(f),!a)return $.apply(c,d),c;break}}return(j||A(a,l))(d,b,!I,c,!b||sa.test(a)&&k(b.parentNode)||b),c},v.sortStable=N.split("").sort(U).join("")===N,v.detectDuplicates=!!E,F(),v.sortDetached=e(function(a){return 1&a.compareDocumentPosition(G.createElement("div"))}),e(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||f("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),v.attributes&&e(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||f("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),e(function(a){return null==a.getAttribute("disabled")})||f(ba,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),b}(b);ga.find=la,ga.expr=la.selectors,ga.expr[":"]=ga.expr.pseudos,ga.uniqueSort=ga.unique=la.uniqueSort,ga.text=la.getText,ga.isXMLDoc=la.isXML,ga.contains=la.contains;var ma=function(a,b,c){for(var d=[],e=void 0!==c;(a=a[b])&&9!==a.nodeType;)if(1===a.nodeType){if(e&&ga(a).is(c))break;d.push(a)}return d},na=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},oa=ga.expr.match.needsContext,pa=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,qa=/^.[^:#\[\.,]*$/;ga.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?ga.find.matchesSelector(d,a)?[d]:[]:ga.find.matches(a,ga.grep(b,function(a){return 1===a.nodeType}))},ga.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(ga(a).filter(function(){for(b=0;b<c;b++)if(ga.contains(e[b],this))return!0}));for(b=0;b<c;b++)ga.find(a,e[b],d);return d=this.pushStack(c>1?ga.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(e(this,a||[],!1))},not:function(a){return this.pushStack(e(this,a||[],!0))},is:function(a){return!!e(this,"string"==typeof a&&oa.test(a)?ga(a):a||[],!1).length}});var ra,sa=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ta=ga.fn.init=function(a,b,c){var d,e;if(!a)return this;if(c=c||ra,"string"==typeof a){if(d="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:sa.exec(a),!d||!d[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(d[1]){if(b=b instanceof ga?b[0]:b,ga.merge(this,ga.parseHTML(d[1],b&&b.nodeType?b.ownerDocument||b:Y,!0)),pa.test(d[1])&&ga.isPlainObject(b))for(d in b)ga.isFunction(this[d])?this[d](b[d]):this.attr(d,b[d]);return this}return e=Y.getElementById(d[2]),e&&e.parentNode&&(this.length=1,this[0]=e),this.context=Y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):ga.isFunction(a)?void 0!==c.ready?c.ready(a):a(ga):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),ga.makeArray(a,this))};ta.prototype=ga.fn,ra=ga(Y);var ua=/^(?:parents|prev(?:Until|All))/,va={children:!0,contents:!0,next:!0,prev:!0};ga.fn.extend({has:function(a){var b=ga(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(ga.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=oa.test(a)||"string"!=typeof a?ga(a,b||this.context):0;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&ga.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?ga.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?aa.call(ga(a),this[0]):aa.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(ga.uniqueSort(ga.merge(this.get(),ga(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),ga.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return ma(a,"parentNode")},parentsUntil:function(a,b,c){return ma(a,"parentNode",c)},next:function(a){return f(a,"nextSibling")},prev:function(a){return f(a,"previousSibling")},nextAll:function(a){return ma(a,"nextSibling")},prevAll:function(a){return ma(a,"previousSibling")},nextUntil:function(a,b,c){return ma(a,"nextSibling",c)},prevUntil:function(a,b,c){return ma(a,"previousSibling",c)},siblings:function(a){return na((a.parentNode||{}).firstChild,a)},children:function(a){return na(a.firstChild)},contents:function(a){return a.contentDocument||ga.merge([],a.childNodes)}},function(a,b){ga.fn[a]=function(c,d){var e=ga.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=ga.filter(d,e)),this.length>1&&(va[a]||ga.uniqueSort(e),ua.test(a)&&e.reverse()),this.pushStack(e)}});var wa=/\S+/g;ga.Callbacks=function(a){a="string"==typeof a?g(a):ga.extend({},a);var b,c,d,e,f=[],h=[],i=-1,j=function(){for(e=a.once,d=b=!0;h.length;i=-1)for(c=h.shift();++i<f.length;)f[i].apply(c[0],c[1])===!1&&a.stopOnFalse&&(i=f.length,c=!1);a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},k={add:function(){return f&&(c&&!b&&(i=f.length-1,h.push(c)),function d(b){ga.each(b,function(b,c){ga.isFunction(c)?a.unique&&k.has(c)||f.push(c):c&&c.length&&"string"!==ga.type(c)&&d(c)})}(arguments),c&&!b&&j()),this},remove:function(){return ga.each(arguments,function(a,b){for(var c;(c=ga.inArray(b,f,c))>-1;)f.splice(c,1),c<=i&&i--}),this},has:function(a){return a?ga.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=h=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=h=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],h.push(c),b||j()),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},ga.extend({Deferred:function(a){var b=[["resolve","done",ga.Callbacks("once memory"),"resolved"],["reject","fail",ga.Callbacks("once memory"),"rejected"],["notify","progress",ga.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return ga.Deferred(function(c){ga.each(b,function(b,f){var g=ga.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&ga.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?ga.extend(a,d):d}},e={};return d.pipe=d.then,ga.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=Z.call(arguments),g=f.length,h=1!==g||a&&ga.isFunction(a.promise)?g:0,i=1===h?a:ga.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?Z.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=new Array(g),c=new Array(g),d=new Array(g);e<g;e++)f[e]&&ga.isFunction(f[e].promise)?f[e].promise().progress(j(e,c,b)).done(j(e,d,f)).fail(i.reject):--h;return h||i.resolveWith(d,f),i.promise()}});var xa;ga.fn.ready=function(a){return ga.ready.promise().done(a),this},ga.extend({isReady:!1,readyWait:1,holdReady:function(a){a?ga.readyWait++:ga.ready(!0)},ready:function(a){(a===!0?--ga.readyWait:ga.isReady)||(ga.isReady=!0,a!==!0&&--ga.readyWait>0||(xa.resolveWith(Y,[ga]),ga.fn.triggerHandler&&(ga(Y).triggerHandler("ready"),ga(Y).off("ready"))))}}),ga.ready.promise=function(a){return xa||(xa=ga.Deferred(),"complete"===Y.readyState||"loading"!==Y.readyState&&!Y.documentElement.doScroll?b.setTimeout(ga.ready):(Y.addEventListener("DOMContentLoaded",h),b.addEventListener("load",h))),xa.promise(a)},ga.ready.promise();var ya=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===ga.type(c)){e=!0;for(h in c)ya(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,ga.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(ga(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},za=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};i.uid=1,i.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!za(a))return{};var b=a[this.expando];return b||(b={},za(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,ga.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{ga.isArray(b)?d=b.concat(b.map(ga.camelCase)):(e=ga.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(wa)||[])),c=d.length;for(;c--;)delete f[d[c]]}(void 0===b||ga.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!ga.isEmptyObject(b)}};var Aa=new i,Ba=new i,Ca=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Da=/[A-Z]/g;ga.extend({hasData:function(a){return Ba.hasData(a)||Aa.hasData(a)},data:function(a,b,c){return Ba.access(a,b,c)},removeData:function(a,b){Ba.remove(a,b)},_data:function(a,b,c){return Aa.access(a,b,c)},_removeData:function(a,b){Aa.remove(a,b)}}),ga.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=Ba.get(f),1===f.nodeType&&!Aa.get(f,"hasDataAttrs"))){for(c=g.length;c--;)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=ga.camelCase(d.slice(5)),j(f,d,e[d])));Aa.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){Ba.set(this,a)}):ya(this,function(b){
var c,d;if(f&&void 0===b){if(c=Ba.get(f,a)||Ba.get(f,a.replace(Da,"-$&").toLowerCase()),void 0!==c)return c;if(d=ga.camelCase(a),c=Ba.get(f,d),void 0!==c)return c;if(c=j(f,d,void 0),void 0!==c)return c}else d=ga.camelCase(a),this.each(function(){var c=Ba.get(this,d);Ba.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&Ba.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){Ba.remove(this,a)})}}),ga.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=Aa.get(a,b),c&&(!d||ga.isArray(c)?d=Aa.access(a,b,ga.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=ga.queue(a,b),d=c.length,e=c.shift(),f=ga._queueHooks(a,b),g=function(){ga.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return Aa.get(a,c)||Aa.access(a,c,{empty:ga.Callbacks("once memory").add(function(){Aa.remove(a,[b+"queue",c])})})}}),ga.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?ga.queue(this[0],a):void 0===b?this:this.each(function(){var c=ga.queue(this,a,b);ga._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&ga.dequeue(this,a)})},dequeue:function(a){return this.each(function(){ga.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=ga.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};for("string"!=typeof a&&(b=a,a=void 0),a=a||"fx";g--;)c=Aa.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Ea=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Fa=new RegExp("^(?:([+-])=|)("+Ea+")([a-z%]*)$","i"),Ga=["Top","Right","Bottom","Left"],Ha=function(a,b){return a=b||a,"none"===ga.css(a,"display")||!ga.contains(a.ownerDocument,a)},Ia=/^(?:checkbox|radio)$/i,Ja=/<([\w:-]+)/,Ka=/^$|\/(?:java|ecma)script/i,La={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};La.optgroup=La.option,La.tbody=La.tfoot=La.colgroup=La.caption=La.thead,La.th=La.td;var Ma=/<|&#?\w+;/;!function(){var a=Y.createDocumentFragment(),b=a.appendChild(Y.createElement("div")),c=Y.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),ea.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",ea.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var Na=/^key/,Oa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Pa=/^([^.]*)(?:\.(.+)|)/;ga.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=Aa.get(a);if(q)for(c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=ga.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof ga&&ga.event.triggered!==b.type?ga.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(wa)||[""],j=b.length;j--;)h=Pa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=ga.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=ga.event.special[n]||{},k=ga.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&ga.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),ga.event.global[n]=!0)},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=Aa.hasData(a)&&Aa.get(a);if(q&&(i=q.events)){for(b=(b||"").match(wa)||[""],j=b.length;j--;)if(h=Pa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){for(l=ga.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;f--;)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||ga.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)ga.event.remove(a,n+b[j],c,d,!0);ga.isEmptyObject(i)&&Aa.remove(a,"handle events")}},dispatch:function(a){a=ga.event.fix(a);var b,c,d,e,f,g=[],h=Z.call(arguments),i=(Aa.get(this,"events")||{})[a.type]||[],j=ga.event.special[a.type]||{};if(h[0]=a,a.delegateTarget=this,!j.preDispatch||j.preDispatch.call(this,a)!==!1){for(g=ga.event.handlers.call(this,a,i),b=0;(e=g[b++])&&!a.isPropagationStopped();)for(a.currentTarget=e.elem,c=0;(f=e.handlers[c++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(f.namespace)||(a.handleObj=f,a.data=f.data,d=((ga.event.special[f.origType]||{}).handle||f.handler).apply(e.elem,h),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()));return j.postDispatch&&j.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;c<h;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?ga(e,this).index(i)>-1:ga.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||Y,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[ga.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];for(g||(this.fixHooks[e]=g=Oa.test(e)?this.mouseHooks:Na.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new ga.Event(f),b=d.length;b--;)c=d[b],a[c]=f[c];return a.target||(a.target=Y),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==q()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===q()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&ga.nodeName(this,"input"))return this.click(),!1},_default:function(a){return ga.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},ga.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},ga.Event=function(a,b){return this instanceof ga.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?o:p):this.type=a,b&&ga.extend(this,b),this.timeStamp=a&&a.timeStamp||ga.now(),void(this[ga.expando]=!0)):new ga.Event(a,b)},ga.Event.prototype={constructor:ga.Event,isDefaultPrevented:p,isPropagationStopped:p,isImmediatePropagationStopped:p,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=o,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=o,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=o,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},ga.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){ga.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||ga.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),ga.fn.extend({on:function(a,b,c,d){return r(this,a,b,c,d)},one:function(a,b,c,d){return r(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,ga(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=p),this.each(function(){ga.event.remove(this,a,c,b)})}});var Qa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Ra=/<script|<style|<link/i,Sa=/checked\s*(?:[^=]|=\s*.checked.)/i,Ta=/^true\/(.*)/,Ua=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;ga.extend({htmlPrefilter:function(a){return a.replace(Qa,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=ga.contains(a.ownerDocument,a);if(!(ea.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||ga.isXMLDoc(a)))for(g=l(h),f=l(a),d=0,e=f.length;d<e;d++)w(f[d],g[d]);if(b)if(c)for(f=f||l(a),g=g||l(h),d=0,e=f.length;d<e;d++)v(f[d],g[d]);else v(a,h);return g=l(h,"script"),g.length>0&&m(g,!i&&l(a,"script")),h},cleanData:function(a){for(var b,c,d,e=ga.event.special,f=0;void 0!==(c=a[f]);f++)if(za(c)){if(b=c[Aa.expando]){if(b.events)for(d in b.events)e[d]?ga.event.remove(c,d):ga.removeEvent(c,d,b.handle);c[Aa.expando]=void 0}c[Ba.expando]&&(c[Ba.expando]=void 0)}}}),ga.fn.extend({domManip:x,detach:function(a){return y(this,a,!0)},remove:function(a){return y(this,a)},text:function(a){return ya(this,function(a){return void 0===a?ga.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return x(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=s(this,a);b.appendChild(a)}})},prepend:function(){return x(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=s(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return x(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return x(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(ga.cleanData(l(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return ga.clone(this,a,b)})},html:function(a){return ya(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Ra.test(a)&&!La[(Ja.exec(a)||["",""])[1].toLowerCase()]){a=ga.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(ga.cleanData(l(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return x(this,arguments,function(b){var c=this.parentNode;ga.inArray(this,a)<0&&(ga.cleanData(l(this)),c&&c.replaceChild(b,this))},a)}}),ga.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){ga.fn[a]=function(a){for(var c,d=[],e=ga(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),ga(e[g])[b](c),_.apply(d,c.get());return this.pushStack(d)}});var Va,Wa={HTML:"block",BODY:"block"},Xa=/^margin/,Ya=new RegExp("^("+Ea+")(?!px)[a-z%]+$","i"),Za=function(a){var c=a.ownerDocument.defaultView;return c&&c.opener||(c=b),c.getComputedStyle(a)},$a=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},_a=Y.documentElement;!function(){function a(){h.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",h.innerHTML="",_a.appendChild(g);var a=b.getComputedStyle(h);c="1%"!==a.top,f="2px"===a.marginLeft,d="4px"===a.width,h.style.marginRight="50%",e="4px"===a.marginRight,_a.removeChild(g)}var c,d,e,f,g=Y.createElement("div"),h=Y.createElement("div");h.style&&(h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",ea.clearCloneStyle="content-box"===h.style.backgroundClip,g.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",g.appendChild(h),ga.extend(ea,{pixelPosition:function(){return a(),c},boxSizingReliable:function(){return null==d&&a(),d},pixelMarginRight:function(){return null==d&&a(),e},reliableMarginLeft:function(){return null==d&&a(),f},reliableMarginRight:function(){var a,c=h.appendChild(Y.createElement("div"));return c.style.cssText=h.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",h.style.width="1px",_a.appendChild(g),a=!parseFloat(b.getComputedStyle(c).marginRight),_a.removeChild(g),h.removeChild(c),a}}))}();var ab=/^(none|table(?!-c[ea]).+)/,bb={position:"absolute",visibility:"hidden",display:"block"},cb={letterSpacing:"0",fontWeight:"400"},db=["Webkit","O","Moz","ms"],eb=Y.createElement("div").style;ga.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=B(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=ga.camelCase(b),i=a.style;return b=ga.cssProps[h]||(ga.cssProps[h]=D(h)||h),g=ga.cssHooks[b]||ga.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Fa.exec(c))&&e[1]&&(c=k(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(ga.cssNumber[h]?"":"px")),ea.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=ga.camelCase(b);return b=ga.cssProps[h]||(ga.cssProps[h]=D(h)||h),g=ga.cssHooks[b]||ga.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=B(a,b,d)),"normal"===e&&b in cb&&(e=cb[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),ga.each(["height","width"],function(a,b){ga.cssHooks[b]={get:function(a,c,d){if(c)return ab.test(ga.css(a,"display"))&&0===a.offsetWidth?$a(a,bb,function(){return G(a,b,d)}):G(a,b,d)},set:function(a,c,d){var e,f=d&&Za(a),g=d&&F(a,b,d,"border-box"===ga.css(a,"boxSizing",!1,f),f);return g&&(e=Fa.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=ga.css(a,b)),E(a,c,g)}}}),ga.cssHooks.marginLeft=C(ea.reliableMarginLeft,function(a,b){if(b)return(parseFloat(B(a,"marginLeft"))||a.getBoundingClientRect().left-$a(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),ga.cssHooks.marginRight=C(ea.reliableMarginRight,function(a,b){if(b)return $a(a,{display:"inline-block"},B,[a,"marginRight"])}),ga.each({margin:"",padding:"",border:"Width"},function(a,b){ga.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+Ga[d]+b]=f[d]||f[d-2]||f[0];return e}},Xa.test(a)||(ga.cssHooks[a+b].set=E)}),ga.fn.extend({css:function(a,b){return ya(this,function(a,b,c){var d,e,f={},g=0;if(ga.isArray(b)){for(d=Za(a),e=b.length;g<e;g++)f[b[g]]=ga.css(a,b[g],!1,d);return f}return void 0!==c?ga.style(a,b,c):ga.css(a,b)},a,b,arguments.length>1)},show:function(){return H(this,!0)},hide:function(){return H(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){Ha(this)?ga(this).show():ga(this).hide()})}}),ga.Tween=I,I.prototype={constructor:I,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||ga.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(ga.cssNumber[c]?"":"px")},cur:function(){var a=I.propHooks[this.prop];return a&&a.get?a.get(this):I.propHooks._default.get(this)},run:function(a){var b,c=I.propHooks[this.prop];return this.options.duration?this.pos=b=ga.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=ga.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){ga.fx.step[a.prop]?ga.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[ga.cssProps[a.prop]]&&!ga.cssHooks[a.prop]?a.elem[a.prop]=a.now:ga.style(a.elem,a.prop,a.now+a.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},ga.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},ga.fx=I.prototype.init,ga.fx.step={};var fb,gb,hb=/^(?:toggle|show|hide)$/,ib=/queueHooks$/;ga.Animation=ga.extend(O,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return k(c.elem,a,Fa.exec(b),c),c}]},tweener:function(a,b){ga.isFunction(a)?(b=a,a=["*"]):a=a.match(wa);for(var c,d=0,e=a.length;d<e;d++)c=a[d],O.tweeners[c]=O.tweeners[c]||[],O.tweeners[c].unshift(b)},prefilters:[M],prefilter:function(a,b){b?O.prefilters.unshift(a):O.prefilters.push(a)}}),ga.speed=function(a,b,c){var d=a&&"object"==typeof a?ga.extend({},a):{complete:c||!c&&b||ga.isFunction(a)&&a,duration:a,easing:c&&b||b&&!ga.isFunction(b)&&b};return d.duration=ga.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in ga.fx.speeds?ga.fx.speeds[d.duration]:ga.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){ga.isFunction(d.old)&&d.old.call(this),d.queue&&ga.dequeue(this,d.queue)},d},ga.fn.extend({fadeTo:function(a,b,c,d){return this.filter(Ha).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=ga.isEmptyObject(a),f=ga.speed(b,c,d),g=function(){var b=O(this,ga.extend({},a),f);(e||Aa.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=ga.timers,g=Aa.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&ib.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||ga.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=Aa.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=ga.timers,g=d?d.length:0;for(c.finish=!0,ga.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),ga.each(["toggle","show","hide"],function(a,b){var c=ga.fn[b];ga.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(K(b,!0),a,d,e)}}),ga.each({slideDown:K("show"),slideUp:K("hide"),slideToggle:K("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){ga.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),ga.timers=[],ga.fx.tick=function(){var a,b=0,c=ga.timers;for(fb=ga.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||ga.fx.stop(),fb=void 0},ga.fx.timer=function(a){ga.timers.push(a),a()?ga.fx.start():ga.timers.pop()},ga.fx.interval=13,ga.fx.start=function(){gb||(gb=b.setInterval(ga.fx.tick,ga.fx.interval))},ga.fx.stop=function(){b.clearInterval(gb),gb=null},ga.fx.speeds={slow:600,fast:200,_default:400},ga.fn.delay=function(a,c){return a=ga.fx?ga.fx.speeds[a]||a:a,c=c||"fx",this.queue(c,function(c,d){var e=b.setTimeout(c,a);d.stop=function(){b.clearTimeout(e)}})},function(){var a=Y.createElement("input"),b=Y.createElement("select"),c=b.appendChild(Y.createElement("option"));a.type="checkbox",ea.checkOn=""!==a.value,ea.optSelected=c.selected,b.disabled=!0,ea.optDisabled=!c.disabled,a=Y.createElement("input"),a.value="t",a.type="radio",ea.radioValue="t"===a.value}();var jb,kb=ga.expr.attrHandle;ga.fn.extend({attr:function(a,b){return ya(this,ga.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){ga.removeAttr(this,a)})}}),ga.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?ga.prop(a,b,c):(1===f&&ga.isXMLDoc(a)||(b=b.toLowerCase(),e=ga.attrHooks[b]||(ga.expr.match.bool.test(b)?jb:void 0)),void 0!==c?null===c?void ga.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=ga.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!ea.radioValue&&"radio"===b&&ga.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(wa);if(f&&1===a.nodeType)for(;c=f[e++];)d=ga.propFix[c]||c,ga.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)}}),jb={set:function(a,b,c){return b===!1?ga.removeAttr(a,c):a.setAttribute(c,c),c}},ga.each(ga.expr.match.bool.source.match(/\w+/g),function(a,b){var c=kb[b]||ga.find.attr;kb[b]=function(a,b,d){var e,f;return d||(f=kb[b],kb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,kb[b]=f),e}});var lb=/^(?:input|select|textarea|button)$/i,mb=/^(?:a|area)$/i;ga.fn.extend({prop:function(a,b){return ya(this,ga.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[ga.propFix[a]||a]})}}),ga.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&ga.isXMLDoc(a)||(b=ga.propFix[b]||b,e=ga.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=ga.find.attr(a,"tabindex");return b?parseInt(b,10):lb.test(a.nodeName)||mb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),ea.optSelected||(ga.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),ga.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ga.propFix[this.toLowerCase()]=this});var nb=/[\t\r\n\f]/g;ga.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(ga.isFunction(a))return this.each(function(b){ga(this).addClass(a.call(this,b,P(this)))});if("string"==typeof a&&a)for(b=a.match(wa)||[];c=this[i++];)if(e=P(c),d=1===c.nodeType&&(" "+e+" ").replace(nb," ")){for(g=0;f=b[g++];)d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=ga.trim(d),e!==h&&c.setAttribute("class",h)}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(ga.isFunction(a))return this.each(function(b){ga(this).removeClass(a.call(this,b,P(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a)for(b=a.match(wa)||[];c=this[i++];)if(e=P(c),d=1===c.nodeType&&(" "+e+" ").replace(nb," ")){for(g=0;f=b[g++];)for(;d.indexOf(" "+f+" ")>-1;)d=d.replace(" "+f+" "," ");h=ga.trim(d),e!==h&&c.setAttribute("class",h)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):ga.isFunction(a)?this.each(function(c){ga(this).toggleClass(a.call(this,c,P(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c)for(d=0,e=ga(this),f=a.match(wa)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else void 0!==a&&"boolean"!==c||(b=P(this),b&&Aa.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":Aa.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;for(b=" "+a+" ";c=this[d++];)if(1===c.nodeType&&(" "+P(c)+" ").replace(nb," ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g,pb=/[\x20\t\r\n\f]+/g;ga.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=ga.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,ga(this).val()):a,null==e?e="":"number"==typeof e?e+="":ga.isArray(e)&&(e=ga.map(e,function(a){return null==a?"":a+""})),b=ga.valHooks[this.type]||ga.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=ga.valHooks[e.type]||ga.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),ga.extend({valHooks:{option:{get:function(a){var b=ga.find.attr(a,"value");return null!=b?b:ga.trim(ga.text(a)).replace(pb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||e<0,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i<h;i++)if(c=d[i],(c.selected||i===e)&&(ea.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!ga.nodeName(c.parentNode,"optgroup"))){if(b=ga(c).val(),f)return b;g.push(b)}return g},set:function(a,b){for(var c,d,e=a.options,f=ga.makeArray(b),g=e.length;g--;)d=e[g],(d.selected=ga.inArray(ga.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),ga.each(["radio","checkbox"],function(){ga.valHooks[this]={set:function(a,b){if(ga.isArray(b))return a.checked=ga.inArray(ga(a).val(),b)>-1}},ea.checkOn||(ga.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var qb=/^(?:focusinfocus|focusoutblur)$/;ga.extend(ga.event,{trigger:function(a,c,d,e){var f,g,h,i,j,k,l,m=[d||Y],n=da.call(a,"type")?a.type:a,o=da.call(a,"namespace")?a.namespace.split("."):[];if(g=h=d=d||Y,3!==d.nodeType&&8!==d.nodeType&&!qb.test(n+ga.event.triggered)&&(n.indexOf(".")>-1&&(o=n.split("."),n=o.shift(),o.sort()),j=n.indexOf(":")<0&&"on"+n,a=a[ga.expando]?a:new ga.Event(n,"object"==typeof a&&a),a.isTrigger=e?2:3,a.namespace=o.join("."),a.rnamespace=a.namespace?new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,a.result=void 0,a.target||(a.target=d),c=null==c?[a]:ga.makeArray(c,[a]),l=ga.event.special[n]||{},e||!l.trigger||l.trigger.apply(d,c)!==!1)){if(!e&&!l.noBubble&&!ga.isWindow(d)){for(i=l.delegateType||n,qb.test(i+n)||(g=g.parentNode);g;g=g.parentNode)m.push(g),h=g;h===(d.ownerDocument||Y)&&m.push(h.defaultView||h.parentWindow||b)}for(f=0;(g=m[f++])&&!a.isPropagationStopped();)a.type=f>1?i:l.bindType||n,k=(Aa.get(g,"events")||{})[a.type]&&Aa.get(g,"handle"),k&&k.apply(g,c),k=j&&g[j],k&&k.apply&&za(g)&&(a.result=k.apply(g,c),a.result===!1&&a.preventDefault());return a.type=n,e||a.isDefaultPrevented()||l._default&&l._default.apply(m.pop(),c)!==!1||!za(d)||j&&ga.isFunction(d[n])&&!ga.isWindow(d)&&(h=d[j],h&&(d[j]=null),ga.event.triggered=n,d[n](),ga.event.triggered=void 0,h&&(d[j]=h)),a.result}},simulate:function(a,b,c){var d=ga.extend(new ga.Event,c,{type:a,isSimulated:!0});ga.event.trigger(d,null,b)}}),ga.fn.extend({trigger:function(a,b){return this.each(function(){ga.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return ga.event.trigger(a,b,c,!0)}}),ga.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){ga.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),ga.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),ea.focusin="onfocusin"in b,ea.focusin||ga.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){ga.event.simulate(b,a.target,ga.event.fix(a))};ga.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=Aa.access(d,b);e||d.addEventListener(a,c,!0),Aa.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=Aa.access(d,b)-1;e?Aa.access(d,b,e):(d.removeEventListener(a,c,!0),Aa.remove(d,b))}}});var rb=b.location,sb=ga.now(),tb=/\?/;ga.parseJSON=function(a){return JSON.parse(a+"")},ga.parseXML=function(a){var c;if(!a||"string"!=typeof a)return null;try{c=(new b.DOMParser).parseFromString(a,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||ga.error("Invalid XML: "+a),c};var ub=/#.*$/,vb=/([?&])_=[^&]*/,wb=/^(.*?):[ \t]*([^\r\n]*)$/gm,xb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,yb=/^(?:GET|HEAD)$/,zb=/^\/\//,Ab={},Bb={},Cb="*/".concat("*"),Db=Y.createElement("a");Db.href=rb.href,ga.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:rb.href,type:"GET",isLocal:xb.test(rb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Cb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":ga.parseJSON,"text xml":ga.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?S(S(a,ga.ajaxSettings),b):S(ga.ajaxSettings,a)},ajaxPrefilter:Q(Ab),ajaxTransport:Q(Bb),ajax:function(a,c){function d(a,c,d,h){var j,l,s,t,v,x=c;2!==u&&(u=2,i&&b.clearTimeout(i),e=void 0,g=h||"",w.readyState=a>0?4:0,j=a>=200&&a<300||304===a,d&&(t=T(m,w,d)),t=U(m,t,w,j),j?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&(ga.lastModified[f]=v),v=w.getResponseHeader("etag"),v&&(ga.etag[f]=v)),204===a||"HEAD"===m.type?x="nocontent":304===a?x="notmodified":(x=t.state,l=t.data,s=t.error,j=!s)):(s=x,!a&&x||(x="error",a<0&&(a=0))),w.status=a,w.statusText=(c||x)+"",j?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=void 0,k&&o.trigger(j?"ajaxSuccess":"ajaxError",[w,m,j?l:s]),q.fireWith(n,[w,x]),k&&(o.trigger("ajaxComplete",[w,m]),--ga.active||ga.event.trigger("ajaxStop")))}"object"==typeof a&&(c=a,a=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=ga.ajaxSetup({},c),n=m.context||m,o=m.context&&(n.nodeType||n.jquery)?ga(n):ga.event,p=ga.Deferred(),q=ga.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!h)for(h={};b=wb.exec(g);)h[b[1].toLowerCase()]=b[2];b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(u<2)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return e&&e.abort(b),d(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,m.url=((a||m.url||rb.href)+"").replace(ub,"").replace(zb,rb.protocol+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=ga.trim(m.dataType||"*").toLowerCase().match(wa)||[""],null==m.crossDomain){j=Y.createElement("a");try{j.href=m.url,j.href=j.href,m.crossDomain=Db.protocol+"//"+Db.host!=j.protocol+"//"+j.host;
}catch(x){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=ga.param(m.data,m.traditional)),R(Ab,m,c,w),2===u)return w;k=ga.event&&m.global,k&&0===ga.active++&&ga.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!yb.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(tb.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=vb.test(f)?f.replace(vb,"$1_="+sb++):f+(tb.test(f)?"&":"?")+"_="+sb++)),m.ifModified&&(ga.lastModified[f]&&w.setRequestHeader("If-Modified-Since",ga.lastModified[f]),ga.etag[f]&&w.setRequestHeader("If-None-Match",ga.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+Cb+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)w.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(n,w,m)===!1||2===u))return w.abort();v="abort";for(l in{success:1,error:1,complete:1})w[l](m[l]);if(e=R(Bb,m,c,w)){if(w.readyState=1,k&&o.trigger("ajaxSend",[w,m]),2===u)return w;m.async&&m.timeout>0&&(i=b.setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,e.send(s,d)}catch(x){if(!(u<2))throw x;d(-1,x)}}else d(-1,"No Transport");return w},getJSON:function(a,b,c){return ga.get(a,b,c,"json")},getScript:function(a,b){return ga.get(a,void 0,b,"script")}}),ga.each(["get","post"],function(a,b){ga[b]=function(a,c,d,e){return ga.isFunction(c)&&(e=e||d,d=c,c=void 0),ga.ajax(ga.extend({url:a,type:b,dataType:e,data:c,success:d},ga.isPlainObject(a)&&a))}}),ga._evalUrl=function(a){return ga.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},ga.fn.extend({wrapAll:function(a){var b;return ga.isFunction(a)?this.each(function(b){ga(this).wrapAll(a.call(this,b))}):(this[0]&&(b=ga(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstElementChild;)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return ga.isFunction(a)?this.each(function(b){ga(this).wrapInner(a.call(this,b))}):this.each(function(){var b=ga(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=ga.isFunction(a);return this.each(function(c){ga(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){ga.nodeName(this,"body")||ga(this).replaceWith(this.childNodes)}).end()}}),ga.expr.filters.hidden=function(a){return!ga.expr.filters.visible(a)},ga.expr.filters.visible=function(a){return a.offsetWidth>0||a.offsetHeight>0||a.getClientRects().length>0};var Eb=/%20/g,Fb=/\[\]$/,Gb=/\r?\n/g,Hb=/^(?:submit|button|image|reset|file)$/i,Ib=/^(?:input|select|textarea|keygen)/i;ga.param=function(a,b){var c,d=[],e=function(a,b){b=ga.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=ga.ajaxSettings&&ga.ajaxSettings.traditional),ga.isArray(a)||a.jquery&&!ga.isPlainObject(a))ga.each(a,function(){e(this.name,this.value)});else for(c in a)V(c,a[c],b,e);return d.join("&").replace(Eb,"+")},ga.fn.extend({serialize:function(){return ga.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=ga.prop(this,"elements");return a?ga.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!ga(this).is(":disabled")&&Ib.test(this.nodeName)&&!Hb.test(a)&&(this.checked||!Ia.test(a))}).map(function(a,b){var c=ga(this).val();return null==c?null:ga.isArray(c)?ga.map(c,function(a){return{name:b.name,value:a.replace(Gb,"\r\n")}}):{name:b.name,value:c.replace(Gb,"\r\n")}}).get()}}),ga.ajaxSettings.xhr=function(){try{return new b.XMLHttpRequest}catch(a){}};var Jb={0:200,1223:204},Kb=ga.ajaxSettings.xhr();ea.cors=!!Kb&&"withCredentials"in Kb,ea.ajax=Kb=!!Kb,ga.ajaxTransport(function(a){var c,d;if(ea.cors||Kb&&!a.crossDomain)return{send:function(e,f){var g,h=a.xhr();if(h.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(g in a.xhrFields)h[g]=a.xhrFields[g];a.mimeType&&h.overrideMimeType&&h.overrideMimeType(a.mimeType),a.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Jb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&b.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(a.hasContent&&a.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),ga.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return ga.globalEval(a),a}}}),ga.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),ga.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=ga("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),Y.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Lb=[],Mb=/(=)\?(?=&|$)|\?\?/;ga.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Lb.pop()||ga.expando+"_"+sb++;return this[a]=!0,a}}),ga.ajaxPrefilter("json jsonp",function(a,c,d){var e,f,g,h=a.jsonp!==!1&&(Mb.test(a.url)?"url":"string"==typeof a.data&&0===(a.contentType||"").indexOf("application/x-www-form-urlencoded")&&Mb.test(a.data)&&"data");if(h||"jsonp"===a.dataTypes[0])return e=a.jsonpCallback=ga.isFunction(a.jsonpCallback)?a.jsonpCallback():a.jsonpCallback,h?a[h]=a[h].replace(Mb,"$1"+e):a.jsonp!==!1&&(a.url+=(tb.test(a.url)?"&":"?")+a.jsonp+"="+e),a.converters["script json"]=function(){return g||ga.error(e+" was not called"),g[0]},a.dataTypes[0]="json",f=b[e],b[e]=function(){g=arguments},d.always(function(){void 0===f?ga(b).removeProp(e):b[e]=f,a[e]&&(a.jsonpCallback=c.jsonpCallback,Lb.push(e)),g&&ga.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),ga.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||Y;var d=pa.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n([a],b,e),e&&e.length&&ga(e).remove(),ga.merge([],d.childNodes))};var Nb=ga.fn.load;ga.fn.load=function(a,b,c){if("string"!=typeof a&&Nb)return Nb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=ga.trim(a.slice(h)),a=a.slice(0,h)),ga.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&ga.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?ga("<div>").append(ga.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},ga.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){ga.fn[b]=function(a){return this.on(b,a)}}),ga.expr.filters.animated=function(a){return ga.grep(ga.timers,function(b){return a===b.elem}).length},ga.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=ga.css(a,"position"),l=ga(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=ga.css(a,"top"),i=ga.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),ga.isFunction(b)&&(b=b.call(a,c,ga.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},ga.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){ga.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,ga.contains(b,d)?(e=d.getBoundingClientRect(),c=W(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===ga.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),ga.nodeName(a[0],"html")||(d=a.offset()),d.top+=ga.css(a[0],"borderTopWidth",!0),d.left+=ga.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-ga.css(c,"marginTop",!0),left:b.left-d.left-ga.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent;a&&"static"===ga.css(a,"position");)a=a.offsetParent;return a||_a})}}),ga.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;ga.fn[a]=function(d){return ya(this,function(a,d,e){var f=W(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),ga.each(["top","left"],function(a,b){ga.cssHooks[b]=C(ea.pixelPosition,function(a,c){if(c)return c=B(a,b),Ya.test(c)?ga(a).position()[b]+"px":c})}),ga.each({Height:"height",Width:"width"},function(a,b){ga.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){ga.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return ya(this,function(b,c,d){var e;return ga.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?ga.css(b,c,g):ga.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),ga.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)},size:function(){return this.length}}),ga.fn.andSelf=ga.fn.addBack,"function"==typeof a&&a.amd&&a("npm:jquery@2.2.4/dist/jquery.js",[],function(){return ga})&&a("jquery",["npm:jquery@2.2.4/dist/jquery.js"],function(a){return a});var Ob=b.jQuery,Pb=b.$;return ga.noConflict=function(a){return b.$===ga&&(b.$=Pb),a&&b.jQuery===ga&&(b.jQuery=Ob),ga},c||(b.jQuery=b.$=ga),ga})}(),function(){var a=System.amdDefine;a("npm:jquery@2.2.4.js",["npm:jquery@2.2.4/dist/jquery.js"],function(a){return a})}(),function(){var a=System.amdDefine;!function(b,c){"object"==typeof exports&&"undefined"!=typeof module?module.exports=c():"function"==typeof a&&a.amd?a("npm:moment@2.18.1/moment.js",[],c):b.moment=c()}(this,function(){"use strict";function a(){return sd.apply(null,arguments)}function b(a){sd=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a)return!1;return!0}function f(a){return void 0===a}function g(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function h(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function i(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function j(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function k(a,b){for(var c in b)j(b,c)&&(a[c]=b[c]);return j(b,"toString")&&(a.toString=b.toString),j(b,"valueOf")&&(a.valueOf=b.valueOf),a}function l(a,b,c,d){return sb(a,b,c,d,!0).utc()}function m(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function n(a){return null==a._pf&&(a._pf=m()),a._pf}function o(a){if(null==a._isValid){var b=n(a),c=ud.call(b.parsedDateParts,function(a){return null!=a}),d=!isNaN(a._d.getTime())&&b.overflow<0&&!b.empty&&!b.invalidMonth&&!b.invalidWeekday&&!b.nullInput&&!b.invalidFormat&&!b.userInvalidated&&(!b.meridiem||b.meridiem&&c);if(a._strict&&(d=d&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour),null!=Object.isFrozen&&Object.isFrozen(a))return d;a._isValid=d}return a._isValid}function p(a){var b=l(NaN);return null!=a?k(n(b),a):n(b).userInvalidated=!0,b}function q(a,b){var c,d,e;if(f(b._isAMomentObject)||(a._isAMomentObject=b._isAMomentObject),f(b._i)||(a._i=b._i),f(b._f)||(a._f=b._f),f(b._l)||(a._l=b._l),f(b._strict)||(a._strict=b._strict),f(b._tzm)||(a._tzm=b._tzm),f(b._isUTC)||(a._isUTC=b._isUTC),f(b._offset)||(a._offset=b._offset),f(b._pf)||(a._pf=n(b)),f(b._locale)||(a._locale=b._locale),vd.length>0)for(c=0;c<vd.length;c++)d=vd[c],e=b[d],f(e)||(a[d]=e);return a}function r(b){q(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),wd===!1&&(wd=!0,a.updateOffset(this),wd=!1)}function s(a){return a instanceof r||null!=a&&null!=a._isAMomentObject}function t(a){return a<0?Math.ceil(a)||0:Math.floor(a)}function u(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=t(b)),c}function v(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;d<e;d++)(c&&a[d]!==b[d]||!c&&u(a[d])!==u(b[d]))&&g++;return g+f}function w(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function x(b,c){var d=!0;return k(function(){if(null!=a.deprecationHandler&&a.deprecationHandler(null,b),d){for(var e,f=[],g=0;g<arguments.length;g++){if(e="","object"==typeof arguments[g]){e+="\n["+g+"] ";for(var h in arguments[0])e+=h+": "+arguments[0][h]+", ";e=e.slice(0,-2)}else e=arguments[g];f.push(e)}w(b+"\nArguments: "+Array.prototype.slice.call(f).join("")+"\n"+(new Error).stack),d=!1}return c.apply(this,arguments)},c)}function y(b,c){null!=a.deprecationHandler&&a.deprecationHandler(b,c),xd[b]||(w(c),xd[b]=!0)}function z(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function A(a){var b,c;for(c in a)b=a[c],z(b)?this[c]=b:this["_"+c]=b;this._config=a,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function B(a,b){var c,e=k({},a);for(c in b)j(b,c)&&(d(a[c])&&d(b[c])?(e[c]={},k(e[c],a[c]),k(e[c],b[c])):null!=b[c]?e[c]=b[c]:delete e[c]);for(c in a)j(a,c)&&!j(b,c)&&d(a[c])&&(e[c]=k({},e[c]));return e}function C(a){null!=a&&this.set(a)}function D(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;return z(d)?d.call(b,c):d}function E(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function F(){return this._invalidDate}function G(a){return this._ordinal.replace("%d",a)}function H(a,b,c,d){var e=this._relativeTime[c];return z(e)?e(a,b,c,d):e.replace(/%d/i,a)}function I(a,b){var c=this._relativeTime[a>0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b)}function J(a,b){var c=a.toLowerCase();Hd[c]=Hd[c+"s"]=Hd[b]=a}function K(a){return"string"==typeof a?Hd[a]||Hd[a.toLowerCase()]:void 0}function L(a){var b,c,d={};for(c in a)j(a,c)&&(b=K(c),b&&(d[b]=a[c]));return d}function M(a,b){Id[a]=b}function N(a){var b=[];for(var c in a)b.push({unit:c,priority:Id[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateOffset(this,c),this):P(this,b)}}function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}function R(a){return a=K(a),z(this[a])?this[a]():this}function S(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d<c.length;d++)this[c[d].unit](a[c[d].unit])}else if(a=K(a),z(this[a]))return this[a](b);return this}function T(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Md[a]=e),b&&(Md[b[0]]=function(){return T(e.apply(this,arguments),b[1],b[2])}),c&&(Md[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function W(a){var b,c,d=a.match(Jd);for(b=0,c=d.length;b<c;b++)Md[d[b]]?d[b]=Md[d[b]]:d[b]=V(d[b]);return function(b){var e,f="";for(e=0;e<c;e++)f+=z(d[e])?d[e].call(b,a):d[e];return f}}function X(a,b){return a.isValid()?(b=Y(b,a.localeData()),Ld[b]=Ld[b]||W(b),Ld[b](a)):a.localeData().invalidDate()}function Y(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Kd.lastIndex=0;d>=0&&Kd.test(a);)a=a.replace(Kd,c),Kd.lastIndex=0,d-=1;return a}function Z(a,b,c){ce[a]=z(b)?b:function(a,d){return a&&c?c:b}}function $(a,b){return j(ce,a)?ce[a](b._strict,b._locale):new RegExp(_(a))}function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),g(b)&&(d=function(a,c){c[b]=u(a)}),c=0;c<a.length;c++)de[a[c]]=d}function ca(a,b){ba(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function da(a,b,c){null!=b&&j(de,a)&&de[a](b,c._a,c,a)}function ea(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function fa(a,b){return a?c(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||oe).test(b)?"format":"standalone"][a.month()]:c(this._months)?this._months:this._months.standalone}function ga(a,b){return a?c(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[oe.test(b)?"format":"standalone"][a.month()]:c(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function ha(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],d=0;d<12;++d)f=l([2e3,d]),this._shortMonthsParse[d]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[d]=this.months(f,"").toLocaleLowerCase();return c?"MMM"===b?(e=ne.call(this._shortMonthsParse,g),e!==-1?e:null):(e=ne.call(this._longMonthsParse,g),e!==-1?e:null):"MMM"===b?(e=ne.call(this._shortMonthsParse,g),e!==-1?e:(e=ne.call(this._longMonthsParse,g),e!==-1?e:null)):(e=ne.call(this._longMonthsParse,g),e!==-1?e:(e=ne.call(this._shortMonthsParse,g),e!==-1?e:null))}function ia(a,b,c){var d,e,f;if(this._monthsParseExact)return ha.call(this,a,b,c);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;d<12;d++){if(e=l([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function ja(a,b){var c;if(!a.isValid())return a;if("string"==typeof b)if(/^\d+$/.test(b))b=u(b);else if(b=a.localeData().monthsParse(b),!g(b))return a;return c=Math.min(a.date(),ea(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a}function ka(b){return null!=b?(ja(this,b),a.updateOffset(this,!0),this):P(this,"Month")}function la(){return ea(this.year(),this.month())}function ma(a){return this._monthsParseExact?(j(this,"_monthsRegex")||oa.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(j(this,"_monthsShortRegex")||(this._monthsShortRegex=re),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex)}function na(a){return this._monthsParseExact?(j(this,"_monthsRegex")||oa.call(this),a?this._monthsStrictRegex:this._monthsRegex):(j(this,"_monthsRegex")||(this._monthsRegex=se),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex)}function oa(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;b<12;b++)c=l([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(d.sort(a),e.sort(a),f.sort(a),b=0;b<12;b++)d[b]=aa(d[b]),e[b]=aa(e[b]);for(b=0;b<24;b++)f[b]=aa(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")","i")}function pa(a){return qa(a)?366:365}function qa(a){return a%4===0&&a%100!==0||a%400===0}function ra(){return qa(this.year())}function sa(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return a<100&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ta(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function ua(a,b,c){var d=7+b-c,e=(7+ta(a,0,d).getUTCDay()-b)%7;return-e+d-1}function va(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ua(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=pa(f)+j):j>pa(a)?(f=a+1,g=j-pa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function wa(a,b,c){var d,e,f=ua(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+xa(e,b,c)):g>xa(a.year(),b,c)?(d=g-xa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function xa(a,b,c){var d=ua(a,b,c),e=ua(a+1,b,c);return(pa(a)-d+e)/7}function ya(a){return wa(a,this._week.dow,this._week.doy).week}function za(){return this._week.dow}function Aa(){return this._week.doy}function Ba(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ca(a){var b=wa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function Da(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Ea(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Fa(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:c(this._weekdays)?this._weekdays:this._weekdays.standalone}function Ga(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ha(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ia(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)f=l([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null)))}function Ja(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ia.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){if(e=l([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Da(a,this.localeData()),this.add(a-b,"d")):b}function La(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Ma(a){if(!this.isValid())return null!=a?this:NaN;if(null!=a){var b=Ea(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Na(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(j(this,"_weekdaysRegex")||(this._weekdaysRegex=ye),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Oa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(j(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ze),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Pa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(j(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ae),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;b<7;b++)c=l([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);for(g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;b<7;b++)h[b]=aa(h[b]),i[b]=aa(i[b]),j[b]=aa(j[b]);this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}function Ra(){return this.hours()%12||12}function Sa(){return this.hours()||24}function Ta(a,b){U(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Ua(a,b){return b._meridiemParse}function Va(a){return"p"===(a+"").toLowerCase().charAt(0)}function Wa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Xa(a){return a?a.toLowerCase().replace("_","-"):a}function Ya(a){for(var b,c,d,e,f=0;f<a.length;){for(e=Xa(a[f]).split("-"),b=e.length,c=Xa(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=Za(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)break;b--}f++}return null}function Za(a){var b=null;if(!Fe[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Be._abbr,require("./locale/"+a),$a(b)}catch(c){}return Fe[a]}function $a(a,b){var c;return a&&(c=f(b)?bb(a):_a(a,b),c&&(Be=c)),Be._abbr}function _a(a,b){if(null!==b){var c=Ee;if(b.abbr=a,null!=Fe[a])y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=Fe[a]._config;else if(null!=b.parentLocale){if(null==Fe[b.parentLocale])return Ge[b.parentLocale]||(Ge[b.parentLocale]=[]),Ge[b.parentLocale].push({name:a,config:b}),null;c=Fe[b.parentLocale]._config}return Fe[a]=new C(B(c,b)),Ge[a]&&Ge[a].forEach(function(a){_a(a.name,a.config)}),$a(a),Fe[a]}return delete Fe[a],null}function ab(a,b){if(null!=b){var c,d=Ee;null!=Fe[a]&&(d=Fe[a]._config),b=B(d,b),c=new C(b),c.parentLocale=Fe[a],Fe[a]=c,$a(a)}else null!=Fe[a]&&(null!=Fe[a].parentLocale?Fe[a]=Fe[a].parentLocale:null!=Fe[a]&&delete Fe[a]);return Fe[a]}function bb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Be;if(!c(a)){if(b=Za(a))return b;a=[a]}return Ya(a)}function cb(){return Ad(Fe)}function db(a){var b,c=a._a;return c&&n(a).overflow===-2&&(b=c[fe]<0||c[fe]>11?fe:c[ge]<1||c[ge]>ea(c[ee],c[fe])?ge:c[he]<0||c[he]>24||24===c[he]&&(0!==c[ie]||0!==c[je]||0!==c[ke])?he:c[ie]<0||c[ie]>59?ie:c[je]<0||c[je]>59?je:c[ke]<0||c[ke]>999?ke:-1,n(a)._overflowDayOfYear&&(b<ee||b>ge)&&(b=ge),n(a)._overflowWeeks&&b===-1&&(b=le),n(a)._overflowWeekday&&b===-1&&(b=me),n(a).overflow=b),a}function eb(a){var b,c,d,e,f,g,h=a._i,i=He.exec(h)||Ie.exec(h);if(i){for(n(a).iso=!0,b=0,c=Ke.length;b<c;b++)if(Ke[b][1].exec(i[1])){e=Ke[b][0],d=Ke[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=Le.length;b<c;b++)if(Le[b][1].exec(i[3])){f=(i[2]||" ")+Le[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!Je.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),lb(a)}else a._isValid=!1}function fb(a){var b,c,d,e,f,g,h,i,j={" GMT":" +0000"," EDT":" -0400"," EST":" -0500"," CDT":" -0500"," CST":" -0600"," MDT":" -0600"," MST":" -0700"," PDT":" -0700"," PST":" -0800"},k="YXWVUTSRQPONZABCDEFGHIKLM";if(b=a._i.replace(/\([^\)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s|\s$/g,""),c=Ne.exec(b)){if(d=c[1]?"ddd"+(5===c[1].length?", ":" "):"",e="D MMM "+(c[2].length>10?"YYYY ":"YY "),f="HH:mm"+(c[4]?":ss":""),c[1]){var l=new Date(c[2]),m=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][l.getDay()];if(c[1].substr(0,3)!==m)return n(a).weekdayMismatch=!0,void(a._isValid=!1)}switch(c[5].length){case 2:0===i?h=" +0000":(i=k.indexOf(c[5][1].toUpperCase())-12,h=(i<0?" -":" +")+(""+i).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:h=j[c[5]];break;default:h=j[" GMT"]}c[5]=h,a._i=c.splice(1).join(""),g=" ZZ",a._f=d+e+f+g,lb(a),n(a).rfc2822=!0}else a._isValid=!1}function gb(b){var c=Me.exec(b._i);return null!==c?void(b._d=new Date((+c[1]))):(eb(b),void(b._isValid===!1&&(delete b._isValid,fb(b),b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b)))))}function hb(a,b,c){return null!=a?a:null!=b?b:c}function ib(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}function jb(a){var b,c,d,e,f=[];if(!a._d){for(d=ib(a),a._w&&null==a._a[ge]&&null==a._a[fe]&&kb(a),null!=a._dayOfYear&&(e=hb(a._a[ee],d[ee]),(a._dayOfYear>pa(e)||0===a._dayOfYear)&&(n(a)._overflowDayOfYear=!0),c=ta(e,0,a._dayOfYear),a._a[fe]=c.getUTCMonth(),a._a[ge]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[he]&&0===a._a[ie]&&0===a._a[je]&&0===a._a[ke]&&(a._nextDay=!0,a._a[he]=0),a._d=(a._useUTC?ta:sa).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[he]=24)}}function kb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,c=hb(b.GG,a._a[ee],wa(tb(),1,4).year),d=hb(b.W,1),e=hb(b.E,1),(e<1||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=wa(tb(),f,g);c=hb(b.gg,a._a[ee],j.year),d=hb(b.w,j.week),null!=b.d?(e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f}d<1||d>xa(c,f,g)?n(a)._overflowWeeks=!0:null!=i?n(a)._overflowWeekday=!0:(h=va(c,d,e,f,g),a._a[ee]=h.year,a._dayOfYear=h.dayOfYear)}function lb(b){if(b._f===a.ISO_8601)return void eb(b);if(b._f===a.RFC_2822)return void fb(b);b._a=[],n(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=Y(b._f,b._locale).match(Jd)||[],c=0;c<e.length;c++)f=e[c],d=(h.match($(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&n(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Md[f]?(d?n(b).empty=!1:n(b).unusedTokens.push(f),da(f,d,b)):b._strict&&!d&&n(b).unusedTokens.push(f);
n(b).charsLeftOver=i-j,h.length>0&&n(b).unusedInput.push(h),b._a[he]<=12&&n(b).bigHour===!0&&b._a[he]>0&&(n(b).bigHour=void 0),n(b).parsedDateParts=b._a.slice(0),n(b).meridiem=b._meridiem,b._a[he]=mb(b._locale,b._a[he],b._meridiem),jb(b),db(b)}function mb(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b}function nb(a){var b,c,d,e,f;if(0===a._f.length)return n(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=q({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],lb(b),o(b)&&(f+=n(b).charsLeftOver,f+=10*n(b).unusedTokens.length,n(b).score=f,(null==d||f<d)&&(d=f,c=b));k(a,c||b)}function ob(a){if(!a._d){var b=L(a._i);a._a=i([b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],function(a){return a&&parseInt(a,10)}),jb(a)}}function pb(a){var b=new r(db(qb(a)));return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function qb(a){var b=a._i,d=a._f;return a._locale=a._locale||bb(a._l),null===b||void 0===d&&""===b?p({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),s(b)?new r(db(b)):(h(b)?a._d=b:c(d)?nb(a):d?lb(a):rb(a),o(a)||(a._d=null),a))}function rb(b){var e=b._i;f(e)?b._d=new Date(a.now()):h(e)?b._d=new Date(e.valueOf()):"string"==typeof e?gb(b):c(e)?(b._a=i(e.slice(0),function(a){return parseInt(a,10)}),jb(b)):d(e)?ob(b):g(e)?b._d=new Date(e):a.createFromInputFallback(b)}function sb(a,b,f,g,h){var i={};return f!==!0&&f!==!1||(g=f,f=void 0),(d(a)&&e(a)||c(a)&&0===a.length)&&(a=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=h,i._l=f,i._i=a,i._f=b,i._strict=g,pb(i)}function tb(a,b,c,d){return sb(a,b,c,d,!1)}function ub(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return tb();for(d=b[0],e=1;e<b.length;++e)b[e].isValid()&&!b[e][a](d)||(d=b[e]);return d}function vb(){var a=[].slice.call(arguments,0);return ub("isBefore",a)}function wb(){var a=[].slice.call(arguments,0);return ub("isAfter",a)}function xb(a){for(var b in a)if(Re.indexOf(b)===-1||null!=a[b]&&isNaN(a[b]))return!1;for(var c=!1,d=0;d<Re.length;++d)if(a[Re[d]]){if(c)return!1;parseFloat(a[Re[d]])!==u(a[Re[d]])&&(c=!0)}return!0}function yb(){return this._isValid}function zb(){return Sb(NaN)}function Ab(a){var b=L(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._isValid=xb(b),this._milliseconds=+k+1e3*j+6e4*i+1e3*h*60*60,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=bb(),this._bubble()}function Bb(a){return a instanceof Ab}function Cb(a){return a<0?Math.round(-1*a)*-1:Math.round(a)}function Db(a,b){U(a,0,0,function(){var a=this.utcOffset(),c="+";return a<0&&(a=-a,c="-"),c+T(~~(a/60),2)+b+T(~~a%60,2)})}function Eb(a,b){var c=(b||"").match(a);if(null===c)return null;var d=c[c.length-1]||[],e=(d+"").match(Se)||["-",0,0],f=+(60*e[1])+u(e[2]);return 0===f?0:"+"===e[0]?f:-f}function Fb(b,c){var d,e;return c._isUTC?(d=c.clone(),e=(s(b)||h(b)?b.valueOf():tb(b).valueOf())-d.valueOf(),d._d.setTime(d._d.valueOf()+e),a.updateOffset(d,!1),d):tb(b).local()}function Gb(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Hb(b,c,d){var e,f=this._offset||0;if(!this.isValid())return null!=b?this:NaN;if(null!=b){if("string"==typeof b){if(b=Eb(_d,b),null===b)return this}else Math.abs(b)<16&&!d&&(b=60*b);return!this._isUTC&&c&&(e=Gb(this)),this._offset=b,this._isUTC=!0,null!=e&&this.add(e,"m"),f!==b&&(!c||this._changeInProgress?Xb(this,Sb(b-f,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?f:Gb(this)}function Ib(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Jb(a){return this.utcOffset(0,a)}function Kb(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Gb(this),"m")),this}function Lb(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var a=Eb($d,this._i);null!=a?this.utcOffset(a):this.utcOffset(0,!0)}return this}function Mb(a){return!!this.isValid()&&(a=a?tb(a).utcOffset():0,(this.utcOffset()-a)%60===0)}function Nb(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ob(){if(!f(this._isDSTShifted))return this._isDSTShifted;var a={};if(q(a,this),a=qb(a),a._a){var b=a._isUTC?l(a._a):tb(a._a);this._isDSTShifted=this.isValid()&&v(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Pb(){return!!this.isValid()&&!this._isUTC}function Qb(){return!!this.isValid()&&this._isUTC}function Rb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Sb(a,b){var c,d,e,f=a,h=null;return Bb(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:g(a)?(f={},b?f[b]=a:f.milliseconds=a):(h=Te.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:u(h[ge])*c,h:u(h[he])*c,m:u(h[ie])*c,s:u(h[je])*c,ms:u(Cb(1e3*h[ke]))*c}):(h=Ue.exec(a))?(c="-"===h[1]?-1:1,f={y:Tb(h[2],c),M:Tb(h[3],c),w:Tb(h[4],c),d:Tb(h[5],c),h:Tb(h[6],c),m:Tb(h[7],c),s:Tb(h[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Vb(tb(f.from),tb(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new Ab(f),Bb(a)&&j(a,"_locale")&&(d._locale=a._locale),d}function Tb(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function Ub(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Vb(a,b){var c;return a.isValid()&&b.isValid()?(b=Fb(b,a),a.isBefore(b)?c=Ub(a,b):(c=Ub(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function Wb(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(y(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Sb(c,d),Xb(this,e,a),this}}function Xb(b,c,d,e){var f=c._milliseconds,g=Cb(c._days),h=Cb(c._months);b.isValid()&&(e=null==e||e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&Q(b,"Date",P(b,"Date")+g*d),h&&ja(b,P(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Yb(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse"}function Zb(b,c){var d=b||tb(),e=Fb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(z(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,tb(d)))}function $b(){return new r(this)}function _b(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid())&&(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()<this.clone().startOf(b).valueOf())}function ac(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid())&&(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()<c.valueOf():this.clone().endOf(b).valueOf()<c.valueOf())}function bc(a,b,c,d){return d=d||"()",("("===d[0]?this.isAfter(a,c):!this.isBefore(a,c))&&(")"===d[1]?this.isBefore(b,c):!this.isAfter(b,c))}function cc(a,b){var c,d=s(a)?a:tb(a);return!(!this.isValid()||!d.isValid())&&(b=K(b||"millisecond"),"millisecond"===b?this.valueOf()===d.valueOf():(c=d.valueOf(),this.clone().startOf(b).valueOf()<=c&&c<=this.clone().endOf(b).valueOf()))}function dc(a,b){return this.isSame(a,b)||this.isAfter(a,b)}function ec(a,b){return this.isSame(a,b)||this.isBefore(a,b)}function fc(a,b,c){var d,e,f,g;return this.isValid()?(d=Fb(a,this),d.isValid()?(e=6e4*(d.utcOffset()-this.utcOffset()),b=K(b),"year"===b||"month"===b||"quarter"===b?(g=gc(this,d),"quarter"===b?g/=3:"year"===b&&(g/=12)):(f=this-d,g="second"===b?f/1e3:"minute"===b?f/6e4:"hour"===b?f/36e5:"day"===b?(f-e)/864e5:"week"===b?(f-e)/6048e5:f),c?g:t(g)):NaN):NaN}function gc(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,"months");return b-f<0?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)||0}function hc(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ic(){if(!this.isValid())return null;var a=this.clone().utc();return a.year()<0||a.year()>9999?X(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):z(Date.prototype.toISOString)?this.toDate().toISOString():X(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function jc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f)}function kc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=X(this,b);return this.localeData().postformat(c)}function lc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function mc(a){return this.from(tb(),a)}function nc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function oc(a){return this.to(tb(),a)}function pc(a){var b;return void 0===a?this._locale._abbr:(b=bb(a),null!=b&&(this._locale=b),this)}function qc(){return this._locale}function rc(a){switch(a=K(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function sc(a){return a=K(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function tc(){return this._d.valueOf()-6e4*(this._offset||0)}function uc(){return Math.floor(this.valueOf()/1e3)}function vc(){return new Date(this.valueOf())}function wc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function xc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function yc(){return this.isValid()?this.toISOString():null}function zc(){return o(this)}function Ac(){return k({},n(this))}function Bc(){return n(this).overflow}function Cc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Dc(a,b){U(0,[a,a.length],0,b)}function Ec(a){return Ic.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Fc(a){return Ic.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Gc(){return xa(this.year(),1,4)}function Hc(){var a=this.localeData()._week;return xa(this.year(),a.dow,a.doy)}function Ic(a,b,c,d,e){var f;return null==a?wa(this,d,e).year:(f=xa(a,d,e),b>f&&(b=f),Jc.call(this,a,b,c,d,e))}function Jc(a,b,c,d,e){var f=va(a,b,c,d,e),g=ta(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}function Kc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Lc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Mc(a,b){b[ke]=u(1e3*("0."+a))}function Nc(){return this._isUTC?"UTC":""}function Oc(){return this._isUTC?"Coordinated Universal Time":""}function Pc(a){return tb(1e3*a)}function Qc(){return tb.apply(null,arguments).parseZone()}function Rc(a){return a}function Sc(a,b,c,d){var e=bb(),f=l().set(d,b);return e[c](f,a)}function Tc(a,b,c){if(g(a)&&(b=a,a=void 0),a=a||"",null!=b)return Sc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++)e[d]=Sc(a,d,c,"month");return e}function Uc(a,b,c,d){"boolean"==typeof a?(g(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,g(b)&&(c=b,b=void 0),b=b||"");var e=bb(),f=a?e._week.dow:0;if(null!=c)return Sc(b,(c+f)%7,d,"day");var h,i=[];for(h=0;h<7;h++)i[h]=Sc(b,(h+f)%7,d,"day");return i}function Vc(a,b){return Tc(a,b,"months")}function Wc(a,b){return Tc(a,b,"monthsShort")}function Xc(a,b,c){return Uc(a,b,c,"weekdays")}function Yc(a,b,c){return Uc(a,b,c,"weekdaysShort")}function Zc(a,b,c){return Uc(a,b,c,"weekdaysMin")}function $c(){var a=this._data;return this._milliseconds=df(this._milliseconds),this._days=df(this._days),this._months=df(this._months),a.milliseconds=df(a.milliseconds),a.seconds=df(a.seconds),a.minutes=df(a.minutes),a.hours=df(a.hours),a.months=df(a.months),a.years=df(a.years),this}function _c(a,b,c,d){var e=Sb(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function ad(a,b){return _c(this,a,b,1)}function bd(a,b){return _c(this,a,b,-1)}function cd(a){return a<0?Math.floor(a):Math.ceil(a)}function dd(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*cd(fd(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=t(f/1e3),i.seconds=a%60,b=t(a/60),i.minutes=b%60,c=t(b/60),i.hours=c%24,g+=t(c/24),e=t(ed(g)),h+=e,g-=cd(fd(e)),d=t(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function ed(a){return 4800*a/146097}function fd(a){return 146097*a/4800}function gd(a){if(!this.isValid())return NaN;var b,c,d=this._milliseconds;if(a=K(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+ed(b),"month"===a?c:c/12;switch(b=this._days+Math.round(fd(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function hd(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12):NaN}function id(a){return function(){return this.as(a)}}function jd(a){return a=K(a),this.isValid()?this[a+"s"]():NaN}function kd(a){return function(){return this.isValid()?this._data[a]:NaN}}function ld(){return t(this.days()/7)}function md(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function nd(a,b,c){var d=Sb(a).abs(),e=uf(d.as("s")),f=uf(d.as("m")),g=uf(d.as("h")),h=uf(d.as("d")),i=uf(d.as("M")),j=uf(d.as("y")),k=e<=vf.ss&&["s",e]||e<vf.s&&["ss",e]||f<=1&&["m"]||f<vf.m&&["mm",f]||g<=1&&["h"]||g<vf.h&&["hh",g]||h<=1&&["d"]||h<vf.d&&["dd",h]||i<=1&&["M"]||i<vf.M&&["MM",i]||j<=1&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,md.apply(null,k)}function od(a){return void 0===a?uf:"function"==typeof a&&(uf=a,!0)}function pd(a,b){return void 0!==vf[a]&&(void 0===b?vf[a]:(vf[a]=b,"s"===a&&(vf.ss=b-1),!0))}function qd(a){if(!this.isValid())return this.localeData().invalidDate();var b=this.localeData(),c=nd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function rd(){if(!this.isValid())return this.localeData().invalidDate();var a,b,c,d=wf(this._milliseconds)/1e3,e=wf(this._days),f=wf(this._months);a=t(d/60),b=t(a/60),d%=60,a%=60,c=t(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var sd,td;td=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d<c;d++)if(d in b&&a.call(this,b[d],d,b))return!0;return!1};var ud=td,vd=a.momentProperties=[],wd=!1,xd={};a.suppressDeprecationWarnings=!1,a.deprecationHandler=null;var yd;yd=Object.keys?Object.keys:function(a){var b,c=[];for(b in a)j(a,b)&&c.push(b);return c};var zd,Ad=yd,Bd={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Cd={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Dd="Invalid date",Ed="%d",Fd=/\d{1,2}/,Gd={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Hd={},Id={},Jd=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Kd=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ld={},Md={},Nd=/\d/,Od=/\d\d/,Pd=/\d{3}/,Qd=/\d{4}/,Rd=/[+-]?\d{6}/,Sd=/\d\d?/,Td=/\d\d\d\d?/,Ud=/\d\d\d\d\d\d?/,Vd=/\d{1,3}/,Wd=/\d{1,4}/,Xd=/[+-]?\d{1,6}/,Yd=/\d+/,Zd=/[+-]?\d+/,$d=/Z|[+-]\d\d:?\d\d/gi,_d=/Z|[+-]\d\d(?::?\d\d)?/gi,ae=/[+-]?\d+(\.\d{1,3})?/,be=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,ce={},de={},ee=0,fe=1,ge=2,he=3,ie=4,je=5,ke=6,le=7,me=8;zd=Array.prototype.indexOf?Array.prototype.indexOf:function(a){var b;for(b=0;b<this.length;++b)if(this[b]===a)return b;return-1};var ne=zd;U("M",["MM",2],"Mo",function(){return this.month()+1}),U("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),U("MMMM",0,0,function(a){return this.localeData().months(this,a)}),J("month","M"),M("month",8),Z("M",Sd),Z("MM",Sd,Od),Z("MMM",function(a,b){return b.monthsShortRegex(a)}),Z("MMMM",function(a,b){return b.monthsRegex(a)}),ba(["M","MM"],function(a,b){b[fe]=u(a)-1}),ba(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[fe]=e:n(c).invalidMonth=a});var oe=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,pe="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),qe="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),re=be,se=be;U("Y",0,0,function(){var a=this.year();return a<=9999?""+a:"+"+a}),U(0,["YY",2],0,function(){return this.year()%100}),U(0,["YYYY",4],0,"year"),U(0,["YYYYY",5],0,"year"),U(0,["YYYYYY",6,!0],0,"year"),J("year","y"),M("year",1),Z("Y",Zd),Z("YY",Sd,Od),Z("YYYY",Wd,Qd),Z("YYYYY",Xd,Rd),Z("YYYYYY",Xd,Rd),ba(["YYYYY","YYYYYY"],ee),ba("YYYY",function(b,c){c[ee]=2===b.length?a.parseTwoDigitYear(b):u(b)}),ba("YY",function(b,c){c[ee]=a.parseTwoDigitYear(b)}),ba("Y",function(a,b){b[ee]=parseInt(a,10)}),a.parseTwoDigitYear=function(a){return u(a)+(u(a)>68?1900:2e3)};var te=O("FullYear",!0);U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),J("week","w"),J("isoWeek","W"),M("week",5),M("isoWeek",5),Z("w",Sd),Z("ww",Sd,Od),Z("W",Sd),Z("WW",Sd,Od),ca(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=u(a)});var ue={dow:0,doy:6};U("d",0,"do","day"),U("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),U("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),U("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),J("day","d"),J("weekday","e"),J("isoWeekday","E"),M("day",11),M("weekday",11),M("isoWeekday",11),Z("d",Sd),Z("e",Sd),Z("E",Sd),Z("dd",function(a,b){return b.weekdaysMinRegex(a)}),Z("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Z("dddd",function(a,b){return b.weekdaysRegex(a)}),ca(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);null!=e?b.d=e:n(c).invalidWeekday=a}),ca(["d","e","E"],function(a,b,c,d){b[d]=u(a)});var ve="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),we="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ye=be,ze=be,Ae=be;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Ra),U("k",["kk",2],0,Sa),U("hmm",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ta("a",!0),Ta("A",!1),J("hour","h"),M("hour",13),Z("a",Ua),Z("A",Ua),Z("H",Sd),Z("h",Sd),Z("k",Sd),Z("HH",Sd,Od),Z("hh",Sd,Od),Z("kk",Sd,Od),Z("hmm",Td),Z("hmmss",Ud),Z("Hmm",Td),Z("Hmmss",Ud),ba(["H","HH"],he),ba(["k","kk"],function(a,b,c){var d=u(a);b[he]=24===d?0:d}),ba(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),ba(["h","hh"],function(a,b,c){b[he]=u(a),n(c).bigHour=!0}),ba("hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d)),n(c).bigHour=!0}),ba("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e)),n(c).bigHour=!0}),ba("Hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d))}),ba("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e))});var Be,Ce=/[ap]\.?m?\.?/i,De=O("Hours",!0),Ee={calendar:Bd,longDateFormat:Cd,invalidDate:Dd,ordinal:Ed,dayOfMonthOrdinalParse:Fd,relativeTime:Gd,months:pe,monthsShort:qe,week:ue,weekdays:ve,weekdaysMin:xe,weekdaysShort:we,meridiemParse:Ce},Fe={},Ge={},He=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ie=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Je=/Z|[+-]\d\d(?::?\d\d)?/,Ke=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Le=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Me=/^\/?Date\((\-?\d+)/i,Ne=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;a.createFromInputFallback=x("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),a.ISO_8601=function(){},a.RFC_2822=function(){};var Oe=x("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=tb.apply(null,arguments);return this.isValid()&&a.isValid()?a<this?this:a:p()}),Pe=x("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=tb.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:p()}),Qe=function(){return Date.now?Date.now():+new Date},Re=["year","quarter","month","week","day","hour","minute","second","millisecond"];Db("Z",":"),Db("ZZ",""),Z("Z",_d),Z("ZZ",_d),ba(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Eb(_d,a)});var Se=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var Te=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ue=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Sb.fn=Ab.prototype,Sb.invalid=zb;var Ve=Wb(1,"add"),We=Wb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xe=x("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Dc("gggg","weekYear"),Dc("ggggg","weekYear"),Dc("GGGG","isoWeekYear"),Dc("GGGGG","isoWeekYear"),J("weekYear","gg"),J("isoWeekYear","GG"),M("weekYear",1),M("isoWeekYear",1),Z("G",Zd),Z("g",Zd),Z("GG",Sd,Od),Z("gg",Sd,Od),Z("GGGG",Wd,Qd),Z("gggg",Wd,Qd),Z("GGGGG",Xd,Rd),Z("ggggg",Xd,Rd),ca(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=u(a)}),ca(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),U("Q",0,"Qo","quarter"),J("quarter","Q"),M("quarter",7),Z("Q",Nd),ba("Q",function(a,b){b[fe]=3*(u(a)-1)}),U("D",["DD",2],"Do","date"),J("date","D"),M("date",9),Z("D",Sd),Z("DD",Sd,Od),Z("Do",function(a,b){return a?b._dayOfMonthOrdinalParse||b._ordinalParse:b._dayOfMonthOrdinalParseLenient}),ba(["D","DD"],ge),ba("Do",function(a,b){b[ge]=u(a.match(Sd)[0],10)});var Ye=O("Date",!0);U("DDD",["DDDD",3],"DDDo","dayOfYear"),J("dayOfYear","DDD"),M("dayOfYear",4),Z("DDD",Vd),Z("DDDD",Pd),ba(["DDD","DDDD"],function(a,b,c){c._dayOfYear=u(a)}),U("m",["mm",2],0,"minute"),J("minute","m"),M("minute",14),Z("m",Sd),Z("mm",Sd,Od),ba(["m","mm"],ie);var Ze=O("Minutes",!1);U("s",["ss",2],0,"second"),J("second","s"),M("second",15),Z("s",Sd),Z("ss",Sd,Od),ba(["s","ss"],je);var $e=O("Seconds",!1);U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),J("millisecond","ms"),M("millisecond",16),Z("S",Vd,Nd),Z("SS",Vd,Od),Z("SSS",Vd,Pd);var _e;for(_e="SSSS";_e.length<=9;_e+="S")Z(_e,Yd);for(_e="S";_e.length<=9;_e+="S")ba(_e,Mc);var af=O("Milliseconds",!1);U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var bf=r.prototype;bf.add=Ve,bf.calendar=Zb,bf.clone=$b,bf.diff=fc,bf.endOf=sc,bf.format=kc,bf.from=lc,bf.fromNow=mc,bf.to=nc,bf.toNow=oc,bf.get=R,bf.invalidAt=Bc,bf.isAfter=_b,bf.isBefore=ac,bf.isBetween=bc,bf.isSame=cc,bf.isSameOrAfter=dc,bf.isSameOrBefore=ec,bf.isValid=zc,bf.lang=Xe,bf.locale=pc,bf.localeData=qc,bf.max=Pe,bf.min=Oe,bf.parsingFlags=Ac,bf.set=S,bf.startOf=rc,bf.subtract=We,bf.toArray=wc,bf.toObject=xc,bf.toDate=vc,bf.toISOString=ic,bf.inspect=jc,bf.toJSON=yc,bf.toString=hc,bf.unix=uc,bf.valueOf=tc,bf.creationData=Cc,bf.year=te,bf.isLeapYear=ra,bf.weekYear=Ec,bf.isoWeekYear=Fc,bf.quarter=bf.quarters=Kc,bf.month=ka,bf.daysInMonth=la,bf.week=bf.weeks=Ba,bf.isoWeek=bf.isoWeeks=Ca,bf.weeksInYear=Hc,bf.isoWeeksInYear=Gc,bf.date=Ye,bf.day=bf.days=Ka,bf.weekday=La,bf.isoWeekday=Ma,bf.dayOfYear=Lc,bf.hour=bf.hours=De,bf.minute=bf.minutes=Ze,bf.second=bf.seconds=$e,bf.millisecond=bf.milliseconds=af,bf.utcOffset=Hb,bf.utc=Jb,bf.local=Kb,bf.parseZone=Lb,bf.hasAlignedHourOffset=Mb,bf.isDST=Nb,bf.isLocal=Pb,bf.isUtcOffset=Qb,bf.isUtc=Rb,bf.isUTC=Rb,bf.zoneAbbr=Nc,bf.zoneName=Oc,bf.dates=x("dates accessor is deprecated. Use date instead.",Ye),bf.months=x("months accessor is deprecated. Use month instead",ka),bf.years=x("years accessor is deprecated. Use year instead",te),bf.zone=x("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ib),bf.isDSTShifted=x("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ob);var cf=C.prototype;cf.calendar=D,cf.longDateFormat=E,cf.invalidDate=F,cf.ordinal=G,cf.preparse=Rc,cf.postformat=Rc,cf.relativeTime=H,cf.pastFuture=I,cf.set=A,cf.months=fa,cf.monthsShort=ga,cf.monthsParse=ia,cf.monthsRegex=na,cf.monthsShortRegex=ma,cf.week=ya,cf.firstDayOfYear=Aa,cf.firstDayOfWeek=za,cf.weekdays=Fa,cf.weekdaysMin=Ha,cf.weekdaysShort=Ga,cf.weekdaysParse=Ja,cf.weekdaysRegex=Na,cf.weekdaysShortRegex=Oa,cf.weekdaysMinRegex=Pa,cf.isPM=Va,cf.meridiem=Wa,$a("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=x("moment.lang is deprecated. Use moment.locale instead.",$a),a.langData=x("moment.langData is deprecated. Use moment.localeData instead.",bb);var df=Math.abs,ef=id("ms"),ff=id("s"),gf=id("m"),hf=id("h"),jf=id("d"),kf=id("w"),lf=id("M"),mf=id("y"),nf=kd("milliseconds"),of=kd("seconds"),pf=kd("minutes"),qf=kd("hours"),rf=kd("days"),sf=kd("months"),tf=kd("years"),uf=Math.round,vf={ss:44,s:45,m:45,h:22,d:26,M:11},wf=Math.abs,xf=Ab.prototype;return xf.isValid=yb,xf.abs=$c,xf.add=ad,xf.subtract=bd,xf.as=gd,xf.asMilliseconds=ef,xf.asSeconds=ff,xf.asMinutes=gf,xf.asHours=hf,xf.asDays=jf,xf.asWeeks=kf,xf.asMonths=lf,xf.asYears=mf,xf.valueOf=hd,xf._bubble=dd,xf.get=jd,xf.milliseconds=nf,xf.seconds=of,xf.minutes=pf,xf.hours=qf,xf.days=rf,xf.weeks=ld,xf.months=sf,xf.years=tf,xf.humanize=qd,xf.toISOString=rd,xf.toString=rd,xf.toJSON=rd,xf.locale=pc,xf.localeData=qc,xf.toIsoString=x("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",rd),xf.lang=Xe,U("X",0,0,"unix"),U("x",0,0,"valueOf"),Z("x",Zd),Z("X",ae),ba("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),ba("x",function(a,b,c){c._d=new Date(u(a))}),a.version="2.18.1",b(tb),a.fn=bf,a.min=vb,a.max=wb,a.now=Qe,a.utc=l,a.unix=Pc,a.months=Vc,a.isDate=h,a.locale=$a,a.invalid=p,a.duration=Sb,a.isMoment=s,a.weekdays=Xc,a.parseZone=Qc,a.localeData=bb,a.isDuration=Bb,a.monthsShort=Wc,a.weekdaysMin=Zc,a.defineLocale=_a,a.updateLocale=ab,a.locales=cb,a.weekdaysShort=Yc,a.normalizeUnits=K,a.relativeTimeRounding=od,a.relativeTimeThreshold=pd,a.calendarFormat=Yb,a.prototype=bf,a})}(),function(){var a=System.amdDefine;a("npm:moment@2.18.1.js",["npm:moment@2.18.1/moment.js"],function(a){return a})}(),System.registerDynamic("npm:ramda@0.23.0/src/F.js",["./always"],!0,function(a,b,c){var d=(this||self,a("./always"));c.exports=d(!1)}),System.registerDynamic("npm:ramda@0.23.0/src/T.js",["./always"],!0,function(a,b,c){var d=(this||self,a("./always"));c.exports=d(!0)}),System.registerDynamic("npm:ramda@0.23.0/src/__.js",[],!0,function(a,b,c){this||self;c.exports={"@@functional/placeholder":!0}}),System.registerDynamic("npm:ramda@0.23.0/src/addIndex.js",["./internal/_concat","./internal/_curry1","./curryN"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_curry1"),f=a("./curryN");c.exports=e(function(a){return f(a.length,function(){var b=0,c=arguments[0],e=arguments[arguments.length-1],f=Array.prototype.slice.call(arguments,0);return f[0]=function(){var a=c.apply(this,d(arguments,[b,e]));return b+=1,a},a.apply(this,f)})})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xall.js",["./_curry2","./_reduced","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_reduced"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a,this.all=!0}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=function(a){return this.all&&(a=this.xf["@@transducer/step"](a,!0)),this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){return this.f(b)||(this.all=!1,a=e(this.xf["@@transducer/step"](a,!1))),a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/all.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xall"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xall");c.exports=d(e(["all"],f,function(a,b){for(var c=0;c<b.length;){if(!a(b[c]))return!1;c+=1}return!0}))}),System.registerDynamic("npm:ramda@0.23.0/src/allPass.js",["./internal/_curry1","./curryN","./max","./pluck","./reduce"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./curryN"),f=a("./max"),g=a("./pluck"),h=a("./reduce");c.exports=d(function(a){
return e(h(f,0,g("length",a)),function(){for(var b=0,c=a.length;b<c;){if(!a[b].apply(this,arguments))return!1;b+=1}return!0})})}),System.registerDynamic("npm:ramda@0.23.0/src/anyPass.js",["./internal/_curry1","./curryN","./max","./pluck","./reduce"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./curryN"),f=a("./max"),g=a("./pluck"),h=a("./reduce");c.exports=d(function(a){return e(h(f,0,g("length",a)),function(){for(var b=0,c=a.length;b<c;){if(a[b].apply(this,arguments))return!0;b+=1}return!1})})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_aperture.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){for(var c=0,d=b.length-(a-1),e=new Array(d>=0?d:0);c<d;)e[c]=Array.prototype.slice.call(b,c,c+a),c+=1;return e}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xaperture.js",["./_concat","./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_concat")),e=a("./_curry2"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.pos=0,this.full=!1,this.acc=new Array(a)}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=function(a){return this.acc=null,this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){return this.store(b),this.full?this.xf["@@transducer/step"](a,this.getCopy()):a},a.prototype.store=function(a){this.acc[this.pos]=a,this.pos+=1,this.pos===this.acc.length&&(this.pos=0,this.full=!0)},a.prototype.getCopy=function(){return d(Array.prototype.slice.call(this.acc,this.pos),Array.prototype.slice.call(this.acc,0,this.pos))},e(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/aperture.js",["./internal/_aperture","./internal/_curry2","./internal/_dispatchable","./internal/_xaperture"],!0,function(a,b,c){var d=(this||self,a("./internal/_aperture")),e=a("./internal/_curry2"),f=a("./internal/_dispatchable"),g=a("./internal/_xaperture");c.exports=e(f([],g,d))}),System.registerDynamic("npm:ramda@0.23.0/src/append.js",["./internal/_concat","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_curry2");c.exports=e(function(a,b){return d(b,[a])})}),System.registerDynamic("npm:ramda@0.23.0/src/apply.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a.apply(this,b)})}),System.registerDynamic("npm:ramda@0.23.0/src/applySpec.js",["./internal/_curry1","./apply","./curryN","./map","./max","./pluck","./reduce","./values"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./apply"),f=a("./curryN"),g=a("./map"),h=a("./max"),i=a("./pluck"),j=a("./reduce"),k=a("./values");c.exports=d(function l(a){return a=g(function(a){return"function"==typeof a?a:l(a)},a),f(j(h,0,i("length",k(a))),function(){var b=arguments;return g(function(a){return e(a,b)},a)})})}),System.registerDynamic("npm:ramda@0.23.0/src/ascend.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){var d=a(b),e=a(c);return d<e?-1:d>e?1:0})}),System.registerDynamic("npm:ramda@0.23.0/src/binary.js",["./internal/_curry1","./nAry"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./nAry");c.exports=d(function(a){return e(2,a)})}),System.registerDynamic("npm:ramda@0.23.0/src/and.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a&&b})}),System.registerDynamic("npm:ramda@0.23.0/src/both.js",["./internal/_curry2","./internal/_isFunction","./and","./lift"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isFunction"),f=a("./and"),g=a("./lift");c.exports=d(function(a,b){return e(a)?function(){return a.apply(this,arguments)&&b.apply(this,arguments)}:g(f)(a,b)})}),System.registerDynamic("npm:ramda@0.23.0/src/call.js",["./curry"],!0,function(a,b,c){var d=(this||self,a("./curry"));c.exports=d(function(a){return a.apply(this,Array.prototype.slice.call(arguments,1))})}),System.registerDynamic("npm:ramda@0.23.0/src/clamp.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){if(a>b)throw new Error("min must not be greater than max in clamp(min, max, value)");return c<a?a:c>b?b:c})}),System.registerDynamic("npm:ramda@0.23.0/src/clone.js",["./internal/_clone","./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_clone")),e=a("./internal/_curry1");c.exports=e(function(a){return null!=a&&"function"==typeof a.clone?a.clone():d(a,[],[],!0)})}),System.registerDynamic("npm:ramda@0.23.0/src/comparator.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){return function(b,c){return a(b,c)?-1:a(c,b)?1:0}})}),System.registerDynamic("npm:ramda@0.23.0/src/complement.js",["./lift","./not"],!0,function(a,b,c){var d=(this||self,a("./lift")),e=a("./not");c.exports=d(e)}),System.registerDynamic("npm:ramda@0.23.0/src/composeP.js",["./pipeP","./reverse"],!0,function(a,b,c){var d=(this||self,a("./pipeP")),e=a("./reverse");c.exports=function(){if(0===arguments.length)throw new Error("composeP requires at least one argument");return d.apply(this,e(arguments))}}),System.registerDynamic("npm:ramda@0.23.0/src/cond.js",["./internal/_arity","./internal/_curry1","./map","./max","./reduce"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_curry1"),f=a("./map"),g=a("./max"),h=a("./reduce");c.exports=e(function(a){var b=h(g,0,f(function(a){return a[0].length},a));return d(b,function(){for(var b=0;b<a.length;){if(a[b][0].apply(this,arguments))return a[b][1].apply(this,arguments);b+=1}})})}),System.registerDynamic("npm:ramda@0.23.0/src/construct.js",["./internal/_curry1","./constructN"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./constructN");c.exports=d(function(a){return e(a.length,a)})}),System.registerDynamic("npm:ramda@0.23.0/src/constructN.js",["./internal/_curry2","./curry","./nAry"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./curry"),f=a("./nAry");c.exports=d(function(a,b){if(a>10)throw new Error("Constructor with greater than ten arguments");return 0===a?function(){return new b}:e(f(a,function(a,c,d,e,f,g,h,i,j,k){switch(arguments.length){case 1:return new b(a);case 2:return new b(a,c);case 3:return new b(a,c,d);case 4:return new b(a,c,d,e);case 5:return new b(a,c,d,e,f);case 6:return new b(a,c,d,e,f,g);case 7:return new b(a,c,d,e,f,g,h);case 8:return new b(a,c,d,e,f,g,h,i);case 9:return new b(a,c,d,e,f,g,h,i,j);case 10:return new b(a,c,d,e,f,g,h,i,j,k)}}))})}),System.registerDynamic("npm:ramda@0.23.0/src/contains.js",["./internal/_contains","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_contains")),e=a("./internal/_curry2");c.exports=e(d)}),System.registerDynamic("npm:ramda@0.23.0/src/countBy.js",["./reduceBy"],!0,function(a,b,c){var d=(this||self,a("./reduceBy"));c.exports=d(function(a,b){return a+1},0)}),System.registerDynamic("npm:ramda@0.23.0/src/dec.js",["./add"],!0,function(a,b,c){var d=(this||self,a("./add"));c.exports=d(-1)}),System.registerDynamic("npm:ramda@0.23.0/src/descend.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){var d=a(b),e=a(c);return d>e?-1:d<e?1:0})}),System.registerDynamic("npm:ramda@0.23.0/src/dissoc.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){var c={};for(var d in b)c[d]=b[d];return delete c[a],c})}),System.registerDynamic("npm:ramda@0.23.0/src/dissocPath.js",["./internal/_curry2","./assoc","./dissoc"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./assoc"),f=a("./dissoc");c.exports=d(function g(a,b){switch(a.length){case 0:return b;case 1:return f(a[0],b);default:var c=a[0],d=Array.prototype.slice.call(a,1);return null==b[c]?b:e(c,g(d,b[c]),b)}})}),System.registerDynamic("npm:ramda@0.23.0/src/divide.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a/b})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_dropLast.js",["../take"],!0,function(a,b,c){var d=(this||self,a("../take"));c.exports=function(a,b){return d(a<b.length?b.length-a:0,b)}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xdropLast.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.pos=0,this.full=!1,this.acc=new Array(a)}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=function(a){return this.acc=null,this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){return this.full&&(a=this.xf["@@transducer/step"](a,this.acc[this.pos])),this.store(b),a},a.prototype.store=function(a){this.acc[this.pos]=a,this.pos+=1,this.pos===this.acc.length&&(this.pos=0,this.full=!0)},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/dropLast.js",["./internal/_curry2","./internal/_dispatchable","./internal/_dropLast","./internal/_xdropLast"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_dropLast"),g=a("./internal/_xdropLast");c.exports=d(e([],g,f))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_dropLastWhile.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){for(var c=b.length-1;c>=0&&a(b[c]);)c-=1;return Array.prototype.slice.call(b,0,c+1)}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xdropLastWhile.js",["./_curry2","./_reduce","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_reduce"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.f=a,this.retained=[],this.xf=b}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=function(a){return this.retained=null,this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){return this.f(b)?this.retain(a,b):this.flush(a,b)},a.prototype.flush=function(a,b){return a=e(this.xf["@@transducer/step"],a,this.retained),this.retained=[],this.xf["@@transducer/step"](a,b)},a.prototype.retain=function(a,b){return this.retained.push(b),a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/dropLastWhile.js",["./internal/_curry2","./internal/_dispatchable","./internal/_dropLastWhile","./internal/_xdropLastWhile"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_dropLastWhile"),g=a("./internal/_xdropLastWhile");c.exports=d(e([],g,f))}),System.registerDynamic("npm:ramda@0.23.0/src/dropRepeats.js",["./internal/_curry1","./internal/_dispatchable","./internal/_xdropRepeatsWith","./dropRepeatsWith","./equals"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_dispatchable"),f=a("./internal/_xdropRepeatsWith"),g=a("./dropRepeatsWith"),h=a("./equals");c.exports=d(e([],f(h),g(h)))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xdropRepeatsWith.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.pred=a,this.lastValue=void 0,this.seenFirstValue=!1}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=e.result,a.prototype["@@transducer/step"]=function(a,b){var c=!1;return this.seenFirstValue?this.pred(this.lastValue,b)&&(c=!0):this.seenFirstValue=!0,this.lastValue=b,c?a:this.xf["@@transducer/step"](a,b)},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/dropRepeatsWith.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xdropRepeatsWith","./last"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xdropRepeatsWith"),g=a("./last");c.exports=d(e([],f,function(a,b){var c=[],d=1,e=b.length;if(0!==e)for(c[0]=b[0];d<e;)a(g(c),b[d])||(c[c.length]=b[d]),d+=1;return c}))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xdropWhile.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=e.result,a.prototype["@@transducer/step"]=function(a,b){if(this.f){if(this.f(b))return a;this.f=null}return this.xf["@@transducer/step"](a,b)},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/dropWhile.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xdropWhile"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xdropWhile");c.exports=d(e(["dropWhile"],f,function(a,b){for(var c=0,d=b.length;c<d&&a(b[c]);)c+=1;return Array.prototype.slice.call(b,c)}))}),System.registerDynamic("npm:ramda@0.23.0/src/either.js",["./internal/_curry2","./internal/_isFunction","./lift","./or"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isFunction"),f=a("./lift"),g=a("./or");c.exports=d(function(a,b){return e(a)?function(){return a.apply(this,arguments)||b.apply(this,arguments)}:f(g)(a,b)})}),System.registerDynamic("npm:ramda@0.23.0/src/eqBy.js",["./internal/_curry3","./equals"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./equals");c.exports=d(function(a,b,c){return e(a(b),a(c))})}),System.registerDynamic("npm:ramda@0.23.0/src/eqProps.js",["./internal/_curry3","./equals"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./equals");c.exports=d(function(a,b,c){return e(b[a],c[a])})}),System.registerDynamic("npm:ramda@0.23.0/src/evolve.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function e(a,b){var c,d,f,g={};for(d in b)c=a[d],f=typeof c,g[d]="function"===f?c(b[d]):c&&"object"===f?e(c,b[d]):b[d];return g})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xfind.js",["./_curry2","./_reduced","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_reduced"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a,this.found=!1}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=function(a){return this.found||(a=this.xf["@@transducer/step"](a,void 0)),this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){return this.f(b)&&(this.found=!0,a=e(this.xf["@@transducer/step"](a,b))),a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/find.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xfind"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xfind");c.exports=d(e(["find"],f,function(a,b){for(var c=0,d=b.length;c<d;){if(a(b[c]))return b[c];c+=1}}))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xfindIndex.js",["./_curry2","./_reduced","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_reduced"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a,this.idx=-1,this.found=!1}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=function(a){return this.found||(a=this.xf["@@transducer/step"](a,-1)),this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){return this.idx+=1,this.f(b)&&(this.found=!0,a=e(this.xf["@@transducer/step"](a,this.idx))),a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/findIndex.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xfindIndex"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xfindIndex");c.exports=d(e([],f,function(a,b){for(var c=0,d=b.length;c<d;){if(a(b[c]))return c;c+=1}return-1}))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xfindLast.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=function(a){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](a,this.last))},a.prototype["@@transducer/step"]=function(a,b){return this.f(b)&&(this.last=b),a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/findLast.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xfindLast"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xfindLast");c.exports=d(e([],f,function(a,b){for(var c=b.length-1;c>=0;){if(a(b[c]))return b[c];c-=1}}))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xfindLastIndex.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a,this.idx=-1,this.lastIdx=-1}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=function(a){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](a,this.lastIdx))},a.prototype["@@transducer/step"]=function(a,b){return this.idx+=1,this.f(b)&&(this.lastIdx=this.idx),a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/findLastIndex.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xfindLastIndex"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xfindLastIndex");c.exports=d(e([],f,function(a,b){for(var c=b.length-1;c>=0;){if(a(b[c]))return c;c-=1}return-1}))}),System.registerDynamic("npm:ramda@0.23.0/src/flatten.js",["./internal/_curry1","./internal/_makeFlat"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_makeFlat");c.exports=d(e(!0))}),System.registerDynamic("npm:ramda@0.23.0/src/forEach.js",["./internal/_checkForMethod","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_checkForMethod")),e=a("./internal/_curry2");c.exports=e(d("forEach",function(a,b){for(var c=b.length,d=0;d<c;)a(b[d]),d+=1;return b}))}),System.registerDynamic("npm:ramda@0.23.0/src/forEachObjIndexed.js",["./internal/_curry2","./keys"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./keys");c.exports=d(function(a,b){for(var c=e(b),d=0;d<c.length;){var f=c[d];a(b[f],f,b),d+=1}return b})}),System.registerDynamic("npm:ramda@0.23.0/src/fromPairs.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){for(var b={},c=0;c<a.length;)b[a[c][0]]=a[c][1],c+=1;return b})}),System.registerDynamic("npm:ramda@0.23.0/src/groupBy.js",["./internal/_checkForMethod","./internal/_curry2","./reduceBy"],!0,function(a,b,c){var d=(this||self,a("./internal/_checkForMethod")),e=a("./internal/_curry2"),f=a("./reduceBy");c.exports=e(d("groupBy",f(function(a,b){return null==a&&(a=[]),a.push(b),a},null)))}),System.registerDynamic("npm:ramda@0.23.0/src/groupWith.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=[],d=0,e=b.length;d<e;){for(var f=d+1;f<e&&a(b[d],b[f]);)f+=1;c.push(b.slice(d,f)),d=f}return c})}),System.registerDynamic("npm:ramda@0.23.0/src/gt.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a>b})}),System.registerDynamic("npm:ramda@0.23.0/src/gte.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a>=b})}),System.registerDynamic("npm:ramda@0.23.0/src/has.js",["./internal/_curry2","./internal/_has"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_has");c.exports=d(e)}),System.registerDynamic("npm:ramda@0.23.0/src/hasIn.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a in b})}),System.registerDynamic("npm:ramda@0.23.0/src/head.js",["./nth"],!0,function(a,b,c){var d=(this||self,a("./nth"));c.exports=d(0)}),System.registerDynamic("npm:process@0.11.10/browser.js",[],!0,function(a,b,c){function d(){throw new Error("setTimeout has not been defined")}function e(){throw new Error("clearTimeout has not been defined")}function f(a){if(l===setTimeout)return setTimeout(a,0);if((l===d||!l)&&setTimeout)return l=setTimeout,setTimeout(a,0);try{return l(a,0)}catch(b){try{return l.call(null,a,0)}catch(b){return l.call(this,a,0)}}}function g(a){if(m===clearTimeout)return clearTimeout(a);if((m===e||!m)&&clearTimeout)return m=clearTimeout,clearTimeout(a);try{return m(a)}catch(b){try{return m.call(null,a)}catch(b){return m.call(this,a)}}}function h(){q&&o&&(q=!1,o.length?p=o.concat(p):r=-1,p.length&&i())}function i(){if(!q){var a=f(h);q=!0;for(var b=p.length;b;){for(o=p,p=[];++r<b;)o&&o[r].run();r=-1,b=p.length}o=null,q=!1,g(a)}}function j(a,b){this.fun=a,this.array=b}function k(){}var l,m,n=(this||self,c.exports={});!function(){try{l="function"==typeof setTimeout?setTimeout:d}catch(a){l=d}try{m="function"==typeof clearTimeout?clearTimeout:e}catch(a){m=e}}();var o,p=[],q=!1,r=-1;n.nextTick=function(a){var b=new Array(arguments.length-1);if(arguments.length>1)for(var c=1;c<arguments.length;c++)b[c-1]=arguments[c];p.push(new j(a,b)),1!==p.length||q||f(i)},j.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=k,n.addListener=k,n.once=k,n.off=k,n.removeListener=k,n.removeAllListeners=k,n.emit=k,n.prependListener=k,n.prependOnceListener=k,n.listeners=function(a){return[]},n.binding=function(a){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(a){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}}),System.registerDynamic("npm:process@0.11.10.js",["npm:process@0.11.10/browser.js"],!0,function(a,b,c){this||self;c.exports=a("npm:process@0.11.10/browser.js")}),System.registerDynamic("github:jspm/nodelibs-process@0.1.2/index.js",["process"],!0,function(a,b,c){this||self;c.exports=System._nodeRequire?process:a("process")}),System.registerDynamic("github:jspm/nodelibs-process@0.1.2.js",["github:jspm/nodelibs-process@0.1.2/index"],!0,function(a,b,c){this||self;c.exports=a("github:jspm/nodelibs-process@0.1.2/index")}),System.registerDynamic("npm:ramda@0.23.0/src/ifElse.js",["./internal/_curry3","./curryN","process"],!0,function(a,b,c){this||self;!function(b){var d=a("./internal/_curry3"),e=a("./curryN");c.exports=d(function(a,b,c){return e(Math.max(a.length,b.length,c.length),function(){return a.apply(this,arguments)?b.apply(this,arguments):c.apply(this,arguments)})})}(a("process"))}),System.registerDynamic("npm:ramda@0.23.0/src/inc.js",["./add"],!0,function(a,b,c){var d=(this||self,a("./add"));c.exports=d(1)}),System.registerDynamic("npm:ramda@0.23.0/src/indexBy.js",["./reduceBy"],!0,function(a,b,c){var d=(this||self,a("./reduceBy"));c.exports=d(function(a,b){return b},null)}),System.registerDynamic("npm:ramda@0.23.0/src/indexOf.js",["./internal/_curry2","./internal/_indexOf","./internal/_isArray"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_indexOf"),f=a("./internal/_isArray");c.exports=d(function(a,b){return"function"!=typeof b.indexOf||f(b)?e(b,a,0):b.indexOf(a)})}),System.registerDynamic("npm:ramda@0.23.0/src/init.js",["./slice"],!0,function(a,b,c){var d=(this||self,a("./slice"));c.exports=d(0,-1)}),System.registerDynamic("npm:ramda@0.23.0/src/insert.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){a=a<c.length&&a>=0?a:c.length;var d=Array.prototype.slice.call(c,0);return d.splice(a,0,b),d})}),System.registerDynamic("npm:ramda@0.23.0/src/insertAll.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){return a=a<c.length&&a>=0?a:c.length,[].concat(Array.prototype.slice.call(c,0,a),b,Array.prototype.slice.call(c,a))})}),System.registerDynamic("npm:ramda@0.23.0/src/intersection.js",["./internal/_contains","./internal/_curry2","./internal/_filter","./flip","./uniq"],!0,function(a,b,c){var d=(this||self,a("./internal/_contains")),e=a("./internal/_curry2"),f=a("./internal/_filter"),g=a("./flip"),h=a("./uniq");c.exports=e(function(a,b){var c,e;return a.length>b.length?(c=a,e=b):(c=b,e=a),h(f(g(d)(c),e))})}),System.registerDynamic("npm:ramda@0.23.0/src/intersectionWith.js",["./internal/_containsWith","./internal/_curry3","./uniqWith"],!0,function(a,b,c){var d=(this||self,a("./internal/_containsWith")),e=a("./internal/_curry3"),f=a("./uniqWith");c.exports=e(function(a,b,c){var e,g;b.length>c.length?(e=b,g=c):(e=c,g=b);for(var h=[],i=0;i<g.length;)d(a,g[i],e)&&(h[h.length]=g[i]),i+=1;return f(a,h)})}),System.registerDynamic("npm:ramda@0.23.0/src/intersperse.js",["./internal/_checkForMethod","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_checkForMethod")),e=a("./internal/_curry2");c.exports=e(d("intersperse",function(a,b){for(var c=[],d=0,e=b.length;d<e;)d===e-1?c.push(b[d]):c.push(b[d],a),d+=1;return c}))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_clone.js",["./_cloneRegExp","../type"],!0,function(a,b,c){var d=(this||self,a("./_cloneRegExp")),e=a("../type");c.exports=function f(a,b,c,g){var h=function(d){for(var e=b.length,h=0;h<e;){if(a===b[h])return c[h];h+=1}b[h+1]=a,c[h+1]=d;for(var i in a)d[i]=g?f(a[i],b,c,!0):a[i];return d};switch(e(a)){case"Object":return h({});case"Array":return h([]);case"Date":return new Date(a.valueOf());case"RegExp":return d(a);default:return a}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_stepCat.js",["./_assign","./_identity","./_isTransformer","../isArrayLike","../objOf"],!0,function(a,b,c){var d=(this||self,a("./_assign")),e=a("./_identity"),f=a("./_isTransformer"),g=a("../isArrayLike"),h=a("../objOf");c.exports=function(){var a={"@@transducer/init":Array,"@@transducer/step":function(a,b){return a.push(b),a},"@@transducer/result":e},b={"@@transducer/init":String,"@@transducer/step":function(a,b){return a+b},"@@transducer/result":e},c={"@@transducer/init":Object,"@@transducer/step":function(a,b){return d(a,g(b)?h(b[0],b[1]):b)},"@@transducer/result":e};return function(d){if(f(d))return d;if(g(d))return a;if("string"==typeof d)return b;if("object"==typeof d)return c;throw new Error("Cannot create transformer for "+d)}}()}),System.registerDynamic("npm:ramda@0.23.0/src/into.js",["./internal/_clone","./internal/_curry3","./internal/_isTransformer","./internal/_reduce","./internal/_stepCat"],!0,function(a,b,c){var d=(this||self,a("./internal/_clone")),e=a("./internal/_curry3"),f=a("./internal/_isTransformer"),g=a("./internal/_reduce"),h=a("./internal/_stepCat");c.exports=e(function(a,b,c){return f(a)?g(b(a),a["@@transducer/init"](),c):g(b(h(a)),d(a,[],[],!1),c)})}),System.registerDynamic("npm:ramda@0.23.0/src/invert.js",["./internal/_curry1","./internal/_has","./keys"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_has"),f=a("./keys");c.exports=d(function(a){for(var b=f(a),c=b.length,d=0,g={};d<c;){var h=b[d],i=a[h],j=e(i,g)?g[i]:g[i]=[];j[j.length]=h,d+=1}return g})}),System.registerDynamic("npm:ramda@0.23.0/src/invertObj.js",["./internal/_curry1","./keys"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./keys");c.exports=d(function(a){for(var b=e(a),c=b.length,d=0,f={};d<c;){var g=b[d];f[a[g]]=g,d+=1}return f})}),System.registerDynamic("npm:ramda@0.23.0/src/empty.js",["./internal/_curry1","./internal/_isArguments","./internal/_isArray","./internal/_isObject","./internal/_isString"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_isArguments"),f=a("./internal/_isArray"),g=a("./internal/_isObject"),h=a("./internal/_isString");c.exports=d(function(a){return null!=a&&"function"==typeof a.empty?a.empty():null!=a&&null!=a.constructor&&"function"==typeof a.constructor.empty?a.constructor.empty():f(a)?[]:h(a)?"":g(a)?{}:e(a)?function(){return arguments}():void 0})}),System.registerDynamic("npm:ramda@0.23.0/src/isEmpty.js",["./internal/_curry1","./empty","./equals"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./empty"),f=a("./equals");c.exports=d(function(a){return null!=a&&f(a,e(a))})}),System.registerDynamic("npm:ramda@0.23.0/src/isNil.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){return null==a})}),System.registerDynamic("npm:ramda@0.23.0/src/join.js",["./invoker"],!0,function(a,b,c){var d=(this||self,a("./invoker"));c.exports=d(1,"join")}),System.registerDynamic("npm:ramda@0.23.0/src/keysIn.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){var b,c=[];for(b in a)c[c.length]=b;return c})}),System.registerDynamic("npm:ramda@0.23.0/src/last.js",["./nth"],!0,function(a,b,c){var d=(this||self,a("./nth"));c.exports=d(-1)}),System.registerDynamic("npm:ramda@0.23.0/src/lastIndexOf.js",["./internal/_curry2","./internal/_isArray","./equals"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isArray"),f=a("./equals");c.exports=d(function(a,b){if("function"!=typeof b.lastIndexOf||e(b)){for(var c=b.length-1;c>=0;){if(f(b[c],a))return c;c-=1}return-1}return b.lastIndexOf(a)})}),System.registerDynamic("npm:ramda@0.23.0/src/lensIndex.js",["./internal/_curry1","./lens","./nth","./update"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./lens"),f=a("./nth"),g=a("./update");c.exports=d(function(a){return e(f(a),g(a))})}),System.registerDynamic("npm:ramda@0.23.0/src/assocPath.js",["./internal/_curry3","./internal/_has","./internal/_isArray","./internal/_isInteger","./assoc"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./internal/_has"),f=a("./internal/_isArray"),g=a("./internal/_isInteger"),h=a("./assoc");c.exports=d(function i(a,b,c){if(0===a.length)return b;var d=a[0];if(a.length>1){var j=e(d,c)?c[d]:g(a[1])?[]:{};b=i(Array.prototype.slice.call(a,1),b,j)}if(g(d)&&f(c)){var k=[].concat(c);return k[d]=b,k}return h(d,b,c)})}),System.registerDynamic("npm:ramda@0.23.0/src/lensPath.js",["./internal/_curry1","./assocPath","./lens","./path"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./assocPath"),f=a("./lens"),g=a("./path");c.exports=d(function(a){return f(g(a),e(a))})}),System.registerDynamic("npm:ramda@0.23.0/src/assoc.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){var d={};for(var e in c)d[e]=c[e];return d[a]=b,d})}),System.registerDynamic("npm:ramda@0.23.0/src/lens.js",["./internal/_curry2","./map"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./map");c.exports=d(function(a,b){return function(c){return function(d){return e(function(a){return b(a,d)},c(a(d)))}}})}),System.registerDynamic("npm:ramda@0.23.0/src/lensProp.js",["./internal/_curry1","./assoc","./lens","./prop"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./assoc"),f=a("./lens"),g=a("./prop");c.exports=d(function(a){return f(g(a),e(a))})}),System.registerDynamic("npm:ramda@0.23.0/src/lift.js",["./internal/_curry1","./liftN"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./liftN");c.exports=d(function(a){return e(a.length,a)})}),System.registerDynamic("npm:ramda@0.23.0/src/liftN.js",["./internal/_curry2","./internal/_reduce","./ap","./curryN","./map"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_reduce"),f=a("./ap"),g=a("./curryN"),h=a("./map");
c.exports=d(function(a,b){var c=g(a,b);return g(a,function(){return e(f,h(c,arguments[0]),Array.prototype.slice.call(arguments,1))})})}),System.registerDynamic("npm:ramda@0.23.0/src/lt.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a<b})}),System.registerDynamic("npm:ramda@0.23.0/src/lte.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a<=b})}),System.registerDynamic("npm:ramda@0.23.0/src/mapAccum.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){for(var d=0,e=c.length,f=[],g=[b];d<e;)g=a(g[0],c[d]),f[d]=g[1],d+=1;return[g[0],f]})}),System.registerDynamic("npm:ramda@0.23.0/src/mapAccumRight.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){for(var d=c.length-1,e=[],f=[b];d>=0;)f=a(c[d],f[0]),e[d]=f[1],d-=1;return[e,f[0]]})}),System.registerDynamic("npm:ramda@0.23.0/src/mapObjIndexed.js",["./internal/_curry2","./internal/_reduce","./keys"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_reduce"),f=a("./keys");c.exports=d(function(a,b){return e(function(c,d){return c[d]=a(b[d],d,b),c},{},f(b))})}),System.registerDynamic("npm:ramda@0.23.0/src/match.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return b.match(a)||[]})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isInteger.js",[],!0,function(a,b,c){this||self;c.exports=Number.isInteger||function(a){return a<<0===a}}),System.registerDynamic("npm:ramda@0.23.0/src/mathMod.js",["./internal/_curry2","./internal/_isInteger"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isInteger");c.exports=d(function(a,b){return e(a)?!e(b)||b<1?NaN:(a%b+b)%b:NaN})}),System.registerDynamic("npm:ramda@0.23.0/src/maxBy.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){return a(c)>a(b)?c:b})}),System.registerDynamic("npm:ramda@0.23.0/src/mean.js",["./internal/_curry1","./sum"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./sum");c.exports=d(function(a){return e(a)/a.length})}),System.registerDynamic("npm:ramda@0.23.0/src/median.js",["./internal/_curry1","./mean"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./mean");c.exports=d(function(a){var b=a.length;if(0===b)return NaN;var c=2-b%2,d=(b-c)/2;return e(Array.prototype.slice.call(a,0).sort(function(a,b){return a<b?-1:a>b?1:0}).slice(d,d+c))})}),System.registerDynamic("npm:ramda@0.23.0/src/memoize.js",["./internal/_arity","./internal/_curry1","./internal/_has","./toString"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_curry1"),f=a("./internal/_has"),g=a("./toString");c.exports=e(function(a){var b={};return d(a.length,function(){var c=g(arguments);return f(c,b)||(b[c]=a.apply(this,arguments)),b[c]})})}),System.registerDynamic("npm:ramda@0.23.0/src/merge.js",["./internal/_assign","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_assign")),e=a("./internal/_curry2");c.exports=e(function(a,b){return d({},a,b)})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_objectAssign.js",["./_has"],!0,function(a,b,c){var d=(this||self,a("./_has"));c.exports=function(a){if(null==a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1,e=arguments.length;c<e;){var f=arguments[c];if(null!=f)for(var g in f)d(g,f)&&(b[g]=f[g]);c+=1}return b}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_assign.js",["./_objectAssign"],!0,function(a,b,c){var d=(this||self,a("./_objectAssign"));c.exports="function"==typeof Object.assign?Object.assign:d}),System.registerDynamic("npm:ramda@0.23.0/src/mergeAll.js",["./internal/_assign","./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_assign")),e=a("./internal/_curry1");c.exports=e(function(a){return d.apply(null,[{}].concat(a))})}),System.registerDynamic("npm:ramda@0.23.0/src/mergeWith.js",["./internal/_curry3","./mergeWithKey"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./mergeWithKey");c.exports=d(function(a,b,c){return e(function(b,c,d){return a(c,d)},b,c)})}),System.registerDynamic("npm:ramda@0.23.0/src/mergeWithKey.js",["./internal/_curry3","./internal/_has"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./internal/_has");c.exports=d(function(a,b,c){var d,f={};for(d in b)e(d,b)&&(f[d]=e(d,c)?a(d,b[d],c[d]):b[d]);for(d in c)e(d,c)&&!e(d,f)&&(f[d]=c[d]);return f})}),System.registerDynamic("npm:ramda@0.23.0/src/min.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return b<a?b:a})}),System.registerDynamic("npm:ramda@0.23.0/src/minBy.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){return a(c)<a(b)?c:b})}),System.registerDynamic("npm:ramda@0.23.0/src/modulo.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a%b})}),System.registerDynamic("npm:ramda@0.23.0/src/negate.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){return-a})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xany.js",["./_curry2","./_reduced","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_reduced"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a,this.any=!1}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=function(a){return this.any||(a=this.xf["@@transducer/step"](a,!1)),this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){return this.f(b)&&(this.any=!0,a=e(this.xf["@@transducer/step"](a,!0))),a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/any.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xany"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xany");c.exports=d(e(["any"],f,function(a,b){for(var c=0;c<b.length;){if(a(b[c]))return!0;c+=1}return!1}))}),System.registerDynamic("npm:ramda@0.23.0/src/none.js",["./internal/_complement","./internal/_curry2","./internal/_dispatchable","./internal/_xany","./any"],!0,function(a,b,c){var d=(this||self,a("./internal/_complement")),e=a("./internal/_curry2"),f=a("./internal/_dispatchable"),g=a("./internal/_xany"),h=a("./any");c.exports=e(d(f(["any"],g,h)))}),System.registerDynamic("npm:ramda@0.23.0/src/not.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){return!a})}),System.registerDynamic("npm:ramda@0.23.0/src/nth.js",["./internal/_curry2","./internal/_isString"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isString");c.exports=d(function(a,b){var c=a<0?b.length+a:a;return e(b)?b.charAt(c):b[c]})}),System.registerDynamic("npm:ramda@0.23.0/src/nthArg.js",["./internal/_curry1","./curryN","./nth"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./curryN"),f=a("./nth");c.exports=d(function(a){var b=a<0?1:a+1;return e(b,function(){return f(a,arguments)})})}),System.registerDynamic("npm:ramda@0.23.0/src/objOf.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){var c={};return c[a]=b,c})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_of.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return[a]}}),System.registerDynamic("npm:ramda@0.23.0/src/of.js",["./internal/_curry1","./internal/_of"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_of");c.exports=d(e)}),System.registerDynamic("npm:ramda@0.23.0/src/omit.js",["./internal/_contains","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_contains")),e=a("./internal/_curry2");c.exports=e(function(a,b){var c={};for(var e in b)d(e,a)||(c[e]=b[e]);return c})}),System.registerDynamic("npm:ramda@0.23.0/src/once.js",["./internal/_arity","./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_curry1");c.exports=e(function(a){var b,c=!1;return d(a.length,function(){return c?b:(c=!0,b=a.apply(this,arguments))})})}),System.registerDynamic("npm:ramda@0.23.0/src/or.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a||b})}),System.registerDynamic("npm:ramda@0.23.0/src/pair.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return[a,b]})}),System.registerDynamic("npm:ramda@0.23.0/src/partial.js",["./internal/_concat","./internal/_createPartialApplicator"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_createPartialApplicator");c.exports=e(d)}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_createPartialApplicator.js",["./_arity","./_curry2"],!0,function(a,b,c){var d=(this||self,a("./_arity")),e=a("./_curry2");c.exports=function(a){return e(function(b,c){return d(Math.max(0,b.length-c.length),function(){return b.apply(this,a(c,arguments))})})}}),System.registerDynamic("npm:ramda@0.23.0/src/partialRight.js",["./internal/_concat","./internal/_createPartialApplicator","./flip"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_createPartialApplicator"),f=a("./flip");c.exports=e(f(d))}),System.registerDynamic("npm:ramda@0.23.0/src/max.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return b>a?b:a})}),System.registerDynamic("npm:ramda@0.23.0/src/converge.js",["./internal/_curry2","./internal/_map","./curryN","./max","./pluck","./reduce"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_map"),f=a("./curryN"),g=a("./max"),h=a("./pluck"),i=a("./reduce");c.exports=d(function(a,b){return f(i(g,0,h("length",b)),function(){var c=arguments,d=this;return a.apply(d,e(function(a){return a.apply(d,c)},b))})})}),System.registerDynamic("npm:ramda@0.23.0/src/juxt.js",["./internal/_curry1","./converge"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./converge");c.exports=d(function(a){return e(function(){return Array.prototype.slice.call(arguments,0)},a)})}),System.registerDynamic("npm:ramda@0.23.0/src/partition.js",["./filter","./juxt","./reject"],!0,function(a,b,c){var d=(this||self,a("./filter")),e=a("./juxt"),f=a("./reject");c.exports=e([d,f])}),System.registerDynamic("npm:ramda@0.23.0/src/pathEq.js",["./internal/_curry3","./equals","./path"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./equals"),f=a("./path");c.exports=d(function(a,b,c){return e(f(a,c),b)})}),System.registerDynamic("npm:ramda@0.23.0/src/defaultTo.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return null==b||b!==b?a:b})}),System.registerDynamic("npm:ramda@0.23.0/src/pathOr.js",["./internal/_curry3","./defaultTo","./path"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./defaultTo"),f=a("./path");c.exports=d(function(a,b,c){return e(a,f(b,c))})}),System.registerDynamic("npm:ramda@0.23.0/src/path.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=b,d=0;d<a.length;){if(null==c)return;c=c[a[d]],d+=1}return c})}),System.registerDynamic("npm:ramda@0.23.0/src/pathSatisfies.js",["./internal/_curry3","./path"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./path");c.exports=d(function(a,b,c){return b.length>0&&a(e(b,c))})}),System.registerDynamic("npm:ramda@0.23.0/src/pick.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c={},d=0;d<a.length;)a[d]in b&&(c[a[d]]=b[a[d]]),d+=1;return c})}),System.registerDynamic("npm:ramda@0.23.0/src/pickBy.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){var c={};for(var d in b)a(b[d],d,b)&&(c[d]=b[d]);return c})}),System.registerDynamic("npm:ramda@0.23.0/src/composeK.js",["./chain","./compose","./map"],!0,function(a,b,c){var d=(this||self,a("./chain")),e=a("./compose"),f=a("./map");c.exports=function(){if(0===arguments.length)throw new Error("composeK requires at least one argument");var a=Array.prototype.slice.call(arguments),b=a.pop();return e(e.apply(this,f(d,a)),b)}}),System.registerDynamic("npm:ramda@0.23.0/src/pipeK.js",["./composeK","./reverse"],!0,function(a,b,c){var d=(this||self,a("./composeK")),e=a("./reverse");c.exports=function(){if(0===arguments.length)throw new Error("pipeK requires at least one argument");return d.apply(this,e(arguments))}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_pipeP.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){return function(){var c=this;return a.apply(c,arguments).then(function(a){return b.call(c,a)})}}}),System.registerDynamic("npm:ramda@0.23.0/src/pipeP.js",["./internal/_arity","./internal/_pipeP","./reduce","./tail"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_pipeP"),f=a("./reduce"),g=a("./tail");c.exports=function(){if(0===arguments.length)throw new Error("pipeP requires at least one argument");return d(arguments[0].length,f(e,arguments[0],g(arguments)))}}),System.registerDynamic("npm:ramda@0.23.0/src/pluck.js",["./internal/_curry2","./map","./prop"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./map"),f=a("./prop");c.exports=d(function(a,b){return e(f(a),b)})}),System.registerDynamic("npm:ramda@0.23.0/src/multiply.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a*b})}),System.registerDynamic("npm:ramda@0.23.0/src/product.js",["./multiply","./reduce"],!0,function(a,b,c){var d=(this||self,a("./multiply")),e=a("./reduce");c.exports=e(d,1)}),System.registerDynamic("npm:ramda@0.23.0/src/pickAll.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c={},d=0,e=a.length;d<e;){var f=a[d];c[f]=b[f],d+=1}return c})}),System.registerDynamic("npm:ramda@0.23.0/src/project.js",["./internal/_map","./identity","./pickAll","./useWith"],!0,function(a,b,c){var d=(this||self,a("./internal/_map")),e=a("./identity"),f=a("./pickAll"),g=a("./useWith");c.exports=g(d,[f,e])}),System.registerDynamic("npm:ramda@0.23.0/src/prop.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return b[a]})}),System.registerDynamic("npm:ramda@0.23.0/src/propEq.js",["./internal/_curry3","./equals"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./equals");c.exports=d(function(a,b,c){return e(b,c[a])})}),System.registerDynamic("npm:ramda@0.23.0/src/is.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return null!=b&&b.constructor===a||b instanceof a})}),System.registerDynamic("npm:ramda@0.23.0/src/propIs.js",["./internal/_curry3","./is"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./is");c.exports=d(function(a,b,c){return e(a,c[b])})}),System.registerDynamic("npm:ramda@0.23.0/src/propOr.js",["./internal/_curry3","./internal/_has"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./internal/_has");c.exports=d(function(a,b,c){return null!=c&&e(b,c)?c[b]:a})}),System.registerDynamic("npm:ramda@0.23.0/src/propSatisfies.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){return a(c[b])})}),System.registerDynamic("npm:ramda@0.23.0/src/props.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=a.length,d=[],e=0;e<c;)d[e]=b[a[e]],e+=1;return d})}),System.registerDynamic("npm:ramda@0.23.0/src/range.js",["./internal/_curry2","./internal/_isNumber"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isNumber");c.exports=d(function(a,b){if(!e(a)||!e(b))throw new TypeError("Both arguments to range must be numbers");for(var c=[],d=a;d<b;)c.push(d),d+=1;return c})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xreduceBy.js",["./_curryN","./_has","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curryN")),e=a("./_has"),f=a("./_xfBase");c.exports=function(){function a(a,b,c,d){this.valueFn=a,this.valueAcc=b,this.keyFn=c,this.xf=d,this.inputs={}}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=function(a){var b;for(b in this.inputs)if(e(b,this.inputs)&&(a=this.xf["@@transducer/step"](a,this.inputs[b]),a["@@transducer/reduced"])){a=a["@@transducer/value"];break}return this.inputs=null,this.xf["@@transducer/result"](a)},a.prototype["@@transducer/step"]=function(a,b){var c=this.keyFn(b);return this.inputs[c]=this.inputs[c]||[c,this.valueAcc],this.inputs[c][1]=this.valueFn(this.inputs[c][1],b),a},d(4,[],function(b,c,d,e){return new a(b,c,d,e)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/reduceBy.js",["./internal/_curryN","./internal/_dispatchable","./internal/_has","./internal/_reduce","./internal/_xreduceBy"],!0,function(a,b,c){var d=(this||self,a("./internal/_curryN")),e=a("./internal/_dispatchable"),f=a("./internal/_has"),g=a("./internal/_reduce"),h=a("./internal/_xreduceBy");c.exports=d(4,[],e([],h,function(a,b,c,d){return g(function(d,e){var g=c(e);return d[g]=a(f(g,d)?d[g]:b,e),d},{},d)}))}),System.registerDynamic("npm:ramda@0.23.0/src/reduceWhile.js",["./internal/_curryN","./internal/_reduce","./internal/_reduced"],!0,function(a,b,c){var d=(this||self,a("./internal/_curryN")),e=a("./internal/_reduce"),f=a("./internal/_reduced");c.exports=d(4,[],function(a,b,c,d){return e(function(c,d){return a(c,d)?b(c,d):f(c)},c,d)})}),System.registerDynamic("npm:ramda@0.23.0/src/reduced.js",["./internal/_curry1","./internal/_reduced"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_reduced");c.exports=d(e)}),System.registerDynamic("npm:ramda@0.23.0/src/remove.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){var d=Array.prototype.slice.call(c,0);return d.splice(a,b),d})}),System.registerDynamic("npm:ramda@0.23.0/src/repeat.js",["./internal/_curry2","./always","./times"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./always"),f=a("./times");c.exports=d(function(a,b){return f(e(a),b)})}),System.registerDynamic("npm:ramda@0.23.0/src/replace.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){return c.replace(a,b)})}),System.registerDynamic("npm:ramda@0.23.0/src/scan.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){for(var d=0,e=c.length,f=[b];d<e;)b=a(b,c[d]),f[d+1]=b,d+=1;return f})}),System.registerDynamic("npm:ramda@0.23.0/src/over.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=function(){var a=function(b){return{value:b,map:function(c){return a(c(b))}}};return d(function(b,c,d){return b(function(b){return a(c(b))})(d).value})}()}),System.registerDynamic("npm:ramda@0.23.0/src/set.js",["./internal/_curry3","./always","./over"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./always"),f=a("./over");c.exports=d(function(a,b,c){return f(a,e(b),c)})}),System.registerDynamic("npm:ramda@0.23.0/src/sort.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return Array.prototype.slice.call(b,0).sort(a)})}),System.registerDynamic("npm:ramda@0.23.0/src/sortBy.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return Array.prototype.slice.call(b,0).sort(function(b,c){var d=a(b),e=a(c);return d<e?-1:d>e?1:0})})}),System.registerDynamic("npm:ramda@0.23.0/src/sortWith.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return Array.prototype.slice.call(b,0).sort(function(b,c){for(var d=0,e=0;0===d&&e<a.length;)d=a[e](b,c),e+=1;return d})})}),System.registerDynamic("npm:ramda@0.23.0/src/split.js",["./invoker"],!0,function(a,b,c){var d=(this||self,a("./invoker"));c.exports=d(1,"split")}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isNumber.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return"[object Number]"===Object.prototype.toString.call(a)}}),System.registerDynamic("npm:ramda@0.23.0/src/length.js",["./internal/_curry1","./internal/_isNumber"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_isNumber");c.exports=d(function(a){return null!=a&&e(a.length)?a.length:NaN})}),System.registerDynamic("npm:ramda@0.23.0/src/splitAt.js",["./internal/_curry2","./length","./slice"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./length"),f=a("./slice");c.exports=d(function(a,b){return[f(0,a,b),f(a,e(b),b)]})}),System.registerDynamic("npm:ramda@0.23.0/src/splitEvery.js",["./internal/_curry2","./slice"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./slice");c.exports=d(function(a,b){if(a<=0)throw new Error("First argument to splitEvery must be a positive integer");for(var c=[],d=0;d<b.length;)c.push(e(d,d+=a,b));return c})}),System.registerDynamic("npm:ramda@0.23.0/src/splitWhen.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=0,d=b.length,e=[];c<d&&!a(b[c]);)e.push(b[c]),c+=1;return[e,Array.prototype.slice.call(b,c)]})}),System.registerDynamic("npm:ramda@0.23.0/src/subtract.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return Number(a)-Number(b)})}),System.registerDynamic("npm:ramda@0.23.0/src/add.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return Number(a)+Number(b)})}),System.registerDynamic("npm:ramda@0.23.0/src/sum.js",["./add","./reduce"],!0,function(a,b,c){var d=(this||self,a("./add")),e=a("./reduce");c.exports=e(d,0)}),System.registerDynamic("npm:ramda@0.23.0/src/difference.js",["./internal/_contains","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_contains")),e=a("./internal/_curry2");c.exports=e(function(a,b){for(var c=[],e=0,f=a.length;e<f;)d(a[e],b)||d(a[e],c)||(c[c.length]=a[e]),e+=1;return c})}),System.registerDynamic("npm:ramda@0.23.0/src/symmetricDifference.js",["./internal/_curry2","./concat","./difference"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./concat"),f=a("./difference");c.exports=d(function(a,b){return e(f(a,b),f(b,a))})}),System.registerDynamic("npm:ramda@0.23.0/src/concat.js",["./internal/_curry2","./internal/_isArray","./internal/_isFunction","./toString"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isArray"),f=a("./internal/_isFunction"),g=a("./toString");c.exports=d(function(a,b){if(null==a||!f(a.concat))throw new TypeError(g(a)+' does not have a method named "concat"');if(e(a)&&!e(b))throw new TypeError(g(b)+" is not an array");return a.concat(b)})}),System.registerDynamic("npm:ramda@0.23.0/src/differenceWith.js",["./internal/_containsWith","./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_containsWith")),e=a("./internal/_curry3");c.exports=e(function(a,b,c){for(var e=[],f=0,g=b.length;f<g;)d(a,b[f],c)||d(a,b[f],e)||e.push(b[f]),f+=1;return e})}),System.registerDynamic("npm:ramda@0.23.0/src/symmetricDifferenceWith.js",["./internal/_curry3","./concat","./differenceWith"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./concat"),f=a("./differenceWith");c.exports=d(function(a,b,c){return e(f(a,b,c),f(a,c,b))})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xtake.js",["./_curry2","./_reduced","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_reduced"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.n=a,this.i=0}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=f.result,a.prototype["@@transducer/step"]=function(a,b){this.i+=1;var c=0===this.n?a:this.xf["@@transducer/step"](a,b);return this.i>=this.n?e(c):c},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/take.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xtake","./slice"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xtake"),g=a("./slice");c.exports=d(e(["take"],f,function(a,b){return g(0,a<0?1/0:a,b)}))}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xdrop.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.n=a}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=e.result,a.prototype["@@transducer/step"]=function(a,b){return this.n>0?(this.n-=1,a):this.xf["@@transducer/step"](a,b)},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/drop.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xdrop","./slice"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xdrop"),g=a("./slice");c.exports=d(e(["drop"],f,function(a,b){return g(Math.max(0,a),1/0,b)}))}),System.registerDynamic("npm:ramda@0.23.0/src/takeLast.js",["./internal/_curry2","./drop"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./drop");c.exports=d(function(a,b){return e(a>=0?b.length-a:0,b)})}),System.registerDynamic("npm:ramda@0.23.0/src/takeLastWhile.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=b.length-1;c>=0&&a(b[c]);)c-=1;return Array.prototype.slice.call(b,c+1)})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_reduced.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return a&&a["@@transducer/reduced"]?a:{"@@transducer/value":a,"@@transducer/reduced":!0}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xtakeWhile.js",["./_curry2","./_reduced","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_reduced"),f=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a}return a.prototype["@@transducer/init"]=f.init,a.prototype["@@transducer/result"]=f.result,a.prototype["@@transducer/step"]=function(a,b){return this.f(b)?this.xf["@@transducer/step"](a,b):e(a)},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/takeWhile.js",["./internal/_curry2","./internal/_dispatchable","./internal/_xtakeWhile"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_xtakeWhile");c.exports=d(e(["takeWhile"],f,function(a,b){for(var c=0,d=b.length;c<d&&a(b[c]);)c+=1;return Array.prototype.slice.call(b,0,c)}))}),System.registerDynamic("npm:ramda@0.23.0/src/tap.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a(b),b})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_cloneRegExp.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return new RegExp(a.source,(a.global?"g":"")+(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.sticky?"y":"")+(a.unicode?"u":""))}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isRegExp.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return"[object RegExp]"===Object.prototype.toString.call(a)}}),System.registerDynamic("npm:ramda@0.23.0/src/test.js",["./internal/_cloneRegExp","./internal/_curry2","./internal/_isRegExp","./toString"],!0,function(a,b,c){var d=(this||self,a("./internal/_cloneRegExp")),e=a("./internal/_curry2"),f=a("./internal/_isRegExp"),g=a("./toString");c.exports=e(function(a,b){if(!f(a))throw new TypeError("‘test’ requires a value of type RegExp as its first argument; received "+g(a));return d(a).test(b)})}),System.registerDynamic("npm:ramda@0.23.0/src/times.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){var c,d=Number(b),e=0;if(d<0||isNaN(d))throw new RangeError("n must be a non-negative number");for(c=new Array(d);e<d;)c[e]=a(e),e+=1;return c})}),System.registerDynamic("npm:ramda@0.23.0/src/toLower.js",["./invoker"],!0,function(a,b,c){var d=(this||self,a("./invoker"));c.exports=d(0,"toLowerCase")}),System.registerDynamic("npm:ramda@0.23.0/src/toPairs.js",["./internal/_curry1","./internal/_has"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_has");c.exports=d(function(a){var b=[];for(var c in a)e(c,a)&&(b[b.length]=[c,a[c]]);return b})}),System.registerDynamic("npm:ramda@0.23.0/src/toPairsIn.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){var b=[];for(var c in a)b[b.length]=[c,a[c]];return b})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isFunction.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return"[object Function]"===Object.prototype.toString.call(a)}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_quote.js",[],!0,function(a,b,c){this||self;c.exports=function(a){var b=a.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0");return'"'+b.replace(/"/g,'\\"')+'"'}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_toISOString.js",[],!0,function(a,b,c){this||self;c.exports=function(){var a=function(a){return(a<10?"0":"")+a};return"function"==typeof Date.prototype.toISOString?function(a){return a.toISOString()}:function(b){return b.getUTCFullYear()+"-"+a(b.getUTCMonth()+1)+"-"+a(b.getUTCDate())+"T"+a(b.getUTCHours())+":"+a(b.getUTCMinutes())+":"+a(b.getUTCSeconds())+"."+(b.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"}}()}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_toString.js",["./_contains","./_map","./_quote","./_toISOString","../keys","../reject"],!0,function(a,b,c){var d=(this||self,a("./_contains")),e=a("./_map"),f=a("./_quote"),g=a("./_toISOString"),h=a("../keys"),i=a("../reject");c.exports=function j(a,b){var c=function(c){var e=b.concat([a]);return d(c,e)?"<Circular>":j(c,e)},k=function(a,b){return e(function(b){return f(b)+": "+c(a[b])},b.slice().sort())};switch(Object.prototype.toString.call(a)){case"[object Arguments]":return"(function() { return arguments; }("+e(c,a).join(", ")+"))";case"[object Array]":return"["+e(c,a).concat(k(a,i(function(a){return/^\d+$/.test(a)},h(a)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof a?"new Boolean("+c(a.valueOf())+")":a.toString();case"[object Date]":return"new Date("+(isNaN(a.valueOf())?c(NaN):f(g(a)))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof a?"new Number("+c(a.valueOf())+")":1/a===-(1/0)?"-0":a.toString(10);case"[object String]":return"object"==typeof a?"new String("+c(a.valueOf())+")":f(a);case"[object Undefined]":return"undefined";default:if("function"==typeof a.toString){var l=a.toString();if("[object Object]"!==l)return l}return"{"+k(a,h(a)).join(", ")+"}";
}}}),System.registerDynamic("npm:ramda@0.23.0/src/toString.js",["./internal/_curry1","./internal/_toString"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_toString");c.exports=d(function(a){return e(a,[])})}),System.registerDynamic("npm:ramda@0.23.0/src/invoker.js",["./internal/_curry2","./internal/_isFunction","./curryN","./toString"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_isFunction"),f=a("./curryN"),g=a("./toString");c.exports=d(function(a,b){return f(a+1,function(){var c=arguments[a];if(null!=c&&e(c[b]))return c[b].apply(c,Array.prototype.slice.call(arguments,0,a));throw new TypeError(g(c)+' does not have a method named "'+b+'"')})})}),System.registerDynamic("npm:ramda@0.23.0/src/toUpper.js",["./invoker"],!0,function(a,b,c){var d=(this||self,a("./invoker"));c.exports=d(0,"toUpperCase")}),System.registerDynamic("npm:ramda@0.23.0/src/transduce.js",["./internal/_reduce","./internal/_xwrap","./curryN"],!0,function(a,b,c){var d=(this||self,a("./internal/_reduce")),e=a("./internal/_xwrap"),f=a("./curryN");c.exports=f(4,function(a,b,c,f){return d(a("function"==typeof b?e(b):b),c,f)})}),System.registerDynamic("npm:ramda@0.23.0/src/transpose.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){for(var b=0,c=[];b<a.length;){for(var d=a[b],e=0;e<d.length;)"undefined"==typeof c[e]&&(c[e]=[]),c[e].push(d[e]),e+=1;b+=1}return c})}),System.registerDynamic("npm:ramda@0.23.0/src/ap.js",["./internal/_concat","./internal/_curry2","./internal/_reduce","./map"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_curry2"),f=a("./internal/_reduce"),g=a("./map");c.exports=e(function(a,b){return"function"==typeof a.ap?a.ap(b):"function"==typeof a?function(c){return a(c)(b(c))}:f(function(a,c){return d(a,g(c,b))},[],a)})}),System.registerDynamic("npm:ramda@0.23.0/src/prepend.js",["./internal/_concat","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_curry2");c.exports=e(function(a,b){return d([a],b)})}),System.registerDynamic("npm:ramda@0.23.0/src/reduceRight.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){for(var d=c.length-1;d>=0;)b=a(c[d],b),d-=1;return b})}),System.registerDynamic("npm:ramda@0.23.0/src/sequence.js",["./internal/_curry2","./ap","./map","./prepend","./reduceRight"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./ap"),f=a("./map"),g=a("./prepend"),h=a("./reduceRight");c.exports=d(function(a,b){return"function"==typeof b.sequence?b.sequence(a):h(function(a,b){return e(f(g,a),b)},a([]),b)})}),System.registerDynamic("npm:ramda@0.23.0/src/traverse.js",["./internal/_curry3","./map","./sequence"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./map"),f=a("./sequence");c.exports=d(function(a,b,c){return f(a,e(b,c))})}),System.registerDynamic("npm:ramda@0.23.0/src/trim.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=function(){var a="\t\n\x0B\f\r   ᠎              \u2028\u2029\ufeff",b="​",c="function"==typeof String.prototype.trim;return d(c&&!a.trim()&&b.trim()?function(a){return a.trim()}:function(b){var c=new RegExp("^["+a+"]["+a+"]*"),d=new RegExp("["+a+"]["+a+"]*$");return b.replace(c,"").replace(d,"")})}()}),System.registerDynamic("npm:ramda@0.23.0/src/tryCatch.js",["./internal/_arity","./internal/_concat","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_concat"),f=a("./internal/_curry2");c.exports=f(function(a,b){return d(a.length,function(){try{return a.apply(this,arguments)}catch(c){return b.apply(this,e([c],arguments))}})})}),System.registerDynamic("npm:ramda@0.23.0/src/unapply.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){return function(){return a(Array.prototype.slice.call(arguments,0))}})}),System.registerDynamic("npm:ramda@0.23.0/src/nAry.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){switch(a){case 0:return function(){return b.call(this)};case 1:return function(a){return b.call(this,a)};case 2:return function(a,c){return b.call(this,a,c)};case 3:return function(a,c,d){return b.call(this,a,c,d)};case 4:return function(a,c,d,e){return b.call(this,a,c,d,e)};case 5:return function(a,c,d,e,f){return b.call(this,a,c,d,e,f)};case 6:return function(a,c,d,e,f,g){return b.call(this,a,c,d,e,f,g)};case 7:return function(a,c,d,e,f,g,h){return b.call(this,a,c,d,e,f,g,h)};case 8:return function(a,c,d,e,f,g,h,i){return b.call(this,a,c,d,e,f,g,h,i)};case 9:return function(a,c,d,e,f,g,h,i,j){return b.call(this,a,c,d,e,f,g,h,i,j)};case 10:return function(a,c,d,e,f,g,h,i,j,k){return b.call(this,a,c,d,e,f,g,h,i,j,k)};default:throw new Error("First argument to nAry must be a non-negative integer no greater than ten")}})}),System.registerDynamic("npm:ramda@0.23.0/src/unary.js",["./internal/_curry1","./nAry"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./nAry");c.exports=d(function(a){return e(1,a)})}),System.registerDynamic("npm:ramda@0.23.0/src/uncurryN.js",["./internal/_curry2","./curryN"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./curryN");c.exports=d(function(a,b){return e(a,function(){for(var c,d=1,e=b,f=0;d<=a&&"function"==typeof e;)c=d===a?arguments.length:f+e.length,e=e.apply(this,Array.prototype.slice.call(arguments,f,c)),d+=1,f=c;return e})})}),System.registerDynamic("npm:ramda@0.23.0/src/unfold.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=a(b),d=[];c&&c.length;)d[d.length]=c[0],c=a(c[1]);return d})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_pipe.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){return function(){return b.call(this,a.apply(this,arguments))}}}),System.registerDynamic("npm:ramda@0.23.0/src/reduce.js",["./internal/_curry3","./internal/_reduce"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./internal/_reduce");c.exports=d(e)}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_checkForMethod.js",["./_isArray"],!0,function(a,b,c){var d=(this||self,a("./_isArray"));c.exports=function(a,b){return function(){var c=arguments.length;if(0===c)return b();var e=arguments[c-1];return d(e)||"function"!=typeof e[a]?b.apply(this,arguments):e[a].apply(e,Array.prototype.slice.call(arguments,0,c-1))}}}),System.registerDynamic("npm:ramda@0.23.0/src/slice.js",["./internal/_checkForMethod","./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_checkForMethod")),e=a("./internal/_curry3");c.exports=e(d("slice",function(a,b,c){return Array.prototype.slice.call(c,a,b)}))}),System.registerDynamic("npm:ramda@0.23.0/src/tail.js",["./internal/_checkForMethod","./internal/_curry1","./slice"],!0,function(a,b,c){var d=(this||self,a("./internal/_checkForMethod")),e=a("./internal/_curry1"),f=a("./slice");c.exports=e(d("tail",f(1,1/0)))}),System.registerDynamic("npm:ramda@0.23.0/src/pipe.js",["./internal/_arity","./internal/_pipe","./reduce","./tail"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_pipe"),f=a("./reduce"),g=a("./tail");c.exports=function(){if(0===arguments.length)throw new Error("pipe requires at least one argument");return d(arguments[0].length,f(e,arguments[0],g(arguments)))}}),System.registerDynamic("npm:ramda@0.23.0/src/reverse.js",["./internal/_curry1","./internal/_isString"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_isString");c.exports=d(function(a){return e(a)?a.split("").reverse().join(""):Array.prototype.slice.call(a,0).reverse()})}),System.registerDynamic("npm:ramda@0.23.0/src/compose.js",["./pipe","./reverse"],!0,function(a,b,c){var d=(this||self,a("./pipe")),e=a("./reverse");c.exports=function(){if(0===arguments.length)throw new Error("compose requires at least one argument");return d.apply(this,e(arguments))}}),System.registerDynamic("npm:ramda@0.23.0/src/union.js",["./internal/_concat","./internal/_curry2","./compose","./uniq"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_curry2"),f=a("./compose"),g=a("./uniq");c.exports=e(f(g,d))}),System.registerDynamic("npm:ramda@0.23.0/src/unionWith.js",["./internal/_concat","./internal/_curry3","./uniqWith"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_curry3"),f=a("./uniqWith");c.exports=e(function(a,b,c){return f(a,d(b,c))})}),System.registerDynamic("npm:ramda@0.23.0/src/identity.js",["./internal/_curry1","./internal/_identity"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_identity");c.exports=d(e)}),System.registerDynamic("npm:ramda@0.23.0/src/uniq.js",["./identity","./uniqBy"],!0,function(a,b,c){var d=(this||self,a("./identity")),e=a("./uniqBy");c.exports=e(d)}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_Set.js",["./_contains"],!0,function(a,b,c){var d=(this||self,a("./_contains"));c.exports=function(){function a(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}function b(a,b,c){var e,f,g=typeof a;switch(g){case"string":case"number":return 0===a&&1/a===-(1/0)?!!c._items["-0"]||(b&&(c._items["-0"]=!0),!1):null!==c._nativeSet?b?(e=c._nativeSet.size,c._nativeSet.add(a),f=c._nativeSet.size,f===e):c._nativeSet.has(a):g in c._items?a in c._items[g]||(b&&(c._items[g][a]=!0),!1):(b&&(c._items[g]={},c._items[g][a]=!0),!1);case"boolean":if(g in c._items){var h=a?1:0;return!!c._items[g][h]||(b&&(c._items[g][h]=!0),!1)}return b&&(c._items[g]=a?[!1,!0]:[!0,!1]),!1;case"function":return null!==c._nativeSet?b?(e=c._nativeSet.size,c._nativeSet.add(a),f=c._nativeSet.size,f===e):c._nativeSet.has(a):g in c._items?!!d(a,c._items[g])||(b&&c._items[g].push(a),!1):(b&&(c._items[g]=[a]),!1);case"undefined":return!!c._items[g]||(b&&(c._items[g]=!0),!1);case"object":if(null===a)return!!c._items["null"]||(b&&(c._items["null"]=!0),!1);default:return g=Object.prototype.toString.call(a),g in c._items?!!d(a,c._items[g])||(b&&c._items[g].push(a),!1):(b&&(c._items[g]=[a]),!1)}}return a.prototype.add=function(a){return!b(a,!0,this)},a.prototype.has=function(a){return b(a,!1,this)},a}()}),System.registerDynamic("npm:ramda@0.23.0/src/uniqBy.js",["./internal/_Set","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_Set")),e=a("./internal/_curry2");c.exports=e(function(a,b){for(var c,e,f=new d,g=[],h=0;h<b.length;)e=b[h],c=a(e),f.add(c)&&g.push(e),h+=1;return g})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_containsWith.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b,c){for(var d=0,e=c.length;d<e;){if(a(b,c[d]))return!0;d+=1}return!1}}),System.registerDynamic("npm:ramda@0.23.0/src/uniqWith.js",["./internal/_containsWith","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_containsWith")),e=a("./internal/_curry2");c.exports=e(function(a,b){for(var c,e=0,f=b.length,g=[];e<f;)c=b[e],d(a,c,g)||(g[g.length]=c),e+=1;return g})}),System.registerDynamic("npm:ramda@0.23.0/src/unless.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){return a(c)?c:b(c)})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_identity.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return a}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_makeFlat.js",["../isArrayLike"],!0,function(a,b,c){var d=(this||self,a("../isArrayLike"));c.exports=function(a){return function b(c){for(var e,f,g,h=[],i=0,j=c.length;i<j;){if(d(c[i]))for(e=a?b(c[i]):c[i],g=0,f=e.length;g<f;)h[h.length]=e[g],g+=1;else h[h.length]=c[i];i+=1}return h}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_forceReduced.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return{"@@transducer/value":a,"@@transducer/reduced":!0}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_flatCat.js",["./_forceReduced","./_reduce","./_xfBase","../isArrayLike"],!0,function(a,b,c){var d=(this||self,a("./_forceReduced")),e=a("./_reduce"),f=a("./_xfBase"),g=a("../isArrayLike");c.exports=function(){var a=function(a){return{"@@transducer/init":f.init,"@@transducer/result":function(b){return a["@@transducer/result"](b)},"@@transducer/step":function(b,c){var e=a["@@transducer/step"](b,c);return e["@@transducer/reduced"]?d(e):e}}};return function(b){var c=a(b);return{"@@transducer/init":f.init,"@@transducer/result":function(a){return c["@@transducer/result"](a)},"@@transducer/step":function(a,b){return g(b)?e(c,a,b):e(c,a,[b])}}}}()}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xchain.js",["./_curry2","./_flatCat","../map"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_flatCat"),f=a("../map");c.exports=d(function(a,b){return f(a,e(b))})}),System.registerDynamic("npm:ramda@0.23.0/src/chain.js",["./internal/_curry2","./internal/_dispatchable","./internal/_makeFlat","./internal/_xchain","./map"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_makeFlat"),g=a("./internal/_xchain"),h=a("./map");c.exports=d(e(["chain"],g,function(a,b){return"function"==typeof b?function(c){return a(b(c))(c)}:f(!1)(h(a,b))}))}),System.registerDynamic("npm:ramda@0.23.0/src/unnest.js",["./internal/_identity","./chain"],!0,function(a,b,c){var d=(this||self,a("./internal/_identity")),e=a("./chain");c.exports=e(d)}),System.registerDynamic("npm:ramda@0.23.0/src/until.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){for(var d=c;!a(d);)d=b(d);return d})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_concat.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){a=a||[],b=b||[];var c,d=a.length,e=b.length,f=[];for(c=0;c<d;)f[f.length]=a[c],c+=1;for(c=0;c<e;)f[f.length]=b[c],c+=1;return f}}),System.registerDynamic("npm:ramda@0.23.0/src/adjust.js",["./internal/_concat","./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_concat")),e=a("./internal/_curry3");c.exports=e(function(a,b,c){if(b>=c.length||b<-c.length)return c;var e=b<0?c.length:0,f=e+b,g=d(c);return g[f]=a(c[f]),g})}),System.registerDynamic("npm:ramda@0.23.0/src/always.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){return function(){return a}})}),System.registerDynamic("npm:ramda@0.23.0/src/update.js",["./internal/_curry3","./adjust","./always"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3")),e=a("./adjust"),f=a("./always");c.exports=d(function(a,b,c){return e(f(b),a,c)})}),System.registerDynamic("npm:ramda@0.23.0/src/useWith.js",["./internal/_curry2","./curryN"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./curryN");c.exports=d(function(a,b){return e(b.length,function(){for(var c=[],d=0;d<b.length;)c.push(b[d].call(this,arguments[d])),d+=1;return a.apply(this,c.concat(Array.prototype.slice.call(arguments,b.length)))})})}),System.registerDynamic("npm:ramda@0.23.0/src/values.js",["./internal/_curry1","./keys"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./keys");c.exports=d(function(a){for(var b=e(a),c=b.length,d=[],f=0;f<c;)d[f]=a[b[f]],f+=1;return d})}),System.registerDynamic("npm:ramda@0.23.0/src/valuesIn.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){var b,c=[];for(b in a)c[c.length]=a[b];return c})}),System.registerDynamic("npm:ramda@0.23.0/src/view.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=function(){var a=function(a){return{value:a,map:function(){return this}}};return d(function(b,c){return b(a)(c).value})}()}),System.registerDynamic("npm:ramda@0.23.0/src/when.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){return a(c)?b(c):c})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_map.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){for(var c=0,d=b.length,e=Array(d);c<d;)e[c]=a(b[c]),c+=1;return e}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xmap.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=e.result,a.prototype["@@transducer/step"]=function(a,b){return this.xf["@@transducer/step"](a,this.f(b))},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/map.js",["./internal/_curry2","./internal/_dispatchable","./internal/_map","./internal/_reduce","./internal/_xmap","./curryN","./keys"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_map"),g=a("./internal/_reduce"),h=a("./internal/_xmap"),i=a("./curryN"),j=a("./keys");c.exports=d(e(["map"],h,function(a,b){switch(Object.prototype.toString.call(b)){case"[object Function]":return i(b.length,function(){return a.call(this,b.apply(this,arguments))});case"[object Object]":return g(function(c,d){return c[d]=a(b[d]),c},{},j(b));default:return f(a,b)}}))}),System.registerDynamic("npm:ramda@0.23.0/src/where.js",["./internal/_curry2","./internal/_has"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_has");c.exports=d(function(a,b){for(var c in a)if(e(c,a)&&!a[c](b[c]))return!1;return!0})}),System.registerDynamic("npm:ramda@0.23.0/src/whereEq.js",["./internal/_curry2","./equals","./map","./where"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./equals"),f=a("./map"),g=a("./where");c.exports=d(function(a,b){return g(f(e,a),b)})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_arrayFromIterator.js",[],!0,function(a,b,c){this||self;c.exports=function(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_functionName.js",[],!0,function(a,b,c){this||self;c.exports=function(a){var b=String(a).match(/^function (\w*)/);return null==b?"":b[1]}}),System.registerDynamic("npm:ramda@0.23.0/src/identical.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){return a===b?0!==a||1/a===1/b:a!==a&&b!==b})}),System.registerDynamic("npm:ramda@0.23.0/src/type.js",["./internal/_curry1"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1"));c.exports=d(function(a){return null===a?"Null":void 0===a?"Undefined":Object.prototype.toString.call(a).slice(8,-1)})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_equals.js",["./_arrayFromIterator","./_functionName","./_has","../identical","../keys","../type"],!0,function(a,b,c){var d=(this||self,a("./_arrayFromIterator")),e=a("./_functionName"),f=a("./_has"),g=a("../identical"),h=a("../keys"),i=a("../type");c.exports=function j(a,b,c,k){if(g(a,b))return!0;if(i(a)!==i(b))return!1;if(null==a||null==b)return!1;if("function"==typeof a.equals||"function"==typeof b.equals)return"function"==typeof a.equals&&a.equals(b)&&"function"==typeof b.equals&&b.equals(a);switch(i(a)){case"Arguments":case"Array":case"Object":if("function"==typeof a.constructor&&"Promise"===e(a.constructor))return a===b;break;case"Boolean":case"Number":case"String":if(typeof a!=typeof b||!g(a.valueOf(),b.valueOf()))return!1;break;case"Date":if(!g(a.valueOf(),b.valueOf()))return!1;break;case"Error":return a.name===b.name&&a.message===b.message;case"RegExp":if(a.source!==b.source||a.global!==b.global||a.ignoreCase!==b.ignoreCase||a.multiline!==b.multiline||a.sticky!==b.sticky||a.unicode!==b.unicode)return!1;break;case"Map":case"Set":if(!j(d(a.entries()),d(b.entries()),c,k))return!1;break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":break;case"ArrayBuffer":break;default:return!1}var l=h(a);if(l.length!==h(b).length)return!1;for(var m=c.length-1;m>=0;){if(c[m]===a)return k[m]===b;m-=1}for(c.push(a),k.push(b),m=l.length-1;m>=0;){var n=l[m];if(!f(n,b)||!j(b[n],a[n],c,k))return!1;m-=1}return c.pop(),k.pop(),!0}}),System.registerDynamic("npm:ramda@0.23.0/src/equals.js",["./internal/_curry2","./internal/_equals"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_equals");c.exports=d(function(a,b){return e(a,b,[],[])})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_indexOf.js",["../equals"],!0,function(a,b,c){var d=(this||self,a("../equals"));c.exports=function(a,b,c){var e,f;if("function"==typeof a.indexOf)switch(typeof b){case"number":if(0===b){for(e=1/b;c<a.length;){if(f=a[c],0===f&&1/f===e)return c;c+=1}return-1}if(b!==b){for(;c<a.length;){if(f=a[c],"number"==typeof f&&f!==f)return c;c+=1}return-1}return a.indexOf(b,c);case"string":case"boolean":case"function":case"undefined":return a.indexOf(b,c);case"object":if(null===b)return a.indexOf(b,c)}for(;c<a.length;){if(d(a[c],b))return c;c+=1}return-1}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_contains.js",["./_indexOf"],!0,function(a,b,c){var d=(this||self,a("./_indexOf"));c.exports=function(a,b){return d(b,a,0)>=0}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_curryN.js",["./_arity","./_isPlaceholder"],!0,function(a,b,c){var d=(this||self,a("./_arity")),e=a("./_isPlaceholder");c.exports=function f(a,b,c){return function(){for(var g=[],h=0,i=a,j=0;j<b.length||h<arguments.length;){var k;j<b.length&&(!e(b[j])||h>=arguments.length)?k=b[j]:(k=arguments[h],h+=1),g[j]=k,e(k)||(i-=1),j+=1}return i<=0?c.apply(this,g):d(i,f(a,g,c))}}}),System.registerDynamic("npm:ramda@0.23.0/src/curryN.js",["./internal/_arity","./internal/_curry1","./internal/_curry2","./internal/_curryN"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_curry1"),f=a("./internal/_curry2"),g=a("./internal/_curryN");c.exports=f(function(a,b){return 1===a?e(b):d(a,g(a,[],b))})}),System.registerDynamic("npm:ramda@0.23.0/src/curry.js",["./internal/_curry1","./curryN"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./curryN");c.exports=d(function(a){return e(a.length,a)})}),System.registerDynamic("npm:ramda@0.23.0/src/flip.js",["./internal/_curry1","./curry"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./curry");c.exports=d(function(a){return e(function(b,c){var d=Array.prototype.slice.call(arguments,0);return d[0]=c,d[1]=b,a.apply(this,d)})})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_complement.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return function(){return!a.apply(this,arguments)}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isTransformer.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return"function"==typeof a["@@transducer/step"]}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_dispatchable.js",["./_isArray","./_isTransformer"],!0,function(a,b,c){var d=(this||self,a("./_isArray")),e=a("./_isTransformer");c.exports=function(a,b,c){return function(){if(0===arguments.length)return c();var f=Array.prototype.slice.call(arguments,0),g=f.pop();if(!d(g)){for(var h=0;h<a.length;){if("function"==typeof g[a[h]])return g[a[h]].apply(g,f);h+=1}if(e(g)){var i=b.apply(null,f);return i(g)}}return c.apply(this,arguments)}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_filter.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){for(var c=0,d=b.length,e=[];c<d;)a(b[c])&&(e[e.length]=b[c]),c+=1;return e}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isObject.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return"[object Object]"===Object.prototype.toString.call(a)}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xwrap.js",[],!0,function(a,b,c){this||self;c.exports=function(){function a(a){this.f=a}return a.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},a.prototype["@@transducer/result"]=function(a){return a},a.prototype["@@transducer/step"]=function(a,b){return this.f(a,b)},function(b){return new a(b)}}()}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_arity.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){switch(a){case 0:return function(){return b.apply(this,arguments)};case 1:return function(a){return b.apply(this,arguments)};case 2:return function(a,c){return b.apply(this,arguments)};case 3:return function(a,c,d){return b.apply(this,arguments)};case 4:return function(a,c,d,e){return b.apply(this,arguments)};case 5:return function(a,c,d,e,f){return b.apply(this,arguments)};case 6:return function(a,c,d,e,f,g){return b.apply(this,arguments)};case 7:return function(a,c,d,e,f,g,h){return b.apply(this,arguments)};case 8:return function(a,c,d,e,f,g,h,i){return b.apply(this,arguments)};case 9:return function(a,c,d,e,f,g,h,i,j){return b.apply(this,arguments)};case 10:return function(a,c,d,e,f,g,h,i,j,k){return b.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}}),System.registerDynamic("npm:ramda@0.23.0/src/bind.js",["./internal/_arity","./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_arity")),e=a("./internal/_curry2");c.exports=e(function(a,b){return d(a.length,function(){return a.apply(b,arguments)})})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isArray.js",[],!0,function(a,b,c){this||self;c.exports=Array.isArray||function(a){return null!=a&&a.length>=0&&"[object Array]"===Object.prototype.toString.call(a)}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isString.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return"[object String]"===Object.prototype.toString.call(a)}}),System.registerDynamic("npm:ramda@0.23.0/src/isArrayLike.js",["./internal/_curry1","./internal/_isArray","./internal/_isString"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_isArray"),f=a("./internal/_isString");c.exports=d(function(a){return!!e(a)||!!a&&("object"==typeof a&&(!f(a)&&(1===a.nodeType?!!a.length:0===a.length||a.length>0&&(a.hasOwnProperty(0)&&a.hasOwnProperty(a.length-1)))))})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_reduce.js",["./_xwrap","../bind","../isArrayLike"],!0,function(a,b,c){var d=(this||self,a("./_xwrap")),e=a("../bind"),f=a("../isArrayLike");c.exports=function(){function a(a,b,c){for(var d=0,e=c.length;d<e;){if(b=a["@@transducer/step"](b,c[d]),b&&b["@@transducer/reduced"]){b=b["@@transducer/value"];break}d+=1}return a["@@transducer/result"](b)}function b(a,b,c){for(var d=c.next();!d.done;){if(b=a["@@transducer/step"](b,d.value),b&&b["@@transducer/reduced"]){b=b["@@transducer/value"];break}d=c.next()}return a["@@transducer/result"](b)}function c(a,b,c){return a["@@transducer/result"](c.reduce(e(a["@@transducer/step"],a),b))}var g="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";return function(e,h,i){if("function"==typeof e&&(e=d(e)),f(i))return a(e,h,i);if("function"==typeof i.reduce)return c(e,h,i);if(null!=i[g])return b(e,h,i[g]());if("function"==typeof i.next)return b(e,h,i);throw new TypeError("reduce: list must be array or iterable")}}()}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xfBase.js",[],!0,function(a,b,c){this||self;c.exports={init:function(){return this.xf["@@transducer/init"]()},result:function(a){return this.xf["@@transducer/result"](a)}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_xfilter.js",["./_curry2","./_xfBase"],!0,function(a,b,c){var d=(this||self,a("./_curry2")),e=a("./_xfBase");c.exports=function(){function a(a,b){this.xf=b,this.f=a}return a.prototype["@@transducer/init"]=e.init,a.prototype["@@transducer/result"]=e.result,a.prototype["@@transducer/step"]=function(a,b){return this.f(b)?this.xf["@@transducer/step"](a,b):a},d(function(b,c){return new a(b,c)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_has.js",[],!0,function(a,b,c){this||self;c.exports=function(a,b){return Object.prototype.hasOwnProperty.call(b,a)}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isArguments.js",["./_has"],!0,function(a,b,c){var d=(this||self,a("./_has"));c.exports=function(){var a=Object.prototype.toString;return"[object Arguments]"===a.call(arguments)?function(b){return"[object Arguments]"===a.call(b)}:function(a){return d("callee",a)}}()}),System.registerDynamic("npm:ramda@0.23.0/src/keys.js",["./internal/_curry1","./internal/_has","./internal/_isArguments"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry1")),e=a("./internal/_has"),f=a("./internal/_isArguments");c.exports=function(){var a=!{toString:null}.propertyIsEnumerable("toString"),b=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],c=function(){"use strict";return arguments.propertyIsEnumerable("length")}(),g=function(a,b){for(var c=0;c<a.length;){if(a[c]===b)return!0;c+=1}return!1};return d("function"!=typeof Object.keys||c?function(d){if(Object(d)!==d)return[];var h,i,j=[],k=c&&f(d);for(h in d)!e(h,d)||k&&"length"===h||(j[j.length]=h);if(a)for(i=b.length-1;i>=0;)h=b[i],e(h,d)&&!g(j,h)&&(j[j.length]=h),i-=1;return j}:function(a){return Object(a)!==a?[]:Object.keys(a)})}()}),System.registerDynamic("npm:ramda@0.23.0/src/filter.js",["./internal/_curry2","./internal/_dispatchable","./internal/_filter","./internal/_isObject","./internal/_reduce","./internal/_xfilter","./keys"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2")),e=a("./internal/_dispatchable"),f=a("./internal/_filter"),g=a("./internal/_isObject"),h=a("./internal/_reduce"),i=a("./internal/_xfilter"),j=a("./keys");c.exports=d(e(["filter"],i,function(a,b){return g(b)?h(function(c,d){return a(b[d])&&(c[d]=b[d]),c},{},j(b)):f(a,b)}))}),System.registerDynamic("npm:ramda@0.23.0/src/reject.js",["./internal/_complement","./internal/_curry2","./filter"],!0,function(a,b,c){var d=(this||self,a("./internal/_complement")),e=a("./internal/_curry2"),f=a("./filter");c.exports=e(function(a,b){return f(d(a),b)})}),System.registerDynamic("npm:ramda@0.23.0/src/without.js",["./internal/_contains","./internal/_curry2","./flip","./reject"],!0,function(a,b,c){var d=(this||self,a("./internal/_contains")),e=a("./internal/_curry2"),f=a("./flip"),g=a("./reject");c.exports=e(function(a,b){return g(f(d)(a),b)})}),System.registerDynamic("npm:ramda@0.23.0/src/xprod.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c,d=0,e=a.length,f=b.length,g=[];d<e;){for(c=0;c<f;)g[g.length]=[a[d],b[c]],c+=1;d+=1}return g})}),System.registerDynamic("npm:ramda@0.23.0/src/zip.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=[],d=0,e=Math.min(a.length,b.length);d<e;)c[d]=[a[d],b[d]],d+=1;return c})}),System.registerDynamic("npm:ramda@0.23.0/src/zipObj.js",["./internal/_curry2"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry2"));c.exports=d(function(a,b){for(var c=0,d=Math.min(a.length,b.length),e={};c<d;)e[a[c]]=b[c],c+=1;return e})}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_curry1.js",["./_isPlaceholder"],!0,function(a,b,c){var d=(this||self,a("./_isPlaceholder"));c.exports=function(a){return function b(c){return 0===arguments.length||d(c)?b:a.apply(this,arguments)}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_curry2.js",["./_curry1","./_isPlaceholder"],!0,function(a,b,c){var d=(this||self,a("./_curry1")),e=a("./_isPlaceholder");c.exports=function(a){return function b(c,f){switch(arguments.length){case 0:return b;
case 1:return e(c)?b:d(function(b){return a(c,b)});default:return e(c)&&e(f)?b:e(c)?d(function(b){return a(b,f)}):e(f)?d(function(b){return a(c,b)}):a(c,f)}}}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_isPlaceholder.js",[],!0,function(a,b,c){this||self;c.exports=function(a){return null!=a&&"object"==typeof a&&a["@@functional/placeholder"]===!0}}),System.registerDynamic("npm:ramda@0.23.0/src/internal/_curry3.js",["./_curry1","./_curry2","./_isPlaceholder"],!0,function(a,b,c){var d=(this||self,a("./_curry1")),e=a("./_curry2"),f=a("./_isPlaceholder");c.exports=function(a){return function b(c,g,h){switch(arguments.length){case 0:return b;case 1:return f(c)?b:e(function(b,d){return a(c,b,d)});case 2:return f(c)&&f(g)?b:f(c)?e(function(b,c){return a(b,g,c)}):f(g)?e(function(b,d){return a(c,b,d)}):d(function(b){return a(c,g,b)});default:return f(c)&&f(g)&&f(h)?b:f(c)&&f(g)?e(function(b,c){return a(b,c,h)}):f(c)&&f(h)?e(function(b,c){return a(b,g,c)}):f(g)&&f(h)?e(function(b,d){return a(c,b,d)}):f(c)?d(function(b){return a(b,g,h)}):f(g)?d(function(b){return a(c,b,h)}):f(h)?d(function(b){return a(c,g,b)}):a(c,g,h)}}}}),System.registerDynamic("npm:ramda@0.23.0/src/zipWith.js",["./internal/_curry3"],!0,function(a,b,c){var d=(this||self,a("./internal/_curry3"));c.exports=d(function(a,b,c){for(var d=[],e=0,f=Math.min(b.length,c.length);e<f;)d[e]=a(b[e],c[e]),e+=1;return d})}),System.registerDynamic("npm:ramda@0.23.0/index.js",["./src/F","./src/T","./src/__","./src/add","./src/addIndex","./src/adjust","./src/all","./src/allPass","./src/always","./src/and","./src/any","./src/anyPass","./src/ap","./src/aperture","./src/append","./src/apply","./src/applySpec","./src/ascend","./src/assoc","./src/assocPath","./src/binary","./src/bind","./src/both","./src/call","./src/chain","./src/clamp","./src/clone","./src/comparator","./src/complement","./src/compose","./src/composeK","./src/composeP","./src/concat","./src/cond","./src/construct","./src/constructN","./src/contains","./src/converge","./src/countBy","./src/curry","./src/curryN","./src/dec","./src/descend","./src/defaultTo","./src/difference","./src/differenceWith","./src/dissoc","./src/dissocPath","./src/divide","./src/drop","./src/dropLast","./src/dropLastWhile","./src/dropRepeats","./src/dropRepeatsWith","./src/dropWhile","./src/either","./src/empty","./src/eqBy","./src/eqProps","./src/equals","./src/evolve","./src/filter","./src/find","./src/findIndex","./src/findLast","./src/findLastIndex","./src/flatten","./src/flip","./src/forEach","./src/forEachObjIndexed","./src/fromPairs","./src/groupBy","./src/groupWith","./src/gt","./src/gte","./src/has","./src/hasIn","./src/head","./src/identical","./src/identity","./src/ifElse","./src/inc","./src/indexBy","./src/indexOf","./src/init","./src/insert","./src/insertAll","./src/intersection","./src/intersectionWith","./src/intersperse","./src/into","./src/invert","./src/invertObj","./src/invoker","./src/is","./src/isArrayLike","./src/isEmpty","./src/isNil","./src/join","./src/juxt","./src/keys","./src/keysIn","./src/last","./src/lastIndexOf","./src/length","./src/lens","./src/lensIndex","./src/lensPath","./src/lensProp","./src/lift","./src/liftN","./src/lt","./src/lte","./src/map","./src/mapAccum","./src/mapAccumRight","./src/mapObjIndexed","./src/match","./src/mathMod","./src/max","./src/maxBy","./src/mean","./src/median","./src/memoize","./src/merge","./src/mergeAll","./src/mergeWith","./src/mergeWithKey","./src/min","./src/minBy","./src/modulo","./src/multiply","./src/nAry","./src/negate","./src/none","./src/not","./src/nth","./src/nthArg","./src/objOf","./src/of","./src/omit","./src/once","./src/or","./src/over","./src/pair","./src/partial","./src/partialRight","./src/partition","./src/path","./src/pathEq","./src/pathOr","./src/pathSatisfies","./src/pick","./src/pickAll","./src/pickBy","./src/pipe","./src/pipeK","./src/pipeP","./src/pluck","./src/prepend","./src/product","./src/project","./src/prop","./src/propEq","./src/propIs","./src/propOr","./src/propSatisfies","./src/props","./src/range","./src/reduce","./src/reduceBy","./src/reduceRight","./src/reduceWhile","./src/reduced","./src/reject","./src/remove","./src/repeat","./src/replace","./src/reverse","./src/scan","./src/sequence","./src/set","./src/slice","./src/sort","./src/sortBy","./src/sortWith","./src/split","./src/splitAt","./src/splitEvery","./src/splitWhen","./src/subtract","./src/sum","./src/symmetricDifference","./src/symmetricDifferenceWith","./src/tail","./src/take","./src/takeLast","./src/takeLastWhile","./src/takeWhile","./src/tap","./src/test","./src/times","./src/toLower","./src/toPairs","./src/toPairsIn","./src/toString","./src/toUpper","./src/transduce","./src/transpose","./src/traverse","./src/trim","./src/tryCatch","./src/type","./src/unapply","./src/unary","./src/uncurryN","./src/unfold","./src/union","./src/unionWith","./src/uniq","./src/uniqBy","./src/uniqWith","./src/unless","./src/unnest","./src/until","./src/update","./src/useWith","./src/values","./src/valuesIn","./src/view","./src/when","./src/where","./src/whereEq","./src/without","./src/xprod","./src/zip","./src/zipObj","./src/zipWith"],!0,function(a,b,c){this||self;c.exports={F:a("./src/F"),T:a("./src/T"),__:a("./src/__"),add:a("./src/add"),addIndex:a("./src/addIndex"),adjust:a("./src/adjust"),all:a("./src/all"),allPass:a("./src/allPass"),always:a("./src/always"),and:a("./src/and"),any:a("./src/any"),anyPass:a("./src/anyPass"),ap:a("./src/ap"),aperture:a("./src/aperture"),append:a("./src/append"),apply:a("./src/apply"),applySpec:a("./src/applySpec"),ascend:a("./src/ascend"),assoc:a("./src/assoc"),assocPath:a("./src/assocPath"),binary:a("./src/binary"),bind:a("./src/bind"),both:a("./src/both"),call:a("./src/call"),chain:a("./src/chain"),clamp:a("./src/clamp"),clone:a("./src/clone"),comparator:a("./src/comparator"),complement:a("./src/complement"),compose:a("./src/compose"),composeK:a("./src/composeK"),composeP:a("./src/composeP"),concat:a("./src/concat"),cond:a("./src/cond"),construct:a("./src/construct"),constructN:a("./src/constructN"),contains:a("./src/contains"),converge:a("./src/converge"),countBy:a("./src/countBy"),curry:a("./src/curry"),curryN:a("./src/curryN"),dec:a("./src/dec"),descend:a("./src/descend"),defaultTo:a("./src/defaultTo"),difference:a("./src/difference"),differenceWith:a("./src/differenceWith"),dissoc:a("./src/dissoc"),dissocPath:a("./src/dissocPath"),divide:a("./src/divide"),drop:a("./src/drop"),dropLast:a("./src/dropLast"),dropLastWhile:a("./src/dropLastWhile"),dropRepeats:a("./src/dropRepeats"),dropRepeatsWith:a("./src/dropRepeatsWith"),dropWhile:a("./src/dropWhile"),either:a("./src/either"),empty:a("./src/empty"),eqBy:a("./src/eqBy"),eqProps:a("./src/eqProps"),equals:a("./src/equals"),evolve:a("./src/evolve"),filter:a("./src/filter"),find:a("./src/find"),findIndex:a("./src/findIndex"),findLast:a("./src/findLast"),findLastIndex:a("./src/findLastIndex"),flatten:a("./src/flatten"),flip:a("./src/flip"),forEach:a("./src/forEach"),forEachObjIndexed:a("./src/forEachObjIndexed"),fromPairs:a("./src/fromPairs"),groupBy:a("./src/groupBy"),groupWith:a("./src/groupWith"),gt:a("./src/gt"),gte:a("./src/gte"),has:a("./src/has"),hasIn:a("./src/hasIn"),head:a("./src/head"),identical:a("./src/identical"),identity:a("./src/identity"),ifElse:a("./src/ifElse"),inc:a("./src/inc"),indexBy:a("./src/indexBy"),indexOf:a("./src/indexOf"),init:a("./src/init"),insert:a("./src/insert"),insertAll:a("./src/insertAll"),intersection:a("./src/intersection"),intersectionWith:a("./src/intersectionWith"),intersperse:a("./src/intersperse"),into:a("./src/into"),invert:a("./src/invert"),invertObj:a("./src/invertObj"),invoker:a("./src/invoker"),is:a("./src/is"),isArrayLike:a("./src/isArrayLike"),isEmpty:a("./src/isEmpty"),isNil:a("./src/isNil"),join:a("./src/join"),juxt:a("./src/juxt"),keys:a("./src/keys"),keysIn:a("./src/keysIn"),last:a("./src/last"),lastIndexOf:a("./src/lastIndexOf"),length:a("./src/length"),lens:a("./src/lens"),lensIndex:a("./src/lensIndex"),lensPath:a("./src/lensPath"),lensProp:a("./src/lensProp"),lift:a("./src/lift"),liftN:a("./src/liftN"),lt:a("./src/lt"),lte:a("./src/lte"),map:a("./src/map"),mapAccum:a("./src/mapAccum"),mapAccumRight:a("./src/mapAccumRight"),mapObjIndexed:a("./src/mapObjIndexed"),match:a("./src/match"),mathMod:a("./src/mathMod"),max:a("./src/max"),maxBy:a("./src/maxBy"),mean:a("./src/mean"),median:a("./src/median"),memoize:a("./src/memoize"),merge:a("./src/merge"),mergeAll:a("./src/mergeAll"),mergeWith:a("./src/mergeWith"),mergeWithKey:a("./src/mergeWithKey"),min:a("./src/min"),minBy:a("./src/minBy"),modulo:a("./src/modulo"),multiply:a("./src/multiply"),nAry:a("./src/nAry"),negate:a("./src/negate"),none:a("./src/none"),not:a("./src/not"),nth:a("./src/nth"),nthArg:a("./src/nthArg"),objOf:a("./src/objOf"),of:a("./src/of"),omit:a("./src/omit"),once:a("./src/once"),or:a("./src/or"),over:a("./src/over"),pair:a("./src/pair"),partial:a("./src/partial"),partialRight:a("./src/partialRight"),partition:a("./src/partition"),path:a("./src/path"),pathEq:a("./src/pathEq"),pathOr:a("./src/pathOr"),pathSatisfies:a("./src/pathSatisfies"),pick:a("./src/pick"),pickAll:a("./src/pickAll"),pickBy:a("./src/pickBy"),pipe:a("./src/pipe"),pipeK:a("./src/pipeK"),pipeP:a("./src/pipeP"),pluck:a("./src/pluck"),prepend:a("./src/prepend"),product:a("./src/product"),project:a("./src/project"),prop:a("./src/prop"),propEq:a("./src/propEq"),propIs:a("./src/propIs"),propOr:a("./src/propOr"),propSatisfies:a("./src/propSatisfies"),props:a("./src/props"),range:a("./src/range"),reduce:a("./src/reduce"),reduceBy:a("./src/reduceBy"),reduceRight:a("./src/reduceRight"),reduceWhile:a("./src/reduceWhile"),reduced:a("./src/reduced"),reject:a("./src/reject"),remove:a("./src/remove"),repeat:a("./src/repeat"),replace:a("./src/replace"),reverse:a("./src/reverse"),scan:a("./src/scan"),sequence:a("./src/sequence"),set:a("./src/set"),slice:a("./src/slice"),sort:a("./src/sort"),sortBy:a("./src/sortBy"),sortWith:a("./src/sortWith"),split:a("./src/split"),splitAt:a("./src/splitAt"),splitEvery:a("./src/splitEvery"),splitWhen:a("./src/splitWhen"),subtract:a("./src/subtract"),sum:a("./src/sum"),symmetricDifference:a("./src/symmetricDifference"),symmetricDifferenceWith:a("./src/symmetricDifferenceWith"),tail:a("./src/tail"),take:a("./src/take"),takeLast:a("./src/takeLast"),takeLastWhile:a("./src/takeLastWhile"),takeWhile:a("./src/takeWhile"),tap:a("./src/tap"),test:a("./src/test"),times:a("./src/times"),toLower:a("./src/toLower"),toPairs:a("./src/toPairs"),toPairsIn:a("./src/toPairsIn"),toString:a("./src/toString"),toUpper:a("./src/toUpper"),transduce:a("./src/transduce"),transpose:a("./src/transpose"),traverse:a("./src/traverse"),trim:a("./src/trim"),tryCatch:a("./src/tryCatch"),type:a("./src/type"),unapply:a("./src/unapply"),unary:a("./src/unary"),uncurryN:a("./src/uncurryN"),unfold:a("./src/unfold"),union:a("./src/union"),unionWith:a("./src/unionWith"),uniq:a("./src/uniq"),uniqBy:a("./src/uniqBy"),uniqWith:a("./src/uniqWith"),unless:a("./src/unless"),unnest:a("./src/unnest"),until:a("./src/until"),update:a("./src/update"),useWith:a("./src/useWith"),values:a("./src/values"),valuesIn:a("./src/valuesIn"),view:a("./src/view"),when:a("./src/when"),where:a("./src/where"),whereEq:a("./src/whereEq"),without:a("./src/without"),xprod:a("./src/xprod"),zip:a("./src/zip"),zipObj:a("./src/zipObj"),zipWith:a("./src/zipWith")}}),System.registerDynamic("npm:ramda@0.23.0.js",["npm:ramda@0.23.0/index.js"],!0,function(a,b,c){this||self;c.exports=a("npm:ramda@0.23.0/index.js")}),function(a){if("undefined"!=typeof document){var b=document,c="appendChild",d=b.createElement("style");d.type="text/css",b.getElementsByTagName("head")[0][c](d),d[c](b.createTextNode(a))}}('/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */@font-face{font-family:FontAwesome;src:url(\'jspm_packages/npm/font-awesome@4.7.0/fonts/fontawesome-webfont.eot?v=4.7.0\');src:url(\'jspm_packages/npm/font-awesome@4.7.0/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0\') format(\'embedded-opentype\'),url(\'jspm_packages/npm/font-awesome@4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0\') format(\'woff2\'),url(\'jspm_packages/npm/font-awesome@4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0\') format(\'woff\'),url(\'jspm_packages/npm/font-awesome@4.7.0/fonts/fontawesome-webfont.ttf?v=4.7.0\') format(\'truetype\'),url(\'jspm_packages/npm/font-awesome@4.7.0/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular\') format(\'svg\');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\\f000"}.fa-music:before{content:"\\f001"}.fa-search:before{content:"\\f002"}.fa-envelope-o:before{content:"\\f003"}.fa-heart:before{content:"\\f004"}.fa-star:before{content:"\\f005"}.fa-star-o:before{content:"\\f006"}.fa-user:before{content:"\\f007"}.fa-film:before{content:"\\f008"}.fa-th-large:before{content:"\\f009"}.fa-th:before{content:"\\f00a"}.fa-th-list:before{content:"\\f00b"}.fa-check:before{content:"\\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\\f00d"}.fa-search-plus:before{content:"\\f00e"}.fa-search-minus:before{content:"\\f010"}.fa-power-off:before{content:"\\f011"}.fa-signal:before{content:"\\f012"}.fa-cog:before,.fa-gear:before{content:"\\f013"}.fa-trash-o:before{content:"\\f014"}.fa-home:before{content:"\\f015"}.fa-file-o:before{content:"\\f016"}.fa-clock-o:before{content:"\\f017"}.fa-road:before{content:"\\f018"}.fa-download:before{content:"\\f019"}.fa-arrow-circle-o-down:before{content:"\\f01a"}.fa-arrow-circle-o-up:before{content:"\\f01b"}.fa-inbox:before{content:"\\f01c"}.fa-play-circle-o:before{content:"\\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\\f01e"}.fa-refresh:before{content:"\\f021"}.fa-list-alt:before{content:"\\f022"}.fa-lock:before{content:"\\f023"}.fa-flag:before{content:"\\f024"}.fa-headphones:before{content:"\\f025"}.fa-volume-off:before{content:"\\f026"}.fa-volume-down:before{content:"\\f027"}.fa-volume-up:before{content:"\\f028"}.fa-qrcode:before{content:"\\f029"}.fa-barcode:before{content:"\\f02a"}.fa-tag:before{content:"\\f02b"}.fa-tags:before{content:"\\f02c"}.fa-book:before{content:"\\f02d"}.fa-bookmark:before{content:"\\f02e"}.fa-print:before{content:"\\f02f"}.fa-camera:before{content:"\\f030"}.fa-font:before{content:"\\f031"}.fa-bold:before{content:"\\f032"}.fa-italic:before{content:"\\f033"}.fa-text-height:before{content:"\\f034"}.fa-text-width:before{content:"\\f035"}.fa-align-left:before{content:"\\f036"}.fa-align-center:before{content:"\\f037"}.fa-align-right:before{content:"\\f038"}.fa-align-justify:before{content:"\\f039"}.fa-list:before{content:"\\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\\f03b"}.fa-indent:before{content:"\\f03c"}.fa-video-camera:before{content:"\\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\\f03e"}.fa-pencil:before{content:"\\f040"}.fa-map-marker:before{content:"\\f041"}.fa-adjust:before{content:"\\f042"}.fa-tint:before{content:"\\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\\f044"}.fa-share-square-o:before{content:"\\f045"}.fa-check-square-o:before{content:"\\f046"}.fa-arrows:before{content:"\\f047"}.fa-step-backward:before{content:"\\f048"}.fa-fast-backward:before{content:"\\f049"}.fa-backward:before{content:"\\f04a"}.fa-play:before{content:"\\f04b"}.fa-pause:before{content:"\\f04c"}.fa-stop:before{content:"\\f04d"}.fa-forward:before{content:"\\f04e"}.fa-fast-forward:before{content:"\\f050"}.fa-step-forward:before{content:"\\f051"}.fa-eject:before{content:"\\f052"}.fa-chevron-left:before{content:"\\f053"}.fa-chevron-right:before{content:"\\f054"}.fa-plus-circle:before{content:"\\f055"}.fa-minus-circle:before{content:"\\f056"}.fa-times-circle:before{content:"\\f057"}.fa-check-circle:before{content:"\\f058"}.fa-question-circle:before{content:"\\f059"}.fa-info-circle:before{content:"\\f05a"}.fa-crosshairs:before{content:"\\f05b"}.fa-times-circle-o:before{content:"\\f05c"}.fa-check-circle-o:before{content:"\\f05d"}.fa-ban:before{content:"\\f05e"}.fa-arrow-left:before{content:"\\f060"}.fa-arrow-right:before{content:"\\f061"}.fa-arrow-up:before{content:"\\f062"}.fa-arrow-down:before{content:"\\f063"}.fa-mail-forward:before,.fa-share:before{content:"\\f064"}.fa-expand:before{content:"\\f065"}.fa-compress:before{content:"\\f066"}.fa-plus:before{content:"\\f067"}.fa-minus:before{content:"\\f068"}.fa-asterisk:before{content:"\\f069"}.fa-exclamation-circle:before{content:"\\f06a"}.fa-gift:before{content:"\\f06b"}.fa-leaf:before{content:"\\f06c"}.fa-fire:before{content:"\\f06d"}.fa-eye:before{content:"\\f06e"}.fa-eye-slash:before{content:"\\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\\f071"}.fa-plane:before{content:"\\f072"}.fa-calendar:before{content:"\\f073"}.fa-random:before{content:"\\f074"}.fa-comment:before{content:"\\f075"}.fa-magnet:before{content:"\\f076"}.fa-chevron-up:before{content:"\\f077"}.fa-chevron-down:before{content:"\\f078"}.fa-retweet:before{content:"\\f079"}.fa-shopping-cart:before{content:"\\f07a"}.fa-folder:before{content:"\\f07b"}.fa-folder-open:before{content:"\\f07c"}.fa-arrows-v:before{content:"\\f07d"}.fa-arrows-h:before{content:"\\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\\f080"}.fa-twitter-square:before{content:"\\f081"}.fa-facebook-square:before{content:"\\f082"}.fa-camera-retro:before{content:"\\f083"}.fa-key:before{content:"\\f084"}.fa-cogs:before,.fa-gears:before{content:"\\f085"}.fa-comments:before{content:"\\f086"}.fa-thumbs-o-up:before{content:"\\f087"}.fa-thumbs-o-down:before{content:"\\f088"}.fa-star-half:before{content:"\\f089"}.fa-heart-o:before{content:"\\f08a"}.fa-sign-out:before{content:"\\f08b"}.fa-linkedin-square:before{content:"\\f08c"}.fa-thumb-tack:before{content:"\\f08d"}.fa-external-link:before{content:"\\f08e"}.fa-sign-in:before{content:"\\f090"}.fa-trophy:before{content:"\\f091"}.fa-github-square:before{content:"\\f092"}.fa-upload:before{content:"\\f093"}.fa-lemon-o:before{content:"\\f094"}.fa-phone:before{content:"\\f095"}.fa-square-o:before{content:"\\f096"}.fa-bookmark-o:before{content:"\\f097"}.fa-phone-square:before{content:"\\f098"}.fa-twitter:before{content:"\\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\\f09a"}.fa-github:before{content:"\\f09b"}.fa-unlock:before{content:"\\f09c"}.fa-credit-card:before{content:"\\f09d"}.fa-feed:before,.fa-rss:before{content:"\\f09e"}.fa-hdd-o:before{content:"\\f0a0"}.fa-bullhorn:before{content:"\\f0a1"}.fa-bell:before{content:"\\f0f3"}.fa-certificate:before{content:"\\f0a3"}.fa-hand-o-right:before{content:"\\f0a4"}.fa-hand-o-left:before{content:"\\f0a5"}.fa-hand-o-up:before{content:"\\f0a6"}.fa-hand-o-down:before{content:"\\f0a7"}.fa-arrow-circle-left:before{content:"\\f0a8"}.fa-arrow-circle-right:before{content:"\\f0a9"}.fa-arrow-circle-up:before{content:"\\f0aa"}.fa-arrow-circle-down:before{content:"\\f0ab"}.fa-globe:before{content:"\\f0ac"}.fa-wrench:before{content:"\\f0ad"}.fa-tasks:before{content:"\\f0ae"}.fa-filter:before{content:"\\f0b0"}.fa-briefcase:before{content:"\\f0b1"}.fa-arrows-alt:before{content:"\\f0b2"}.fa-group:before,.fa-users:before{content:"\\f0c0"}.fa-chain:before,.fa-link:before{content:"\\f0c1"}.fa-cloud:before{content:"\\f0c2"}.fa-flask:before{content:"\\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\\f0c5"}.fa-paperclip:before{content:"\\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\\f0c7"}.fa-square:before{content:"\\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\\f0c9"}.fa-list-ul:before{content:"\\f0ca"}.fa-list-ol:before{content:"\\f0cb"}.fa-strikethrough:before{content:"\\f0cc"}.fa-underline:before{content:"\\f0cd"}.fa-table:before{content:"\\f0ce"}.fa-magic:before{content:"\\f0d0"}.fa-truck:before{content:"\\f0d1"}.fa-pinterest:before{content:"\\f0d2"}.fa-pinterest-square:before{content:"\\f0d3"}.fa-google-plus-square:before{content:"\\f0d4"}.fa-google-plus:before{content:"\\f0d5"}.fa-money:before{content:"\\f0d6"}.fa-caret-down:before{content:"\\f0d7"}.fa-caret-up:before{content:"\\f0d8"}.fa-caret-left:before{content:"\\f0d9"}.fa-caret-right:before{content:"\\f0da"}.fa-columns:before{content:"\\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\\f0de"}.fa-envelope:before{content:"\\f0e0"}.fa-linkedin:before{content:"\\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\\f0e4"}.fa-comment-o:before{content:"\\f0e5"}.fa-comments-o:before{content:"\\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\\f0e7"}.fa-sitemap:before{content:"\\f0e8"}.fa-umbrella:before{content:"\\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\\f0ea"}.fa-lightbulb-o:before{content:"\\f0eb"}.fa-exchange:before{content:"\\f0ec"}.fa-cloud-download:before{content:"\\f0ed"}.fa-cloud-upload:before{content:"\\f0ee"}.fa-user-md:before{content:"\\f0f0"}.fa-stethoscope:before{content:"\\f0f1"}.fa-suitcase:before{content:"\\f0f2"}.fa-bell-o:before{content:"\\f0a2"}.fa-coffee:before{content:"\\f0f4"}.fa-cutlery:before{content:"\\f0f5"}.fa-file-text-o:before{content:"\\f0f6"}.fa-building-o:before{content:"\\f0f7"}.fa-hospital-o:before{content:"\\f0f8"}.fa-ambulance:before{content:"\\f0f9"}.fa-medkit:before{content:"\\f0fa"}.fa-fighter-jet:before{content:"\\f0fb"}.fa-beer:before{content:"\\f0fc"}.fa-h-square:before{content:"\\f0fd"}.fa-plus-square:before{content:"\\f0fe"}.fa-angle-double-left:before{content:"\\f100"}.fa-angle-double-right:before{content:"\\f101"}.fa-angle-double-up:before{content:"\\f102"}.fa-angle-double-down:before{content:"\\f103"}.fa-angle-left:before{content:"\\f104"}.fa-angle-right:before{content:"\\f105"}.fa-angle-up:before{content:"\\f106"}.fa-angle-down:before{content:"\\f107"}.fa-desktop:before{content:"\\f108"}.fa-laptop:before{content:"\\f109"}.fa-tablet:before{content:"\\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\\f10b"}.fa-circle-o:before{content:"\\f10c"}.fa-quote-left:before{content:"\\f10d"}.fa-quote-right:before{content:"\\f10e"}.fa-spinner:before{content:"\\f110"}.fa-circle:before{content:"\\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\\f112"}.fa-github-alt:before{content:"\\f113"}.fa-folder-o:before{content:"\\f114"}.fa-folder-open-o:before{content:"\\f115"}.fa-smile-o:before{content:"\\f118"}.fa-frown-o:before{content:"\\f119"}.fa-meh-o:before{content:"\\f11a"}.fa-gamepad:before{content:"\\f11b"}.fa-keyboard-o:before{content:"\\f11c"}.fa-flag-o:before{content:"\\f11d"}.fa-flag-checkered:before{content:"\\f11e"}.fa-terminal:before{content:"\\f120"}.fa-code:before{content:"\\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\\f123"}.fa-location-arrow:before{content:"\\f124"}.fa-crop:before{content:"\\f125"}.fa-code-fork:before{content:"\\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\\f127"}.fa-question:before{content:"\\f128"}.fa-info:before{content:"\\f129"}.fa-exclamation:before{content:"\\f12a"}.fa-superscript:before{content:"\\f12b"}.fa-subscript:before{content:"\\f12c"}.fa-eraser:before{content:"\\f12d"}.fa-puzzle-piece:before{content:"\\f12e"}.fa-microphone:before{content:"\\f130"}.fa-microphone-slash:before{content:"\\f131"}.fa-shield:before{content:"\\f132"}.fa-calendar-o:before{content:"\\f133"}.fa-fire-extinguisher:before{content:"\\f134"}.fa-rocket:before{content:"\\f135"}.fa-maxcdn:before{content:"\\f136"}.fa-chevron-circle-left:before{content:"\\f137"}.fa-chevron-circle-right:before{content:"\\f138"}.fa-chevron-circle-up:before{content:"\\f139"}.fa-chevron-circle-down:before{content:"\\f13a"}.fa-html5:before{content:"\\f13b"}.fa-css3:before{content:"\\f13c"}.fa-anchor:before{content:"\\f13d"}.fa-unlock-alt:before{content:"\\f13e"}.fa-bullseye:before{content:"\\f140"}.fa-ellipsis-h:before{content:"\\f141"}.fa-ellipsis-v:before{content:"\\f142"}.fa-rss-square:before{content:"\\f143"}.fa-play-circle:before{content:"\\f144"}.fa-ticket:before{content:"\\f145"}.fa-minus-square:before{content:"\\f146"}.fa-minus-square-o:before{content:"\\f147"}.fa-level-up:before{content:"\\f148"}.fa-level-down:before{content:"\\f149"}.fa-check-square:before{content:"\\f14a"}.fa-pencil-square:before{content:"\\f14b"}.fa-external-link-square:before{content:"\\f14c"}.fa-share-square:before{content:"\\f14d"}.fa-compass:before{content:"\\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\\f152"}.fa-eur:before,.fa-euro:before{content:"\\f153"}.fa-gbp:before{content:"\\f154"}.fa-dollar:before,.fa-usd:before{content:"\\f155"}.fa-inr:before,.fa-rupee:before{content:"\\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\\f158"}.fa-krw:before,.fa-won:before{content:"\\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\\f15a"}.fa-file:before{content:"\\f15b"}.fa-file-text:before{content:"\\f15c"}.fa-sort-alpha-asc:before{content:"\\f15d"}.fa-sort-alpha-desc:before{content:"\\f15e"}.fa-sort-amount-asc:before{content:"\\f160"}.fa-sort-amount-desc:before{content:"\\f161"}.fa-sort-numeric-asc:before{content:"\\f162"}.fa-sort-numeric-desc:before{content:"\\f163"}.fa-thumbs-up:before{content:"\\f164"}.fa-thumbs-down:before{content:"\\f165"}.fa-youtube-square:before{content:"\\f166"}.fa-youtube:before{content:"\\f167"}.fa-xing:before{content:"\\f168"}.fa-xing-square:before{content:"\\f169"}.fa-youtube-play:before{content:"\\f16a"}.fa-dropbox:before{content:"\\f16b"}.fa-stack-overflow:before{content:"\\f16c"}.fa-instagram:before{content:"\\f16d"}.fa-flickr:before{content:"\\f16e"}.fa-adn:before{content:"\\f170"}.fa-bitbucket:before{content:"\\f171"}.fa-bitbucket-square:before{content:"\\f172"}.fa-tumblr:before{content:"\\f173"}.fa-tumblr-square:before{content:"\\f174"}.fa-long-arrow-down:before{content:"\\f175"}.fa-long-arrow-up:before{content:"\\f176"}.fa-long-arrow-left:before{content:"\\f177"}.fa-long-arrow-right:before{content:"\\f178"}.fa-apple:before{content:"\\f179"}.fa-windows:before{content:"\\f17a"}.fa-android:before{content:"\\f17b"}.fa-linux:before{content:"\\f17c"}.fa-dribbble:before{content:"\\f17d"}.fa-skype:before{content:"\\f17e"}.fa-foursquare:before{content:"\\f180"}.fa-trello:before{content:"\\f181"}.fa-female:before{content:"\\f182"}.fa-male:before{content:"\\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\\f184"}.fa-sun-o:before{content:"\\f185"}.fa-moon-o:before{content:"\\f186"}.fa-archive:before{content:"\\f187"}.fa-bug:before{content:"\\f188"}.fa-vk:before{content:"\\f189"}.fa-weibo:before{content:"\\f18a"}.fa-renren:before{content:"\\f18b"}.fa-pagelines:before{content:"\\f18c"}.fa-stack-exchange:before{content:"\\f18d"}.fa-arrow-circle-o-right:before{content:"\\f18e"}.fa-arrow-circle-o-left:before{content:"\\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\\f191"}.fa-dot-circle-o:before{content:"\\f192"}.fa-wheelchair:before{content:"\\f193"}.fa-vimeo-square:before{content:"\\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\\f195"}.fa-plus-square-o:before{content:"\\f196"}.fa-space-shuttle:before{content:"\\f197"}.fa-slack:before{content:"\\f198"}.fa-envelope-square:before{content:"\\f199"}.fa-wordpress:before{content:"\\f19a"}.fa-openid:before{content:"\\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\\f19d"}.fa-yahoo:before{content:"\\f19e"}.fa-google:before{content:"\\f1a0"}.fa-reddit:before{content:"\\f1a1"}.fa-reddit-square:before{content:"\\f1a2"}.fa-stumbleupon-circle:before{content:"\\f1a3"}.fa-stumbleupon:before{content:"\\f1a4"}.fa-delicious:before{content:"\\f1a5"}.fa-digg:before{content:"\\f1a6"}.fa-pied-piper-pp:before{content:"\\f1a7"}.fa-pied-piper-alt:before{content:"\\f1a8"}.fa-drupal:before{content:"\\f1a9"}.fa-joomla:before{content:"\\f1aa"}.fa-language:before{content:"\\f1ab"}.fa-fax:before{content:"\\f1ac"}.fa-building:before{content:"\\f1ad"}.fa-child:before{content:"\\f1ae"}.fa-paw:before{content:"\\f1b0"}.fa-spoon:before{content:"\\f1b1"}.fa-cube:before{content:"\\f1b2"}.fa-cubes:before{content:"\\f1b3"}.fa-behance:before{content:"\\f1b4"}.fa-behance-square:before{content:"\\f1b5"}.fa-steam:before{content:"\\f1b6"}.fa-steam-square:before{content:"\\f1b7"}.fa-recycle:before{content:"\\f1b8"}.fa-automobile:before,.fa-car:before{content:"\\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\\f1ba"}.fa-tree:before{content:"\\f1bb"}.fa-spotify:before{content:"\\f1bc"}.fa-deviantart:before{content:"\\f1bd"}.fa-soundcloud:before{content:"\\f1be"}.fa-database:before{content:"\\f1c0"}.fa-file-pdf-o:before{content:"\\f1c1"}.fa-file-word-o:before{content:"\\f1c2"}.fa-file-excel-o:before{content:"\\f1c3"}.fa-file-powerpoint-o:before{content:"\\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\\f1c8"}.fa-file-code-o:before{content:"\\f1c9"}.fa-vine:before{content:"\\f1ca"}.fa-codepen:before{content:"\\f1cb"}.fa-jsfiddle:before{content:"\\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\\f1cd"}.fa-circle-o-notch:before{content:"\\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\\f1d0"}.fa-empire:before,.fa-ge:before{content:"\\f1d1"}.fa-git-square:before{content:"\\f1d2"}.fa-git:before{content:"\\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\\f1d4"}.fa-tencent-weibo:before{content:"\\f1d5"}.fa-qq:before{content:"\\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\\f1d9"}.fa-history:before{content:"\\f1da"}.fa-circle-thin:before{content:"\\f1db"}.fa-header:before{content:"\\f1dc"}.fa-paragraph:before{content:"\\f1dd"}.fa-sliders:before{content:"\\f1de"}.fa-share-alt:before{content:"\\f1e0"}.fa-share-alt-square:before{content:"\\f1e1"}.fa-bomb:before{content:"\\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\\f1e3"}.fa-tty:before{content:"\\f1e4"}.fa-binoculars:before{content:"\\f1e5"}.fa-plug:before{content:"\\f1e6"}.fa-slideshare:before{content:"\\f1e7"}.fa-twitch:before{content:"\\f1e8"}.fa-yelp:before{content:"\\f1e9"}.fa-newspaper-o:before{content:"\\f1ea"}.fa-wifi:before{content:"\\f1eb"}.fa-calculator:before{content:"\\f1ec"}.fa-paypal:before{content:"\\f1ed"}.fa-google-wallet:before{content:"\\f1ee"}.fa-cc-visa:before{content:"\\f1f0"}.fa-cc-mastercard:before{content:"\\f1f1"}.fa-cc-discover:before{content:"\\f1f2"}.fa-cc-amex:before{content:"\\f1f3"}.fa-cc-paypal:before{content:"\\f1f4"}.fa-cc-stripe:before{content:"\\f1f5"}.fa-bell-slash:before{content:"\\f1f6"}.fa-bell-slash-o:before{content:"\\f1f7"}.fa-trash:before{content:"\\f1f8"}.fa-copyright:before{content:"\\f1f9"}.fa-at:before{content:"\\f1fa"}.fa-eyedropper:before{content:"\\f1fb"}.fa-paint-brush:before{content:"\\f1fc"}.fa-birthday-cake:before{content:"\\f1fd"}.fa-area-chart:before{content:"\\f1fe"}.fa-pie-chart:before{content:"\\f200"}.fa-line-chart:before{content:"\\f201"}.fa-lastfm:before{content:"\\f202"}.fa-lastfm-square:before{content:"\\f203"}.fa-toggle-off:before{content:"\\f204"}.fa-toggle-on:before{content:"\\f205"}.fa-bicycle:before{content:"\\f206"}.fa-bus:before{content:"\\f207"}.fa-ioxhost:before{content:"\\f208"}.fa-angellist:before{content:"\\f209"}.fa-cc:before{content:"\\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\\f20b"}.fa-meanpath:before{content:"\\f20c"}.fa-buysellads:before{content:"\\f20d"}.fa-connectdevelop:before{content:"\\f20e"}.fa-dashcube:before{content:"\\f210"}.fa-forumbee:before{content:"\\f211"}.fa-leanpub:before{content:"\\f212"}.fa-sellsy:before{content:"\\f213"}.fa-shirtsinbulk:before{content:"\\f214"}.fa-simplybuilt:before{content:"\\f215"}.fa-skyatlas:before{content:"\\f216"}.fa-cart-plus:before{content:"\\f217"}.fa-cart-arrow-down:before{content:"\\f218"}.fa-diamond:before{content:"\\f219"}.fa-ship:before{content:"\\f21a"}.fa-user-secret:before{content:"\\f21b"}.fa-motorcycle:before{content:"\\f21c"}.fa-street-view:before{content:"\\f21d"}.fa-heartbeat:before{content:"\\f21e"}.fa-venus:before{content:"\\f221"}.fa-mars:before{content:"\\f222"}.fa-mercury:before{content:"\\f223"}.fa-intersex:before,.fa-transgender:before{content:"\\f224"}.fa-transgender-alt:before{content:"\\f225"}.fa-venus-double:before{content:"\\f226"}.fa-mars-double:before{content:"\\f227"}.fa-venus-mars:before{content:"\\f228"}.fa-mars-stroke:before{content:"\\f229"}.fa-mars-stroke-v:before{content:"\\f22a"}.fa-mars-stroke-h:before{content:"\\f22b"}.fa-neuter:before{content:"\\f22c"}.fa-genderless:before{content:"\\f22d"}.fa-facebook-official:before{content:"\\f230"}.fa-pinterest-p:before{content:"\\f231"}.fa-whatsapp:before{content:"\\f232"}.fa-server:before{content:"\\f233"}.fa-user-plus:before{content:"\\f234"}.fa-user-times:before{content:"\\f235"}.fa-bed:before,.fa-hotel:before{content:"\\f236"}.fa-viacoin:before{content:"\\f237"}.fa-train:before{content:"\\f238"}.fa-subway:before{content:"\\f239"}.fa-medium:before{content:"\\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\\f23b"}.fa-optin-monster:before{content:"\\f23c"}.fa-opencart:before{content:"\\f23d"}.fa-expeditedssl:before{content:"\\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\\f244"}.fa-mouse-pointer:before{content:"\\f245"}.fa-i-cursor:before{content:"\\f246"}.fa-object-group:before{content:"\\f247"}.fa-object-ungroup:before{content:"\\f248"}.fa-sticky-note:before{content:"\\f249"}.fa-sticky-note-o:before{content:"\\f24a"}.fa-cc-jcb:before{content:"\\f24b"}.fa-cc-diners-club:before{content:"\\f24c"}.fa-clone:before{content:"\\f24d"}.fa-balance-scale:before{content:"\\f24e"}.fa-hourglass-o:before{content:"\\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\\f253"}.fa-hourglass:before{content:"\\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\\f256"}.fa-hand-scissors-o:before{content:"\\f257"}.fa-hand-lizard-o:before{content:"\\f258"}.fa-hand-spock-o:before{content:"\\f259"}.fa-hand-pointer-o:before{content:"\\f25a"}.fa-hand-peace-o:before{content:"\\f25b"}.fa-trademark:before{content:"\\f25c"}.fa-registered:before{content:"\\f25d"}.fa-creative-commons:before{content:"\\f25e"}.fa-gg:before{content:"\\f260"}.fa-gg-circle:before{content:"\\f261"}.fa-tripadvisor:before{content:"\\f262"}.fa-odnoklassniki:before{content:"\\f263"}.fa-odnoklassniki-square:before{content:"\\f264"}.fa-get-pocket:before{content:"\\f265"}.fa-wikipedia-w:before{content:"\\f266"}.fa-safari:before{content:"\\f267"}.fa-chrome:before{content:"\\f268"}.fa-firefox:before{content:"\\f269"}.fa-opera:before{content:"\\f26a"}.fa-internet-explorer:before{content:"\\f26b"}.fa-television:before,.fa-tv:before{content:"\\f26c"}.fa-contao:before{content:"\\f26d"}.fa-500px:before{content:"\\f26e"}.fa-amazon:before{content:"\\f270"}.fa-calendar-plus-o:before{content:"\\f271"}.fa-calendar-minus-o:before{content:"\\f272"}.fa-calendar-times-o:before{content:"\\f273"}.fa-calendar-check-o:before{content:"\\f274"}.fa-industry:before{content:"\\f275"}.fa-map-pin:before{content:"\\f276"}.fa-map-signs:before{content:"\\f277"}.fa-map-o:before{content:"\\f278"}.fa-map:before{content:"\\f279"}.fa-commenting:before{content:"\\f27a"}.fa-commenting-o:before{content:"\\f27b"}.fa-houzz:before{content:"\\f27c"}.fa-vimeo:before{content:"\\f27d"}.fa-black-tie:before{content:"\\f27e"}.fa-fonticons:before{content:"\\f280"}.fa-reddit-alien:before{content:"\\f281"}.fa-edge:before{content:"\\f282"}.fa-credit-card-alt:before{content:"\\f283"}.fa-codiepie:before{content:"\\f284"}.fa-modx:before{content:"\\f285"}.fa-fort-awesome:before{content:"\\f286"}.fa-usb:before{content:"\\f287"}.fa-product-hunt:before{content:"\\f288"}.fa-mixcloud:before{content:"\\f289"}.fa-scribd:before{content:"\\f28a"}.fa-pause-circle:before{content:"\\f28b"}.fa-pause-circle-o:before{content:"\\f28c"}.fa-stop-circle:before{content:"\\f28d"}.fa-stop-circle-o:before{content:"\\f28e"}.fa-shopping-bag:before{content:"\\f290"}.fa-shopping-basket:before{content:"\\f291"}.fa-hashtag:before{content:"\\f292"}.fa-bluetooth:before{content:"\\f293"}.fa-bluetooth-b:before{content:"\\f294"}.fa-percent:before{content:"\\f295"}.fa-gitlab:before{content:"\\f296"}.fa-wpbeginner:before{content:"\\f297"}.fa-wpforms:before{content:"\\f298"}.fa-envira:before{content:"\\f299"}.fa-universal-access:before{content:"\\f29a"}.fa-wheelchair-alt:before{content:"\\f29b"}.fa-question-circle-o:before{content:"\\f29c"}.fa-blind:before{content:"\\f29d"}.fa-audio-description:before{content:"\\f29e"}.fa-volume-control-phone:before{content:"\\f2a0"}.fa-braille:before{content:"\\f2a1"}.fa-assistive-listening-systems:before{content:"\\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\\f2a4"}.fa-glide:before{content:"\\f2a5"}.fa-glide-g:before{content:"\\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\\f2a7"}.fa-low-vision:before{content:"\\f2a8"}.fa-viadeo:before{content:"\\f2a9"}.fa-viadeo-square:before{content:"\\f2aa"}.fa-snapchat:before{content:"\\f2ab"}.fa-snapchat-ghost:before{content:"\\f2ac"}.fa-snapchat-square:before{content:"\\f2ad"}.fa-pied-piper:before{content:"\\f2ae"}.fa-first-order:before{content:"\\f2b0"}.fa-yoast:before{content:"\\f2b1"}.fa-themeisle:before{content:"\\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\\f2b4"}.fa-handshake-o:before{content:"\\f2b5"}.fa-envelope-open:before{content:"\\f2b6"}.fa-envelope-open-o:before{content:"\\f2b7"}.fa-linode:before{content:"\\f2b8"}.fa-address-book:before{content:"\\f2b9"}.fa-address-book-o:before{content:"\\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\\f2bc"}.fa-user-circle:before{content:"\\f2bd"}.fa-user-circle-o:before{content:"\\f2be"}.fa-user-o:before{content:"\\f2c0"}.fa-id-badge:before{content:"\\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\\f2c3"}.fa-quora:before{content:"\\f2c4"}.fa-free-code-camp:before{content:"\\f2c5"}.fa-telegram:before{content:"\\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\\f2cb"}.fa-shower:before{content:"\\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\\f2cd"}.fa-podcast:before{content:"\\f2ce"}.fa-window-maximize:before{content:"\\f2d0"}.fa-window-minimize:before{content:"\\f2d1"}.fa-window-restore:before{content:"\\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\\f2d4"}.fa-bandcamp:before{content:"\\f2d5"}.fa-grav:before{content:"\\f2d6"}.fa-etsy:before{content:"\\f2d7"}.fa-imdb:before{content:"\\f2d8"}.fa-ravelry:before{content:"\\f2d9"}.fa-eercast:before{content:"\\f2da"}.fa-microchip:before{content:"\\f2db"}.fa-snowflake-o:before{content:"\\f2dc"}.fa-superpowers:before{content:"\\f2dd"}.fa-wpexplorer:before{content:"\\f2de"}.fa-meetup:before{content:"\\f2e0"}.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}\n/*# sourceMappingURL=__.css.map */');
\ No newline at end of file
diff --git a/shrine-webclient/src/main/js/client/js-shrine/package-lock.json b/shrine-webclient/src/main/js/client/js-shrine/package-lock.json
new file mode 100644
index 000000000..31761bee4
--- /dev/null
+++ b/shrine-webclient/src/main/js/client/js-shrine/package-lock.json
@@ -0,0 +1,9074 @@
+{
+ "name": "aurelia-skeleton-navigation",
+ "version": "1.1.2",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "abbrev": {
+ "version": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
+ "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=",
+ "dev": true
+ },
+ "accepts": {
+ "version": "https://registry.npmjs.org/accepts/-/accepts-1.0.7.tgz",
+ "integrity": "sha1-W1AftPBwQwmWTM2wSBclQSCNqxo=",
+ "dev": true,
+ "requires": {
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz",
+ "negotiator": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz"
+ },
+ "dependencies": {
+ "mime-types": {
+ "version": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz",
+ "integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=",
+ "dev": true
+ }
+ }
+ },
+ "acorn": {
+ "version": "https://registry.npmjs.org/acorn/-/acorn-4.0.4.tgz",
+ "integrity": "sha1-F6jWp6bE71OLgU7Jq6wneSk78wo=",
+ "dev": true
+ },
+ "acorn-jsx": {
+ "version": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
+ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
+ "dev": true,
+ "requires": {
+ "acorn": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
+ "dev": true
+ }
+ }
+ },
+ "after": {
+ "version": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
+ "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
+ "dev": true
+ },
+ "ajv": {
+ "version": "https://registry.npmjs.org/ajv/-/ajv-4.11.4.tgz",
+ "integrity": "sha1-6/OlXUsTLqYP9YR66F0u8GmWC0U=",
+ "dev": true,
+ "requires": {
+ "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"
+ }
+ },
+ "ajv-keywords": {
+ "version": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz",
+ "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=",
+ "dev": true
+ },
+ "align-text": {
+ "version": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz",
+ "longest": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
+ }
+ },
+ "amdefine": {
+ "version": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
+ },
+ "ansi-cyan": {
+ "version": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
+ "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz"
+ }
+ },
+ "ansi-escapes": {
+ "version": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
+ "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
+ "dev": true
+ },
+ "ansi-red": {
+ "version": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
+ "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz"
+ }
+ },
+ "ansi-regex": {
+ "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "ansi-wrap": {
+ "version": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+ "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
+ "dev": true
+ },
+ "ansicolors": {
+ "version": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz",
+ "integrity": "sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8=",
+ "dev": true
+ },
+ "anymatch": {
+ "version": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
+ "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=",
+ "dev": true,
+ "requires": {
+ "arrify": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz"
+ }
+ },
+ "aproba": {
+ "version": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz",
+ "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=",
+ "dev": true
+ },
+ "archy": {
+ "version": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+ "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
+ "dev": true
+ },
+ "are-we-there-yet": {
+ "version": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz",
+ "integrity": "sha1-gORw6VoIR5T+GJkmLFZnxuiN4bM=",
+ "dev": true,
+ "requires": {
+ "delegates": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
+ }
+ },
+ "argparse": {
+ "version": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
+ "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
+ }
+ },
+ "arr-diff": {
+ "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz"
+ }
+ },
+ "arr-flatten": {
+ "version": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz",
+ "integrity": "sha1-5f/lTUXhnzLyFukeuZyM6JK7YEs=",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
+ "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=",
+ "dev": true
+ },
+ "array-differ": {
+ "version": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+ "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
+ "dev": true
+ },
+ "array-find-index": {
+ "version": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "dev": true
+ },
+ "array-ify": {
+ "version": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
+ "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=",
+ "dev": true
+ },
+ "array-slice": {
+ "version": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+ "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
+ "dev": true
+ },
+ "array-union": {
+ "version": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "dev": true,
+ "requires": {
+ "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz"
+ }
+ },
+ "array-uniq": {
+ "version": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "dev": true
+ },
+ "arraybuffer.slice": {
+ "version": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz",
+ "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=",
+ "dev": true
+ },
+ "arrify": {
+ "version": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "asn1": {
+ "version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
+ "dev": true
+ },
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
+ "dev": true
+ },
+ "async": {
+ "version": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ },
+ "async-each": {
+ "version": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+ "dev": true
+ },
+ "async-foreach": {
+ "version": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
+ "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
+ "dev": true
+ },
+ "asynckit": {
+ "version": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
+ "atob": {
+ "version": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz",
+ "integrity": "sha1-lfE2KbEsOlGl0hWr3OKqnzL4B3M=",
+ "dev": true
+ },
+ "aurelia-bundler": {
+ "version": "https://registry.npmjs.org/aurelia-bundler/-/aurelia-bundler-0.4.0.tgz",
+ "integrity": "sha1-G5o0VFOtPkyvZL2DgZ+xHCrivK0=",
+ "dev": true,
+ "requires": {
+ "bluebird": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
+ "clean-css": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.25.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "globby": "https://registry.npmjs.org/globby/-/globby-2.1.0.tgz",
+ "html-minifier": "https://registry.npmjs.org/html-minifier/-/html-minifier-1.5.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "rev-hash": "https://registry.npmjs.org/rev-hash/-/rev-hash-1.0.0.tgz",
+ "rev-path": "https://registry.npmjs.org/rev-path/-/rev-path-1.0.0.tgz",
+ "systemjs-builder": "https://registry.npmjs.org/systemjs-builder/-/systemjs-builder-0.15.35.tgz",
+ "whacko": "https://registry.npmjs.org/whacko/-/whacko-0.19.1.tgz"
+ }
+ },
+ "aurelia-tools": {
+ "version": "https://registry.npmjs.org/aurelia-tools/-/aurelia-tools-1.0.0.tgz",
+ "integrity": "sha1-x9gsk57kxGAmrCoFqZ/ERnMqMbw=",
+ "dev": true,
+ "requires": {
+ "breeze-dag": "https://registry.npmjs.org/breeze-dag/-/breeze-dag-0.1.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ }
+ },
+ "aws-sign2": {
+ "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
+ "dev": true
+ },
+ "aws4": {
+ "version": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
+ "dev": true
+ },
+ "babel-code-frame": {
+ "version": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
+ "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=",
+ "dev": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz"
+ }
+ },
+ "babel-core": {
+ "version": "https://registry.npmjs.org/babel-core/-/babel-core-6.23.1.tgz",
+ "integrity": "sha1-wUPLYhuy9iFxDCIMXVedFbikQt8=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
+ "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.23.0.tgz",
+ "babel-helpers": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.23.0.tgz",
+ "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "babel-register": "https://registry.npmjs.org/babel-register/-/babel-register-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.16.1.tgz",
+ "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.4.0.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz",
+ "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "private": "https://registry.npmjs.org/private/-/private-0.1.7.tgz",
+ "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "babel-eslint": {
+ "version": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.1.1.tgz",
+ "integrity": "sha1-imqITwhapwYK9pz8dzQcL5k3D7I=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.16.1.tgz",
+ "lodash.pickby": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz"
+ }
+ },
+ "babel-generator": {
+ "version": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.23.0.tgz",
+ "integrity": "sha1-a47auVbvMRb3nYyExaPAXzKnS8U=",
+ "dev": true,
+ "requires": {
+ "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz",
+ "detect-indent": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+ "jsesc": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "trim-right": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "babel-helper-bindify-decorators": {
+ "version": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.22.0.tgz",
+ "integrity": "sha1-1/W8JhJ1lBrGKs/E4g2s+4o/6VI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-helper-builder-binary-assignment-operator-visitor": {
+ "version": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz",
+ "integrity": "sha1-Kd9WvhRNgb3qwIJiv6QdLF6Rzc0=",
+ "dev": true,
+ "requires": {
+ "babel-helper-explode-assignable-expression": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.22.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-helper-call-delegate": {
+ "version": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz",
+ "integrity": "sha1-EZkhtWEg8X6drj90tPXMe8wbN+8=",
+ "dev": true,
+ "requires": {
+ "babel-helper-hoist-variables": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-helper-define-map": {
+ "version": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.23.0.tgz",
+ "integrity": "sha1-FET5YMlpHWmiztaiBTFfj9AIBOc=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "babel-helper-explode-assignable-expression": {
+ "version": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.22.0.tgz",
+ "integrity": "sha1-yXv3bu0+C65ASBIfK52uGk59BHg=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-helper-explode-class": {
+ "version": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.22.0.tgz",
+ "integrity": "sha1-ZGMEkkqmOIpRaEO6fxhV743+tps=",
+ "dev": true,
+ "requires": {
+ "babel-helper-bindify-decorators": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.22.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-helper-function-name": {
+ "version": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz",
+ "integrity": "sha1-JXQtZxdciQPb5LbLnZ4fy43PI6Y=",
+ "dev": true,
+ "requires": {
+ "babel-helper-get-function-arity": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-helper-get-function-arity": {
+ "version": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz",
+ "integrity": "sha1-C+tGStadxzR0EKxq3p8DpQY09c4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-helper-hoist-variables": {
+ "version": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz",
+ "integrity": "sha1-Pqy/cx2AcFhF3S6XGPYAz7m0unI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-helper-optimise-call-expression": {
+ "version": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz",
+ "integrity": "sha1-8+5+7TVbQoITizPQK3g2nkcGIvU=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-helper-regex": {
+ "version": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz",
+ "integrity": "sha1-efUyvhZHsfDuNHS19cPaWAAdJH0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "babel-helper-remap-async-to-generator": {
+ "version": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz",
+ "integrity": "sha1-IYaucyeO0DuLFc7QiWCdqYEFM4M=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-helper-replace-supers": {
+ "version": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz",
+ "integrity": "sha1-7q+K2bWOxDN8qUIjus3KH42bS/0=",
+ "dev": true,
+ "requires": {
+ "babel-helper-optimise-call-expression": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz",
+ "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-helpers": {
+ "version": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.23.0.tgz",
+ "integrity": "sha1-T48uCS0LaogIpL3nnCfx4uzw2ZI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz"
+ }
+ },
+ "babel-messages": {
+ "version": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-check-es2015-constants": {
+ "version": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
+ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-istanbul": {
+ "version": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-2.0.3.tgz",
+ "integrity": "sha1-JmswS5EJYH1gdIR0OUZ2mC9mDfQ=",
+ "dev": true,
+ "requires": {
+ "find-up": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "istanbul-lib-instrument": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.4.2.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "test-exclude": "https://registry.npmjs.org/test-exclude/-/test-exclude-2.1.3.tgz"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
+ }
+ },
+ "babel-plugin-syntax-async-functions": {
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
+ "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
+ "dev": true
+ },
+ "babel-plugin-syntax-async-generators": {
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
+ "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
+ "dev": true
+ },
+ "babel-plugin-syntax-class-constructor-call": {
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
+ "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=",
+ "dev": true
+ },
+ "babel-plugin-syntax-class-properties": {
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
+ "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=",
+ "dev": true
+ },
+ "babel-plugin-syntax-decorators": {
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
+ "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
+ "dev": true
+ },
+ "babel-plugin-syntax-dynamic-import": {
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+ "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
+ "dev": true
+ },
+ "babel-plugin-syntax-exponentiation-operator": {
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+ "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
+ "dev": true
+ },
+ "babel-plugin-syntax-export-extensions": {
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
+ "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=",
+ "dev": true
+ },
+ "babel-plugin-syntax-flow": {
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
+ "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
+ "dev": true
+ },
+ "babel-plugin-syntax-object-rest-spread": {
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
+ "dev": true
+ },
+ "babel-plugin-syntax-trailing-function-commas": {
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+ "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
+ "dev": true
+ },
+ "babel-plugin-transform-async-generator-functions": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.22.0.tgz",
+ "integrity": "sha1-pyCpgVOnWW8gQJnNVAn0s8Bbq0Y=",
+ "dev": true,
+ "requires": {
+ "babel-helper-remap-async-to-generator": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz",
+ "babel-plugin-syntax-async-generators": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-async-to-generator": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz",
+ "integrity": "sha1-GUtpOOwZWtNu/EwzqXGs8A2M014=",
+ "dev": true,
+ "requires": {
+ "babel-helper-remap-async-to-generator": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz",
+ "babel-plugin-syntax-async-functions": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-cjs-system-wrapper": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-cjs-system-wrapper/-/babel-plugin-transform-cjs-system-wrapper-0.3.0.tgz",
+ "integrity": "sha1-9XWfKb7NNW+qt69SyZzejnutCyE=",
+ "dev": true,
+ "requires": {
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-class-constructor-call": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.22.0.tgz",
+ "integrity": "sha1-EaTSIWq7Ww7vKYtJN0j08vSGkSA=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-class-constructor-call": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-class-properties": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.23.0.tgz",
+ "integrity": "sha1-GHt0fuQEOZATVjyZPbA480dUrDs=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz",
+ "babel-plugin-syntax-class-properties": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-decorators": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.22.0.tgz",
+ "integrity": "sha1-wDY1snojsjtyJPSSMsI3pzmI0nw=",
+ "dev": true,
+ "requires": {
+ "babel-helper-explode-class": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.22.0.tgz",
+ "babel-plugin-syntax-decorators": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-decorators-legacy": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz",
+ "integrity": "sha1-dBtY9sW86eYCfgiC2cmU8E82aSU=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-decorators": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-arrow-functions": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+ "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoped-functions": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+ "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoping": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz",
+ "integrity": "sha1-5IiVzws3W+FIzXyIebQicHoFO1E=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-classes": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz",
+ "integrity": "sha1-SbU/MmICov0bO7ql4u3YpPeGQ8E=",
+ "dev": true,
+ "requires": {
+ "babel-helper-define-map": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.23.0.tgz",
+ "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz",
+ "babel-helper-optimise-call-expression": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz",
+ "babel-helper-replace-supers": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz",
+ "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-computed-properties": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz",
+ "integrity": "sha1-fDg+lim7pIIMEbBCW91ikPfwV+c=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-destructuring": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-duplicate-keys": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz",
+ "integrity": "sha1-ZyOXAxwhYQ1y3Su7C6n7Ynfhw2s=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-for-of": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+ "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-function-name": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz",
+ "integrity": "sha1-9fzIsJCT+aI8dqw9njksPsS3cQQ=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-literals": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+ "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-amd": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz",
+ "integrity": "sha1-v2nNNIiaQcM9kN+3QOAJHM/1LyE=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-es2015-modules-commonjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-commonjs": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.23.0.tgz",
+ "integrity": "sha1-y6eqY3n7fsmSUObUbeKXOq/6e5I=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-strict-mode": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-systemjs": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz",
+ "integrity": "sha1-rjRpIn/6w5sDENkP7HO/3E9jF7A=",
+ "dev": true,
+ "requires": {
+ "babel-helper-hoist-variables": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-umd": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.23.0.tgz",
+ "integrity": "sha1-jShK4uGe2P4h0rGybW5+D82U8PE=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-es2015-modules-amd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-object-super": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz",
+ "integrity": "sha1-2qYOEUoELqdp3VP+Uo/IIxHrmPw=",
+ "dev": true,
+ "requires": {
+ "babel-helper-replace-supers": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-parameters": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz",
+ "integrity": "sha1-OiqrtwyK+UXVzjhvGkJQYlqDrjs=",
+ "dev": true,
+ "requires": {
+ "babel-helper-call-delegate": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz",
+ "babel-helper-get-function-arity": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-shorthand-properties": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz",
+ "integrity": "sha1-i6d24K/6pgv/IekhQDuKZSov9yM=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-spread": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-sticky-regex": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz",
+ "integrity": "sha1-qzFoKehm7j9LnrlpOXV9GaW8RZM=",
+ "dev": true,
+ "requires": {
+ "babel-helper-regex": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-template-literals": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+ "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-typeof-symbol": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+ "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-es2015-unicode-regex": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz",
+ "integrity": "sha1-jZzCfn7h3s/mVFT7mGRSoEphPSA=",
+ "dev": true,
+ "requires": {
+ "babel-helper-regex": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "regexpu-core": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz"
+ }
+ },
+ "babel-plugin-transform-exponentiation-operator": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz",
+ "integrity": "sha1-1XyDNSgZGOVO8FMRjObrEIRoCE0=",
+ "dev": true,
+ "requires": {
+ "babel-helper-builder-binary-assignment-operator-visitor": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz",
+ "babel-plugin-syntax-exponentiation-operator": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-export-extensions": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz",
+ "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-export-extensions": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-flow-strip-types": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
+ "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-flow": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-global-system-wrapper": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-global-system-wrapper/-/babel-plugin-transform-global-system-wrapper-0.0.1.tgz",
+ "integrity": "sha1-r7RpzsDgRom5/n6LH9KA/JSm2PI=",
+ "dev": true,
+ "requires": {
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-object-rest-spread": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz",
+ "integrity": "sha1-h11ryb52HFiirj/u5dxIldjH+SE=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-object-rest-spread": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-regenerator": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz",
+ "integrity": "sha1-ZXQFk6MZxEUiFXU41pC4QJRhfqY=",
+ "dev": true,
+ "requires": {
+ "regenerator-transform": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.8.tgz"
+ }
+ },
+ "babel-plugin-transform-strict-mode": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz",
+ "integrity": "sha1-4AjfATQP3IfpWdplmRt+BZcMjHw=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz"
+ }
+ },
+ "babel-plugin-transform-system-register": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-system-register/-/babel-plugin-transform-system-register-0.0.1.tgz",
+ "integrity": "sha1-nf9AOQwnY6xRjwsq18XqT2WlviU=",
+ "dev": true
+ },
+ "babel-preset-es2015": {
+ "version": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz",
+ "integrity": "sha1-r1qY7LNeuK92StiloF6zbcQ4aDU=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-check-es2015-constants": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
+ "babel-plugin-transform-es2015-arrow-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+ "babel-plugin-transform-es2015-block-scoped-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+ "babel-plugin-transform-es2015-block-scoping": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz",
+ "babel-plugin-transform-es2015-classes": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz",
+ "babel-plugin-transform-es2015-computed-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz",
+ "babel-plugin-transform-es2015-destructuring": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+ "babel-plugin-transform-es2015-duplicate-keys": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz",
+ "babel-plugin-transform-es2015-for-of": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+ "babel-plugin-transform-es2015-function-name": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz",
+ "babel-plugin-transform-es2015-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+ "babel-plugin-transform-es2015-modules-amd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz",
+ "babel-plugin-transform-es2015-modules-commonjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.23.0.tgz",
+ "babel-plugin-transform-es2015-modules-systemjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz",
+ "babel-plugin-transform-es2015-modules-umd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.23.0.tgz",
+ "babel-plugin-transform-es2015-object-super": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz",
+ "babel-plugin-transform-es2015-parameters": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz",
+ "babel-plugin-transform-es2015-shorthand-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz",
+ "babel-plugin-transform-es2015-spread": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+ "babel-plugin-transform-es2015-sticky-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz",
+ "babel-plugin-transform-es2015-template-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+ "babel-plugin-transform-es2015-typeof-symbol": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+ "babel-plugin-transform-es2015-unicode-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz",
+ "babel-plugin-transform-regenerator": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz"
+ }
+ },
+ "babel-preset-es2017": {
+ "version": "https://registry.npmjs.org/babel-preset-es2017/-/babel-preset-es2017-6.24.1.tgz",
+ "integrity": "sha1-WXvq37n38gi8/YoS6bKym4svFNE=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-trailing-function-commas": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+ "babel-plugin-transform-async-to-generator": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz"
+ },
+ "dependencies": {
+ "babel-helper-function-name": {
+ "version": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+ "dev": true,
+ "requires": {
+ "babel-helper-get-function-arity": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz"
+ }
+ },
+ "babel-helper-get-function-arity": {
+ "version": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz"
+ }
+ },
+ "babel-helper-remap-async-to-generator": {
+ "version": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
+ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz"
+ }
+ },
+ "babel-plugin-transform-async-to-generator": {
+ "version": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
+ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
+ "dev": true,
+ "requires": {
+ "babel-helper-remap-async-to-generator": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
+ "babel-plugin-syntax-async-functions": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
+ }
+ },
+ "babel-template": {
+ "version": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz",
+ "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz"
+ }
+ },
+ "babel-traverse": {
+ "version": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz",
+ "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
+ "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz",
+ "globals": "https://registry.npmjs.org/globals/-/globals-9.16.0.tgz",
+ "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz"
+ }
+ },
+ "babel-types": {
+ "version": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz",
+ "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "to-fast-properties": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz"
+ }
+ },
+ "babylon": {
+ "version": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz",
+ "integrity": "sha1-Pot0AriNIsNCPhN6FXeIOxX/hpo=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "babel-preset-stage-1": {
+ "version": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.22.0.tgz",
+ "integrity": "sha1-faBb/+pq1aEK75PjIM/G3UZdvBo=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-class-constructor-call": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.22.0.tgz",
+ "babel-plugin-transform-export-extensions": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz",
+ "babel-preset-stage-2": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.22.0.tgz"
+ }
+ },
+ "babel-preset-stage-2": {
+ "version": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.22.0.tgz",
+ "integrity": "sha1-zNVl8ZwkXK3jlLISFt9wSnOyfAc=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-dynamic-import": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+ "babel-plugin-transform-class-properties": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.23.0.tgz",
+ "babel-plugin-transform-decorators": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.22.0.tgz",
+ "babel-preset-stage-3": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.22.0.tgz"
+ }
+ },
+ "babel-preset-stage-3": {
+ "version": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.22.0.tgz",
+ "integrity": "sha1-pOkrus50Vvr99lHXp2V+4LvKnC4=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-trailing-function-commas": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+ "babel-plugin-transform-async-generator-functions": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.22.0.tgz",
+ "babel-plugin-transform-async-to-generator": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz",
+ "babel-plugin-transform-exponentiation-operator": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz",
+ "babel-plugin-transform-object-rest-spread": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz"
+ }
+ },
+ "babel-register": {
+ "version": "https://registry.npmjs.org/babel-register/-/babel-register-6.23.0.tgz",
+ "integrity": "sha1-yao9TMqUtR2jSCbEoPnggUXXT/M=",
+ "dev": true,
+ "requires": {
+ "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.23.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+ "home-or-tmp": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "source-map-support": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.11.tgz"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "babel-runtime": {
+ "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=",
+ "dev": true,
+ "requires": {
+ "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+ "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz"
+ }
+ },
+ "babel-template": {
+ "version": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz",
+ "integrity": "sha1-BNTycK27OqcEqBQ64m+qUpI45jg=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.16.1.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "babel-traverse": {
+ "version": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "integrity": "sha1-08tZAQ7NBql9gTEAZflmtpnhT0g=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
+ "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.16.1.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz",
+ "globals": "https://registry.npmjs.org/globals/-/globals-9.16.0.tgz",
+ "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "babel-types": {
+ "version": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz",
+ "integrity": "sha1-uxcXnXU4utOM0MnhFdNA935+ms8=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "to-fast-properties": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "babylon": {
+ "version": "https://registry.npmjs.org/babylon/-/babylon-6.16.1.tgz",
+ "integrity": "sha1-MMWiL0gZeKnn+M399JaxHZS0BNM=",
+ "dev": true
+ },
+ "backo2": {
+ "version": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
+ "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+ "dev": true
+ },
+ "base64-arraybuffer": {
+ "version": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
+ "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
+ "dev": true
+ },
+ "base64id": {
+ "version": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
+ "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
+ "dev": true
+ },
+ "batch": {
+ "version": "https://registry.npmjs.org/batch/-/batch-0.5.1.tgz",
+ "integrity": "sha1-NqS6tZTAUP17UHvKDbMMLZKvT/I=",
+ "dev": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
+ }
+ },
+ "beeper": {
+ "version": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
+ "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
+ "dev": true
+ },
+ "better-assert": {
+ "version": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
+ "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
+ "dev": true,
+ "requires": {
+ "callsite": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz"
+ }
+ },
+ "binary-extensions": {
+ "version": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz",
+ "integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=",
+ "dev": true
+ },
+ "blob": {
+ "version": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
+ "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=",
+ "dev": true
+ },
+ "block-stream": {
+ "version": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+ "dev": true,
+ "requires": {
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
+ }
+ },
+ "bluebird": {
+ "version": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
+ "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=",
+ "dev": true
+ },
+ "body-parser": {
+ "version": "https://registry.npmjs.org/body-parser/-/body-parser-1.17.1.tgz",
+ "integrity": "sha1-dbO8mN3W5+DY/+dQ36ylxmmT+kc=",
+ "dev": true,
+ "requires": {
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
+ "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "raw-body": "https://registry.npmjs.org/raw-body/-/raw-body-2.2.0.tgz",
+ "type-is": "https://registry.npmjs.org/type-is/-/type-is-1.6.14.tgz"
+ },
+ "dependencies": {
+ "depd": {
+ "version": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
+ "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=",
+ "dev": true
+ },
+ "ee-first": {
+ "version": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+ "dev": true
+ },
+ "on-finished": {
+ "version": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "dev": true,
+ "requires": {
+ "ee-first": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
+ }
+ },
+ "qs": {
+ "version": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
+ "dev": true
+ }
+ }
+ },
+ "boolbase": {
+ "version": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+ "dev": true
+ },
+ "boom": {
+ "version": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+ "dev": true,
+ "requires": {
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
+ }
+ },
+ "brace-expansion": {
+ "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz",
+ "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+ }
+ },
+ "braces": {
+ "version": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "dev": true,
+ "requires": {
+ "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "preserve": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz"
+ }
+ },
+ "breeze-dag": {
+ "version": "https://registry.npmjs.org/breeze-dag/-/breeze-dag-0.1.0.tgz",
+ "integrity": "sha1-yQyUVZYeeXP8b+tL7wCaSYvx3IA=",
+ "dev": true,
+ "requires": {
+ "breeze-queue": "https://registry.npmjs.org/breeze-queue/-/breeze-queue-0.1.0.tgz",
+ "gaia-tsort": "https://registry.npmjs.org/gaia-tsort/-/gaia-tsort-0.1.0.tgz"
+ }
+ },
+ "breeze-nexttick": {
+ "version": "https://registry.npmjs.org/breeze-nexttick/-/breeze-nexttick-0.2.1.tgz",
+ "integrity": "sha1-HguC9F6rYA2E8OkfFq741lst+6s=",
+ "dev": true
+ },
+ "breeze-queue": {
+ "version": "https://registry.npmjs.org/breeze-queue/-/breeze-queue-0.1.0.tgz",
+ "integrity": "sha1-f9QQWP5ghyWDPSSR2I0oyiz4nJA=",
+ "dev": true,
+ "requires": {
+ "breeze-nexttick": "https://registry.npmjs.org/breeze-nexttick/-/breeze-nexttick-0.2.1.tgz"
+ }
+ },
+ "buffer-crc32": {
+ "version": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
+ "dev": true
+ },
+ "buffer-peek-stream": {
+ "version": "https://registry.npmjs.org/buffer-peek-stream/-/buffer-peek-stream-1.0.1.tgz",
+ "integrity": "sha1-U7R1cKE0d4fFutTKLKMCH52LPP0=",
+ "dev": true
+ },
+ "buffer-shims": {
+ "version": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
+ "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=",
+ "dev": true
+ },
+ "bufferstreams": {
+ "version": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.1.1.tgz",
+ "integrity": "sha1-AWE3MGCsWYjv+ZBYcxEU9uGV1R4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
+ }
+ },
+ "builtin-modules": {
+ "version": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "dev": true
+ },
+ "bump-regex": {
+ "version": "https://registry.npmjs.org/bump-regex/-/bump-regex-2.7.0.tgz",
+ "integrity": "sha1-SiHiU3ETR2wCa+WIuKfd3vGTRkE=",
+ "dev": true,
+ "requires": {
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ }
+ }
+ },
+ "bytes": {
+ "version": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
+ "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=",
+ "dev": true
+ },
+ "caller-path": {
+ "version": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
+ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
+ "dev": true,
+ "requires": {
+ "callsites": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz"
+ }
+ },
+ "callsite": {
+ "version": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
+ "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
+ "dev": true
+ },
+ "callsites": {
+ "version": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
+ "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
+ "dev": true
+ },
+ "camel-case": {
+ "version": "https://registry.npmjs.org/camel-case/-/camel-case-1.2.2.tgz",
+ "integrity": "sha1-Gsp8TRlTWaLOmVV5NDPG5VQlEfI=",
+ "dev": true,
+ "requires": {
+ "sentence-case": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.3.tgz",
+ "upper-case": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz"
+ }
+ },
+ "camelcase": {
+ "version": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "dev": true
+ }
+ }
+ },
+ "cardinal": {
+ "version": "https://registry.npmjs.org/cardinal/-/cardinal-1.0.0.tgz",
+ "integrity": "sha1-UOIcGwqjdyn5N33vGWtanOyTLuk=",
+ "dev": true,
+ "requires": {
+ "ansicolors": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz",
+ "redeyed": "https://registry.npmjs.org/redeyed/-/redeyed-1.0.1.tgz"
+ }
+ },
+ "caseless": {
+ "version": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
+ },
+ "center-align": {
+ "version": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+ "dev": true,
+ "requires": {
+ "align-text": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+ "lazy-cache": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz"
+ }
+ },
+ "chalk": {
+ "version": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "has-ansi": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
+ }
+ },
+ "change-case": {
+ "version": "https://registry.npmjs.org/change-case/-/change-case-2.3.1.tgz",
+ "integrity": "sha1-LE/ePwY7tB0AzWjg1aCdthy+iU8=",
+ "dev": true,
+ "requires": {
+ "camel-case": "https://registry.npmjs.org/camel-case/-/camel-case-1.2.2.tgz",
+ "constant-case": "https://registry.npmjs.org/constant-case/-/constant-case-1.1.2.tgz",
+ "dot-case": "https://registry.npmjs.org/dot-case/-/dot-case-1.1.2.tgz",
+ "is-lower-case": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz",
+ "is-upper-case": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz",
+ "lower-case": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "lower-case-first": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz",
+ "param-case": "https://registry.npmjs.org/param-case/-/param-case-1.1.2.tgz",
+ "pascal-case": "https://registry.npmjs.org/pascal-case/-/pascal-case-1.1.2.tgz",
+ "path-case": "https://registry.npmjs.org/path-case/-/path-case-1.1.2.tgz",
+ "sentence-case": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.3.tgz",
+ "snake-case": "https://registry.npmjs.org/snake-case/-/snake-case-1.1.2.tgz",
+ "swap-case": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz",
+ "title-case": "https://registry.npmjs.org/title-case/-/title-case-1.1.2.tgz",
+ "upper-case": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+ "upper-case-first": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz"
+ }
+ },
+ "chokidar": {
+ "version": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz",
+ "integrity": "sha1-L0RHq16W5Q+z14n9kNTHLg5McMI=",
+ "dev": true,
+ "requires": {
+ "anymatch": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
+ "async-each": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "fsevents": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.1.tgz",
+ "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "is-binary-path": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "readdirp": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz"
+ }
+ },
+ "circular-json": {
+ "version": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz",
+ "integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=",
+ "dev": true
+ },
+ "clean-css": {
+ "version": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.25.tgz",
+ "integrity": "sha1-nppS1cHmvFEj4bJ4P6Zf6ViUbt4=",
+ "dev": true,
+ "requires": {
+ "commander": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz"
+ }
+ },
+ "cli-cursor": {
+ "version": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
+ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz"
+ }
+ },
+ "cli-table": {
+ "version": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
+ "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=",
+ "dev": true,
+ "requires": {
+ "colors": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz"
+ }
+ },
+ "cli-usage": {
+ "version": "https://registry.npmjs.org/cli-usage/-/cli-usage-0.1.4.tgz",
+ "integrity": "sha1-fAHg3HBsI0s5yTODjI4gshdXduI=",
+ "dev": true,
+ "requires": {
+ "marked": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz",
+ "marked-terminal": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-1.7.0.tgz"
+ }
+ },
+ "cli-width": {
+ "version": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz",
+ "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+ "dev": true,
+ "requires": {
+ "center-align": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "right-align": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
+ }
+ },
+ "clone": {
+ "version": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+ "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=",
+ "dev": true
+ },
+ "clone-buffer": {
+ "version": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
+ "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=",
+ "dev": true
+ },
+ "clone-stats": {
+ "version": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
+ "dev": true
+ },
+ "cloneable-readable": {
+ "version": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.0.0.tgz",
+ "integrity": "sha1-pikNQT8hemEjL5XkWP84QYz7ARc=",
+ "dev": true,
+ "requires": {
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ }
+ },
+ "co": {
+ "version": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true
+ },
+ "code-point-at": {
+ "version": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "colors": {
+ "version": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
+ "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
+ "dev": true
+ },
+ "combine-lists": {
+ "version": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
+ "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=",
+ "dev": true,
+ "requires": {
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "combined-stream": {
+ "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
+ }
+ },
+ "commander": {
+ "version": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
+ "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
+ "dev": true,
+ "requires": {
+ "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
+ }
+ },
+ "compare-func": {
+ "version": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz",
+ "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=",
+ "dev": true,
+ "requires": {
+ "array-ify": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
+ "dot-prop": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz"
+ }
+ },
+ "component-bind": {
+ "version": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
+ "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
+ "dev": true
+ },
+ "component-emitter": {
+ "version": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz",
+ "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=",
+ "dev": true
+ },
+ "component-inherit": {
+ "version": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
+ "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "concat-stream": {
+ "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+ "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
+ "dev": true,
+ "requires": {
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
+ }
+ },
+ "concat-with-sourcemaps": {
+ "version": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.4.tgz",
+ "integrity": "sha1-9Vs74q60dgGxCi1SWcz7cP0vHdY=",
+ "dev": true,
+ "requires": {
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "connect": {
+ "version": "https://registry.npmjs.org/connect/-/connect-3.1.1.tgz",
+ "integrity": "sha1-pz4kScPvwt/RZhhll3oJGE0SAZY=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz",
+ "finalhandler": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.1.0.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
+ "utils-merge": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz",
+ "integrity": "sha1-W5wla9VLbsAigxdvqKDt5tFUy/g=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz",
+ "integrity": "sha1-2JwhJMb9wTU9Zai3e/GqxLGTcIw=",
+ "dev": true
+ }
+ }
+ },
+ "connect-inject": {
+ "version": "https://registry.npmjs.org/connect-inject/-/connect-inject-0.3.2.tgz",
+ "integrity": "sha1-2WtRaltrskwhkeYitegs3WKES6M=",
+ "dev": true
+ },
+ "console-control-strings": {
+ "version": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+ "dev": true
+ },
+ "constant-case": {
+ "version": "https://registry.npmjs.org/constant-case/-/constant-case-1.1.2.tgz",
+ "integrity": "sha1-jsLKW6ND4Aqjjb9OIA/VrJB+/WM=",
+ "dev": true,
+ "requires": {
+ "snake-case": "https://registry.npmjs.org/snake-case/-/snake-case-1.1.2.tgz",
+ "upper-case": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz"
+ }
+ },
+ "content-type": {
+ "version": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz",
+ "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0=",
+ "dev": true
+ },
+ "conventional-changelog": {
+ "version": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-1.1.0.tgz",
+ "integrity": "sha1-iuP7Wf63S77golgz7h+D2tSgeHQ=",
+ "dev": true,
+ "requires": {
+ "conventional-changelog-angular": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.3.0.tgz",
+ "conventional-changelog-atom": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-0.1.0.tgz",
+ "conventional-changelog-codemirror": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.1.0.tgz",
+ "conventional-changelog-core": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-1.5.0.tgz",
+ "conventional-changelog-ember": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-0.2.2.tgz",
+ "conventional-changelog-eslint": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-0.1.0.tgz",
+ "conventional-changelog-express": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-0.1.0.tgz",
+ "conventional-changelog-jquery": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz",
+ "conventional-changelog-jscs": "https://registry.npmjs.org/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz",
+ "conventional-changelog-jshint": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-0.1.0.tgz"
+ }
+ },
+ "conventional-changelog-angular": {
+ "version": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.3.0.tgz",
+ "integrity": "sha1-P2QYWXiqE6sJVMnkaniWn9WcaAE=",
+ "dev": true,
+ "requires": {
+ "compare-func": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz",
+ "github-url-from-git": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.5.0.tgz",
+ "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz"
+ }
+ },
+ "conventional-changelog-atom": {
+ "version": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-0.1.0.tgz",
+ "integrity": "sha1-Z6R8ZqQrL4kJ7xWHyZia4d5zC5I=",
+ "dev": true,
+ "requires": {
+ "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz"
+ }
+ },
+ "conventional-changelog-codemirror": {
+ "version": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.1.0.tgz",
+ "integrity": "sha1-dXelkdv5tTjnoVCn7mL2WihyszQ=",
+ "dev": true,
+ "requires": {
+ "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz"
+ }
+ },
+ "conventional-changelog-core": {
+ "version": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-1.5.0.tgz",
+ "integrity": "sha1-crF1CVNaI9fGy3CtQ4T3Qkd0gBM=",
+ "dev": true,
+ "requires": {
+ "conventional-changelog-writer": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-1.4.1.tgz",
+ "conventional-commits-parser": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-1.3.0.tgz",
+ "dateformat": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+ "get-pkg-repo": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.3.0.tgz",
+ "git-raw-commits": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.1.2.tgz",
+ "git-remote-origin-url": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz",
+ "git-semver-tags": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-1.1.2.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz",
+ "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+ "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "conventional-changelog-ember": {
+ "version": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-0.2.2.tgz",
+ "integrity": "sha1-utcKiROGvDBGSEqPTx5aotwK0gg=",
+ "dev": true,
+ "requires": {
+ "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz"
+ }
+ },
+ "conventional-changelog-eslint": {
+ "version": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-0.1.0.tgz",
+ "integrity": "sha1-pSQR6ZngUBzlALhWsKZD0DMJB+I=",
+ "dev": true,
+ "requires": {
+ "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz"
+ }
+ },
+ "conventional-changelog-express": {
+ "version": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-0.1.0.tgz",
+ "integrity": "sha1-VcbIQcgRliA2wDe9vZZKVK4xD84=",
+ "dev": true,
+ "requires": {
+ "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz"
+ }
+ },
+ "conventional-changelog-jquery": {
+ "version": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz",
+ "integrity": "sha1-Agg5cWLjhGmG5xJztsecW1+A9RA=",
+ "dev": true,
+ "requires": {
+ "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz"
+ }
+ },
+ "conventional-changelog-jscs": {
+ "version": "https://registry.npmjs.org/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz",
+ "integrity": "sha1-BHnrRDzH1yxYvwvPDvHURKkvDlw=",
+ "dev": true,
+ "requires": {
+ "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz"
+ }
+ },
+ "conventional-changelog-jshint": {
+ "version": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-0.1.0.tgz",
+ "integrity": "sha1-AMq46aMxdIer2UxNhGcTQpGNKgc=",
+ "dev": true,
+ "requires": {
+ "compare-func": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz",
+ "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz"
+ }
+ },
+ "conventional-changelog-writer": {
+ "version": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-1.4.1.tgz",
+ "integrity": "sha1-P0y00APrtWmJ0w00WJO1KkNjnI4=",
+ "dev": true,
+ "requires": {
+ "compare-func": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz",
+ "conventional-commits-filter": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.0.0.tgz",
+ "dateformat": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+ "handlebars": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.6.tgz",
+ "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "split": "https://registry.npmjs.org/split/-/split-1.0.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ },
+ "semver": {
+ "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ }
+ }
+ },
+ "conventional-commits-filter": {
+ "version": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.0.0.tgz",
+ "integrity": "sha1-b8KmWTcrw/IznPn//34bA0S5MDk=",
+ "dev": true,
+ "requires": {
+ "is-subset": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz",
+ "modify-values": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.0.tgz"
+ }
+ },
+ "conventional-commits-parser": {
+ "version": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-1.3.0.tgz",
+ "integrity": "sha1-4ye1MZThp61dxjR57pCZpSsCSGU=",
+ "dev": true,
+ "requires": {
+ "is-text-path": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz",
+ "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "split2": "https://registry.npmjs.org/split2/-/split2-2.1.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "trim-off-newlines": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "convert-source-map": {
+ "version": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.4.0.tgz",
+ "integrity": "sha1-49rRlb9hv+E6ejxz6YduwUoCaPM=",
+ "dev": true
+ },
+ "cookie": {
+ "version": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
+ "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
+ "dev": true
+ },
+ "core-js": {
+ "version": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+ "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "cross-spawn": {
+ "version": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
+ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz",
+ "integrity": "sha1-HRdnnAac2l0ECZGgnbwsDbN35V4=",
+ "dev": true,
+ "requires": {
+ "pseudomap": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "yallist": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz"
+ }
+ }
+ }
+ },
+ "cryptiles": {
+ "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+ "dev": true,
+ "requires": {
+ "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
+ }
+ },
+ "css": {
+ "version": "https://registry.npmjs.org/css/-/css-2.2.1.tgz",
+ "integrity": "sha1-c6TIHehdtmTU7mdPfUcIXjstVdw=",
+ "dev": true,
+ "requires": {
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "source-map-resolve": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz",
+ "urix": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "dev": true,
+ "requires": {
+ "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
+ }
+ }
+ }
+ },
+ "css-select": {
+ "version": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
+ "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
+ "dev": true,
+ "requires": {
+ "boolbase": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "css-what": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz",
+ "domutils": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+ "nth-check": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz"
+ }
+ },
+ "css-what": {
+ "version": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz",
+ "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=",
+ "dev": true
+ },
+ "currently-unhandled": {
+ "version": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
+ "requires": {
+ "array-find-index": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz"
+ }
+ },
+ "custom-event": {
+ "version": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+ "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
+ "dev": true
+ },
+ "d": {
+ "version": "https://registry.npmjs.org/d/-/d-0.1.1.tgz",
+ "integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=",
+ "dev": true,
+ "requires": {
+ "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz"
+ }
+ },
+ "dargs": {
+ "version": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz",
+ "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
+ }
+ },
+ "dashdash": {
+ "version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "data-uri-to-buffer": {
+ "version": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-0.0.4.tgz",
+ "integrity": "sha1-RuE6udqOMJdFyNAc5UchPr2y/j8=",
+ "dev": true
+ },
+ "dateformat": {
+ "version": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+ "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz"
+ }
+ },
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz",
+ "integrity": "sha1-eYVQkLosTjEVzH2HaUkdWPBJE1E=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz"
+ }
+ },
+ "debug-fabulous": {
+ "version": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-0.0.4.tgz",
+ "integrity": "sha1-+gccXYdIRoVCSAdCHKSxawsaB2M=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz",
+ "lazy-debug-legacy": "https://registry.npmjs.org/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+ "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=",
+ "dev": true
+ }
+ }
+ },
+ "decamelize": {
+ "version": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "deep-is": {
+ "version": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true
+ },
+ "defaults": {
+ "version": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz"
+ }
+ },
+ "define-properties": {
+ "version": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
+ "dev": true,
+ "requires": {
+ "foreach": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz"
+ }
+ },
+ "del": {
+ "version": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
+ "dev": true,
+ "requires": {
+ "globby": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "is-path-cwd": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+ "is-path-in-cwd": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ },
+ "globby": {
+ "version": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
+ "dev": true,
+ "requires": {
+ "array-union": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "arrify": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+ }
+ },
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
+ }
+ },
+ "delayed-stream": {
+ "version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true
+ },
+ "delegates": {
+ "version": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "dev": true
+ },
+ "depd": {
+ "version": "https://registry.npmjs.org/depd/-/depd-0.4.4.tgz",
+ "integrity": "sha1-BwkfrnX5eCjYm0oCotR3jw58BmI=",
+ "dev": true
+ },
+ "deprecated": {
+ "version": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
+ "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=",
+ "dev": true
+ },
+ "destroy": {
+ "version": "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz",
+ "integrity": "sha1-tDO0ck5x/YVR2YhRdIUcX8N34sk=",
+ "dev": true
+ },
+ "detect-file": {
+ "version": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz",
+ "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=",
+ "dev": true,
+ "requires": {
+ "fs-exists-sync": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz"
+ }
+ },
+ "detect-indent": {
+ "version": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "dev": true,
+ "requires": {
+ "repeating": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz"
+ }
+ },
+ "detect-newline": {
+ "version": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
+ "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=",
+ "dev": true
+ },
+ "di": {
+ "version": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+ "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
+ "dev": true
+ },
+ "doctrine": {
+ "version": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
+ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
+ "dev": true,
+ "requires": {
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
+ }
+ },
+ "dom-serialize": {
+ "version": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+ "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
+ "dev": true,
+ "requires": {
+ "custom-event": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+ "ent": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
+ "void-elements": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz"
+ }
+ },
+ "dom-serializer": {
+ "version": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
+ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+ "entities": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz"
+ },
+ "dependencies": {
+ "domelementtype": {
+ "version": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+ "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
+ "dev": true
+ }
+ }
+ },
+ "domelementtype": {
+ "version": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
+ "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
+ "dev": true
+ },
+ "domutils": {
+ "version": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
+ "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz"
+ }
+ },
+ "dot-case": {
+ "version": "https://registry.npmjs.org/dot-case/-/dot-case-1.1.2.tgz",
+ "integrity": "sha1-HnOCaQDeKNbeVIC8HeMdCEKwa+w=",
+ "dev": true,
+ "requires": {
+ "sentence-case": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.3.tgz"
+ }
+ },
+ "dot-prop": {
+ "version": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz",
+ "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
+ "dev": true,
+ "requires": {
+ "is-obj": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz"
+ }
+ },
+ "duplexer2": {
+ "version": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
+ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ }
+ }
+ },
+ "duplexify": {
+ "version": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz",
+ "integrity": "sha1-GqdzAC4VeEV+nZ1KULDMquvL1gQ=",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "stream-shift": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz"
+ },
+ "dependencies": {
+ "end-of-stream": {
+ "version": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz",
+ "integrity": "sha1-1FlucCc0qT5A6a+GQxnqvZn/Lw4=",
+ "dev": true,
+ "requires": {
+ "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz"
+ }
+ },
+ "once": {
+ "version": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+ "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
+ "dev": true,
+ "requires": {
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ }
+ }
+ }
+ },
+ "ecc-jsbn": {
+ "version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
+ }
+ },
+ "ee-first": {
+ "version": "https://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz",
+ "integrity": "sha1-jJshKJjYzZ8alDZlDOe+ICyen/A=",
+ "dev": true
+ },
+ "encodeurl": {
+ "version": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
+ "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=",
+ "dev": true
+ },
+ "end-of-stream": {
+ "version": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
+ "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=",
+ "dev": true,
+ "requires": {
+ "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz"
+ },
+ "dependencies": {
+ "once": {
+ "version": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+ "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
+ "dev": true,
+ "requires": {
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ }
+ }
+ }
+ },
+ "engine.io": {
+ "version": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz",
+ "integrity": "sha1-jef5eJXSDTm4X4ju7nd7K9QrE9Q=",
+ "dev": true,
+ "requires": {
+ "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
+ "base64id": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
+ "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "engine.io-parser": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
+ "ws": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz"
+ },
+ "dependencies": {
+ "accepts": {
+ "version": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
+ "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
+ "dev": true,
+ "requires": {
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz",
+ "negotiator": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz"
+ }
+ },
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz"
+ }
+ },
+ "negotiator": {
+ "version": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
+ "dev": true
+ }
+ }
+ },
+ "engine.io-client": {
+ "version": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.3.tgz",
+ "integrity": "sha1-F5jtk0USRkU9TG9jXXogH+lA1as=",
+ "dev": true,
+ "requires": {
+ "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "component-inherit": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "engine.io-parser": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
+ "has-cors": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+ "indexof": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "parsejson": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",
+ "parseqs": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
+ "parseuri": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
+ "ws": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz",
+ "xmlhttprequest-ssl": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz",
+ "yeast": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz"
+ },
+ "dependencies": {
+ "component-emitter": {
+ "version": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
+ },
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz"
+ }
+ }
+ }
+ },
+ "engine.io-parser": {
+ "version": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
+ "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=",
+ "dev": true,
+ "requires": {
+ "after": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
+ "arraybuffer.slice": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz",
+ "base64-arraybuffer": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
+ "blob": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
+ "has-binary": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
+ "wtf-8": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz"
+ }
+ },
+ "ent": {
+ "version": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
+ "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
+ "dev": true
+ },
+ "entities": {
+ "version": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
+ "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
+ "dev": true
+ },
+ "err-code": {
+ "version": "https://registry.npmjs.org/err-code/-/err-code-1.1.1.tgz",
+ "integrity": "sha1-c51xtoUfJNBQ6hjHmltyJCB3HVk=",
+ "dev": true
+ },
+ "error-ex": {
+ "version": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
+ }
+ },
+ "es5-ext": {
+ "version": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz",
+ "integrity": "sha1-qoRkHU23a2Krul5F/YBey6sUAEc=",
+ "dev": true,
+ "requires": {
+ "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz",
+ "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz"
+ }
+ },
+ "es6-iterator": {
+ "version": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz",
+ "integrity": "sha1-vZaFZ9YWNeM8C4BydhPJy0sJa6w=",
+ "dev": true,
+ "requires": {
+ "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz",
+ "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz",
+ "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz"
+ }
+ },
+ "es6-map": {
+ "version": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz",
+ "integrity": "sha1-o0sUe+IkdzpNfagHJ5TO+jYyuJc=",
+ "dev": true,
+ "requires": {
+ "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz",
+ "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz",
+ "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz",
+ "es6-set": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz",
+ "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz",
+ "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz"
+ }
+ },
+ "es6-set": {
+ "version": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz",
+ "integrity": "sha1-lRa2dhwpZLkv9HlFYjOiR9xwfOg=",
+ "dev": true,
+ "requires": {
+ "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz",
+ "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz",
+ "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz",
+ "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz",
+ "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz"
+ }
+ },
+ "es6-symbol": {
+ "version": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz",
+ "integrity": "sha1-lEgcZV56fK2C66gy2X1UM0ltf/o=",
+ "dev": true,
+ "requires": {
+ "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz",
+ "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz"
+ }
+ },
+ "es6-template-strings": {
+ "version": "https://registry.npmjs.org/es6-template-strings/-/es6-template-strings-2.0.1.tgz",
+ "integrity": "sha1-sWbGpiVi9Hi7d3X2ypYQOlmbSyw=",
+ "dev": true,
+ "requires": {
+ "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz",
+ "esniff": "https://registry.npmjs.org/esniff/-/esniff-1.1.0.tgz"
+ }
+ },
+ "es6-weak-map": {
+ "version": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz",
+ "integrity": "sha1-DSu9iCfrX7S6j5f7/qUNQ9sh6oE=",
+ "dev": true,
+ "requires": {
+ "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz",
+ "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz",
+ "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz",
+ "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz"
+ }
+ },
+ "escape-html": {
+ "version": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz",
+ "integrity": "sha1-GBoobq05ejmpKFfPsdQwUuNWv/A=",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "escodegen": {
+ "version": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
+ "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
+ "dev": true,
+ "requires": {
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "optionator": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
+ },
+ "estraverse": {
+ "version": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
+ "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
+ "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
+ }
+ }
+ }
+ },
+ "escope": {
+ "version": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
+ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
+ "dev": true,
+ "requires": {
+ "es6-map": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz",
+ "es6-weak-map": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz",
+ "esrecurse": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz",
+ "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz"
+ }
+ },
+ "eslint": {
+ "version": "https://registry.npmjs.org/eslint/-/eslint-3.17.1.tgz",
+ "integrity": "sha1-uArhLZxAbYWEBvzNpievzjPqEOo=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz",
+ "doctrine": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
+ "escope": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
+ "espree": "https://registry.npmjs.org/espree/-/espree-3.4.0.tgz",
+ "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "file-entry-cache": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "globals": "https://registry.npmjs.org/globals/-/globals-9.16.0.tgz",
+ "ignore": "https://registry.npmjs.org/ignore/-/ignore-3.2.4.tgz",
+ "imurmurhash": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "inquirer": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz",
+ "is-my-json-valid": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz",
+ "is-resolvable": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz",
+ "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.2.tgz",
+ "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "levn": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "natural-compare": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "optionator": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "path-is-inside": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "pluralize": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz",
+ "progress": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
+ "require-uncached": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
+ "shelljs": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.6.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "table": "https://registry.npmjs.org/table/-/table-3.8.3.tgz",
+ "text-table": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "user-home": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ },
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ },
+ "strip-bom": {
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "user-home": {
+ "version": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
+ "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"
+ }
+ }
+ }
+ },
+ "esniff": {
+ "version": "https://registry.npmjs.org/esniff/-/esniff-1.1.0.tgz",
+ "integrity": "sha1-xmhJIp+RRk3t4uDUAgHtar9l8qw=",
+ "dev": true,
+ "requires": {
+ "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
+ "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz"
+ },
+ "dependencies": {
+ "d": {
+ "version": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
+ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
+ "dev": true,
+ "requires": {
+ "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz"
+ }
+ }
+ }
+ },
+ "espree": {
+ "version": "https://registry.npmjs.org/espree/-/espree-3.4.0.tgz",
+ "integrity": "sha1-QWVvpWKOBCh4Al70Z+ePEly4bh0=",
+ "dev": true,
+ "requires": {
+ "acorn": "https://registry.npmjs.org/acorn/-/acorn-4.0.4.tgz",
+ "acorn-jsx": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz"
+ }
+ },
+ "esprima": {
+ "version": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
+ "dev": true
+ },
+ "esrecurse": {
+ "version": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz",
+ "integrity": "sha1-RxO2U2rffyrE8yfVWed1a/9kgiA=",
+ "dev": true,
+ "requires": {
+ "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz",
+ "integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
+ }
+ },
+ "estraverse": {
+ "version": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ },
+ "esutils": {
+ "version": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
+ "event-emitter": {
+ "version": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz",
+ "integrity": "sha1-jWPd+0z+H647MsomXExyAiIIC7U=",
+ "dev": true,
+ "requires": {
+ "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz",
+ "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz"
+ }
+ },
+ "eventemitter3": {
+ "version": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
+ "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=",
+ "dev": true
+ },
+ "exit-hook": {
+ "version": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
+ "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
+ "dev": true
+ },
+ "expand-braces": {
+ "version": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
+ "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
+ "dev": true,
+ "requires": {
+ "array-slice": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "braces": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz"
+ },
+ "dependencies": {
+ "braces": {
+ "version": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
+ "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
+ "dev": true,
+ "requires": {
+ "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz"
+ }
+ },
+ "expand-range": {
+ "version": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
+ "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
+ "dev": true,
+ "requires": {
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz"
+ }
+ },
+ "is-number": {
+ "version": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
+ "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz",
+ "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=",
+ "dev": true
+ }
+ }
+ },
+ "expand-brackets": {
+ "version": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"
+ }
+ },
+ "expand-range": {
+ "version": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "dev": true,
+ "requires": {
+ "fill-range": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz"
+ }
+ },
+ "expand-tilde": {
+ "version": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
+ "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"
+ }
+ },
+ "extend": {
+ "version": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
+ "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
+ "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
+ "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=",
+ "dev": true
+ }
+ }
+ },
+ "extglob": {
+ "version": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
+ }
+ },
+ "extsprintf": {
+ "version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
+ "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=",
+ "dev": true
+ },
+ "fancy-log": {
+ "version": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz",
+ "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=",
+ "dev": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "time-stamp": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz"
+ }
+ },
+ "fast-levenshtein": {
+ "version": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "fd-slicer": {
+ "version": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
+ "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
+ "dev": true,
+ "requires": {
+ "pend": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz"
+ }
+ },
+ "figures": {
+ "version": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
+ }
+ },
+ "file-entry-cache": {
+ "version": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
+ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
+ "dev": true,
+ "requires": {
+ "flat-cache": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
+ }
+ },
+ "filename-regex": {
+ "version": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz",
+ "integrity": "sha1-mW4+gEebmLmJfxWopYs9CE6SZ3U=",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
+ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+ "dev": true,
+ "requires": {
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "randomatic": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.6.tgz",
+ "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
+ }
+ },
+ "finalhandler": {
+ "version": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.1.0.tgz",
+ "integrity": "sha1-2gW7xPX0owyEzh2R88FUAHxOnao=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz",
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz",
+ "integrity": "sha1-W5wla9VLbsAigxdvqKDt5tFUy/g=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz",
+ "integrity": "sha1-2JwhJMb9wTU9Zai3e/GqxLGTcIw=",
+ "dev": true
+ }
+ }
+ },
+ "find-index": {
+ "version": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
+ "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=",
+ "dev": true
+ },
+ "find-up": {
+ "version": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+ }
+ },
+ "findup-sync": {
+ "version": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz",
+ "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=",
+ "dev": true,
+ "requires": {
+ "detect-file": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "resolve-dir": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz"
+ }
+ },
+ "fined": {
+ "version": "https://registry.npmjs.org/fined/-/fined-1.0.2.tgz",
+ "integrity": "sha1-WyhCS3YNdZiWC374SA3/itNmDpc=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
+ "lodash.assignwith": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz",
+ "lodash.isempty": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz",
+ "lodash.isplainobject": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "lodash.isstring": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+ "lodash.pick": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
+ "parse-filepath": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.1.tgz"
+ }
+ },
+ "first-chunk-stream": {
+ "version": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+ "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
+ "dev": true
+ },
+ "flagged-respawn": {
+ "version": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz",
+ "integrity": "sha1-/xke3c1wiKZ1smEP/8l2vpuAdLU=",
+ "dev": true
+ },
+ "flat-cache": {
+ "version": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz",
+ "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=",
+ "dev": true,
+ "requires": {
+ "circular-json": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz",
+ "del": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "write": "https://registry.npmjs.org/write/-/write-0.2.1.tgz"
+ }
+ },
+ "for-in": {
+ "version": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "for-own": {
+ "version": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "dev": true,
+ "requires": {
+ "for-in": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz"
+ }
+ },
+ "foreach": {
+ "version": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz",
+ "integrity": "sha1-icNTQAi5fq2ky7FX1Y9vXfAl6uQ=",
+ "dev": true,
+ "requires": {
+ "asynckit": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz"
+ }
+ },
+ "fresh": {
+ "version": "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz",
+ "integrity": "sha1-lzHc9WeMf660T7kDxPct9VGH+nc=",
+ "dev": true
+ },
+ "fs-access": {
+ "version": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
+ "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
+ "dev": true,
+ "requires": {
+ "null-check": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz"
+ }
+ },
+ "fs-exists-sync": {
+ "version": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz",
+ "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=",
+ "dev": true
+ },
+ "fs.realpath": {
+ "version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.1.tgz",
+ "integrity": "sha1-8Z/Sj0Pur3YWgOUZogPE0LPTGv8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "nan": "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz",
+ "node-pre-gyp": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
+ "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=",
+ "dev": true,
+ "optional": true
+ },
+ "ansi-regex": {
+ "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true,
+ "optional": true
+ },
+ "aproba": {
+ "version": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz",
+ "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=",
+ "dev": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz",
+ "integrity": "sha1-gORw6VoIR5T+GJkmLFZnxuiN4bM=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "delegates": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"
+ }
+ },
+ "asn1": {
+ "version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
+ "dev": true,
+ "optional": true
+ },
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
+ "dev": true,
+ "optional": true
+ },
+ "asynckit": {
+ "version": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true,
+ "optional": true
+ },
+ "aws-sign2": {
+ "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
+ "dev": true,
+ "optional": true
+ },
+ "aws4": {
+ "version": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
+ "dev": true,
+ "optional": true
+ },
+ "balanced-match": {
+ "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+ "dev": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
+ }
+ },
+ "block-stream": {
+ "version": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+ "dev": true,
+ "requires": {
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
+ }
+ },
+ "boom": {
+ "version": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+ "dev": true,
+ "requires": {
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
+ }
+ },
+ "brace-expansion": {
+ "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz",
+ "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+ }
+ },
+ "buffer-shims": {
+ "version": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
+ "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=",
+ "dev": true
+ },
+ "caseless": {
+ "version": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
+ "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=",
+ "dev": true,
+ "optional": true
+ },
+ "chalk": {
+ "version": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "has-ansi": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
+ }
+ },
+ "code-point-at": {
+ "version": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
+ }
+ },
+ "commander": {
+ "version": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
+ }
+ },
+ "concat-map": {
+ "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "console-control-strings": {
+ "version": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "cryptiles": {
+ "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
+ }
+ },
+ "dashdash": {
+ "version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ }
+ },
+ "deep-extend": {
+ "version": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz",
+ "integrity": "sha1-7+QRPQgIX05vlod1mBD4B0aeIlM=",
+ "dev": true,
+ "optional": true
+ },
+ "delayed-stream": {
+ "version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true
+ },
+ "delegates": {
+ "version": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "dev": true,
+ "optional": true
+ },
+ "ecc-jsbn": {
+ "version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true,
+ "optional": true
+ },
+ "extend": {
+ "version": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
+ "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=",
+ "dev": true,
+ "optional": true
+ },
+ "extsprintf": {
+ "version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
+ "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=",
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true,
+ "optional": true
+ },
+ "form-data": {
+ "version": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz",
+ "integrity": "sha1-icNTQAi5fq2ky7FX1Y9vXfAl6uQ=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "asynckit": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz"
+ }
+ },
+ "fs.realpath": {
+ "version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fstream": {
+ "version": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
+ "integrity": "sha1-YE6Kkv4m/9n2+uMDmdSYThqyKCI=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz"
+ }
+ },
+ "fstream-ignore": {
+ "version": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
+ "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "fstream": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz"
+ }
+ },
+ "gauge": {
+ "version": "https://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz",
+ "integrity": "sha1-HCOFX5YvF7OtPQ3HRD8wRULt/gk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "aproba": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz",
+ "console-control-strings": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "has-unicode": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "wide-align": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz"
+ }
+ },
+ "generate-function": {
+ "version": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
+ "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=",
+ "dev": true,
+ "optional": true
+ },
+ "generate-object-property": {
+ "version": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-property": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
+ }
+ },
+ "getpass": {
+ "version": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz",
+ "integrity": "sha1-KD/9n8ElaECHUxHBtg6MQBhxEOY=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ },
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "graceful-readlink": {
+ "version": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
+ "dev": true,
+ "optional": true
+ },
+ "har-validator": {
+ "version": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
+ "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "commander": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "is-my-json-valid": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+ }
+ },
+ "has-ansi": {
+ "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
+ }
+ },
+ "has-unicode": {
+ "version": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "dev": true,
+ "optional": true
+ },
+ "hawk": {
+ "version": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "sntp": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
+ }
+ },
+ "hoek": {
+ "version": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
+ "dev": true
+ },
+ "http-signature": {
+ "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "jsprim": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz",
+ "sshpk": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz"
+ }
+ },
+ "inflight": {
+ "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ }
+ },
+ "inherits": {
+ "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "ini": {
+ "version": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+ "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=",
+ "dev": true,
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
+ }
+ },
+ "is-my-json-valid": {
+ "version": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz",
+ "integrity": "sha1-k27do8o8IR/ZjzstPgjaQ/eykVs=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "generate-function": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
+ "generate-object-property": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "jsonpointer": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ },
+ "is-property": {
+ "version": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+ "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
+ "dev": true,
+ "optional": true
+ },
+ "is-typedarray": {
+ "version": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true,
+ "optional": true
+ },
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isstream": {
+ "version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true,
+ "optional": true
+ },
+ "jodid25519": {
+ "version": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
+ "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
+ }
+ },
+ "jsbn": {
+ "version": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true,
+ "optional": true
+ },
+ "json-schema": {
+ "version": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true,
+ "optional": true
+ },
+ "json-stringify-safe": {
+ "version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true,
+ "optional": true
+ },
+ "jsonpointer": {
+ "version": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
+ "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
+ "dev": true,
+ "optional": true
+ },
+ "jsprim": {
+ "version": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz",
+ "integrity": "sha1-KnJW9wQSop7jZwqspiWZTE3P8lI=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
+ "json-schema": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "verror": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz"
+ }
+ },
+ "mime-db": {
+ "version": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz",
+ "integrity": "sha1-6v/NDk/Gk1z4E02iRuLmw1MFrf8=",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz",
+ "integrity": "sha1-9+99l1g/yvO30oK2+LVnnaselO4=",
+ "dev": true,
+ "requires": {
+ "mime-db": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz"
+ }
+ },
+ "minimatch": {
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
+ }
+ },
+ "minimist": {
+ "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "requires": {
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true,
+ "optional": true
+ },
+ "node-pre-gyp": {
+ "version": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz",
+ "integrity": "sha1-ZArFUZj2qSWXLgwWxKwmoDTV7Mk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "nopt": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "npmlog": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz",
+ "rc": "https://registry.npmjs.org/rc/-/rc-1.1.7.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "tar": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "tar-pack": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.3.0.tgz"
+ }
+ },
+ "nopt": {
+ "version": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz"
+ }
+ },
+ "npmlog": {
+ "version": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz",
+ "integrity": "sha1-0DlQ4OeM4VJ7om0qdZLpNIrD518=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "are-we-there-yet": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz",
+ "console-control-strings": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "gauge": "https://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz",
+ "set-blocking": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
+ }
+ },
+ "number-is-nan": {
+ "version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+ "dev": true,
+ "optional": true
+ },
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true,
+ "optional": true
+ },
+ "once": {
+ "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ }
+ },
+ "path-is-absolute": {
+ "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true,
+ "optional": true
+ },
+ "pinkie-promise": {
+ "version": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "pinkie": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
+ }
+ },
+ "process-nextick-args": {
+ "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
+ "dev": true
+ },
+ "punycode": {
+ "version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true,
+ "optional": true
+ },
+ "qs": {
+ "version": "https://registry.npmjs.org/qs/-/qs-6.3.1.tgz",
+ "integrity": "sha1-kYwLO802Z5dyuvE1say0wWUe150=",
+ "dev": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "https://registry.npmjs.org/rc/-/rc-1.1.7.tgz",
+ "integrity": "sha1-xepWS7B6/5/TpbMukGwdOmWUD+o=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "deep-extend": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz",
+ "ini": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+ "integrity": "sha1-qeb+w8fdqF+LsbO6cChgRVb8gl4=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "buffer-shims": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "request": {
+ "version": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
+ "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
+ "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "form-data": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz",
+ "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
+ "hawk": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz",
+ "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-6.3.1.tgz",
+ "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "tough-cookie": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
+ "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "uuid": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz"
+ }
+ },
+ "rimraf": {
+ "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz",
+ "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=",
+ "dev": true,
+ "requires": {
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz"
+ }
+ },
+ "semver": {
+ "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true,
+ "optional": true
+ },
+ "sntp": {
+ "version": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
+ }
+ },
+ "sshpk": {
+ "version": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz",
+ "integrity": "sha1-1agEziJpVRVjjnmNviMnPeBwpfo=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "asn1": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "bcrypt-pbkdf": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "dashdash": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "ecc-jsbn": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "getpass": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz",
+ "jodid25519": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
+ "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "string_decoder": {
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
+ }
+ },
+ "stringstream": {
+ "version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
+ "dev": true,
+ "optional": true
+ },
+ "strip-ansi": {
+ "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
+ }
+ },
+ "strip-json-comments": {
+ "version": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true,
+ "optional": true
+ },
+ "supports-color": {
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+ "dev": true,
+ "requires": {
+ "block-stream": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "fstream": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
+ }
+ },
+ "tar-pack": {
+ "version": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.3.0.tgz",
+ "integrity": "sha1-MJMYFkGPVa/E0hd1r91nIM7kXa4=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "fstream": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
+ "fstream-ignore": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz",
+ "tar": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "uid-number": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz"
+ },
+ "dependencies": {
+ "once": {
+ "version": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+ "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ }
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz",
+ "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "buffer-shims": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ }
+ }
+ },
+ "tough-cookie": {
+ "version": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
+ "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
+ }
+ },
+ "tunnel-agent": {
+ "version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
+ "dev": true,
+ "optional": true
+ },
+ "tweetnacl": {
+ "version": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true,
+ "optional": true
+ },
+ "uid-number": {
+ "version": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz",
+ "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=",
+ "dev": true,
+ "optional": true
+ },
+ "util-deprecate": {
+ "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "uuid": {
+ "version": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
+ "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=",
+ "dev": true,
+ "optional": true
+ },
+ "verror": {
+ "version": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
+ "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz"
+ }
+ },
+ "wide-align": {
+ "version": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz",
+ "integrity": "sha1-QO3egCpx/qHwcNo+YtzaLnrdlq0=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"
+ }
+ },
+ "wrappy": {
+ "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "xtend": {
+ "version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "fstream": {
+ "version": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
+ "integrity": "sha1-YE6Kkv4m/9n2+uMDmdSYThqyKCI=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz"
+ }
+ },
+ "function-bind": {
+ "version": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz",
+ "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=",
+ "dev": true
+ },
+ "gaia-tsort": {
+ "version": "https://registry.npmjs.org/gaia-tsort/-/gaia-tsort-0.1.0.tgz",
+ "integrity": "sha1-ye1GH/CW4SuGYt0GxB76YQHX6EA=",
+ "dev": true
+ },
+ "gauge": {
+ "version": "https://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz",
+ "integrity": "sha1-HCOFX5YvF7OtPQ3HRD8wRULt/gk=",
+ "dev": true,
+ "requires": {
+ "aproba": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz",
+ "console-control-strings": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "has-unicode": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "wide-align": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
+ }
+ },
+ "gaze": {
+ "version": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
+ "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=",
+ "dev": true,
+ "requires": {
+ "globule": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz"
+ }
+ },
+ "generate-function": {
+ "version": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
+ "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=",
+ "dev": true
+ },
+ "generate-object-property": {
+ "version": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
+ "dev": true,
+ "requires": {
+ "is-property": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
+ }
+ },
+ "get-caller-file": {
+ "version": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+ "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
+ "dev": true
+ },
+ "get-pkg-repo": {
+ "version": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.3.0.tgz",
+ "integrity": "sha1-Q8a0wEi3XdYE/FOI7ezeVX9jNd8=",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.2.0.tgz",
+ "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz",
+ "parse-github-repo-url": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ }
+ },
+ "get-stdin": {
+ "version": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "dev": true
+ },
+ "getpass": {
+ "version": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz",
+ "integrity": "sha1-KD/9n8ElaECHUxHBtg6MQBhxEOY=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "git-raw-commits": {
+ "version": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.1.2.tgz",
+ "integrity": "sha1-oS2Ekq66KIGALXAIJe2ByfOeby8=",
+ "dev": true,
+ "requires": {
+ "dargs": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz",
+ "lodash.template": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz",
+ "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "split2": "https://registry.npmjs.org/split2/-/split2-2.1.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ }
+ },
+ "git-remote-origin-url": {
+ "version": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz",
+ "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=",
+ "dev": true,
+ "requires": {
+ "gitconfiglocal": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
+ }
+ },
+ "git-semver-tags": {
+ "version": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-1.1.2.tgz",
+ "integrity": "sha1-rs+bGyRHprVI1IZH9T7boKyth58=",
+ "dev": true,
+ "requires": {
+ "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ }
+ }
+ },
+ "gitconfiglocal": {
+ "version": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz",
+ "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=",
+ "dev": true,
+ "requires": {
+ "ini": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz"
+ }
+ },
+ "github-url-from-git": {
+ "version": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.5.0.tgz",
+ "integrity": "sha1-+YX+3MCpqledyI16/waNVcxiUaA=",
+ "dev": true
+ },
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+ "dev": true,
+ "requires": {
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ },
+ "glob-base": {
+ "version": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "dev": true,
+ "requires": {
+ "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
+ }
+ },
+ "glob-parent": {
+ "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true,
+ "requires": {
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
+ }
+ },
+ "glob-stream": {
+ "version": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
+ "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=",
+ "dev": true,
+ "requires": {
+ "glob": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+ "glob2base": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "ordered-read-streams": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "unique-stream": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+ "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
+ "dev": true,
+ "requires": {
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
+ }
+ },
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
+ }
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ }
+ }
+ },
+ "glob-watcher": {
+ "version": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
+ "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=",
+ "dev": true,
+ "requires": {
+ "gaze": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz"
+ }
+ },
+ "glob2base": {
+ "version": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
+ "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=",
+ "dev": true,
+ "requires": {
+ "find-index": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz"
+ }
+ },
+ "global-modules": {
+ "version": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
+ "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
+ "dev": true,
+ "requires": {
+ "global-prefix": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
+ "is-windows": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz"
+ }
+ },
+ "global-prefix": {
+ "version": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
+ "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
+ "dev": true,
+ "requires": {
+ "homedir-polyfill": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+ "ini": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+ "is-windows": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz"
+ }
+ },
+ "globals": {
+ "version": "https://registry.npmjs.org/globals/-/globals-9.16.0.tgz",
+ "integrity": "sha1-Y+kDZYFx7C2fUbHTHeXiuNwB+4A=",
+ "dev": true
+ },
+ "globby": {
+ "version": "https://registry.npmjs.org/globby/-/globby-2.1.0.tgz",
+ "integrity": "sha1-npGSvNM/Srak+JTl5+qLcTITxII=",
+ "dev": true,
+ "requires": {
+ "array-union": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz"
+ }
+ },
+ "globule": {
+ "version": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
+ "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=",
+ "dev": true,
+ "requires": {
+ "glob": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
+ "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"
+ }
+ },
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
+ "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
+ "dev": true
+ },
+ "inherits": {
+ "version": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
+ "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
+ "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+ "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+ "sigmund": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
+ }
+ }
+ }
+ },
+ "glogg": {
+ "version": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz",
+ "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=",
+ "dev": true,
+ "requires": {
+ "sparkles": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz"
+ }
+ },
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "graceful-readlink": {
+ "version": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
+ "dev": true
+ },
+ "growly": {
+ "version": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
+ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
+ "dev": true
+ },
+ "gulp": {
+ "version": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
+ "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=",
+ "dev": true,
+ "requires": {
+ "archy": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "deprecated": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "interpret": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz",
+ "liftoff": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "orchestrator": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
+ "pretty-hrtime": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "tildify": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
+ "v8flags": "https://registry.npmjs.org/v8flags/-/v8flags-2.0.11.tgz",
+ "vinyl-fs": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "gulp-babel": {
+ "version": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-6.1.2.tgz",
+ "integrity": "sha1-fAF25Lo/JExgWIoMSzIKRdGt784=",
+ "dev": true,
+ "requires": {
+ "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.23.1.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl-sourcemaps-apply": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
+ }
+ },
+ "gulp-bump": {
+ "version": "https://registry.npmjs.org/gulp-bump/-/gulp-bump-2.7.0.tgz",
+ "integrity": "sha1-TDdQvOk8XYFv6aFU5mGd1QmoUtg=",
+ "dev": true,
+ "requires": {
+ "bump-regex": "https://registry.npmjs.org/bump-regex/-/bump-regex-2.7.0.tgz",
+ "plugin-error": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
+ "plugin-log": "https://registry.npmjs.org/plugin-log/-/plugin-log-0.1.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ }
+ }
+ },
+ "gulp-changed": {
+ "version": "https://registry.npmjs.org/gulp-changed/-/gulp-changed-1.3.2.tgz",
+ "integrity": "sha1-nvyNMl+YBcx2aP3059YNSxQQ8s8=",
+ "dev": true,
+ "requires": {
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ }
+ },
+ "gulp-concat": {
+ "version": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
+ "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
+ "dev": true,
+ "requires": {
+ "concat-with-sourcemaps": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.4.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-2.0.1.tgz"
+ },
+ "dependencies": {
+ "clone-stats": {
+ "version": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
+ "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
+ "dev": true
+ },
+ "replace-ext": {
+ "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+ "dev": true
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-2.0.1.tgz",
+ "integrity": "sha1-HDtJMeesTB7+50PzuRp0wJRAe7Y=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+ "clone-buffer": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
+ "cloneable-readable": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.0.0.tgz",
+ "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "remove-trailing-separator": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz"
+ }
+ }
+ }
+ },
+ "gulp-eslint": {
+ "version": "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-3.0.1.tgz",
+ "integrity": "sha1-BOV+PhjGl0JnwSz2hV3HF9SjE70=",
+ "dev": true,
+ "requires": {
+ "bufferstreams": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.1.1.tgz",
+ "eslint": "https://registry.npmjs.org/eslint/-/eslint-3.17.1.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz"
+ }
+ },
+ "gulp-htmlmin": {
+ "version": "https://registry.npmjs.org/gulp-htmlmin/-/gulp-htmlmin-3.0.0.tgz",
+ "integrity": "sha1-GeqAAtEjHWsfGKEtIPKmand3D7M=",
+ "dev": true,
+ "requires": {
+ "bufferstreams": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.1.1.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "html-minifier": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.4.0.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "tryit": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz"
+ },
+ "dependencies": {
+ "camel-case": {
+ "version": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
+ "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+ "dev": true,
+ "requires": {
+ "no-case": "https://registry.npmjs.org/no-case/-/no-case-2.3.1.tgz",
+ "upper-case": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz"
+ }
+ },
+ "clean-css": {
+ "version": "https://registry.npmjs.org/clean-css/-/clean-css-4.0.8.tgz",
+ "integrity": "sha1-Bj39WTQE06PR20lNS20PN4sHgbY=",
+ "dev": true,
+ "requires": {
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+ }
+ },
+ "commander": {
+ "version": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
+ "dev": true,
+ "requires": {
+ "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
+ }
+ },
+ "he": {
+ "version": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
+ "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
+ "dev": true
+ },
+ "html-minifier": {
+ "version": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.4.0.tgz",
+ "integrity": "sha1-gPI2tzdNcPAX/sqsQtN7sRcNKXU=",
+ "dev": true,
+ "requires": {
+ "camel-case": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
+ "clean-css": "https://registry.npmjs.org/clean-css/-/clean-css-4.0.8.tgz",
+ "commander": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "he": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
+ "ncname": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz",
+ "param-case": "https://registry.npmjs.org/param-case/-/param-case-2.1.0.tgz",
+ "relateurl": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "uglify-js": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.8.tgz"
+ }
+ },
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "param-case": {
+ "version": "https://registry.npmjs.org/param-case/-/param-case-2.1.0.tgz",
+ "integrity": "sha1-Jhn5D9bIKe0LlY8chO0Dp0Wm1wo=",
+ "dev": true,
+ "requires": {
+ "no-case": "https://registry.npmjs.org/no-case/-/no-case-2.3.1.tgz"
+ }
+ },
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "uglify-js": {
+ "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.8.tgz",
+ "integrity": "sha1-GlzRRetSi2BvorhuV4iFJytZfNc=",
+ "dev": true,
+ "requires": {
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "uglify-to-browserify": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "yargs": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz"
+ }
+ },
+ "yargs": {
+ "version": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "dev": true,
+ "requires": {
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "cliui": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "window-size": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz"
+ }
+ }
+ }
+ },
+ "gulp-merge": {
+ "version": "https://registry.npmjs.org/gulp-merge/-/gulp-merge-0.1.1.tgz",
+ "integrity": "sha1-pGLuARd6jqfEYPDqia1ULsdSujc=",
+ "dev": true,
+ "requires": {
+ "through2": "https://registry.npmjs.org/through2/-/through2-1.1.1.tgz"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-1.1.1.tgz",
+ "integrity": "sha1-CEfLxESfNAVXTb3M2buEG4OsNUU=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ }
+ }
+ },
+ "gulp-notify": {
+ "version": "https://registry.npmjs.org/gulp-notify/-/gulp-notify-2.2.0.tgz",
+ "integrity": "sha1-BGyChcKS6X7tThWgCcJsu+XO8TU=",
+ "dev": true,
+ "requires": {
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "lodash.template": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+ "node-notifier": "https://registry.npmjs.org/node-notifier/-/node-notifier-4.6.1.tgz",
+ "node.extend": "https://registry.npmjs.org/node.extend/-/node.extend-1.1.6.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "lodash.template": {
+ "version": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+ "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
+ "dev": true,
+ "requires": {
+ "lodash._basecopy": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "lodash._basetostring": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+ "lodash._basevalues": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+ "lodash._isiterateecall": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "lodash.restparam": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "lodash.templatesettings": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz"
+ }
+ },
+ "lodash.templatesettings": {
+ "version": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
+ "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz"
+ }
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ }
+ }
+ },
+ "gulp-plumber": {
+ "version": "https://registry.npmjs.org/gulp-plumber/-/gulp-plumber-1.1.0.tgz",
+ "integrity": "sha1-8SF2wtBCL2AwbCQv/2oBo5T6ugk=",
+ "dev": true,
+ "requires": {
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ }
+ },
+ "gulp-sass": {
+ "version": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-3.1.0.tgz",
+ "integrity": "sha1-U9xLaKH13f5EJKtMJHZVJpqLdLc=",
+ "dev": true,
+ "requires": {
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "lodash.clonedeep": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "node-sass": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl-sourcemaps-apply": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz"
+ },
+ "dependencies": {
+ "lodash.clonedeep": {
+ "version": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+ "dev": true
+ }
+ }
+ },
+ "gulp-server-livereload": {
+ "version": "https://registry.npmjs.org/gulp-server-livereload/-/gulp-server-livereload-1.9.2.tgz",
+ "integrity": "sha1-PbIn80Y8/k8pv2WgE7qhYuKnQMY=",
+ "dev": true,
+ "requires": {
+ "commander": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
+ "connect": "https://registry.npmjs.org/connect/-/connect-3.1.1.tgz",
+ "connect-inject": "https://registry.npmjs.org/connect-inject/-/connect-inject-0.3.2.tgz",
+ "glogg": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "gulplog": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "node-watch": "https://registry.npmjs.org/node-watch/-/node-watch-0.3.5.tgz",
+ "node.extend": "https://registry.npmjs.org/node.extend/-/node.extend-1.0.10.tgz",
+ "open": "https://registry.npmjs.org/open/-/open-0.0.5.tgz",
+ "proxy-middleware": "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz",
+ "serve-index": "https://registry.npmjs.org/serve-index/-/serve-index-1.1.6.tgz",
+ "serve-static": "https://registry.npmjs.org/serve-static/-/serve-static-1.5.4.tgz",
+ "socket.io": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
+ "vinyl-fs": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-1.0.0.tgz"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
+ "dev": true
+ },
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+ "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
+ "dev": true,
+ "requires": {
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
+ }
+ },
+ "glob-stream": {
+ "version": "https://registry.npmjs.org/glob-stream/-/glob-stream-4.1.1.tgz",
+ "integrity": "sha1-uELfENaIx+trz869hG84UilrMgA=",
+ "dev": true,
+ "requires": {
+ "glob": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+ "glob2base": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "ordered-read-streams": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "unique-stream": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz"
+ },
+ "dependencies": {
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ },
+ "xtend": {
+ "version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ }
+ }
+ },
+ "glob-watcher": {
+ "version": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.8.tgz",
+ "integrity": "sha1-aK62Yefizo02NDgbLsQV8AxrwqQ=",
+ "dev": true,
+ "requires": {
+ "gaze": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz"
+ }
+ },
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
+ "dev": true,
+ "requires": {
+ "natives": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz"
+ }
+ },
+ "is": {
+ "version": "https://registry.npmjs.org/is/-/is-0.3.0.tgz",
+ "integrity": "sha1-qPcd/IpuKDcWJ/JskpCYxvTV1dc=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
+ }
+ },
+ "node.extend": {
+ "version": "https://registry.npmjs.org/node.extend/-/node.extend-1.0.10.tgz",
+ "integrity": "sha1-Mmm934HFRTX0CKvHhMMrDSvVX28=",
+ "dev": true,
+ "requires": {
+ "is": "https://registry.npmjs.org/is/-/is-0.3.0.tgz"
+ }
+ },
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+ "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "strip-bom": {
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
+ "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=",
+ "dev": true,
+ "requires": {
+ "first-chunk-stream": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
+ }
+ },
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
+ "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz"
+ }
+ },
+ "unique-stream": {
+ "version": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
+ "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
+ "dev": true,
+ "requires": {
+ "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "through2-filter": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz"
+ }
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+ "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
+ }
+ },
+ "vinyl-fs": {
+ "version": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-1.0.0.tgz",
+ "integrity": "sha1-0VdS5owtrXQ2Tn6FNHNzU1RpLt8=",
+ "dev": true,
+ "requires": {
+ "duplexify": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz",
+ "glob-stream": "https://registry.npmjs.org/glob-stream/-/glob-stream-4.1.1.tgz",
+ "glob-watcher": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.8.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "merge-stream": "https://registry.npmjs.org/merge-stream/-/merge-stream-0.1.8.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz"
+ },
+ "dependencies": {
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ },
+ "xtend": {
+ "version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ }
+ }
+ },
+ "xtend": {
+ "version": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
+ "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
+ "dev": true
+ }
+ }
+ },
+ "gulp-sourcemaps": {
+ "version": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.4.1.tgz",
+ "integrity": "sha1-j2XcXA0Hsv1ciLxg7H8T5WcWv3Q=",
+ "dev": true,
+ "requires": {
+ "acorn": "https://registry.npmjs.org/acorn/-/acorn-4.0.4.tgz",
+ "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.4.0.tgz",
+ "css": "https://registry.npmjs.org/css/-/css-2.2.1.tgz",
+ "debug-fabulous": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-0.0.4.tgz",
+ "detect-newline": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz"
+ },
+ "dependencies": {
+ "strip-bom": {
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+ }
+ }
+ }
+ },
+ "gulp-util": {
+ "version": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
+ "dev": true,
+ "requires": {
+ "array-differ": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+ "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "beeper": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "dateformat": "https://registry.npmjs.org/dateformat/-/dateformat-2.0.0.tgz",
+ "fancy-log": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz",
+ "gulplog": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+ "has-gulplog": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+ "lodash._reescape": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+ "lodash._reevaluate": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "lodash.template": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "multipipe": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz"
+ },
+ "dependencies": {
+ "dateformat": {
+ "version": "https://registry.npmjs.org/dateformat/-/dateformat-2.0.0.tgz",
+ "integrity": "sha1-J0Pjq7XD/CRi5SfcpEXgTp9N7hc=",
+ "dev": true
+ },
+ "lodash.template": {
+ "version": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+ "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
+ "dev": true,
+ "requires": {
+ "lodash._basecopy": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "lodash._basetostring": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+ "lodash._basevalues": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+ "lodash._isiterateecall": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "lodash.restparam": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "lodash.templatesettings": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz"
+ }
+ },
+ "lodash.templatesettings": {
+ "version": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
+ "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz"
+ }
+ },
+ "minimist": {
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "gulp-watch": {
+ "version": "https://registry.npmjs.org/gulp-watch/-/gulp-watch-4.3.11.tgz",
+ "integrity": "sha1-Fi/FY96fx3DpH5p845VVE6mhGMA=",
+ "dev": true,
+ "requires": {
+ "anymatch": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
+ "chokidar": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz",
+ "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.3.tgz",
+ "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "vinyl-file": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "requires": {
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "path-dirname": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz"
+ }
+ },
+ "is-extglob": {
+ "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
+ }
+ },
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.3.tgz",
+ "integrity": "sha1-nPSUY5hd8BbIrogTCXqSk6mzNyk=",
+ "dev": true,
+ "requires": {
+ "buffer-shims": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+ }
+ }
+ }
+ },
+ "gulplog": {
+ "version": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+ "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
+ "dev": true,
+ "requires": {
+ "glogg": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz"
+ }
+ },
+ "handlebars": {
+ "version": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.6.tgz",
+ "integrity": "sha1-LORISFBTf5yXqAJtU5m5NcTtTtc=",
+ "dev": true,
+ "requires": {
+ "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "uglify-js": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz"
+ }
+ },
+ "har-schema": {
+ "version": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
+ "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+ "dev": true,
+ "requires": {
+ "ajv": "https://registry.npmjs.org/ajv/-/ajv-4.11.4.tgz",
+ "har-schema": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz"
+ }
+ },
+ "has-ansi": {
+ "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
+ }
+ },
+ "has-binary": {
+ "version": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
+ "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=",
+ "dev": true,
+ "requires": {
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ }
+ }
+ },
+ "has-cors": {
+ "version": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+ "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "has-gulplog": {
+ "version": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+ "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
+ "dev": true,
+ "requires": {
+ "sparkles": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz"
+ }
+ },
+ "has-unicode": {
+ "version": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "dev": true
+ },
+ "hawk": {
+ "version": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+ "dev": true,
+ "requires": {
+ "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "sntp": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
+ }
+ },
+ "he": {
+ "version": "https://registry.npmjs.org/he/-/he-1.0.0.tgz",
+ "integrity": "sha1-baWyZdfyw7XkgHSRaODhWdBXKNo=",
+ "dev": true
+ },
+ "hoek": {
+ "version": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
+ "dev": true
+ },
+ "home-or-tmp": {
+ "version": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
+ }
+ },
+ "homedir-polyfill": {
+ "version": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+ "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
+ "dev": true,
+ "requires": {
+ "parse-passwd": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz"
+ }
+ },
+ "hosted-git-info": {
+ "version": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.2.0.tgz",
+ "integrity": "sha1-eg0JeGPYhsD6u9zTe/F1jYvs+KU=",
+ "dev": true
+ },
+ "html-minifier": {
+ "version": "https://registry.npmjs.org/html-minifier/-/html-minifier-1.5.0.tgz",
+ "integrity": "sha1-vrBf2cw0CUWGXBD0Cu30aa9LFTQ=",
+ "dev": true,
+ "requires": {
+ "change-case": "https://registry.npmjs.org/change-case/-/change-case-2.3.1.tgz",
+ "clean-css": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.25.tgz",
+ "commander": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+ "he": "https://registry.npmjs.org/he/-/he-1.0.0.tgz",
+ "ncname": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz",
+ "relateurl": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "uglify-js": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
+ "dev": true,
+ "requires": {
+ "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
+ }
+ }
+ }
+ },
+ "http-errors": {
+ "version": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz",
+ "integrity": "sha1-X4uO2YrKVFZWv1cplzh/kEpyIlc=",
+ "dev": true,
+ "requires": {
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "setprototypeof": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz"
+ },
+ "dependencies": {
+ "depd": {
+ "version": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
+ "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=",
+ "dev": true
+ }
+ }
+ },
+ "http-proxy": {
+ "version": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz",
+ "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=",
+ "dev": true,
+ "requires": {
+ "eventemitter3": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
+ "requires-port": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz"
+ }
+ },
+ "http-signature": {
+ "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "jsprim": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz",
+ "sshpk": "https://registry.npmjs.org/sshpk/-/sshpk-1.11.0.tgz"
+ }
+ },
+ "iconv-lite": {
+ "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
+ "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=",
+ "dev": true
+ },
+ "ignore": {
+ "version": "https://registry.npmjs.org/ignore/-/ignore-3.2.4.tgz",
+ "integrity": "sha1-QFXgNZZymo+r5FpDwQCtXtgVxOg=",
+ "dev": true
+ },
+ "imurmurhash": {
+ "version": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "in-publish": {
+ "version": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
+ "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "dev": true,
+ "requires": {
+ "repeating": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz"
+ }
+ },
+ "indexof": {
+ "version": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ }
+ },
+ "inherits": {
+ "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "ini": {
+ "version": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+ "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=",
+ "dev": true
+ },
+ "inquirer": {
+ "version": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz",
+ "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "cli-cursor": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
+ "cli-width": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz",
+ "figures": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "readline2": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
+ "run-async": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
+ "rx-lite": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ }
+ }
+ },
+ "interpret": {
+ "version": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz",
+ "integrity": "sha1-1Xn7f2k7hYAElHrzn6DbSfeVYCw=",
+ "dev": true
+ },
+ "invariant": {
+ "version": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
+ "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz"
+ }
+ },
+ "invert-kv": {
+ "version": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "dev": true
+ },
+ "is": {
+ "version": "https://registry.npmjs.org/is/-/is-3.2.1.tgz",
+ "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU=",
+ "dev": true
+ },
+ "is-absolute": {
+ "version": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz",
+ "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=",
+ "dev": true,
+ "requires": {
+ "is-relative": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz",
+ "is-windows": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz"
+ }
+ },
+ "is-arrayish": {
+ "version": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz"
+ }
+ },
+ "is-buffer": {
+ "version": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz",
+ "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys=",
+ "dev": true
+ },
+ "is-builtin-module": {
+ "version": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz"
+ }
+ },
+ "is-dotfile": {
+ "version": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz",
+ "integrity": "sha1-LBMjg/ORmfjtwmjKAbmwB9IFzE0=",
+ "dev": true
+ },
+ "is-equal-shallow": {
+ "version": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "dev": true,
+ "requires": {
+ "is-primitive": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz"
+ }
+ },
+ "is-extendable": {
+ "version": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-finite": {
+ "version": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
+ }
+ },
+ "is-glob": {
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
+ }
+ },
+ "is-lower-case": {
+ "version": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz",
+ "integrity": "sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=",
+ "dev": true,
+ "requires": {
+ "lower-case": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz"
+ }
+ },
+ "is-my-json-valid": {
+ "version": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz",
+ "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=",
+ "dev": true,
+ "requires": {
+ "generate-function": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
+ "generate-object-property": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "jsonpointer": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ },
+ "is-number": {
+ "version": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz"
+ }
+ },
+ "is-obj": {
+ "version": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
+ "is-path-cwd": {
+ "version": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+ "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
+ "dev": true
+ },
+ "is-path-in-cwd": {
+ "version": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
+ "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=",
+ "dev": true,
+ "requires": {
+ "is-path-inside": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz"
+ }
+ },
+ "is-path-inside": {
+ "version": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz",
+ "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=",
+ "dev": true,
+ "requires": {
+ "path-is-inside": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz"
+ }
+ },
+ "is-posix-bracket": {
+ "version": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+ "dev": true
+ },
+ "is-primitive": {
+ "version": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+ "dev": true
+ },
+ "is-property": {
+ "version": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+ "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
+ "dev": true
+ },
+ "is-relative": {
+ "version": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz",
+ "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=",
+ "dev": true,
+ "requires": {
+ "is-unc-path": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz"
+ }
+ },
+ "is-resolvable": {
+ "version": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz",
+ "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=",
+ "dev": true,
+ "requires": {
+ "tryit": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz"
+ }
+ },
+ "is-stream": {
+ "version": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-subset": {
+ "version": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz",
+ "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=",
+ "dev": true
+ },
+ "is-text-path": {
+ "version": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz",
+ "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=",
+ "dev": true,
+ "requires": {
+ "text-extensions": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.4.0.tgz"
+ }
+ },
+ "is-typedarray": {
+ "version": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "is-unc-path": {
+ "version": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz",
+ "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=",
+ "dev": true,
+ "requires": {
+ "unc-path-regex": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz"
+ }
+ },
+ "is-upper-case": {
+ "version": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz",
+ "integrity": "sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=",
+ "dev": true,
+ "requires": {
+ "upper-case": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz"
+ }
+ },
+ "is-utf8": {
+ "version": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "is-windows": {
+ "version": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
+ "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isbinaryfile": {
+ "version": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
+ "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=",
+ "dev": true
+ },
+ "isexe": {
+ "version": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz",
+ "integrity": "sha1-NvPiLmB1CSD15yQaR2qMakInWtA=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
+ }
+ },
+ "isstream": {
+ "version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
+ "istanbul": {
+ "version": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
+ "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
+ "dev": true,
+ "requires": {
+ "abbrev": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
+ "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "escodegen": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "handlebars": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.6.tgz",
+ "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.2.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "nopt": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz",
+ "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
+ "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
+ "dev": true
+ },
+ "esprima": {
+ "version": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz"
+ }
+ },
+ "wordwrap": {
+ "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "dev": true
+ }
+ }
+ },
+ "istanbul-lib-coverage": {
+ "version": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.1.tgz",
+ "integrity": "sha1-8mPvtRnAUcXx8zQwNPxA57Q/8hI=",
+ "dev": true
+ },
+ "istanbul-lib-instrument": {
+ "version": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.4.2.tgz",
+ "integrity": "sha1-Di/frJPB2r8uMVeGN9x4oZCJ9D4=",
+ "dev": true,
+ "requires": {
+ "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.23.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.16.1.tgz",
+ "istanbul-lib-coverage": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.1.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ }
+ }
+ },
+ "jasmine-core": {
+ "version": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.5.2.tgz",
+ "integrity": "sha1-b2G9eQYeJ/Q+b5NV5Es8bKtv8pc=",
+ "dev": true
+ },
+ "jodid25519": {
+ "version": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
+ "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
+ }
+ },
+ "js-tokens": {
+ "version": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz",
+ "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.2.tgz",
+ "integrity": "sha1-AtPiwPa+qyAkjUEsNSIDgn14ZyE=",
+ "dev": true,
+ "requires": {
+ "argparse": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz"
+ }
+ },
+ "jsbn": {
+ "version": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true,
+ "optional": true
+ },
+ "jsesc": {
+ "version": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+ "dev": true
+ },
+ "json-schema": {
+ "version": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
+ "json-stable-stringify": {
+ "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "requires": {
+ "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
+ }
+ },
+ "json-stringify-safe": {
+ "version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
+ "json3": {
+ "version": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
+ "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
+ "dev": true
+ },
+ "json5": {
+ "version": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+ "dev": true
+ },
+ "jsonify": {
+ "version": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
+ "jsonparse": {
+ "version": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.0.tgz",
+ "integrity": "sha1-hfwkWx2SWazGlBlguQWt9k594Og=",
+ "dev": true
+ },
+ "jsonpointer": {
+ "version": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
+ "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
+ "dev": true
+ },
+ "JSONStream": {
+ "version": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz",
+ "integrity": "sha1-cH92HgHa6eFvG8+TcDt4xwlmV5o=",
+ "dev": true,
+ "requires": {
+ "jsonparse": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.0.tgz",
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+ }
+ },
+ "jspm": {
+ "version": "https://registry.npmjs.org/jspm/-/jspm-0.16.52.tgz",
+ "integrity": "sha1-axhH4I8TGsm9JnzFiXSXmudnXS4=",
+ "dev": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "core-js": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "jspm-github": "https://registry.npmjs.org/jspm-github/-/jspm-github-0.13.17.tgz",
+ "jspm-npm": "https://registry.npmjs.org/jspm-npm/-/jspm-npm-0.26.13.tgz",
+ "jspm-registry": "https://registry.npmjs.org/jspm-registry/-/jspm-registry-0.4.3.tgz",
+ "liftoff": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "ncp": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
+ "proper-lockfile": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-1.2.0.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.80.0.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
+ "rsvp": "https://registry.npmjs.org/rsvp/-/rsvp-3.4.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "systemjs": "https://registry.npmjs.org/systemjs/-/systemjs-0.19.46.tgz",
+ "systemjs-builder": "https://registry.npmjs.org/systemjs-builder/-/systemjs-builder-0.15.35.tgz",
+ "traceur": "https://registry.npmjs.org/traceur/-/traceur-0.0.105.tgz",
+ "uglify-js": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+ "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
+ "dev": true
+ },
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
+ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
+ "dev": true,
+ "requires": {
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ },
+ "semver": {
+ "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ }
+ }
+ },
+ "jspm-github": {
+ "version": "https://registry.npmjs.org/jspm-github/-/jspm-github-0.13.17.tgz",
+ "integrity": "sha1-KBtJGcBIdH9Eye63G1CulOKTln4=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "netrc": "https://registry.npmjs.org/netrc/-/netrc-0.1.4.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.80.0.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
+ "rsvp": "https://registry.npmjs.org/rsvp/-/rsvp-3.4.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "tar": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz",
+ "yauzl": "https://registry.npmjs.org/yauzl/-/yauzl-2.7.0.tgz"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ }
+ }
+ },
+ "jspm-npm": {
+ "version": "https://registry.npmjs.org/jspm-npm/-/jspm-npm-0.26.13.tgz",
+ "integrity": "sha1-H+nOhy+CdpeWCFwzgA1PFozAbX8=",
+ "dev": true,
+ "requires": {
+ "buffer-peek-stream": "https://registry.npmjs.org/buffer-peek-stream/-/buffer-peek-stream-1.0.1.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.80.0.tgz",
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.3.2.tgz",
+ "rsvp": "https://registry.npmjs.org/rsvp/-/rsvp-3.4.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "systemjs-builder": "https://registry.npmjs.org/systemjs-builder/-/systemjs-builder-0.15.35.tgz",
+ "tar": "https://registry.npmjs.org/tar/-/tar-1.0.3.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ },
+ "tar": {
+ "version": "https://registry.npmjs.org/tar/-/tar-1.0.3.tgz",
+ "integrity": "sha1-FbzaskT6St1E5CRKAXbtuKqaK0Q=",
+ "dev": true,
+ "requires": {
+ "block-stream": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "fstream": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
+ }
+ }
+ }
+ },
+ "jspm-registry": {
+ "version": "https://registry.npmjs.org/jspm-registry/-/jspm-registry-0.4.3.tgz",
+ "integrity": "sha1-Sp4GVQrv+uhiT0C/G0IQB1AnHGc=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
+ "rsvp": "https://registry.npmjs.org/rsvp/-/rsvp-3.4.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz"
+ }
+ },
+ "jsprim": {
+ "version": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz",
+ "integrity": "sha1-KnJW9wQSop7jZwqspiWZTE3P8lI=",
+ "dev": true,
+ "requires": {
+ "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
+ "json-schema": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "verror": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz"
+ }
+ },
+ "karma": {
+ "version": "https://registry.npmjs.org/karma/-/karma-1.5.0.tgz",
+ "integrity": "sha1-nEwU8EAL7ywEyOjmv/WTcQJcwAk=",
+ "dev": true,
+ "requires": {
+ "bluebird": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz",
+ "body-parser": "https://registry.npmjs.org/body-parser/-/body-parser-1.17.1.tgz",
+ "chokidar": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz",
+ "colors": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "combine-lists": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
+ "connect": "https://registry.npmjs.org/connect/-/connect-3.6.0.tgz",
+ "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+ "di": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+ "dom-serialize": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+ "expand-braces": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "http-proxy": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz",
+ "isbinaryfile": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "log4js": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz",
+ "mime": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "qjobs": "https://registry.npmjs.org/qjobs/-/qjobs-1.1.5.tgz",
+ "range-parser": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
+ "socket.io": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "tmp": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz",
+ "useragent": "https://registry.npmjs.org/useragent/-/useragent-2.1.12.tgz"
+ },
+ "dependencies": {
+ "bluebird": {
+ "version": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz",
+ "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=",
+ "dev": true
+ },
+ "colors": {
+ "version": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "dev": true
+ },
+ "connect": {
+ "version": "https://registry.npmjs.org/connect/-/connect-3.6.0.tgz",
+ "integrity": "sha1-8JpPfc0XMktmO3JcgVvbHEFYpG4=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz",
+ "finalhandler": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.0.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
+ "utils-merge": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz"
+ }
+ },
+ "ee-first": {
+ "version": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+ "dev": true
+ },
+ "escape-html": {
+ "version": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+ "dev": true
+ },
+ "finalhandler": {
+ "version": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.0.tgz",
+ "integrity": "sha1-tWkcLAkSCS8YrCPpQWveXNfcZ1U=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz",
+ "encodeurl": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
+ "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
+ "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
+ }
+ },
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ },
+ "mime": {
+ "version": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
+ "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=",
+ "dev": true
+ },
+ "on-finished": {
+ "version": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "dev": true,
+ "requires": {
+ "ee-first": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
+ }
+ },
+ "range-parser": {
+ "version": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "karma-babel-preprocessor": {
+ "version": "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-6.0.1.tgz",
+ "integrity": "sha1-euHT5klQ2+EfQht0BAqwj7WmbCE=",
+ "dev": true,
+ "requires": {
+ "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.23.1.tgz"
+ }
+ },
+ "karma-chrome-launcher": {
+ "version": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.0.0.tgz",
+ "integrity": "sha1-wnkMWjKxVXfQ//Wk1aJwOztDnCU=",
+ "dev": true,
+ "requires": {
+ "fs-access": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz"
+ }
+ },
+ "karma-coverage": {
+ "version": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.1.tgz",
+ "integrity": "sha1-Wv+LOc9plNwi3kyENix2ABtjfPY=",
+ "dev": true,
+ "requires": {
+ "dateformat": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+ "istanbul": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "karma-jasmine": {
+ "version": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.0.tgz",
+ "integrity": "sha1-IuTAa/mhguUpTR9wXjczgRuBCs8=",
+ "dev": true
+ },
+ "karma-jspm": {
+ "version": "https://registry.npmjs.org/karma-jspm/-/karma-jspm-2.2.0.tgz",
+ "integrity": "sha1-zo6qcwiW4Llas2Rbm47Fs6HEGac=",
+ "dev": true,
+ "requires": {
+ "glob": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
+ "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
+ "dev": true,
+ "requires": {
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz"
+ }
+ },
+ "minimatch": {
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+ "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+ "sigmund": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz",
+ "integrity": "sha1-R11pil5J/15T0U4+cyQp3Iv0z0c=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz"
+ }
+ },
+ "lazy-cache": {
+ "version": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+ "dev": true
+ },
+ "lazy-debug-legacy": {
+ "version": "https://registry.npmjs.org/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz",
+ "integrity": "sha1-U3cWwHduTPeePtG2IfdljCkRsbE=",
+ "dev": true
+ },
+ "lcid": {
+ "version": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz"
+ }
+ },
+ "levn": {
+ "version": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz"
+ }
+ },
+ "liftoff": {
+ "version": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz",
+ "integrity": "sha1-qY8v9nGD2Lp8+soQVIvX/wVQs4U=",
+ "dev": true,
+ "requires": {
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
+ "findup-sync": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz",
+ "fined": "https://registry.npmjs.org/fined/-/fined-1.0.2.tgz",
+ "flagged-respawn": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz",
+ "lodash.isplainobject": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "lodash.isstring": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+ "lodash.mapvalues": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
+ "rechoir": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.3.2.tgz"
+ }
+ },
+ "load-json-file": {
+ "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
+ }
+ },
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+ "dev": true
+ },
+ "lodash._arraycopy": {
+ "version": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
+ "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=",
+ "dev": true
+ },
+ "lodash._arrayeach": {
+ "version": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz",
+ "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=",
+ "dev": true
+ },
+ "lodash._baseassign": {
+ "version": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
+ "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
+ "dev": true,
+ "requires": {
+ "lodash._basecopy": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz"
+ }
+ },
+ "lodash._baseclone": {
+ "version": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
+ "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=",
+ "dev": true,
+ "requires": {
+ "lodash._arraycopy": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
+ "lodash._arrayeach": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz",
+ "lodash._baseassign": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
+ "lodash._basefor": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz",
+ "lodash.isarray": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz"
+ }
+ },
+ "lodash._basecopy": {
+ "version": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
+ "dev": true
+ },
+ "lodash._basefor": {
+ "version": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz",
+ "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=",
+ "dev": true
+ },
+ "lodash._basetostring": {
+ "version": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+ "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
+ "dev": true
+ },
+ "lodash._basevalues": {
+ "version": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+ "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
+ "dev": true
+ },
+ "lodash._bindcallback": {
+ "version": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
+ "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=",
+ "dev": true
+ },
+ "lodash._getnative": {
+ "version": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
+ "dev": true
+ },
+ "lodash._isiterateecall": {
+ "version": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
+ "dev": true
+ },
+ "lodash._reescape": {
+ "version": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+ "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
+ "dev": true
+ },
+ "lodash._reevaluate": {
+ "version": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+ "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
+ "dev": true
+ },
+ "lodash._reinterpolate": {
+ "version": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
+ "dev": true
+ },
+ "lodash._root": {
+ "version": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
+ "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
+ "dev": true
+ },
+ "lodash.assign": {
+ "version": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
+ "dev": true
+ },
+ "lodash.assignwith": {
+ "version": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz",
+ "integrity": "sha1-EnqX8CrcQXUalU0ksN4X4QDgOOs=",
+ "dev": true
+ },
+ "lodash.clonedeep": {
+ "version": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz",
+ "integrity": "sha1-oKHkDYKl6on/WxR7hETtY9koJ9s=",
+ "dev": true,
+ "requires": {
+ "lodash._baseclone": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
+ "lodash._bindcallback": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz"
+ }
+ },
+ "lodash.escape": {
+ "version": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+ "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
+ "dev": true,
+ "requires": {
+ "lodash._root": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz"
+ }
+ },
+ "lodash.isarguments": {
+ "version": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
+ "dev": true
+ },
+ "lodash.isarray": {
+ "version": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
+ "dev": true
+ },
+ "lodash.isempty": {
+ "version": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz",
+ "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=",
+ "dev": true
+ },
+ "lodash.isplainobject": {
+ "version": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
+ "dev": true
+ },
+ "lodash.isstring": {
+ "version": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+ "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=",
+ "dev": true
+ },
+ "lodash.keys": {
+ "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+ "dev": true,
+ "requires": {
+ "lodash._getnative": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "lodash.isarguments": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "lodash.isarray": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz"
+ }
+ },
+ "lodash.mapvalues": {
+ "version": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
+ "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=",
+ "dev": true
+ },
+ "lodash.mergewith": {
+ "version": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz",
+ "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=",
+ "dev": true
+ },
+ "lodash.pick": {
+ "version": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
+ "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=",
+ "dev": true
+ },
+ "lodash.pickby": {
+ "version": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz",
+ "integrity": "sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=",
+ "dev": true
+ },
+ "lodash.restparam": {
+ "version": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
+ "dev": true
+ },
+ "lodash.template": {
+ "version": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz",
+ "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=",
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "lodash.templatesettings": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz"
+ }
+ },
+ "lodash.templatesettings": {
+ "version": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz",
+ "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=",
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz"
+ }
+ },
+ "log4js": {
+ "version": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz",
+ "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ }
+ }
+ },
+ "longest": {
+ "version": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "dev": true
+ },
+ "loose-envify": {
+ "version": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "dev": true,
+ "requires": {
+ "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz"
+ }
+ },
+ "loud-rejection": {
+ "version": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"
+ }
+ },
+ "lower-case": {
+ "version": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
+ "dev": true
+ },
+ "lower-case-first": {
+ "version": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz",
+ "integrity": "sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=",
+ "dev": true,
+ "requires": {
+ "lower-case": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz"
+ }
+ },
+ "lru-cache": {
+ "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
+ "dev": true
+ },
+ "map-cache": {
+ "version": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-obj": {
+ "version": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ },
+ "marked": {
+ "version": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz",
+ "integrity": "sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc=",
+ "dev": true
+ },
+ "marked-terminal": {
+ "version": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-1.7.0.tgz",
+ "integrity": "sha1-yMRgiBx3LHYEtkNnAH7l938SWQQ=",
+ "dev": true,
+ "requires": {
+ "cardinal": "https://registry.npmjs.org/cardinal/-/cardinal-1.0.0.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "cli-table": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
+ "lodash.assign": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "node-emoji": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.5.1.tgz"
+ }
+ },
+ "media-typer": {
+ "version": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+ "dev": true
+ },
+ "meow": {
+ "version": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "dev": true,
+ "requires": {
+ "camelcase-keys": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "loud-rejection": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "redent": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "trim-newlines": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
+ }
+ },
+ "merge-stream": {
+ "version": "https://registry.npmjs.org/merge-stream/-/merge-stream-0.1.8.tgz",
+ "integrity": "sha1-SKB7O0oSHXSj7b/c20sIrb8CQLE=",
+ "dev": true,
+ "requires": {
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ }
+ }
+ },
+ "micromatch": {
+ "version": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "braces": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "expand-brackets": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "extglob": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "filename-regex": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz",
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz",
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz",
+ "object.omit": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "parse-glob": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "regex-cache": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz"
+ }
+ },
+ "mime": {
+ "version": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
+ "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz",
+ "integrity": "sha1-6v/NDk/Gk1z4E02iRuLmw1MFrf8=",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz",
+ "integrity": "sha1-9+99l1g/yvO30oK2+LVnnaselO4=",
+ "dev": true,
+ "requires": {
+ "mime-db": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz"
+ }
+ },
+ "minimatch": {
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
+ }
+ },
+ "minimist": {
+ "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "requires": {
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
+ }
+ },
+ "modify-filename": {
+ "version": "https://registry.npmjs.org/modify-filename/-/modify-filename-1.1.0.tgz",
+ "integrity": "sha1-mi3sg4Bvuy2XXyK+7IWcoms5OqE=",
+ "dev": true
+ },
+ "modify-values": {
+ "version": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.0.tgz",
+ "integrity": "sha1-4rbN65zhn5kxelNyLz2/XfXqqrI=",
+ "dev": true
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+ "dev": true
+ },
+ "multipipe": {
+ "version": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+ "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
+ "dev": true,
+ "requires": {
+ "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz"
+ }
+ },
+ "mute-stream": {
+ "version": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
+ "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=",
+ "dev": true
+ },
+ "nan": {
+ "version": "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz",
+ "integrity": "sha1-1bAWkSUzJql6K77p5hxV2NYDUeI=",
+ "dev": true
+ },
+ "natives": {
+ "version": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz",
+ "integrity": "sha1-6f+EFBimsux6SV6TmYT3jxY+bjE=",
+ "dev": true
+ },
+ "natural-compare": {
+ "version": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "ncname": {
+ "version": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz",
+ "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=",
+ "dev": true,
+ "requires": {
+ "xml-char-classes": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz"
+ }
+ },
+ "ncp": {
+ "version": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
+ "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=",
+ "dev": true
+ },
+ "negotiator": {
+ "version": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz",
+ "integrity": "sha1-pBYPcXfsgGc4Yx0NMFIyXaQqvcg=",
+ "dev": true
+ },
+ "netrc": {
+ "version": "https://registry.npmjs.org/netrc/-/netrc-0.1.4.tgz",
+ "integrity": "sha1-a+lPysqNd63gqWcNxGCRTJRHJEQ=",
+ "dev": true
+ },
+ "no-case": {
+ "version": "https://registry.npmjs.org/no-case/-/no-case-2.3.1.tgz",
+ "integrity": "sha1-euuhxzpSGEJlVUt9wDuvcg34AIE=",
+ "dev": true,
+ "requires": {
+ "lower-case": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz"
+ }
+ },
+ "node-emoji": {
+ "version": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.5.1.tgz",
+ "integrity": "sha1-/ZGOQSdpv4xEgFEjgjOECyr/FqE=",
+ "dev": true,
+ "requires": {
+ "string.prototype.codepointat": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.0.tgz"
+ }
+ },
+ "node-gyp": {
+ "version": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.5.0.tgz",
+ "integrity": "sha1-qP5eYR0HnsFjSKPrlg544RyFJ0o=",
+ "dev": true,
+ "requires": {
+ "fstream": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "nopt": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "npmlog": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz",
+ "osenv": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.80.0.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "tar": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ }
+ }
+ },
+ "node-notifier": {
+ "version": "https://registry.npmjs.org/node-notifier/-/node-notifier-4.6.1.tgz",
+ "integrity": "sha1-BW0UJE89zBzq3+aK+c/wxUc6M/M=",
+ "dev": true,
+ "requires": {
+ "cli-usage": "https://registry.npmjs.org/cli-usage/-/cli-usage-0.1.4.tgz",
+ "growly": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
+ "lodash.clonedeep": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "shellwords": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.0.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "semver": {
+ "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ }
+ }
+ },
+ "node-sass": {
+ "version": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.0.tgz",
+ "integrity": "sha1-Uy43utDOWHNIyDFTXbyY6kKJUIs=",
+ "dev": true,
+ "requires": {
+ "async-foreach": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "cross-spawn": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
+ "gaze": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz",
+ "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "in-publish": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
+ "lodash.assign": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "lodash.clonedeep": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "lodash.mergewith": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz",
+ "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "nan": "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz",
+ "node-gyp": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.5.0.tgz",
+ "npmlog": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.80.0.tgz",
+ "sass-graph": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.2.tgz",
+ "stdout-stream": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz"
+ },
+ "dependencies": {
+ "gaze": {
+ "version": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz",
+ "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=",
+ "dev": true,
+ "requires": {
+ "globule": "https://registry.npmjs.org/globule/-/globule-1.1.0.tgz"
+ }
+ },
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ },
+ "globule": {
+ "version": "https://registry.npmjs.org/globule/-/globule-1.1.0.tgz",
+ "integrity": "sha1-xJNS5NwYPYWJPuglOF65lLtt9F8=",
+ "dev": true,
+ "requires": {
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz"
+ }
+ },
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz",
+ "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=",
+ "dev": true
+ },
+ "lodash.clonedeep": {
+ "version": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+ "dev": true
+ }
+ }
+ },
+ "node-watch": {
+ "version": "https://registry.npmjs.org/node-watch/-/node-watch-0.3.5.tgz",
+ "integrity": "sha1-oH8lOk9TjenUylIt1/GZbu7A2X4=",
+ "dev": true
+ },
+ "node.extend": {
+ "version": "https://registry.npmjs.org/node.extend/-/node.extend-1.1.6.tgz",
+ "integrity": "sha1-p7iCyC1sk6SGOlUEvV3o7IYli5Y=",
+ "dev": true,
+ "requires": {
+ "is": "https://registry.npmjs.org/is/-/is-3.2.1.tgz"
+ }
+ },
+ "nopt": {
+ "version": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
+ "requires": {
+ "abbrev": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz"
+ }
+ },
+ "normalize-package-data": {
+ "version": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz",
+ "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8=",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.2.0.tgz",
+ "is-builtin-module": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "validate-npm-package-license": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz"
+ }
+ },
+ "normalize-path": {
+ "version": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz",
+ "integrity": "sha1-R4hqwWYnYNQmG32XnSQXCdPOP3o=",
+ "dev": true
+ },
+ "npmlog": {
+ "version": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz",
+ "integrity": "sha1-0DlQ4OeM4VJ7om0qdZLpNIrD518=",
+ "dev": true,
+ "requires": {
+ "are-we-there-yet": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz",
+ "console-control-strings": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "gauge": "https://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz",
+ "set-blocking": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
+ }
+ },
+ "nth-check": {
+ "version": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz",
+ "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=",
+ "dev": true,
+ "requires": {
+ "boolbase": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
+ }
+ },
+ "null-check": {
+ "version": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
+ "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",
+ "dev": true
+ },
+ "number-is-nan": {
+ "version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
+ "dev": true
+ },
+ "object-component": {
+ "version": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
+ "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
+ "dev": true
+ },
+ "object-keys": {
+ "version": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
+ "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
+ "dev": true
+ },
+ "object.assign": {
+ "version": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz",
+ "integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=",
+ "dev": true,
+ "requires": {
+ "define-properties": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "function-bind": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz",
+ "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz"
+ }
+ },
+ "object.omit": {
+ "version": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "dev": true,
+ "requires": {
+ "for-own": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+ }
+ },
+ "on-finished": {
+ "version": "https://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz",
+ "integrity": "sha1-DFOfCSkej/rd4MiiWFD7LO3HAi0=",
+ "dev": true,
+ "requires": {
+ "ee-first": "https://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz"
+ }
+ },
+ "once": {
+ "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ }
+ },
+ "onetime": {
+ "version": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
+ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
+ "dev": true
+ },
+ "open": {
+ "version": "https://registry.npmjs.org/open/-/open-0.0.5.tgz",
+ "integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=",
+ "dev": true
+ },
+ "optimist": {
+ "version": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "dev": true,
+ "requires": {
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
+ }
+ },
+ "optionator": {
+ "version": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "dev": true,
+ "requires": {
+ "deep-is": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "fast-levenshtein": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "levn": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"
+ },
+ "dependencies": {
+ "wordwrap": {
+ "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "dev": true
+ }
+ }
+ },
+ "options": {
+ "version": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
+ "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=",
+ "dev": true
+ },
+ "orchestrator": {
+ "version": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
+ "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
+ "sequencify": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
+ "stream-consume": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz"
+ }
+ },
+ "ordered-read-streams": {
+ "version": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
+ "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=",
+ "dev": true
+ },
+ "os-homedir": {
+ "version": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
+ "os-locale": {
+ "version": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "dev": true,
+ "requires": {
+ "lcid": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz"
+ }
+ },
+ "os-tmpdir": {
+ "version": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "osenv": {
+ "version": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
+ "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
+ }
+ },
+ "param-case": {
+ "version": "https://registry.npmjs.org/param-case/-/param-case-1.1.2.tgz",
+ "integrity": "sha1-3LCRpDwlm5Io8cNB57akTqC/l0M=",
+ "dev": true,
+ "requires": {
+ "sentence-case": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.3.tgz"
+ }
+ },
+ "parse-filepath": {
+ "version": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.1.tgz",
+ "integrity": "sha1-FZ1hVdQ5BNFsEO9piRHaHpGWm3M=",
+ "dev": true,
+ "requires": {
+ "is-absolute": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz",
+ "map-cache": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "path-root": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz"
+ }
+ },
+ "parse-github-repo-url": {
+ "version": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.0.tgz",
+ "integrity": "sha1-KGxT4smWLgZBZJ7jrJUI/KTdlZw=",
+ "dev": true
+ },
+ "parse-glob": {
+ "version": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "dev": true,
+ "requires": {
+ "glob-base": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "is-dotfile": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz",
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
+ }
+ },
+ "parse-json": {
+ "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz"
+ }
+ },
+ "parse-passwd": {
+ "version": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+ "dev": true
+ },
+ "parse5": {
+ "version": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz",
+ "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=",
+ "dev": true
+ },
+ "parsejson": {
+ "version": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",
+ "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=",
+ "dev": true,
+ "requires": {
+ "better-assert": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz"
+ }
+ },
+ "parseqs": {
+ "version": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
+ "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
+ "dev": true,
+ "requires": {
+ "better-assert": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz"
+ }
+ },
+ "parseuri": {
+ "version": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
+ "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
+ "dev": true,
+ "requires": {
+ "better-assert": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz"
+ }
+ },
+ "parseurl": {
+ "version": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
+ "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=",
+ "dev": true
+ },
+ "pascal-case": {
+ "version": "https://registry.npmjs.org/pascal-case/-/pascal-case-1.1.2.tgz",
+ "integrity": "sha1-Pl1kogBDgwp8STRMLXS0G+DJyZs=",
+ "dev": true,
+ "requires": {
+ "camel-case": "https://registry.npmjs.org/camel-case/-/camel-case-1.2.2.tgz",
+ "upper-case-first": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz"
+ }
+ },
+ "path-case": {
+ "version": "https://registry.npmjs.org/path-case/-/path-case-1.1.2.tgz",
+ "integrity": "sha1-UM5roNO+090LXCqcRVNpdDRAlRQ=",
+ "dev": true,
+ "requires": {
+ "sentence-case": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.3.tgz"
+ }
+ },
+ "path-dirname": {
+ "version": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+ }
+ },
+ "path-is-absolute": {
+ "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-is-inside": {
+ "version": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
+ "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
+ "dev": true
+ },
+ "path-root": {
+ "version": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
+ "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
+ "dev": true,
+ "requires": {
+ "path-root-regex": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz"
+ }
+ },
+ "path-root-regex": {
+ "version": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
+ "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
+ "dev": true
+ },
+ "path-type": {
+ "version": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+ }
+ },
+ "pend": {
+ "version": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
+ "dev": true
+ },
+ "performance-now": {
+ "version": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
+ "dev": true
+ },
+ "pify": {
+ "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
+ }
+ },
+ "plugin-error": {
+ "version": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
+ "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=",
+ "dev": true,
+ "requires": {
+ "ansi-cyan": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
+ "ansi-red": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
+ "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
+ "arr-union": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
+ "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz",
+ "array-slice": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz"
+ }
+ }
+ }
+ },
+ "plugin-log": {
+ "version": "https://registry.npmjs.org/plugin-log/-/plugin-log-0.1.0.tgz",
+ "integrity": "sha1-hgSc9qsQgzOYqTHzaJy67nteEzM=",
+ "dev": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "dateformat": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz"
+ }
+ },
+ "pluralize": {
+ "version": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz",
+ "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=",
+ "dev": true
+ },
+ "prelude-ls": {
+ "version": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "dev": true
+ },
+ "preserve": {
+ "version": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "dev": true
+ },
+ "pretty-hrtime": {
+ "version": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+ "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
+ "dev": true
+ },
+ "private": {
+ "version": "https://registry.npmjs.org/private/-/private-0.1.7.tgz",
+ "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
+ "dev": true
+ },
+ "progress": {
+ "version": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
+ "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
+ "dev": true
+ },
+ "proper-lockfile": {
+ "version": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-1.2.0.tgz",
+ "integrity": "sha1-zv9d2J0+XxD7deHo52vHWAGlnDQ=",
+ "dev": true,
+ "requires": {
+ "err-code": "https://registry.npmjs.org/err-code/-/err-code-1.1.1.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "retry": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz"
+ }
+ },
+ "proxy-middleware": {
+ "version": "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz",
+ "integrity": "sha1-o/3xvvtzD5UZZYcqwvYHTGFHelY=",
+ "dev": true
+ },
+ "pseudomap": {
+ "version": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "dev": true
+ },
+ "punycode": {
+ "version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ },
+ "q": {
+ "version": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+ "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
+ "dev": true
+ },
+ "qjobs": {
+ "version": "https://registry.npmjs.org/qjobs/-/qjobs-1.1.5.tgz",
+ "integrity": "sha1-ZZ3p8s+NzCehSBJ28gU3cnI4LnM=",
+ "dev": true
+ },
+ "qs": {
+ "version": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
+ "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=",
+ "dev": true
+ },
+ "randomatic": {
+ "version": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.6.tgz",
+ "integrity": "sha1-EQ3Kv/OX6dz/fAeJzMCkmt8exbs=",
+ "dev": true,
+ "requires": {
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz"
+ }
+ },
+ "range-parser": {
+ "version": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz",
+ "integrity": "sha1-aHKCNTXGkuLCoBA4Jq/YLC4P8XU=",
+ "dev": true
+ },
+ "raw-body": {
+ "version": "https://registry.npmjs.org/raw-body/-/raw-body-2.2.0.tgz",
+ "integrity": "sha1-mUl2z2pQlqQRYoQEkvC9xdbn+5Y=",
+ "dev": true,
+ "requires": {
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
+ "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
+ }
+ },
+ "read-pkg": {
+ "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz",
+ "path-type": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz"
+ }
+ },
+ "read-pkg-up": {
+ "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz"
+ }
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "readdirp": {
+ "version": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
+ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "set-immediate-shim": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz"
+ }
+ },
+ "readline2": {
+ "version": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
+ "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "mute-stream": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz"
+ }
+ },
+ "rechoir": {
+ "version": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+ "dev": true,
+ "requires": {
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.3.2.tgz"
+ }
+ },
+ "redent": {
+ "version": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "dev": true,
+ "requires": {
+ "indent-string": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "strip-indent": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz"
+ }
+ },
+ "redeyed": {
+ "version": "https://registry.npmjs.org/redeyed/-/redeyed-1.0.1.tgz",
+ "integrity": "sha1-6WwZO0DAgWsArshCaY5hGF5VSYo=",
+ "dev": true,
+ "requires": {
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-3.0.0.tgz"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "https://registry.npmjs.org/esprima/-/esprima-3.0.0.tgz",
+ "integrity": "sha1-U88kes2ncxPlUcOqLnM0LT+099k=",
+ "dev": true
+ }
+ }
+ },
+ "regenerate": {
+ "version": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz",
+ "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=",
+ "dev": true
+ },
+ "regenerator-runtime": {
+ "version": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz",
+ "integrity": "sha1-jENnqQS1HqYqkIrDEL+Z/5CoKj4=",
+ "dev": true
+ },
+ "regenerator-transform": {
+ "version": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.8.tgz",
+ "integrity": "sha1-D4i7K8A5Mt23trcxLmgHjwECbWw=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz",
+ "private": "https://registry.npmjs.org/private/-/private-0.1.7.tgz"
+ }
+ },
+ "regex-cache": {
+ "version": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz",
+ "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=",
+ "dev": true,
+ "requires": {
+ "is-equal-shallow": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "is-primitive": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz"
+ }
+ },
+ "regexpu-core": {
+ "version": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
+ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+ "dev": true,
+ "requires": {
+ "regenerate": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz",
+ "regjsgen": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+ "regjsparser": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz"
+ }
+ },
+ "regjsgen": {
+ "version": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+ "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "dev": true,
+ "requires": {
+ "jsesc": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ }
+ }
+ },
+ "relateurl": {
+ "version": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
+ "dev": true
+ },
+ "remove-trailing-separator": {
+ "version": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz",
+ "integrity": "sha1-YV67lq9VlVLUv0BXyENtSGq2PMQ=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "repeating": {
+ "version": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
+ "requires": {
+ "is-finite": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz"
+ }
+ },
+ "replace-ext": {
+ "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
+ "dev": true
+ },
+ "request": {
+ "version": "https://registry.npmjs.org/request/-/request-2.80.0.tgz",
+ "integrity": "sha1-jMFi1215OBze/dNQXXa4C2BYm9A=",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
+ "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "form-data": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz",
+ "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "hawk": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz",
+ "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "performance-now": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
+ "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "tough-cookie": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
+ "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "uuid": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz"
+ }
+ },
+ "require-dir": {
+ "version": "https://registry.npmjs.org/require-dir/-/require-dir-0.3.1.tgz",
+ "integrity": "sha1-tajii64DQ7sNDMOKsfUx4ZMbJko=",
+ "dev": true
+ },
+ "require-directory": {
+ "version": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
+ "require-uncached": {
+ "version": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
+ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
+ "dev": true,
+ "requires": {
+ "caller-path": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
+ "resolve-from": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz"
+ }
+ },
+ "requires-port": {
+ "version": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "https://registry.npmjs.org/resolve/-/resolve-1.3.2.tgz",
+ "integrity": "sha1-HwRCyeDLuBNuh7kwX5MvRsfygjU=",
+ "dev": true,
+ "requires": {
+ "path-parse": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz"
+ }
+ },
+ "resolve-dir": {
+ "version": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
+ "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
+ "global-modules": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz"
+ }
+ },
+ "resolve-from": {
+ "version": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
+ "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
+ "dev": true
+ },
+ "resolve-url": {
+ "version": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "restore-cursor": {
+ "version": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
+ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
+ "dev": true,
+ "requires": {
+ "exit-hook": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
+ "onetime": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz"
+ }
+ },
+ "retry": {
+ "version": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
+ "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=",
+ "dev": true
+ },
+ "rev-hash": {
+ "version": "https://registry.npmjs.org/rev-hash/-/rev-hash-1.0.0.tgz",
+ "integrity": "sha1-lpk5Weqb+xxZsTrfAqwuNLs3NgM=",
+ "dev": true
+ },
+ "rev-path": {
+ "version": "https://registry.npmjs.org/rev-path/-/rev-path-1.0.0.tgz",
+ "integrity": "sha1-1My0NqwzcMRgcXXOiOr8XGXF1lM=",
+ "dev": true,
+ "requires": {
+ "modify-filename": "https://registry.npmjs.org/modify-filename/-/modify-filename-1.1.0.tgz"
+ }
+ },
+ "right-align": {
+ "version": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "dev": true,
+ "requires": {
+ "align-text": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz"
+ }
+ },
+ "rimraf": {
+ "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
+ "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
+ "dev": true,
+ "requires": {
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ }
+ }
+ },
+ "rollup": {
+ "version": "https://registry.npmjs.org/rollup/-/rollup-0.36.4.tgz",
+ "integrity": "sha1-oiRJTFOGwdc9OPe7hvafXrARo9I=",
+ "dev": true,
+ "requires": {
+ "source-map-support": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.11.tgz"
+ }
+ },
+ "rsvp": {
+ "version": "https://registry.npmjs.org/rsvp/-/rsvp-3.4.0.tgz",
+ "integrity": "sha1-lvOX2cfilDUbPBRWp0s9DnVCmI0=",
+ "dev": true
+ },
+ "run-async": {
+ "version": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
+ "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
+ "dev": true,
+ "requires": {
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
+ }
+ },
+ "run-sequence": {
+ "version": "https://registry.npmjs.org/run-sequence/-/run-sequence-1.2.2.tgz",
+ "integrity": "sha1-UJWgvr6YczsBQL0I3YDsAw3azes=",
+ "dev": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz"
+ }
+ },
+ "rx-lite": {
+ "version": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
+ "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=",
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
+ "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=",
+ "dev": true
+ },
+ "sass-graph": {
+ "version": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.2.tgz",
+ "integrity": "sha1-llEEviPoEDy35fcQ32WTWzF9pXs=",
+ "dev": true,
+ "requires": {
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "yargs": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz"
+ },
+ "dependencies": {
+ "cliui": {
+ "version": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "wrap-ansi": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz"
+ }
+ },
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ },
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ },
+ "window-size": {
+ "version": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
+ "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
+ "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=",
+ "dev": true,
+ "requires": {
+ "cliui": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "get-caller-file": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+ "lodash.assign": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "os-locale": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "require-directory": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "require-main-filename": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "set-blocking": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "which-module": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "window-size": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
+ "y18n": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "yargs-parser": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz"
+ }
+ }
+ }
+ },
+ "semver": {
+ "version": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
+ "dev": true
+ },
+ "send": {
+ "version": "https://registry.npmjs.org/send/-/send-0.8.5.tgz",
+ "integrity": "sha1-N/cIIW5vUMF150xp/sU0hOL9gsc=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-0.4.4.tgz",
+ "destroy": "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz",
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz",
+ "fresh": "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz",
+ "mime": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz",
+ "range-parser": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz",
+ "integrity": "sha1-W5wla9VLbsAigxdvqKDt5tFUy/g=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz",
+ "integrity": "sha1-2JwhJMb9wTU9Zai3e/GqxLGTcIw=",
+ "dev": true
+ }
+ }
+ },
+ "sentence-case": {
+ "version": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.3.tgz",
+ "integrity": "sha1-gDSq/CFFdy06vhUJqkLJ4QQtwTk=",
+ "dev": true,
+ "requires": {
+ "lower-case": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz"
+ }
+ },
+ "sequencify": {
+ "version": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
+ "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=",
+ "dev": true
+ },
+ "serve-index": {
+ "version": "https://registry.npmjs.org/serve-index/-/serve-index-1.1.6.tgz",
+ "integrity": "sha1-t1gxj+eBYoOD9mrIDdRHcS6neB8=",
+ "dev": true,
+ "requires": {
+ "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.0.7.tgz",
+ "batch": "https://registry.npmjs.org/batch/-/batch-0.5.1.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz"
+ }
+ },
+ "serve-static": {
+ "version": "https://registry.npmjs.org/serve-static/-/serve-static-1.5.4.tgz",
+ "integrity": "sha1-gZ+zeuRr0C3VILd/z3/Y9REvl4I=",
+ "dev": true,
+ "requires": {
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
+ "send": "https://registry.npmjs.org/send/-/send-0.8.5.tgz",
+ "utils-merge": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz"
+ }
+ },
+ "set-blocking": {
+ "version": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "set-immediate-shim": {
+ "version": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
+ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
+ "dev": true
+ },
+ "setprototypeof": {
+ "version": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
+ "dev": true
+ },
+ "shelljs": {
+ "version": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.6.tgz",
+ "integrity": "sha1-N5zM+1a5HIYB5HkzVutTgpJN6a0=",
+ "dev": true,
+ "requires": {
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "interpret": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz",
+ "rechoir": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ }
+ }
+ },
+ "shellwords": {
+ "version": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.0.tgz",
+ "integrity": "sha1-Zq/Ue2oSky2Qccv9mKUueFzQuhQ=",
+ "dev": true
+ },
+ "sigmund": {
+ "version": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
+ "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true
+ },
+ "slash": {
+ "version": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
+ "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
+ "dev": true
+ },
+ "snake-case": {
+ "version": "https://registry.npmjs.org/snake-case/-/snake-case-1.1.2.tgz",
+ "integrity": "sha1-DC8l4wUVjZoY09l3BmGH/vilpmo=",
+ "dev": true,
+ "requires": {
+ "sentence-case": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.3.tgz"
+ }
+ },
+ "sntp": {
+ "version": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+ "dev": true,
+ "requires": {
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
+ }
+ },
+ "socket.io": {
+ "version": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz",
+ "integrity": "sha1-uK+cq6AJSeVo42nxMn6pvp6iRhs=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "engine.io": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz",
+ "has-binary": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+ "socket.io-adapter": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz",
+ "socket.io-client": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.3.tgz",
+ "socket.io-parser": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz"
+ }
+ },
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+ "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=",
+ "dev": true
+ }
+ }
+ },
+ "socket.io-adapter": {
+ "version": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz",
+ "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "socket.io-parser": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz"
+ }
+ }
+ }
+ },
+ "socket.io-client": {
+ "version": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.3.tgz",
+ "integrity": "sha1-sw6GqhDV7zVGYBwJzeR2Xjgdo3c=",
+ "dev": true,
+ "requires": {
+ "backo2": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
+ "component-bind": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
+ "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "engine.io-client": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.3.tgz",
+ "has-binary": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
+ "indexof": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "object-component": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
+ "parseuri": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
+ "socket.io-parser": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz",
+ "to-array": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz"
+ },
+ "dependencies": {
+ "component-emitter": {
+ "version": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
+ },
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz"
+ }
+ }
+ }
+ },
+ "socket.io-parser": {
+ "version": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz",
+ "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=",
+ "dev": true,
+ "requires": {
+ "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "json3": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ }
+ },
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
+ }
+ },
+ "source-map-resolve": {
+ "version": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz",
+ "integrity": "sha1-YQ9hIqRFuN1RU1oqcbeD38Ekh2E=",
+ "dev": true,
+ "requires": {
+ "atob": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz",
+ "resolve-url": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "source-map-url": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz",
+ "urix": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"
+ }
+ },
+ "source-map-support": {
+ "version": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.11.tgz",
+ "integrity": "sha1-ZH+TmXizhTWQlTCIUwPa8jJ58yI=",
+ "dev": true,
+ "requires": {
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "source-map-url": {
+ "version": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz",
+ "integrity": "sha1-fsrxO1e80J2opAxdJp2zN5nUqvk=",
+ "dev": true
+ },
+ "sparkles": {
+ "version": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz",
+ "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=",
+ "dev": true
+ },
+ "spdx-correct": {
+ "version": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
+ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+ "dev": true,
+ "requires": {
+ "spdx-license-ids": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz"
+ }
+ },
+ "spdx-expression-parse": {
+ "version": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
+ "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
+ "dev": true
+ },
+ "spdx-license-ids": {
+ "version": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
+ "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
+ "dev": true
+ },
+ "split": {
+ "version": "https://registry.npmjs.org/split/-/split-1.0.0.tgz",
+ "integrity": "sha1-xDlc5oOrzSVLwo/h2rtuXCfc/64=",
+ "dev": true,
+ "requires": {
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+ }
+ },
+ "split2": {
+ "version": "https://registry.npmjs.org/split2/-/split2-2.1.1.tgz",
+ "integrity": "sha1-eh9VHhdqkOzTNF9yRqDP4XXvT9A=",
+ "dev": true,
+ "requires": {
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ }
+ },
+ "sprintf-js": {
+ "version": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "sshpk": {
+ "version": "https://registry.npmjs.org/sshpk/-/sshpk-1.11.0.tgz",
+ "integrity": "sha1-LY1eu0pvqyj/ujf6YqkPSj6lnXc=",
+ "dev": true,
+ "requires": {
+ "asn1": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "bcrypt-pbkdf": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "dashdash": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "ecc-jsbn": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "getpass": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz",
+ "jodid25519": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
+ "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "statuses": {
+ "version": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
+ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
+ "dev": true
+ },
+ "stdout-stream": {
+ "version": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz",
+ "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
+ }
+ },
+ "stream-consume": {
+ "version": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz",
+ "integrity": "sha1-pB6tGm1ggc63n2WwYZAbbY89HQ8=",
+ "dev": true
+ },
+ "stream-shift": {
+ "version": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
+ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
+ "dev": true
+ },
+ "string_decoder": {
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
+ }
+ },
+ "string.prototype.codepointat": {
+ "version": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.0.tgz",
+ "integrity": "sha1-aybpvTr8qnvjtCabUm3huCAArHg=",
+ "dev": true
+ },
+ "stringstream": {
+ "version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
+ }
+ },
+ "strip-bom": {
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
+ }
+ },
+ "strip-bom-stream": {
+ "version": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz",
+ "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=",
+ "dev": true,
+ "requires": {
+ "first-chunk-stream": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
+ },
+ "dependencies": {
+ "first-chunk-stream": {
+ "version": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz",
+ "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
+ }
+ }
+ }
+ },
+ "strip-indent": {
+ "version": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
+ }
+ },
+ "strip-json-comments": {
+ "version": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ },
+ "swap-case": {
+ "version": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz",
+ "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=",
+ "dev": true,
+ "requires": {
+ "lower-case": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "upper-case": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz"
+ }
+ },
+ "systemjs": {
+ "version": "https://registry.npmjs.org/systemjs/-/systemjs-0.19.46.tgz",
+ "integrity": "sha1-wEV0szNfBSoOPHoA7kGIxuTB444=",
+ "dev": true,
+ "requires": {
+ "when": "https://registry.npmjs.org/when/-/when-3.7.8.tgz"
+ }
+ },
+ "systemjs-builder": {
+ "version": "https://registry.npmjs.org/systemjs-builder/-/systemjs-builder-0.15.35.tgz",
+ "integrity": "sha1-Wrf5YnrsSFezEjwdoHAw6hzdBo8=",
+ "dev": true,
+ "requires": {
+ "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.23.1.tgz",
+ "babel-plugin-transform-cjs-system-wrapper": "https://registry.npmjs.org/babel-plugin-transform-cjs-system-wrapper/-/babel-plugin-transform-cjs-system-wrapper-0.3.0.tgz",
+ "babel-plugin-transform-es2015-modules-systemjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz",
+ "babel-plugin-transform-global-system-wrapper": "https://registry.npmjs.org/babel-plugin-transform-global-system-wrapper/-/babel-plugin-transform-global-system-wrapper-0.0.1.tgz",
+ "babel-plugin-transform-system-register": "https://registry.npmjs.org/babel-plugin-transform-system-register/-/babel-plugin-transform-system-register-0.0.1.tgz",
+ "bluebird": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz",
+ "data-uri-to-buffer": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-0.0.4.tgz",
+ "es6-template-strings": "https://registry.npmjs.org/es6-template-strings/-/es6-template-strings-2.0.1.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "rollup": "https://registry.npmjs.org/rollup/-/rollup-0.36.4.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "systemjs": "https://registry.npmjs.org/systemjs/-/systemjs-0.19.46.tgz",
+ "traceur": "https://registry.npmjs.org/traceur/-/traceur-0.0.105.tgz",
+ "uglify-js": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz"
+ },
+ "dependencies": {
+ "bluebird": {
+ "version": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz",
+ "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=",
+ "dev": true
+ },
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ },
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "table": {
+ "version": "https://registry.npmjs.org/table/-/table-3.8.3.tgz",
+ "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=",
+ "dev": true,
+ "requires": {
+ "ajv": "https://registry.npmjs.org/ajv/-/ajv-4.11.4.tgz",
+ "ajv-keywords": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "slice-ansi": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz"
+ },
+ "dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz",
+ "integrity": "sha1-Y1xUNsxypuDDh87KJ41OLuxSaH4=",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
+ }
+ }
+ }
+ },
+ "tar": {
+ "version": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+ "dev": true,
+ "requires": {
+ "block-stream": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "fstream": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
+ }
+ },
+ "test-exclude": {
+ "version": "https://registry.npmjs.org/test-exclude/-/test-exclude-2.1.3.tgz",
+ "integrity": "sha1-qNiWjh2oMmb5hk8oUsVeIg8GQ0o=",
+ "dev": true,
+ "requires": {
+ "arrify": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "require-main-filename": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
+ }
+ },
+ "text-extensions": {
+ "version": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.4.0.tgz",
+ "integrity": "sha1-w4XS6Ah5/m75eJPhcJ2I2UU3Juk=",
+ "dev": true
+ },
+ "text-table": {
+ "version": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "through": {
+ "version": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
+ },
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.3.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.3.tgz",
+ "integrity": "sha1-nPSUY5hd8BbIrogTCXqSk6mzNyk=",
+ "dev": true,
+ "requires": {
+ "buffer-shims": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ }
+ }
+ },
+ "through2-filter": {
+ "version": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
+ "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
+ "dev": true,
+ "requires": {
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ },
+ "tildify": {
+ "version": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
+ "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"
+ }
+ },
+ "time-stamp": {
+ "version": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz",
+ "integrity": "sha1-n0vSNVnJNllm8zAtu6KwfGuZsVE=",
+ "dev": true
+ },
+ "title-case": {
+ "version": "https://registry.npmjs.org/title-case/-/title-case-1.1.2.tgz",
+ "integrity": "sha1-+uSmrlRr+iLQg6DuqRCkDRLtT1o=",
+ "dev": true,
+ "requires": {
+ "sentence-case": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.3.tgz",
+ "upper-case": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz"
+ }
+ },
+ "tmp": {
+ "version": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz",
+ "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
+ }
+ },
+ "to-array": {
+ "version": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
+ "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz",
+ "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=",
+ "dev": true
+ },
+ "tough-cookie": {
+ "version": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
+ "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
+ "dev": true,
+ "requires": {
+ "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
+ }
+ },
+ "traceur": {
+ "version": "https://registry.npmjs.org/traceur/-/traceur-0.0.105.tgz",
+ "integrity": "sha1-XPne6D1rd4YcPWxE1ThZrterBHk=",
+ "dev": true,
+ "requires": {
+ "commander": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "rsvp": "https://registry.npmjs.org/rsvp/-/rsvp-3.4.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "source-map-support": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
+ "dev": true,
+ "requires": {
+ "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
+ }
+ },
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz",
+ "integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=",
+ "dev": true,
+ "requires": {
+ "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
+ }
+ },
+ "source-map-support": {
+ "version": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz",
+ "integrity": "sha1-6lo5AKHByyUJagrozFwrSxDe09w=",
+ "dev": true,
+ "requires": {
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz"
+ }
+ }
+ }
+ },
+ "trim-newlines": {
+ "version": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "dev": true
+ },
+ "trim-off-newlines": {
+ "version": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz",
+ "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=",
+ "dev": true
+ },
+ "trim-right": {
+ "version": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "dev": true
+ },
+ "tryit": {
+ "version": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz",
+ "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=",
+ "dev": true
+ },
+ "tunnel-agent": {
+ "version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
+ "dev": true
+ },
+ "tweetnacl": {
+ "version": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true,
+ "optional": true
+ },
+ "type-check": {
+ "version": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"
+ }
+ },
+ "type-is": {
+ "version": "https://registry.npmjs.org/type-is/-/type-is-1.6.14.tgz",
+ "integrity": "sha1-4hljnBfe0coHiQkt1UoDgmuBfLI=",
+ "dev": true,
+ "requires": {
+ "media-typer": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz"
+ }
+ },
+ "typedarray": {
+ "version": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+ "dev": true
+ },
+ "uglify-js": {
+ "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz",
+ "integrity": "sha1-ZeovswWck5RpLxX+2HwrNsFrmt8=",
+ "dev": true,
+ "requires": {
+ "async": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "uglify-to-browserify": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "yargs": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz"
+ },
+ "dependencies": {
+ "async": {
+ "version": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "dev": true,
+ "requires": {
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "cliui": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "window-size": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz"
+ }
+ }
+ }
+ },
+ "uglify-to-browserify": {
+ "version": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+ "dev": true
+ },
+ "ultron": {
+ "version": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
+ "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=",
+ "dev": true
+ },
+ "unc-path-regex": {
+ "version": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
+ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
+ "dev": true
+ },
+ "unique-stream": {
+ "version": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz",
+ "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=",
+ "dev": true
+ },
+ "unpipe": {
+ "version": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+ "dev": true
+ },
+ "upper-case": {
+ "version": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+ "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
+ "dev": true
+ },
+ "upper-case-first": {
+ "version": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz",
+ "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=",
+ "dev": true,
+ "requires": {
+ "upper-case": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz"
+ }
+ },
+ "urix": {
+ "version": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "user-home": {
+ "version": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
+ "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
+ "dev": true
+ },
+ "useragent": {
+ "version": "https://registry.npmjs.org/useragent/-/useragent-2.1.12.tgz",
+ "integrity": "sha1-qn2mzcSL3De6hnkIcacyHWTtuqI=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz",
+ "tmp": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz",
+ "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=",
+ "dev": true
+ }
+ }
+ },
+ "util-deprecate": {
+ "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "utils-merge": {
+ "version": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
+ "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=",
+ "dev": true
+ },
+ "uuid": {
+ "version": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
+ "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=",
+ "dev": true
+ },
+ "v8flags": {
+ "version": "https://registry.npmjs.org/v8flags/-/v8flags-2.0.11.tgz",
+ "integrity": "sha1-vKjzDw1tYGEswsAGQeaWLUKuaIE=",
+ "dev": true,
+ "requires": {
+ "user-home": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz"
+ }
+ },
+ "validate-npm-package-license": {
+ "version": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
+ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
+ "spdx-expression-parse": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz"
+ }
+ },
+ "verror": {
+ "version": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
+ "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
+ "dev": true,
+ "requires": {
+ "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz"
+ }
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
+ "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+ }
+ },
+ "vinyl-file": {
+ "version": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz",
+ "integrity": "sha1-p+v1/779obfRjRQPyweyI++2dRo=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "strip-bom-stream": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz"
+ },
+ "dependencies": {
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+ }
+ }
+ }
+ },
+ "vinyl-fs": {
+ "version": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
+ "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=",
+ "dev": true,
+ "requires": {
+ "defaults": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "glob-stream": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
+ "glob-watcher": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
+ "dev": true
+ },
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
+ "dev": true,
+ "requires": {
+ "natives": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz"
+ }
+ },
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "strip-bom": {
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
+ "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=",
+ "dev": true,
+ "requires": {
+ "first-chunk-stream": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
+ }
+ },
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+ "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
+ }
+ }
+ }
+ },
+ "vinyl-paths": {
+ "version": "https://registry.npmjs.org/vinyl-paths/-/vinyl-paths-2.1.0.tgz",
+ "integrity": "sha1-AIIEN8ujgmLO+IAthA+T4zku5Es=",
+ "dev": true,
+ "requires": {
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ }
+ },
+ "vinyl-sourcemaps-apply": {
+ "version": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
+ "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
+ "dev": true,
+ "requires": {
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "void-elements": {
+ "version": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
+ "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
+ "dev": true
+ },
+ "whacko": {
+ "version": "https://registry.npmjs.org/whacko/-/whacko-0.19.1.tgz",
+ "integrity": "sha1-EQyoeJjp3+xlm5Q5Vauq6wCuD4w=",
+ "dev": true,
+ "requires": {
+ "css-select": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
+ "domutils": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "parse5": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz"
+ }
+ },
+ "whatwg-fetch": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz",
+ "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ="
+ },
+ "when": {
+ "version": "https://registry.npmjs.org/when/-/when-3.7.8.tgz",
+ "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=",
+ "dev": true
+ },
+ "which": {
+ "version": "https://registry.npmjs.org/which/-/which-1.2.12.tgz",
+ "integrity": "sha1-3me15FAmnxlJCe8j7OTr5Bb6EZI=",
+ "dev": true,
+ "requires": {
+ "isexe": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz"
+ }
+ },
+ "which-module": {
+ "version": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+ "dev": true
+ },
+ "wide-align": {
+ "version": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz",
+ "integrity": "sha1-QO3egCpx/qHwcNo+YtzaLnrdlq0=",
+ "dev": true,
+ "requires": {
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"
+ }
+ },
+ "window-size": {
+ "version": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+ "dev": true
+ },
+ "wordwrap": {
+ "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+ "dev": true
+ },
+ "wrap-ansi": {
+ "version": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
+ }
+ },
+ "wrappy": {
+ "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "write": {
+ "version": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
+ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
+ "dev": true,
+ "requires": {
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
+ }
+ },
+ "ws": {
+ "version": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz",
+ "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=",
+ "dev": true,
+ "requires": {
+ "options": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
+ "ultron": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz"
+ }
+ },
+ "wtf-8": {
+ "version": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz",
+ "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=",
+ "dev": true
+ },
+ "xml-char-classes": {
+ "version": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz",
+ "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=",
+ "dev": true
+ },
+ "xmlhttprequest-ssl": {
+ "version": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz",
+ "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=",
+ "dev": true
+ },
+ "xtend": {
+ "version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ },
+ "y18n": {
+ "version": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
+ },
+ "yallist": {
+ "version": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz",
+ "integrity": "sha1-MGxUODXwnuGkyyO3vOmrNByRzdQ=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
+ "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
+ "dev": true,
+ "requires": {
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "cliui": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "get-caller-file": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+ "os-locale": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "require-directory": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "require-main-filename": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "set-blocking": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "which-module": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "y18n": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "yargs-parser": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "wrap-ansi": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz"
+ }
+ },
+ "yargs-parser": {
+ "version": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
+ "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
+ "dev": true,
+ "requires": {
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz"
+ }
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
+ "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=",
+ "dev": true,
+ "requires": {
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "lodash.assign": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ }
+ }
+ },
+ "yauzl": {
+ "version": "https://registry.npmjs.org/yauzl/-/yauzl-2.7.0.tgz",
+ "integrity": "sha1-4h2EeGi0lvwp6uwj7of90z6bK84=",
+ "dev": true,
+ "requires": {
+ "buffer-crc32": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "fd-slicer": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz"
+ }
+ },
+ "yeast": {
+ "version": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
+ "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
+ "dev": true
+ }
+ }
+}
diff --git a/shrine-webclient/src/main/js/client/js-shrine/package.json b/shrine-webclient/src/main/js/client/js-shrine/package.json
index 95c366b05..5e6975e43 100644
--- a/shrine-webclient/src/main/js/client/js-shrine/package.json
+++ b/shrine-webclient/src/main/js/client/js-shrine/package.json
@@ -1,91 +1,94 @@
{
"name": "aurelia-skeleton-navigation",
"version": "1.1.2",
"description": "A starter kit for building a standard navigation-style app with Aurelia.",
"keywords": [
"aurelia",
"navigation",
"skeleton"
],
"homepage": "http://aurelia.io",
"bugs": {
"url": "https://github.com/aurelia/skeleton-navigation/issues"
},
"license": "CC0-1.0",
"author": "Rob Eisenberg <rob@bluespire.com> (http://robeisenberg.com/)",
"main": "dist/main.js",
"repository": {
"type": "git",
"url": "http://github.com/aurelia/skeleton-navigation"
},
"scripts": {
"test": "gulp test"
},
"devDependencies": {
"aurelia-bundler": "^0.4.0",
"aurelia-tools": "^1.0.0",
"babel-core": "^6.18.2",
"babel-eslint": "^7.1.0",
"babel-plugin-istanbul": "^2.0.3",
"babel-plugin-syntax-flow": "^6.18.0",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-plugin-transform-flow-strip-types": "^6.18.0",
"babel-preset-es2015": "^6.18.0",
"babel-preset-es2017": "^6.24.1",
"babel-preset-stage-1": "^6.16.0",
"conventional-changelog": "1.1.0",
"del": "^2.2.2",
"gulp": "^3.9.1",
"gulp-babel": "^6.1.2",
"gulp-bump": "^2.5.0",
"gulp-changed": "^1.3.2",
"gulp-concat": "^2.6.1",
"gulp-eslint": "^3.0.1",
"gulp-htmlmin": "^3.0.0",
"gulp-merge": "^0.1.1",
"gulp-notify": "^2.2.0",
"gulp-plumber": "^1.1.0",
"gulp-sass": "^3.1.0",
"gulp-server-livereload": "^1.9.2",
"gulp-sourcemaps": "^2.2.0",
"gulp-watch": "^4.3.11",
"jasmine-core": "^2.5.2",
"jspm": "^0.16.47",
"karma": "^1.3.0",
"karma-babel-preprocessor": "^6.0.1",
"karma-chrome-launcher": "^2.0.0",
"karma-coverage": "^1.1.1",
"karma-jasmine": "^1.0.2",
"karma-jspm": "2.2.0",
"object.assign": "^4.0.4",
"require-dir": "^0.3.1",
"run-sequence": "^1.2.2",
"vinyl-paths": "^2.1.0",
"yargs": "^6.3.0"
},
"jspm": {
"dependencies": {
"aurelia-bootstrapper": "npm:aurelia-bootstrapper@^1.0.0",
"aurelia-event-aggregator": "npm:aurelia-event-aggregator@^1.0.1",
- "aurelia-fetch-client": "npm:aurelia-fetch-client@^1.0.0",
+ "aurelia-fetch-client": "npm:aurelia-fetch-client@^1.1.3",
"aurelia-framework": "npm:aurelia-framework@^1.0.0",
"aurelia-history-browser": "npm:aurelia-history-browser@^1.0.0",
+ "aurelia-http-client": "npm:aurelia-http-client@^1.1.1",
"aurelia-loader-default": "npm:aurelia-loader-default@^1.0.0",
"aurelia-logging-console": "npm:aurelia-logging-console@^1.0.0",
"aurelia-pal-browser": "npm:aurelia-pal-browser@^1.0.0",
"aurelia-polyfills": "npm:aurelia-polyfills@^1.0.0",
"aurelia-router": "npm:aurelia-router@^1.3.0",
"aurelia-templating-binding": "npm:aurelia-templating-binding@^1.0.0",
"aurelia-templating-resources": "npm:aurelia-templating-resources@^1.0.0",
"aurelia-templating-router": "npm:aurelia-templating-router@^1.0.0",
- "fetch": "github:github/fetch@^1.0.0",
+ "fetch": "github:github/fetch@^2.0.3",
"font-awesome": "npm:font-awesome@^4.7.0",
"jquery": "npm:jquery@^3.1.1",
"moment": "npm:moment@^2.18.1",
"ramda": "npm:ramda@^0.23.0",
"text": "github:systemjs/plugin-text@^0.0.8"
},
"devDependencies": {}
},
- "dependencies": {}
+ "dependencies": {
+ "whatwg-fetch": "^2.0.3"
+ }
}
diff --git a/shrine-webclient/src/main/js/client/js-shrine/src/services/query-status.model.js b/shrine-webclient/src/main/js/client/js-shrine/src/services/query-status.model.js
index 65f82674a..f6fa11b4f 100644
--- a/shrine-webclient/src/main/js/client/js-shrine/src/services/query-status.model.js
+++ b/shrine-webclient/src/main/js/client/js-shrine/src/services/query-status.model.js
@@ -1,49 +1,41 @@
import {EventAggregator} from 'aurelia-event-aggregator';
import {QEPRepository} from 'repository/qep.repository';
import {commands, notifications} from './shrine.messages';
-const isBusy = (() => {
- let inProgress = false;
- return v => {
- inProgress = v === undefined? inProgress:
- v? true : false;
- return inProgress;
- };
-})();
export class QueryStatusModel {
static inject = [EventAggregator, QEPRepository, notifications];
constructor(evtAgg, qep, notifications) {
const publishNetworkId = id => evtAgg.publish(notifications.i2b2.networkIdReceived, id);
const publishQuery = model => evtAgg.publish(notifications.shrine.queryReceived, model);
const toModel = data => {
return new Promise((resolve, reject) => {
const {results, dataVersion, query: queryData} = data;
const sort = (a, b) => a.adapterNode.toUpperCase() <= b.adapterNode.toUpperCase()? -1 : 1;
const nodes = results.length === 0? [] : [...results.sort(sort)];
const complete = nodes.length > 0 && nodes.filter(n => 'ERROR,COMPLETED,FINISHED'.includes(n.status)).length === nodes.lenth;
const query = {...queryData, ...{complete: complete}};
resolve({
query,
nodes,
dataVersion
});
});
};
//subscribe to fetch network id for query.
const loadNetworkId = (n) => qep.fetchNetworkId(n)
.then(result => publishNetworkId(result))
.catch(error => logError(error));
const loadQuery = (d) => {
qep.fetchQuery(d.networkId, d.timeoutSeconds, d.dataVersion)
.then(result => toModel(result))
.catch(error => console.log(`ERROR: ${error}`))
.then(model => publishQuery(model));
}
const init = () => {
evtAgg.subscribe(commands.shrine.fetchQuery, loadQuery);
}
init();
}tt
}
\ No newline at end of file
diff --git a/shrine-webclient/src/main/js/client/js-shrine/src/views/query-status/query-status.js b/shrine-webclient/src/main/js/client/js-shrine/src/views/query-status/query-status.js
index 7294a56e4..ab8af134b 100644
--- a/shrine-webclient/src/main/js/client/js-shrine/src/views/query-status/query-status.js
+++ b/shrine-webclient/src/main/js/client/js-shrine/src/views/query-status/query-status.js
@@ -1,65 +1,68 @@
import { customElement, observable} from 'aurelia-framework';
import { QueryStatusModel } from 'services/query-status.model';
import { PubSub } from 'services/pub-sub';
@customElement('query-status')
export class QueryStatus extends PubSub {
@observable status
static inject = [QueryStatusModel];
constructor(queryStatus, ...rest) {
super(...rest);
me.set(this, {
isDevEnv: document.location.href.includes('http://localhost:8000/'),
exportAvailable: false
});
}
statusChanged(newValue, oldValue) {
if(!newValue.nodes || !newValue.nodes.length) {
me.get(this).exportAvailable = false;
this.publish(this.notifications.shrine.queryUnavailable);
return;
}
me.get(this).exportAvailable = true;
this.publish(this.notifications.shrine.queryAvailable);
}
attached() {
// -- subscribers -- //
this.subscribe(this.notifications.i2b2.queryStarted, (n) => {
this.status = initialState();
this.status.query.queryName = n;
});
this.subscribe(this.notifications.i2b2.networkIdReceived, d => {
const {networkId, name} = d;
const state = initialState();
const {nodes} = state;
- state.query.queryName = name || state.query.queryName;
+ const queryName = name || state.query.queryName;
this.status = this.status? {...this.status, ...{nodes}} : state;
+ this.status.query = {...this.status.query, ...{queryName, networkId}};
this.publish(this.commands.shrine.fetchQuery, {networkId, timeoutSeconds: TIMEOUT_SECONDS, dataVersion: DEFAULT_VERSION})
});
this.subscribe(this.notifications.i2b2.exportQuery, () => {
this.publish(this.commands.shrine.exportResult, { ...{}, ...this.status });
})
this.subscribe(this.notifications.i2b2.clearQuery, () => {
this.status = initialState();
})
this.subscribe(this.notifications.shrine.queryReceived, data => {
- const {query, nodes, dataVersion, complete, query:{networkId}} = data;
+ const {query, nodes, dataVersion = DEFAULT_VERSION, complete, query:{networkId}} = data;
+ const timeoutSeconds = TIMEOUT_SECONDS;
+ if(networkId !== this.status.query.networkId) return;
const updated = Number(new Date());
this.status = { ...this.status, ...{ query, nodes, updated } }
if (!complete) {
- this.publish(this.commands.shrine.fetchQuery, {networkId, dataVersion, TIMEOUT_SECONDS});
+ this.publish(this.commands.shrine.fetchQuery, {networkId, dataVersion, timeoutSeconds});
}
});
if (me.get(this).isDevEnv) {
//this.publish(this.notifications.i2b2.queryStarted, "started query");
- this.publish(this.notifications.i2b2.networkIdReceived, {networkId: 1, name: "started query"});
+ this.publish(this.notifications.i2b2.networkIdReceived, {networkId: '2421519216383772161', name: "started query"});
}
}
}
const TIMEOUT_SECONDS = 15;
const DEFAULT_VERSION = -1;
const me = new WeakMap();
-const initialState = (n) => ({ query: { queryName: null, updated: null, complete: false }, nodes: null });
+const initialState = (n) => ({ query: { networkId: null, queryName: null, updated: null, complete: false }, nodes: null });
diff --git a/shrine-webclient/src/main/js/server/pm-mock.js b/shrine-webclient/src/main/js/server/pm-mock.js
index c45f92dc2..5f564db4f 100644
--- a/shrine-webclient/src/main/js/server/pm-mock.js
+++ b/shrine-webclient/src/main/js/server/pm-mock.js
@@ -1,113 +1,113 @@
/*
This is a first stab at a i2b2 pm-mock
@todo: refactor/cleanup this module.
*/
var express = require('express');
var cors = require('cors');
var bodyParser = require('body-parser');
require('body-parser-xml')(bodyParser);
var app = express();
var bodyParser = require('body-parser');
var port = process.env.PORT || 6443;
var router = express.Router();
var fs = require('fs');
var isAuthorized = false;
function start(dir) {
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(bodyParser.xml({
limit: '1GB', // Reject payload bigger than 1 MB
xmlParseOptions: {
normalize: true, // Trim whitespace inside text nodes
normalizeTags: true, // Transform tags to lowercase
explicitArray: false // Only put nodes in array if >1
}
}));
app.use(cors());
app.use('/', router);
app.listen(port);
console.log('I2B2SERVER Mock Server started on port: ' + port);
// -- routes --//
router.post('/shrine-proxy/request', function (req, res) {
var requestType = parseRequest(req);
var fileName = getFilename(requestType);
var xml = fs.readFileSync('./' + dir+ '/i2b2-xml/' + fileName);
res.header('Content-Type', 'text/xml').send(xml);
});
router.get('/shrine-metadata/data', function(req, res) {
res.json('steward@steward.com');
});
router.get('/shrine-metadata/qep/queryResultsTable', (req, res) => {
//todo: cleanup.
const service = require('./data/async-queries');
const url = require('url');
const query = url.parse(req.url, true).query;
const result = service.getQueryResults(query.skip, query.limit);
res.json(result);
})
}
router.get('/shrine-metadata/qep/queryResult/:id', (req, res) => {
const result= require('./data/query-result');
- const TIMEOUT = 5000;
+ const TIMEOUT = 15000;
setTimeout(() => res.json(result), TIMEOUT);
});
router.get('/shrine-metadata/qep/networkId', (req, res) => {
const service = require('./data/async-queries');
const url = require('url');
const data = url.parse(req.url, true).query;
const result = service.getNetworkId(data.queryName);
res.json(result);
});
/*
Any request with an XML payload will be parsed and a JavaScript requestect produced on req.body
corresponding to the request payload.
This is messy refactor.
*/
function parseRequest(request) {
request = request.body;
var requestTypes = ['i2b2:request', 'ns2:request', 'ns3:request', 'ns6:request'];
var requestType = requestTypes.find(t => request[t] !== undefined);
request = (request[requestType] && request[requestType].message_body) ?
request[requestType].message_body : null;
return parseBodyRequest(request);
}
function parseBodyRequest(request) {
var bodyTypes = ['pm:get_user_configuration', 'ns4:get_categories', 'ns4:get_schemes', 'ns7:sheriff_header', 'ns4:psmheader'];
var bodyType = bodyTypes.find(t => request[t] !== undefined);
if (bodyType == 'ns4:psmheader') {
bodyType = request['ns4:psmheader'].request_type;
}
return bodyType;
}
function getFilename(value) {
let fileMap = {
'pm:get_user_configuration': 'getUserAuth.xml',
'ns4:get_categories': 'GetCategories.xml',
'ns4:get_schemes': 'GetSchemes.xml',
'ns7:sheriff_header': 'getUserAuth.xml',
'CRC_QRY_getResultType': 'getQRY_getResultType.xml',
'CRC_QRY_getQueryMasterList_fromUserId': 'getQueryMasterList_fromUserId.xml'
};
return fileMap[value];
}
module.exports = {start: start};
\ No newline at end of file

Event Timeline