1 /*
2  *  Make.org Core API
3  *  Copyright (C) 2018 Make.org
4  *
5  * This program is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU Affero General Public License as
7  *  published by the Free Software Foundation, either version 3 of the
8  *  License, or (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU Affero General Public License for more details.
14  *
15  *  You should have received a copy of the GNU Affero General Public License
16  *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
17  *
18  */
19 
20 package org.make.api.technical.crm
21 
22 import java.nio.charset.StandardCharsets
23 import java.nio.file.{Files, Path}
24 import java.time.format.DateTimeFormatter
25 import java.time.temporal.ChronoUnit
26 import java.time.{LocalDate, ZoneOffset, ZonedDateTime}
27 import java.util.concurrent.atomic.AtomicInteger
28 import java.util.concurrent.{Executors, ThreadFactory}
29 import java.util.stream.Collectors
30 import cats.implicits._
31 import akka.actor.typed.scaladsl.AskPattern._
32 import akka.http.scaladsl.model.StatusCodes
33 import akka.persistence.query.EventEnvelope
34 import akka.stream._
35 import akka.stream.alpakka.file.scaladsl.LogRotatorSink
36 import akka.stream.scaladsl.{Sink, Source}
37 import akka.util.{ByteString, Timeout}
38 import akka.{Done, NotUsed}
39 import grizzled.slf4j.Logging
40 import de.heikoseeberger.akkahttpcirce.ErrorAccumulatingCirceSupport
41 import eu.timepit.refined.auto._
42 import org.make.api.extensions.MailJetConfigurationComponent
43 import org.make.api.operation.OperationServiceComponent
44 import org.make.api.proposal.ProposalServiceComponent
45 import org.make.api.question.{QuestionServiceComponent, SearchQuestionRequest}
46 import org.make.api.technical.ExecutorServiceHelper._
47 import org.make.api.technical.job.JobActor.Protocol.Response.JobAcceptance
48 import org.make.api.technical.job.JobCoordinatorServiceComponent
49 import org.make.api.technical._
50 import org.make.api.technical.crm.CrmClient.{Account, Marketing, Transactional}
51 import org.make.api.user.PersistentCrmSynchroUserService.CrmSynchroUser
52 import org.make.api.user.PersistentCrmSynchroUserServiceComponent
53 import org.make.api.userhistory._
54 import org.make.core.DateHelper.isLast30daysDate
55 import org.make.core.technical.Pagination
56 import org.make.core.job.Job.JobId.SyncCrmData
57 import org.make.core.question.Question
58 import org.make.core.session.SessionId
59 import org.make.core.user.{HasUserType, UserId}
60 import org.make.core.user.UserType._
61 import org.make.core.{DateHelper, Order}
62 
63 import java.util.UUID
64 import scala.concurrent.duration.DurationInt
65 import scala.concurrent.{ExecutionContext, Future, Promise}
66 import scala.jdk.CollectionConverters._
67 import scala.math.Ordering.Implicits.infixOrderingOps
68 import scala.util.{Failure, Success, Try}
69 
70 trait DefaultCrmServiceComponent extends CrmServiceComponent with Logging with ErrorAccumulatingCirceSupport {
71   self: MailJetConfigurationComponent
72     with ActorSystemComponent
73     with PersistentCrmSynchroUserServiceComponent
74     with OperationServiceComponent
75     with QuestionServiceComponent
76     with UserHistoryCoordinatorServiceComponent
77     with ReadJournalComponent
78     with ProposalServiceComponent
79     with PersistentCrmUserServiceComponent
80     with CrmClientComponent
81     with EventBusServiceComponent
82     with ErrorAccumulatingCirceSupport
83     with JobCoordinatorServiceComponent
84     with SpawnActorServiceComponent =>
85 
86   override lazy val crmService: DefaultCrmService = new DefaultCrmService
87 
88   class DefaultCrmService extends CrmService {
89 
90     private lazy val batchSize: Int = mailJetConfiguration.userListBatchSize
91     private lazy val baseCsvDirectory: String = mailJetConfiguration.csvDirectory
92     private lazy val csvSize: Int = mailJetConfiguration.csvSize
93     private val retrievePropertiesParallelism = 10
94     private val persistCrmUsersParallelism = 5
95 
96     private val poolSize: Int = 10
97     implicit private val executionContext: ExecutionContext =
98       Executors
99         .newFixedThreadPool(
100           poolSize,
101           new ThreadFactory {
102             val counter = new AtomicInteger()
103 
104             override def newThread(runnable: Runnable): Thread =
105               new Thread(runnable, "crm-batchs-" + counter.getAndIncrement())
106           }
107         )
108         .instrument("crm-batchs")
109         .toExecutionContext
110 
111     implicit val crmSynchroUserUserType: HasUserType[CrmSynchroUser] = _.userType
112 
113     private val localDateFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd 00:00:00")
114     private val dateFormatter: DateTimeFormatter =
115       DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneOffset.UTC)
116     private val dayDateFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern("ddMMyyyy").withZone(ZoneOffset.UTC)
117 
118     private implicit val timeout: Timeout = TimeSettings.defaultTimeout
119 
120     override def sendEmail(messages: SendMessages): Future[SendEmailResponse] = {
121       val result = crmClient.sendEmail(message = messages)
122 
123       result.onComplete {
124         case Success(response) =>
125           logger.info(s"Sent email ${messages.toString} with reponse ${response.toString}")
126         case Failure(e) =>
127           logger.error(s"Sent email $messages failed", e)
128           e match {
129             case CrmClientException.RequestException.SendEmailException(StatusCodes.BadRequest, _) =>
130             case _ =>
131               actorSystem.scheduler
132                 .scheduleOnce(mailJetConfiguration.delayBeforeResend, () => eventBusService.publish(messages))
133           }
134       }
135 
136       result
137     }
138 
139     override def getUsersMailFromList(
140       listId: Option[String] = None,
141       sort: Option[String] = None,
142       order: Option[Order] = None,
143       countOnly: Option[Boolean] = None,
144       limit: Pagination.Limit,
145       offset: Pagination.Offset = Pagination.Offset(0)
146     ): Future[GetUsersMail] = {
147       crmClient
148         .getUsersInformationMailFromList(listId, sort, order, countOnly, limit, offset)
149         .map { response =>
150           GetUsersMail(
151             count = response.count,
152             total = response.total,
153             data = response.data.map(data => ContactMail(contactId = data.id, email = data.email))
154           )
155         }
156         .recoverWith {
157           case e: CrmClientException =>
158             logger.error(e.message)
159             Future.successful(GetUsersMail(0, 0, Seq.empty))
160           case e => Future.failed(e)
161         }
162     }
163 
164     override def deleteRecipient(email: String): Future[Unit] =
165       for {
166         _ <- crmClient.deleteContactByEmail(email, Marketing)
167         _ <- crmClient.deleteContactByEmail(email, Transactional)
168       } yield ()
169 
170     override def createCrmUsers(): Future[Unit] = {
171       for {
172         _        <- persistentCrmUserService.truncateCrmUsers()
173         resolver <- createQuestionResolver
174         _        <- computeAndPersistCrmUsers(resolver)
175       } yield ()
176     }
177 
178     private def resetDirectory(directory: Path): Unit = {
179       if (Files.exists(directory)) {
180         Files.list(directory).forEach { file =>
181           Files.deleteIfExists(file)
182           ()
183         }
184       } else {
185         Files.createDirectories(directory)
186       }
187       ()
188     }
189 
190     def initializeDirectories(): Future[Unit] = {
191       Future[Unit] {
192         resetDirectory(CrmList.HardBounce.targetDirectory(baseCsvDirectory))
193         resetDirectory(CrmList.OptOut.targetDirectory(baseCsvDirectory))
194         resetDirectory(CrmList.OptIn.targetDirectory(baseCsvDirectory))
195       }
196     }
197 
198     override def synchronizeContactsWithCrm(): Future[JobAcceptance] = {
199       val startTime: Long = System.currentTimeMillis()
200       val synchronizationTime = DateHelper.now().format(dateFormatter)
201 
202       jobCoordinatorService.start(SyncCrmData) { report =>
203         val crmSynchronization =
204           for {
205             _ <- createCrmUsers()
206             _ <- report(49d)
207             _ <- initializeDirectories()
208             _ <- report(50d)
209             _ <- synchronizeList(
210               formattedDate = synchronizationTime,
211               list = CrmList.OptIn,
212               csvDirectory = CrmList.OptIn.targetDirectory(baseCsvDirectory)
213             )
214             _ <- report(65d)
215             _ <- synchronizeList(
216               formattedDate = synchronizationTime,
217               list = CrmList.OptOut,
218               csvDirectory = CrmList.OptOut.targetDirectory(baseCsvDirectory)
219             )
220             _ <- report(80d)
221             _ <- synchronizeList(
222               formattedDate = synchronizationTime,
223               list = CrmList.HardBounce,
224               csvDirectory = CrmList.HardBounce.targetDirectory(baseCsvDirectory)
225             )
226             _ <- report(95d)
227             _ <- anonymize()
228           } yield {}
229 
230         crmSynchronization.onComplete {
231           case Failure(exception) =>
232             logger.error(s"Mailjet synchro failed:", exception)
233           case Success(_) =>
234             logger.info(s"Mailjet synchro succeeded in ${System.currentTimeMillis() - startTime}ms")
235         }
236 
237         crmSynchronization
238       }
239 
240     }
241 
242     private def fileSizeTriggerCreator(csvDirectory: Path): () => ByteString => Option[Path] = () => {
243       val max = csvSize
244       var size: Long = max
245       element: ByteString =>
246         if (size + element.size > max) {
247           val path = Files.createFile(csvDirectory.resolve(s"${UUID.randomUUID().toString}.csv"))
248           size = element.size
249           Some(path)
250         } else {
251           size += element.size
252           None
253         }
254     }
255 
256     def createCsv(formattedDate: String, list: CrmList, csvDirectory: Path): Future[Seq[Path]] = {
257 
258       def toContactProperties(user: PersistentCrmUser): ContactProperties = {
259         ContactProperties(
260           userId = Some(UserId(user.userId)),
261           firstName = Some(user.firstname),
262           postalCode = user.zipcode,
263           dateOfBirth = user.dateOfBirth,
264           emailValidationStatus = Some(user.emailValidationStatus),
265           emailHardBounceValue = Some(user.emailHardbounceStatus),
266           unsubscribeStatus = Some(user.unsubscribeStatus),
267           accountCreationDate = user.accountCreationDate,
268           accountCreationSource = user.accountCreationSource,
269           accountCreationOrigin = user.accountCreationOrigin,
270           accountCreationSlug = user.accountCreationOperation,
271           accountCreationLocation = user.accountCreationLocation,
272           favoriteCountry = user.favoriteCountry,
273           favoriteLanguage = user.favoriteLanguage,
274           totalProposals = user.totalNumberProposals,
275           totalVotes = user.totalNumberVotes,
276           firstContributionDate = user.firstContributionDate,
277           lastContributionDate = user.lastContributionDate,
278           operationActivity = user.operationActivity,
279           sourceActivity = user.sourceActivity,
280           daysOfActivity = user.daysOfActivity,
281           daysOfActivity30 = user.daysOfActivity30d,
282           userType = user.userType,
283           accountType = user.accountType,
284           updatedAt = Some(formattedDate),
285           daysBeforeDeletion = user.daysBeforeDeletion,
286           lastActivityDate = user.lastActivityDate,
287           sessionsCount = user.sessionsCount,
288           eventsCount = user.eventsCount
289         )
290       }
291 
292       StreamUtils
293         .asyncPageToPageSource(persistentCrmUserService.list(list.unsubscribed, list.hardBounced, _, batchSize))
294         .mapConcat(identity)
295         .map { crmUser =>
296           Contact(email = crmUser.email, name = Some(crmUser.fullName), properties = Some(toContactProperties(crmUser))).toStringCsv
297         }
298         .map(ByteString.apply(_, StandardCharsets.UTF_8))
299         .runWith(LogRotatorSink(fileSizeTriggerCreator(csvDirectory)))
300         .map(_ => Files.list(csvDirectory).collect(Collectors.toList[Path]).asScala.toSeq)
301     }
302 
303     @SuppressWarnings(Array("org.wartremover.warts.IterableOps"))
304     private def sendCsvToHardBounceList(csv: Path, list: CrmList): Future[Long] = {
305       for {
306         csvId <- crmClient.sendCsv(mailJetConfiguration.hardBounceListId, csv)
307         response <- crmClient.manageContactListWithCsv(
308           CsvImport(
309             mailJetConfiguration.hardBounceListId,
310             csvId.csvId.toString,
311             list.actionOnHardBounce,
312             ImportOptions("yyyy-mm-dd hh:nn:ss").toString
313           )
314         )
315       } yield {
316         response.data.head.jobId
317       }
318     }
319 
320     @SuppressWarnings(Array("org.wartremover.warts.IterableOps"))
321     private def sendCsvToOptInList(csv: Path, list: CrmList): Future[Long] = {
322       for {
323         csvId <- crmClient.sendCsv(mailJetConfiguration.optInListId, csv)
324         response <- crmClient.manageContactListWithCsv(
325           CsvImport(
326             mailJetConfiguration.optInListId,
327             csvId.csvId.toString,
328             list.actionOnOptIn,
329             ImportOptions("yyyy-mm-dd hh:nn:ss").toString
330           )
331         )
332       } yield {
333         response.data.head.jobId
334       }
335     }
336 
337     @SuppressWarnings(Array("org.wartremover.warts.IterableOps"))
338     private def sendCsvToUnsubscribeList(csv: Path, list: CrmList): Future[Long] = {
339       for {
340         csvId <- crmClient.sendCsv(mailJetConfiguration.unsubscribeListId, csv)
341         response <- crmClient.manageContactListWithCsv(
342           CsvImport(
343             mailJetConfiguration.unsubscribeListId,
344             csvId.csvId.toString,
345             list.actionOnOptOut,
346             ImportOptions("yyyy-mm-dd hh:nn:ss").toString
347           )
348         )
349       } yield {
350         response.data.head.jobId
351       }
352     }
353 
354     override def synchronizeList(formattedDate: String, list: CrmList, csvDirectory: Path): Future[Done] = {
355       Source
356         .future(createCsv(formattedDate, list, csvDirectory))
357         .mapConcat(identity)
358         .filter(Files.size(_) > 0)
359         .mapAsync(1) { csv =>
360           for {
361             responseHardBounce  <- sendCsvToHardBounceList(csv, list)
362             responseOptIn       <- sendCsvToOptInList(csv, list)
363             responseUnsubscribe <- sendCsvToUnsubscribeList(csv, list)
364             result              <- verifyJobCompletion(responseHardBounce, responseOptIn, responseUnsubscribe)
365           } yield result
366         }
367         .runWith(Sink.ignore)
368     }
369 
370     private def verifyJobCompletion(
371       responseHardBounce: Long,
372       responseOptIn: Long,
373       responseUnsubscribe: Long
374     ): Future[Unit] = {
375       val jobIds = Seq(responseHardBounce, responseOptIn, responseUnsubscribe)
376       val promise = Promise[Unit]()
377       spawnActorService
378         .spawn(
379           behavior = CrmSynchroCsvMonitor(crmClient, promise, mailJetConfiguration.tickInterval)(jobIds),
380           name = "CrmSynchroCsvMonitor"
381         )
382         .productR(promise.future)
383     }
384 
385     private def computeAndPersistCrmUsers(questionResolver: QuestionResolver): Future[Unit] = {
386       val start = System.currentTimeMillis()
387       StreamUtils
388         .asyncPageToPageSource(
389           page =>
390             persistentCrmSynchroUserService
391               .findUsersForCrmSynchro(None, None, Pagination.Offset(page), Pagination.Limit(batchSize))
392         )
393         .mapConcat(identity)
394         .mapAsync(retrievePropertiesParallelism) { user =>
395           getPropertiesFromUser(user, questionResolver).map { properties =>
396             (user.email, user.fullName.getOrElse(user.email), properties)
397           }
398         }
399         .groupedWithin(batchSize, 5.seconds)
400         .map { contacts =>
401           contacts.map {
402             case (email, fullName, properties) => properties.toPersistentCrmUser(email, fullName)
403           }
404         }
405         .mapAsync(persistCrmUsersParallelism) { crmUsers =>
406           persistentCrmUserService.persist(crmUsers)
407         }
408         .runWith(Sink.ignore)
409         .map(_ => logger.info(s"Crm users creation completed in ${System.currentTimeMillis() - start} ms"))
410     }
411 
412     private final def deleteAnonymizedContacts(contactIds: Seq[Long], account: Account): Future[Done] = {
413       Source(contactIds)
414         .throttle(1, 1.second)
415         .mapAsync(1) { contactId =>
416           crmClient.deleteContactById(contactId.toString, account)
417         }
418         .runWith(Sink.ignore)
419     }
420 
421     override def anonymize(): Future[Unit] = {
422       for {
423         foundAccounts <- findInactiveAccounts
424         _             <- deleteAnonymizedContacts(foundAccounts, Marketing)
425         _             <- deleteAnonymizedContacts(foundAccounts, Transactional)
426       } yield ()
427     }
428 
429     private def findInactiveAccounts: Future[Seq[Long]] = {
430       val checkDate: ZonedDateTime = ZonedDateTime.now(ZoneOffset.UTC).minusHours(24)
431       def isBefore(updatedAt: String): Boolean =
432         Try(ZonedDateTime.parse(updatedAt)).toOption.forall(_.isBefore(checkDate))
433 
434       StreamUtils
435         .asyncPageToPageSource(crmClient.getContactsProperties(_, Pagination.Limit(batchSize)).map(_.data))
436         .mapConcat(identity)
437         .filter { contact =>
438           contact.properties.find(_.name == "updated_at").exists(updatedAt => isBefore(updatedAt.value))
439         }
440         .map(_.contactId)
441         .runWith(Sink.seq)
442         .map { accounts =>
443           logger.info(s"Synchro CRM : Found ${accounts.size} to anonymize")
444           accounts
445         }
446     }
447 
448     private def createQuestionResolver: Future[QuestionResolver] = {
449       val operationsAsMap = operationService
450         .findSimple()
451         .map(_.map(operation => operation.slug -> operation.operationId).toMap)
452       for {
453         questions  <- questionService.searchQuestion(SearchQuestionRequest())
454         operations <- operationsAsMap
455       } yield new QuestionResolver(questions, operations)
456     }
457 
458     final def getPropertiesFromUser(user: CrmSynchroUser, resolver: QuestionResolver): Future[ContactProperties] = {
459 
460       val decider: Supervision.Decider = { e =>
461         logger.error(
462           s"Error in stream getPropertiesFromUser for user ${user.uuid.value}. Stream resumed by dropping this element: ",
463           e
464         )
465         Supervision.Resume
466       }
467 
468       val events: Source[EventEnvelope, NotUsed] =
469         userJournal
470           .currentEventsByPersistenceId(
471             persistenceId = user.uuid.value,
472             fromSequenceNr = 0,
473             toSequenceNr = Long.MaxValue
474           )
475           .withAttributes(ActorAttributes.supervisionStrategy(decider))
476 
477       val initialProperties = userPropertiesFromUser(user, resolver)
478 
479       val userProperties: Future[UserProperties] = events
480         .runFoldAsync(initialProperties) { (accumulator: UserProperties, envelope: EventEnvelope) =>
481           accumulateEvent(accumulator, envelope, resolver)
482         }
483 
484       userProperties.map(properties => contactPropertiesFromUserProperties(properties.normalize()))
485     }
486 
487     private def userPropertiesFromUser(user: CrmSynchroUser, questionResolver: QuestionResolver): UserProperties = {
488       val question =
489         questionResolver.findQuestionWithOperation { question =>
490           user.registerQuestionId.contains(question.questionId)
491         }
492 
493       UserProperties(
494         userId = user.uuid,
495         firstname = user.firstName.getOrElse(""),
496         zipCode = user.postalCode,
497         dateOfBirth = user.dateOfBirth,
498         emailValidationStatus = user.emailVerified,
499         emailHardBounceStatus = user.isHardBounce,
500         unsubscribeStatus = !user.optInNewsletter,
501         accountCreationDate = user.createdAt,
502         userB2B = user.isB2B,
503         updatedAt = Some(DateHelper.now()),
504         crmCountry = Some(user.crmCountry.value),
505         crmLanguage = Some(user.crmLanguage.value),
506         accountCreationSlug = question.map(_.slug),
507         accountType = Some(user.userType.value),
508         lastActivityDate = user.lastConnection,
509         sessionsIds = Set.empty,
510         eventsCount = 0
511       )
512     }
513 
514     private def getDaysBeforeDeletionFromLastActivityDate(properties: UserProperties): Option[Int] = {
515       properties.lastActivityDate.map { date =>
516         val deletionDate = date.plusYears(if (properties.userB2B) 4 else 2).plusMonths(11)
517         ChronoUnit.DAYS.between(ZonedDateTime.now(), deletionDate).toInt
518       }
519     }
520 
521     private def contactPropertiesFromUserProperties(userProperty: UserProperties): ContactProperties = {
522       ContactProperties(
523         userId = Some(userProperty.userId),
524         firstName = Some(userProperty.firstname),
525         postalCode = userProperty.zipCode,
526         dateOfBirth = userProperty.dateOfBirth.map(_.format(localDateFormatter)),
527         emailValidationStatus = Some(userProperty.emailValidationStatus),
528         emailHardBounceValue = Some(userProperty.emailHardBounceStatus),
529         unsubscribeStatus = Some(userProperty.unsubscribeStatus),
530         accountCreationDate = Some(userProperty.accountCreationDate.format(dateFormatter)),
531         accountCreationSource = userProperty.accountCreationSource,
532         accountCreationOrigin = userProperty.accountCreationOrigin,
533         accountCreationSlug = userProperty.accountCreationSlug,
534         accountCreationLocation = userProperty.accountCreationLocation,
535         favoriteCountry = userProperty.crmCountry,
536         favoriteLanguage = userProperty.crmLanguage,
537         totalProposals = Some(userProperty.totalNumberProposals.getOrElse(0)),
538         totalVotes = Some(userProperty.totalNumbervotes.getOrElse(0)),
539         firstContributionDate = userProperty.firstContributionDate.map(_.format(dateFormatter)),
540         lastContributionDate = userProperty.lastContributionDate.map(_.format(dateFormatter)),
541         operationActivity = Some(userProperty.questionActivity.distinct.mkString(",")),
542         sourceActivity = Some(userProperty.sourceActivity.distinct.mkString(",")),
543         daysOfActivity = Some(userProperty.daysOfActivity.distinct.length),
544         daysOfActivity30 = Some(userProperty.daysOfActivity30d.distinct.length),
545         userType = if (userProperty.userB2B) {
546           Some("B2B")
547         } else {
548           Some("B2C")
549         },
550         accountType = userProperty.accountType,
551         updatedAt = userProperty.updatedAt.map(_.format(dateFormatter)),
552         daysBeforeDeletion = getDaysBeforeDeletionFromLastActivityDate(userProperty),
553         lastActivityDate = userProperty.lastActivityDate.map(_.format(dateFormatter)),
554         sessionsCount = Some(userProperty.sessionsIds.size),
555         eventsCount = Some(userProperty.eventsCount)
556       )
557     }
558 
559     private def accumulateEvent(
560       accumulator: UserProperties,
561       envelope: EventEnvelope,
562       questionResolver: QuestionResolver
563     ): Future[UserProperties] = {
564       envelope.event match {
565         case event: LogUserConnectedEvent =>
566           Future.successful(accumulateLogUserConnectedEvent(accumulator, event))
567         case event: LogRegisterCitizenEvent =>
568           Future.successful(accumulateLogRegisterCitizenEvent(accumulator, event, questionResolver))
569         case event: LogUserProposalEvent =>
570           accumulateLogUserProposalEvent(accumulator, event, questionResolver)
571         case event: LogUserVoteEvent =>
572           accumulateLogUserVoteEvent(accumulator, event, questionResolver)
573         case event: LogUserUnvoteEvent =>
574           accumulateLogUserUnvoteEvent(accumulator, event, questionResolver)
575         case event: LogUserQualificationEvent =>
576           accumulateLogUserQualificationEvent(accumulator, event, questionResolver)
577         case event: LogUserUnqualificationEvent =>
578           accumulateLogUserUnqualificationEvent(accumulator, event, questionResolver)
579         case event: LogUserStartSequenceEvent =>
580           Future.successful(accumulateLogUserStartSequenceEvent(accumulator, event))
581         case _ => Future.successful(accumulator)
582       }
583     }
584 
585     private def accumulateLogUserConnectedEvent(
586       accumulator: UserProperties,
587       event: LogUserConnectedEvent
588     ): UserProperties = {
589 
590       accumulator.copy(
591         lastActivityDate = accumulator.lastActivityDate.max(Some(event.action.date)),
592         sessionsIds = accumulator.sessionsIds ++ Set(event.requestContext.sessionId),
593         eventsCount = accumulator.eventsCount + 1
594       )
595     }
596 
597     private def accumulateLogUserUnqualificationEvent(
598       accumulator: UserProperties,
599       event: LogUserUnqualificationEvent,
600       questionResolver: QuestionResolver
601     ): Future[UserProperties] = {
602       val futureQuestion: Future[Option[Question]] =
603         proposalService.resolveQuestionFromVoteEvent(
604           questionResolver,
605           event.requestContext,
606           event.action.arguments.proposalId
607         )
608 
609       futureQuestion.map { maybeQuestion =>
610         accumulator.copy(
611           lastContributionDate = Some(event.action.date),
612           questionActivity = accumulator.questionActivity ++ maybeQuestion.map(_.slug).toList,
613           sourceActivity = accumulator.sourceActivity ++ event.requestContext.source,
614           daysOfActivity = accumulator.daysOfActivity ++ Some(event.action.date.format(dayDateFormatter)),
615           daysOfActivity30d = if (isLast30daysDate(event.action.date)) {
616             accumulator.daysOfActivity30d ++ Some(event.action.date.format(dayDateFormatter))
617           } else {
618             accumulator.daysOfActivity
619           },
620           lastActivityDate = accumulator.lastActivityDate.max(Some(event.action.date)),
621           sessionsIds = accumulator.sessionsIds ++ Set(event.requestContext.sessionId),
622           eventsCount = accumulator.eventsCount + 1
623         )
624       }
625     }
626 
627     private def accumulateLogUserQualificationEvent(
628       accumulator: UserProperties,
629       event: LogUserQualificationEvent,
630       questionResolver: QuestionResolver
631     ): Future[UserProperties] = {
632 
633       val futureQuestion: Future[Option[Question]] =
634         proposalService.resolveQuestionFromVoteEvent(
635           questionResolver,
636           event.requestContext,
637           event.action.arguments.proposalId
638         )
639 
640       futureQuestion.map { maybeQuestion =>
641         accumulator.copy(
642           lastContributionDate = Some(event.action.date),
643           questionActivity = accumulator.questionActivity ++ maybeQuestion.map(_.slug).toList,
644           sourceActivity = accumulator.sourceActivity ++ event.requestContext.source,
645           daysOfActivity = accumulator.daysOfActivity ++ Some(event.action.date.format(dayDateFormatter)),
646           daysOfActivity30d = if (isLast30daysDate(event.action.date)) {
647             accumulator.daysOfActivity30d ++ Some(event.action.date.format(dayDateFormatter))
648           } else {
649             accumulator.daysOfActivity30d
650           },
651           lastActivityDate = accumulator.lastActivityDate.max(Some(event.action.date)),
652           sessionsIds = accumulator.sessionsIds ++ Set(event.requestContext.sessionId),
653           eventsCount = accumulator.eventsCount + 1
654         )
655       }
656     }
657 
658     private def accumulateLogUserUnvoteEvent(
659       accumulator: UserProperties,
660       event: LogUserUnvoteEvent,
661       questionResolver: QuestionResolver
662     ): Future[UserProperties] = {
663       val futureQuestion: Future[Option[Question]] =
664         proposalService.resolveQuestionFromVoteEvent(
665           questionResolver,
666           event.requestContext,
667           event.action.arguments.proposalId
668         )
669 
670       futureQuestion.map { maybeQuestion =>
671         accumulator.copy(
672           totalNumbervotes = accumulator.totalNumbervotes.map(_ - 1).orElse(Some(-1)),
673           lastContributionDate = Some(event.action.date),
674           questionActivity = accumulator.questionActivity ++ maybeQuestion.map(_.slug).toList,
675           sourceActivity = accumulator.sourceActivity ++ event.requestContext.source,
676           daysOfActivity = accumulator.daysOfActivity ++ Some(event.action.date.format(dayDateFormatter)),
677           daysOfActivity30d = if (isLast30daysDate(event.action.date)) {
678             accumulator.daysOfActivity30d ++ Some(event.action.date.format(dayDateFormatter))
679           } else {
680             accumulator.daysOfActivity30d
681           },
682           lastActivityDate = accumulator.lastActivityDate.max(Some(event.action.date)),
683           sessionsIds = accumulator.sessionsIds ++ Set(event.requestContext.sessionId),
684           eventsCount = accumulator.eventsCount + 1
685         )
686       }
687     }
688 
689     private def accumulateLogUserVoteEvent(
690       accumulator: UserProperties,
691       event: LogUserVoteEvent,
692       questionResolver: QuestionResolver
693     ): Future[UserProperties] = {
694       val futureQuestion: Future[Option[Question]] =
695         proposalService.resolveQuestionFromVoteEvent(
696           questionResolver,
697           event.requestContext,
698           event.action.arguments.proposalId
699         )
700 
701       futureQuestion.map { maybeQuestion =>
702         accumulator.copy(
703           totalNumbervotes = accumulator.totalNumbervotes.map(_ + 1).orElse(Some(1)),
704           questionActivity = accumulator.questionActivity ++ maybeQuestion.map(_.slug).toList,
705           sourceActivity = accumulator.sourceActivity ++ event.requestContext.source,
706           firstContributionDate = accumulator.firstContributionDate.orElse(Option(event.action.date)),
707           lastContributionDate = Some(event.action.date),
708           daysOfActivity = accumulator.daysOfActivity ++ Some(event.action.date.format(dayDateFormatter)),
709           daysOfActivity30d = if (isLast30daysDate(event.action.date)) {
710             accumulator.daysOfActivity30d ++ Some(event.action.date.format(dayDateFormatter))
711           } else {
712             accumulator.daysOfActivity30d
713           },
714           lastActivityDate = accumulator.lastActivityDate.max(Some(event.action.date)),
715           sessionsIds = accumulator.sessionsIds ++ Set(event.requestContext.sessionId),
716           eventsCount = accumulator.eventsCount + 1
717         )
718       }
719     }
720 
721     private def accumulateLogUserProposalEvent(
722       accumulator: UserProperties,
723       event: LogUserProposalEvent,
724       questionResolver: QuestionResolver
725     ): Future[UserProperties] = {
726       val futureMaybeQuestion: Future[Option[Question]] =
727         proposalService.resolveQuestionFromUserProposal(
728           questionResolver,
729           event.requestContext,
730           accumulator.userId,
731           event.action.date
732         )
733 
734       futureMaybeQuestion.map { maybeQuestion =>
735         accumulator.copy(
736           totalNumberProposals = accumulator.totalNumberProposals.map(_ + 1).orElse(Some(1)),
737           questionActivity = accumulator.questionActivity ++ maybeQuestion.map(_.slug).toList,
738           sourceActivity = accumulator.sourceActivity ++ event.requestContext.source.toList,
739           firstContributionDate = accumulator.firstContributionDate.orElse(Option(event.action.date)),
740           lastContributionDate = Some(event.action.date),
741           daysOfActivity = accumulator.daysOfActivity ++ Some(event.action.date.format(dayDateFormatter)),
742           daysOfActivity30d = if (isLast30daysDate(event.action.date)) {
743             accumulator.daysOfActivity30d ++ Some(event.action.date.format(dayDateFormatter))
744           } else {
745             accumulator.daysOfActivity30d
746           },
747           lastActivityDate = accumulator.lastActivityDate.max(Some(event.action.date)),
748           sessionsIds = accumulator.sessionsIds ++ Set(event.requestContext.sessionId),
749           eventsCount = accumulator.eventsCount + 1
750         )
751       }
752     }
753 
754     private def accumulateLogRegisterCitizenEvent(
755       accumulator: UserProperties,
756       event: LogRegisterCitizenEvent,
757       questionResolver: QuestionResolver
758     ): UserProperties = {
759 
760       val maybeQuestion = questionResolver
761         .extractQuestionWithOperationFromRequestContext(event.requestContext)
762 
763       accumulator.copy(
764         accountCreationSource = event.requestContext.source,
765         accountCreationOrigin = event.requestContext.getParameters.map { parameters =>
766           parameters.getOrElse("utm_source", "unknown")
767         },
768         accountCreationSlug = accumulator.accountCreationSlug.orElse(maybeQuestion.map(_.slug)),
769         accountCreationLocation = event.requestContext.location,
770         questionActivity = accumulator.questionActivity ++ maybeQuestion.map(_.slug).toList,
771         sourceActivity = accumulator.sourceActivity ++ event.requestContext.source,
772         lastActivityDate = accumulator.lastActivityDate.max(Some(event.action.date)),
773         sessionsIds = accumulator.sessionsIds ++ Set(event.requestContext.sessionId),
774         eventsCount = accumulator.eventsCount + 1
775       )
776     }
777 
778     private def accumulateLogUserStartSequenceEvent(
779       accumulator: UserProperties,
780       event: LogUserStartSequenceEvent
781     ): UserProperties = {
782       accumulator.copy(
783         lastActivityDate = accumulator.lastActivityDate.max(Some(event.action.date)),
784         sessionsIds = accumulator.sessionsIds ++ Set(event.requestContext.sessionId),
785         eventsCount = accumulator.eventsCount + 1
786       )
787     }
788   }
789 }
790 
791 final case class UserProperties(
792   userId: UserId,
793   firstname: String,
794   zipCode: Option[String],
795   dateOfBirth: Option[LocalDate],
796   emailValidationStatus: Boolean,
797   emailHardBounceStatus: Boolean,
798   unsubscribeStatus: Boolean,
799   accountCreationDate: ZonedDateTime,
800   userB2B: Boolean,
801   accountCreationSource: Option[String] = None,
802   accountCreationOrigin: Option[String] = None,
803   accountCreationSlug: Option[String] = None,
804   accountCreationLocation: Option[String] = None,
805   crmCountry: Option[String] = None,
806   crmLanguage: Option[String] = None,
807   totalNumberProposals: Option[Int] = None,
808   totalNumbervotes: Option[Int] = None,
809   firstContributionDate: Option[ZonedDateTime] = None,
810   lastContributionDate: Option[ZonedDateTime] = None,
811   questionActivity: Seq[String] = Seq.empty,
812   sourceActivity: Seq[String] = Seq.empty,
813   daysOfActivity: Seq[String] = Seq.empty,
814   daysOfActivity30d: Seq[String] = Seq.empty,
815   accountType: Option[String] = None,
816   updatedAt: Option[ZonedDateTime],
817   lastActivityDate: Option[ZonedDateTime],
818   sessionsIds: Set[SessionId],
819   eventsCount: Int
820 ) {
821 
822   def normalize(): UserProperties = {
823     normalizeUserPropertiesWhenNoRegisterEvent()
824   }
825 
826   /*
827    * Fix properties for user with no register event (previous bug that has been resolved)
828    */
829   private def normalizeUserPropertiesWhenNoRegisterEvent(): UserProperties = {
830     val sourceFixDate: ZonedDateTime = ZonedDateTime.parse("2018-09-01T00:00:00Z")
831     (accountCreationSource, accountCreationDate) match {
832       case (None, date) if date.isBefore(sourceFixDate) =>
833         this.copy(accountCreationSource = Some("core"), sourceActivity = (sourceActivity ++ Some("core")).distinct)
834       case _ => this
835     }
836   }
837 }
Line Stmt Id Pos Tree Symbol Tests Code
93 23209 3972 - 3974 Literal <nosymbol> org.make.api.technical.crm.crmservicecomponenttest 10
94 28012 4020 - 4021 Literal <nosymbol> org.make.api.technical.crm.crmservicecomponenttest 5
96 25698 4055 - 4057 Literal <nosymbol> org.make.api.technical.crm.crmservicecomponenttest 10
108 23494 4126 - 4460 Apply org.make.api.technical.ExecutorServiceHelper.RichExecutorService.instrument org.make.api.technical.crm.crmservicecomponenttest org.make.api.technical.ExecutorServiceHelper.RichExecutorService(java.util.concurrent.Executors.newFixedThreadPool(DefaultCrmService.this.poolSize, { final class $anon extends Object with java.util.concurrent.ThreadFactory { def <init>(): <$anon: java.util.concurrent.ThreadFactory> = { $anon.super.<init>(); () }; private[this] val counter: java.util.concurrent.atomic.AtomicInteger = new java.util.concurrent.atomic.AtomicInteger(); <stable> <accessor> private def counter: java.util.concurrent.atomic.AtomicInteger = $anon.this.counter; override def newThread(runnable: Runnable): Thread = new java.lang.Thread(runnable, "crm-batchs-".+($anon.this.counter.getAndIncrement())) }; new $anon() })).instrument("crm-batchs")
109 27466 4126 - 4488 Select org.make.api.technical.ExecutorServiceHelper.RichExecutorService.toExecutionContext org.make.api.technical.crm.crmservicecomponenttest org.make.api.technical.ExecutorServiceHelper.RichExecutorService(org.make.api.technical.ExecutorServiceHelper.RichExecutorService(java.util.concurrent.Executors.newFixedThreadPool(DefaultCrmService.this.poolSize, { final class $anon extends Object with java.util.concurrent.ThreadFactory { def <init>(): <$anon: java.util.concurrent.ThreadFactory> = { $anon.super.<init>(); () }; private[this] val counter: java.util.concurrent.atomic.AtomicInteger = new java.util.concurrent.atomic.AtomicInteger(); <stable> <accessor> private def counter: java.util.concurrent.atomic.AtomicInteger = $anon.this.counter; override def newThread(runnable: Runnable): Thread = new java.lang.Thread(runnable, "crm-batchs-".+($anon.this.counter.getAndIncrement())) }; new $anon() })).instrument("crm-batchs")).toExecutionContext
111 25096 4561 - 4571 Select org.make.api.user.PersistentCrmSynchroUserService.MakeUser.userType org.make.api.technical.crm.crmservicecomponenttest x$1.userType
113 23824 4629 - 4679 Apply java.time.format.DateTimeFormatter.ofPattern org.make.api.technical.crm.crmservicecomponenttest java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd 00:00:00")
115 27559 4765 - 4786 Literal <nosymbol> org.make.api.technical.crm.crmservicecomponenttest "yyyy-MM-dd HH:mm:ss"
115 23345 4737 - 4812 Apply java.time.format.DateTimeFormatter.withZone org.make.api.technical.crm.crmservicecomponenttest java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(java.time.ZoneOffset.UTC)
115 25606 4797 - 4811 Select java.time.ZoneOffset.UTC org.make.api.technical.crm.crmservicecomponenttest java.time.ZoneOffset.UTC
116 28242 4895 - 4905 Literal <nosymbol> org.make.api.technical.crm.crmservicecomponenttest "ddMMyyyy"
116 23639 4867 - 4931 Apply java.time.format.DateTimeFormatter.withZone org.make.api.technical.crm.crmservicecomponenttest java.time.format.DateTimeFormatter.ofPattern("ddMMyyyy").withZone(java.time.ZoneOffset.UTC)
116 25711 4916 - 4930 Select java.time.ZoneOffset.UTC org.make.api.technical.crm.crmservicecomponenttest java.time.ZoneOffset.UTC
118 27475 4977 - 5004 Select org.make.api.technical.TimeSettings.defaultTimeout org.make.api.technical.crm.crmservicecomponenttest org.make.api.technical.TimeSettings.defaultTimeout
121 25530 5107 - 5146 Apply org.make.api.technical.crm.CrmClient.sendEmail org.make.api.technical.crm.crmservicecomponenttest qual$1.sendEmail(x$1, x$2)(DefaultCrmService.this.executionContext)
121 24124 5117 - 5117 Select org.make.api.technical.crm.CrmClient.sendEmail$default$2 org.make.api.technical.crm.crmservicecomponenttest qual$1.sendEmail$default$2
121 27568 5126 - 5126 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.executionContext
121 25232 5107 - 5116 Select org.make.api.technical.crm.CrmClientComponent.crmClient org.make.api.technical.crm.crmservicecomponenttest DefaultCrmServiceComponent.this.crmClient
123 25538 5154 - 5695 ApplyToImplicitArgs scala.concurrent.Future.onComplete org.make.api.technical.crm.crmservicecomponenttest result.onComplete[Any](((x0$1: scala.util.Try[org.make.api.technical.crm.SendEmailResponse]) => x0$1 match { case (value: org.make.api.technical.crm.SendEmailResponse): scala.util.Success[org.make.api.technical.crm.SendEmailResponse]((response @ _)) => DefaultCrmServiceComponent.this.logger.info(("Sent email ".+(messages.toString()).+(" with reponse ").+(response.toString()): String)) case (exception: Throwable): scala.util.Failure[org.make.api.technical.crm.SendEmailResponse]((e @ _)) => { DefaultCrmServiceComponent.this.logger.error(("Sent email ".+(messages).+(" failed"): String), e); e match { case (code: akka.http.scaladsl.model.StatusCode, response: String): org.make.api.technical.crm.CrmClientException.RequestException.SendEmailException(akka.http.scaladsl.model.StatusCodes.BadRequest, _) => () case _ => DefaultCrmServiceComponent.this.actorSystem.scheduler.scheduleOnce(DefaultCrmServiceComponent.this.mailJetConfiguration.delayBeforeResend, (() => DefaultCrmServiceComponent.this.eventBusService.publish(messages)))(DefaultCrmService.this.executionContext) } } }))(DefaultCrmService.this.executionContext)
123 27864 5172 - 5172 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.executionContext
125 23352 5218 - 5299 Apply grizzled.slf4j.Logger.info DefaultCrmServiceComponent.this.logger.info(("Sent email ".+(messages.toString()).+(" with reponse ").+(response.toString()): String))
127 27031 5337 - 5384 Apply grizzled.slf4j.Logger.error DefaultCrmServiceComponent.this.logger.error(("Sent email ".+(messages).+(" failed"): String), e)
129 26007 5504 - 5506 Literal <nosymbol> ()
132 23652 5595 - 5633 Select org.make.api.extensions.MailJetConfiguration.delayBeforeResend DefaultCrmServiceComponent.this.mailJetConfiguration.delayBeforeResend
132 25080 5594 - 5594 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
132 23979 5543 - 5675 ApplyToImplicitArgs akka.actor.typed.Scheduler.scheduleOnce DefaultCrmServiceComponent.this.actorSystem.scheduler.scheduleOnce(DefaultCrmServiceComponent.this.mailJetConfiguration.delayBeforeResend, (() => DefaultCrmServiceComponent.this.eventBusService.publish(messages)))(DefaultCrmService.this.executionContext)
132 27403 5641 - 5674 Apply org.make.api.technical.EventBusService.publish DefaultCrmServiceComponent.this.eventBusService.publish(messages)
147 23359 6028 - 6037 Select org.make.api.technical.crm.CrmClientComponent.crmClient DefaultCrmServiceComponent.this.crmClient
148 26962 6047 - 6047 Select org.make.api.technical.crm.CrmClient.getUsersInformationMailFromList$default$7 qual$1.getUsersInformationMailFromList$default$7
148 23582 6028 - 6125 Apply org.make.api.technical.crm.CrmClient.getUsersInformationMailFromList qual$1.getUsersInformationMailFromList(x$1, x$2, x$3, x$4, x$5, x$6, x$7)(DefaultCrmService.this.executionContext)
148 25861 6078 - 6078 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
149 25789 6139 - 6139 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
150 26974 6163 - 6359 Apply org.make.api.technical.crm.GetUsersMail.apply GetUsersMail.apply(response.count, response.total, response.data.map[org.make.api.technical.crm.ContactMail](((data: org.make.api.technical.crm.ContactDataResponse) => { <artifact> val x$8: Long = data.id; <artifact> val x$9: String = data.email; ContactMail.apply(x$9, x$8) })))
151 27409 6197 - 6211 Select org.make.api.technical.crm.BasicCrmResponse.count response.count
152 25092 6233 - 6247 Select org.make.api.technical.crm.BasicCrmResponse.total response.total
153 23125 6268 - 6347 Apply scala.collection.IterableOps.map response.data.map[org.make.api.technical.crm.ContactMail](((data: org.make.api.technical.crm.ContactDataResponse) => { <artifact> val x$8: Long = data.id; <artifact> val x$9: String = data.email; ContactMail.apply(x$9, x$8) }))
153 27556 6335 - 6345 Select org.make.api.technical.crm.ContactDataResponse.email data.email
153 23901 6318 - 6325 Select org.make.api.technical.crm.ContactDataResponse.id data.id
153 25462 6294 - 6346 Apply org.make.api.technical.crm.ContactMail.apply ContactMail.apply(x$9, x$8)
156 26003 6391 - 6391 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.$anonfun.<init> new $anonfun()
156 27398 6028 - 6576 ApplyToImplicitArgs scala.concurrent.Future.recoverWith { <artifact> val qual$1: org.make.api.technical.crm.CrmClient = DefaultCrmServiceComponent.this.crmClient; <artifact> val x$1: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = listId; <artifact> val x$2: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = sort; <artifact> val x$3: Option[org.make.core.Order] @scala.reflect.internal.annotations.uncheckedBounds = order; <artifact> val x$4: Option[Boolean] @scala.reflect.internal.annotations.uncheckedBounds = countOnly; <artifact> val x$5: org.make.core.technical.Pagination.Limit = limit; <artifact> val x$6: org.make.core.technical.Pagination.Offset = offset; <artifact> val x$7: org.make.api.technical.crm.CrmClient.Account = qual$1.getUsersInformationMailFromList$default$7; qual$1.getUsersInformationMailFromList(x$1, x$2, x$3, x$4, x$5, x$6, x$7)(DefaultCrmService.this.executionContext) }.map[org.make.api.technical.crm.GetUsersMail](((response: org.make.api.technical.crm.BasicCrmResponse.ContactsResponse) => GetUsersMail.apply(response.count, response.total, response.data.map[org.make.api.technical.crm.ContactMail](((data: org.make.api.technical.crm.ContactDataResponse) => { <artifact> val x$8: Long = data.id; <artifact> val x$9: String = data.email; ContactMail.apply(x$9, x$8) })))))(DefaultCrmService.this.executionContext).recoverWith[org.make.api.technical.crm.GetUsersMail](({ @SerialVersionUID(value = 0) final <synthetic> class $anonfun extends scala.runtime.AbstractPartialFunction[Throwable,scala.concurrent.Future[org.make.api.technical.crm.GetUsersMail]] with java.io.Serializable { def <init>(): <$anon: Throwable => scala.concurrent.Future[org.make.api.technical.crm.GetUsersMail]> = { $anonfun.super.<init>(); () }; final override def applyOrElse[A1 <: Throwable, B1 >: scala.concurrent.Future[org.make.api.technical.crm.GetUsersMail]](x1: A1, default: A1 => B1): B1 = ((x1.asInstanceOf[Throwable]: Throwable): Throwable @unchecked) match { case (e @ (_: org.make.api.technical.crm.CrmClientException)) => { DefaultCrmServiceComponent.this.logger.error(e.message); scala.concurrent.Future.successful[org.make.api.technical.crm.GetUsersMail](GetUsersMail.apply(0, 0, scala.`package`.Seq.empty[Nothing])) } case (e @ _) => scala.concurrent.Future.failed[Nothing](e) case (defaultCase$ @ _) => default.apply(x1) }; final def isDefinedAt(x1: Throwable): Boolean = ((x1.asInstanceOf[Throwable]: Throwable): Throwable @unchecked) match { case (e @ (_: org.make.api.technical.crm.CrmClientException)) => true case (e @ _) => true case (defaultCase$ @ _) => false } }; new $anonfun() }: PartialFunction[Throwable,scala.concurrent.Future[org.make.api.technical.crm.GetUsersMail]]))(DefaultCrmService.this.executionContext)
156 23728 6391 - 6391 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
158 27420 6445 - 6468 Apply grizzled.slf4j.Logger.error DefaultCrmServiceComponent.this.logger.error(e.message)
158 23429 6458 - 6467 Select org.make.api.technical.crm.CrmClientException.message e.message
159 25315 6499 - 6528 Apply org.make.api.technical.crm.GetUsersMail.apply GetUsersMail.apply(0, 0, scala.`package`.Seq.empty[Nothing])
159 25012 6512 - 6513 Literal <nosymbol> 0
159 23137 6481 - 6529 Apply scala.concurrent.Future.successful scala.concurrent.Future.successful[org.make.api.technical.crm.GetUsersMail](GetUsersMail.apply(0, 0, scala.`package`.Seq.empty[Nothing]))
159 27850 6518 - 6527 TypeApply scala.collection.SeqFactory.Delegate.empty scala.`package`.Seq.empty[Nothing]
159 22843 6515 - 6516 Literal <nosymbol> 0
160 26896 6550 - 6566 Apply scala.concurrent.Future.failed scala.concurrent.Future.failed[Nothing](e)
166 23741 6670 - 6670 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
166 25023 6711 - 6720 Select org.make.api.technical.crm.CrmClient.Marketing org.make.api.technical.crm.CrmClient.Marketing
166 22771 6703 - 6703 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
166 27406 6654 - 6804 ApplyToImplicitArgs scala.concurrent.Future.flatMap DefaultCrmServiceComponent.this.crmClient.deleteContactByEmail(email, org.make.api.technical.crm.CrmClient.Marketing)(DefaultCrmService.this.executionContext).flatMap[Unit](((x$3: Unit) => (x$3: Unit @unchecked) match { case _ => DefaultCrmServiceComponent.this.crmClient.deleteContactByEmail(email, org.make.api.technical.crm.CrmClient.Transactional)(DefaultCrmService.this.executionContext).map[Unit](((x$2: Unit) => (x$2: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext)
167 27860 6773 - 6786 Select org.make.api.technical.crm.CrmClient.Transactional org.make.api.technical.crm.CrmClient.Transactional
167 24863 6730 - 6804 ApplyToImplicitArgs scala.concurrent.Future.map DefaultCrmServiceComponent.this.crmClient.deleteContactByEmail(email, org.make.api.technical.crm.CrmClient.Transactional)(DefaultCrmService.this.executionContext).map[Unit](((x$2: Unit) => (x$2: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext)
167 26908 6732 - 6732 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
167 25323 6765 - 6765 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
168 23284 6802 - 6804 Literal <nosymbol> ()
172 24875 6864 - 7049 ApplyToImplicitArgs scala.concurrent.Future.flatMap org.make.api.technical.crm.crmservicecomponenttest DefaultCrmServiceComponent.this.persistentCrmUserService.truncateCrmUsers().flatMap[Unit](((x$5: Unit) => (x$5: Unit @unchecked) match { case _ => DefaultCrmService.this.createQuestionResolver.flatMap[Unit](((resolver: org.make.api.technical.crm.QuestionResolver) => DefaultCrmService.this.computeAndPersistCrmUsers(resolver).map[Unit](((x$4: Unit) => (x$4: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext)
172 27041 6887 - 6887 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.executionContext
173 23295 6942 - 7049 ApplyToImplicitArgs scala.concurrent.Future.flatMap DefaultCrmService.this.createQuestionResolver.flatMap[Unit](((resolver: org.make.api.technical.crm.QuestionResolver) => DefaultCrmService.this.computeAndPersistCrmUsers(resolver).map[Unit](((x$4: Unit) => (x$4: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext)
173 25456 6951 - 6951 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
174 27873 6985 - 7049 ApplyToImplicitArgs scala.concurrent.Future.map DefaultCrmService.this.computeAndPersistCrmUsers(resolver).map[Unit](((x$4: Unit) => (x$4: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext)
174 22992 6994 - 6994 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
175 25172 7047 - 7049 Literal <nosymbol> ()
179 23754 7125 - 7148 Apply java.nio.file.Files.exists java.nio.file.Files.exists(directory)
180 27799 7160 - 7259 Block java.util.stream.Stream.forEach java.nio.file.Files.list(directory).forEach(((file: java.nio.file.Path) => { java.nio.file.Files.deleteIfExists(file); () }))
180 22756 7160 - 7259 Apply java.util.stream.Stream.forEach java.nio.file.Files.list(directory).forEach(((file: java.nio.file.Path) => { java.nio.file.Files.deleteIfExists(file); () }))
181 27333 7210 - 7236 Apply java.nio.file.Files.deleteIfExists java.nio.file.Files.deleteIfExists(file)
182 25178 7247 - 7249 Literal <nosymbol> ()
185 23221 7283 - 7317 Block java.nio.file.Files.createDirectories java.nio.file.Files.createDirectories(directory)
185 25469 7283 - 7317 Apply java.nio.file.Files.createDirectories java.nio.file.Files.createDirectories(directory)
187 26893 7332 - 7334 Literal <nosymbol> ()
191 23230 7398 - 7642 ApplyToImplicitArgs scala.concurrent.Future.apply org.make.api.technical.crm.crmservicecomponenttest scala.concurrent.Future.apply[Unit]({ DefaultCrmService.this.resetDirectory(CrmList.HardBounce.targetDirectory(DefaultCrmService.this.baseCsvDirectory)); DefaultCrmService.this.resetDirectory(CrmList.OptOut.targetDirectory(DefaultCrmService.this.baseCsvDirectory)); DefaultCrmService.this.resetDirectory(CrmList.OptIn.targetDirectory(DefaultCrmService.this.baseCsvDirectory)) })(DefaultCrmService.this.executionContext)
191 25404 7411 - 7411 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.executionContext
192 24714 7436 - 7488 Apply org.make.api.technical.crm.CrmList.targetDirectory CrmList.HardBounce.targetDirectory(DefaultCrmService.this.baseCsvDirectory)
192 23523 7421 - 7489 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.resetDirectory DefaultCrmService.this.resetDirectory(CrmList.HardBounce.targetDirectory(DefaultCrmService.this.baseCsvDirectory))
193 25107 7498 - 7562 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.resetDirectory DefaultCrmService.this.resetDirectory(CrmList.OptOut.targetDirectory(DefaultCrmService.this.baseCsvDirectory))
193 27343 7513 - 7561 Apply org.make.api.technical.crm.CrmList.targetDirectory CrmList.OptOut.targetDirectory(DefaultCrmService.this.baseCsvDirectory)
194 26587 7571 - 7634 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.resetDirectory DefaultCrmService.this.resetDirectory(CrmList.OptIn.targetDirectory(DefaultCrmService.this.baseCsvDirectory))
194 22768 7586 - 7633 Apply org.make.api.technical.crm.CrmList.targetDirectory CrmList.OptIn.targetDirectory(DefaultCrmService.this.baseCsvDirectory)
199 26823 7751 - 7777 Apply java.lang.System.currentTimeMillis java.lang.System.currentTimeMillis()
200 23738 7810 - 7848 Apply java.time.ZonedDateTime.format org.make.core.DateHelper.now().format(DefaultCrmService.this.dateFormatter)
200 24650 7834 - 7847 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dateFormatter DefaultCrmService.this.dateFormatter
202 27141 7856 - 9193 Apply org.make.api.technical.job.JobCoordinatorService.start qual$1.start(x$1, x$2)(x$3)
202 27275 7856 - 7877 Select org.make.api.technical.job.JobCoordinatorServiceComponent.jobCoordinatorService DefaultCrmServiceComponent.this.jobCoordinatorService
202 24948 7884 - 7895 Select org.make.core.job.Job.JobId.SyncCrmData org.make.core.job.Job.JobId.SyncCrmData
202 22779 7878 - 7878 Select org.make.api.technical.job.JobCoordinatorService.start$default$2 qual$1.start$default$2
205 27416 7972 - 7972 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
205 25046 7952 - 8875 ApplyToImplicitArgs scala.concurrent.Future.flatMap DefaultCrmService.this.createCrmUsers().flatMap[Unit](((x$16: Unit) => (x$16: Unit @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](49.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$15: Unit) => (x$15: Unit @unchecked) match { case _ => DefaultCrmService.this.initializeDirectories().flatMap[Unit](((x$14: Unit) => (x$14: Unit @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](50.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$13: Unit) => (x$13: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.OptIn, CrmList.OptIn.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$12: akka.Done) => (x$12: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](65.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$11: Unit) => (x$11: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.OptOut, CrmList.OptOut.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$10: akka.Done) => (x$10: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](80.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$9: Unit) => (x$9: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.HardBounce, CrmList.HardBounce.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$8: akka.Done) => (x$8: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](95.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$7: Unit) => (x$7: Unit @unchecked) match { case _ => DefaultCrmService.this.anonymize().map[Unit](((x$6: Unit) => (x$6: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext)
206 22378 8004 - 8875 ApplyToImplicitArgs scala.concurrent.Future.flatMap report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](49.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$15: Unit) => (x$15: Unit @unchecked) match { case _ => DefaultCrmService.this.initializeDirectories().flatMap[Unit](((x$14: Unit) => (x$14: Unit @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](50.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$13: Unit) => (x$13: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.OptIn, CrmList.OptIn.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$12: akka.Done) => (x$12: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](65.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$11: Unit) => (x$11: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.OptOut, CrmList.OptOut.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$10: akka.Done) => (x$10: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](80.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$9: Unit) => (x$9: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.HardBounce, CrmList.HardBounce.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$8: akka.Done) => (x$8: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](95.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$7: Unit) => (x$7: Unit @unchecked) match { case _ => DefaultCrmService.this.anonymize().map[Unit](((x$6: Unit) => (x$6: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext)
206 25626 8015 - 8015 Select org.make.api.technical.ActorSystemComponent.actorSystem DefaultCrmServiceComponent.this.actorSystem
206 26526 8015 - 8015 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.timeout DefaultCrmService.this.timeout
206 24582 8006 - 8006 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
206 23153 8015 - 8015 ApplyToImplicitArgs akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)
207 23159 8035 - 8035 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
207 26919 8033 - 8875 ApplyToImplicitArgs scala.concurrent.Future.flatMap DefaultCrmService.this.initializeDirectories().flatMap[Unit](((x$14: Unit) => (x$14: Unit @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](50.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$13: Unit) => (x$13: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.OptIn, CrmList.OptIn.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$12: akka.Done) => (x$12: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](65.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$11: Unit) => (x$11: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.OptOut, CrmList.OptOut.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$10: akka.Done) => (x$10: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](80.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$9: Unit) => (x$9: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.HardBounce, CrmList.HardBounce.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$8: akka.Done) => (x$8: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](95.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$7: Unit) => (x$7: Unit @unchecked) match { case _ => DefaultCrmService.this.anonymize().map[Unit](((x$6: Unit) => (x$6: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext)
208 24657 8085 - 8085 Select org.make.api.technical.ActorSystemComponent.actorSystem DefaultCrmServiceComponent.this.actorSystem
208 26833 8085 - 8085 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.timeout DefaultCrmService.this.timeout
208 26456 8076 - 8076 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
208 23659 8085 - 8085 ApplyToImplicitArgs akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)
208 24490 8074 - 8875 ApplyToImplicitArgs scala.concurrent.Future.flatMap report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](50.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$13: Unit) => (x$13: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.OptIn, CrmList.OptIn.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$12: akka.Done) => (x$12: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](65.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$11: Unit) => (x$11: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.OptOut, CrmList.OptOut.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$10: akka.Done) => (x$10: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](80.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$9: Unit) => (x$9: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.HardBounce, CrmList.HardBounce.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$8: akka.Done) => (x$8: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](95.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$7: Unit) => (x$7: Unit @unchecked) match { case _ => DefaultCrmService.this.anonymize().map[Unit](((x$6: Unit) => (x$6: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext)
209 25034 8105 - 8105 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
209 22700 8103 - 8875 ApplyToImplicitArgs scala.concurrent.Future.flatMap DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.OptIn, CrmList.OptIn.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$12: akka.Done) => (x$12: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](65.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$11: Unit) => (x$11: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.OptOut, CrmList.OptOut.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$10: akka.Done) => (x$10: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](80.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$9: Unit) => (x$9: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.HardBounce, CrmList.HardBounce.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$8: akka.Done) => (x$8: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](95.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$7: Unit) => (x$7: Unit @unchecked) match { case _ => DefaultCrmService.this.anonymize().map[Unit](((x$6: Unit) => (x$6: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext)
211 27491 8197 - 8210 Select org.make.api.technical.crm.CrmList.OptIn CrmList.OptIn
212 25176 8241 - 8288 Apply org.make.api.technical.crm.CrmList.targetDirectory CrmList.OptIn.targetDirectory(DefaultCrmService.this.baseCsvDirectory)
214 22372 8317 - 8317 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
214 22704 8326 - 8326 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.timeout DefaultCrmService.this.timeout
214 27279 8315 - 8875 ApplyToImplicitArgs scala.concurrent.Future.flatMap report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](65.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$11: Unit) => (x$11: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.OptOut, CrmList.OptOut.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$10: akka.Done) => (x$10: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](80.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$9: Unit) => (x$9: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.HardBounce, CrmList.HardBounce.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$8: akka.Done) => (x$8: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](95.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$7: Unit) => (x$7: Unit @unchecked) match { case _ => DefaultCrmService.this.anonymize().map[Unit](((x$6: Unit) => (x$6: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext)
214 26752 8326 - 8326 Select org.make.api.technical.ActorSystemComponent.actorSystem DefaultCrmServiceComponent.this.actorSystem
214 25546 8326 - 8326 ApplyToImplicitArgs akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)
215 24573 8344 - 8875 ApplyToImplicitArgs scala.concurrent.Future.flatMap DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.OptOut, CrmList.OptOut.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$10: akka.Done) => (x$10: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](80.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$9: Unit) => (x$9: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.HardBounce, CrmList.HardBounce.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$8: akka.Done) => (x$8: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](95.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$7: Unit) => (x$7: Unit @unchecked) match { case _ => DefaultCrmService.this.anonymize().map[Unit](((x$6: Unit) => (x$6: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext)
215 26986 8346 - 8346 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
217 23216 8438 - 8452 Select org.make.api.technical.crm.CrmList.OptOut CrmList.OptOut
218 27047 8483 - 8531 Apply org.make.api.technical.crm.CrmList.targetDirectory CrmList.OptOut.targetDirectory(DefaultCrmService.this.baseCsvDirectory)
220 22620 8569 - 8569 Select org.make.api.technical.ActorSystemComponent.actorSystem DefaultCrmServiceComponent.this.actorSystem
220 24585 8569 - 8569 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.timeout DefaultCrmService.this.timeout
220 27421 8569 - 8569 ApplyToImplicitArgs akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)
220 24514 8560 - 8560 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
220 23147 8558 - 8875 ApplyToImplicitArgs scala.concurrent.Future.flatMap report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](80.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$9: Unit) => (x$9: Unit @unchecked) match { case _ => DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.HardBounce, CrmList.HardBounce.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$8: akka.Done) => (x$8: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](95.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$7: Unit) => (x$7: Unit @unchecked) match { case _ => DefaultCrmService.this.anonymize().map[Unit](((x$6: Unit) => (x$6: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext)
221 26523 8587 - 8875 ApplyToImplicitArgs scala.concurrent.Future.flatMap DefaultCrmService.this.synchronizeList(synchronizationTime, CrmList.HardBounce, CrmList.HardBounce.targetDirectory(DefaultCrmService.this.baseCsvDirectory)).flatMap[Unit](((x$8: akka.Done) => (x$8: akka.Done @unchecked) match { case _ => report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](95.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$7: Unit) => (x$7: Unit @unchecked) match { case _ => DefaultCrmService.this.anonymize().map[Unit](((x$6: Unit) => (x$6: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext)
221 22849 8589 - 8589 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
223 25102 8681 - 8699 Select org.make.api.technical.crm.CrmList.HardBounce CrmList.HardBounce
224 22913 8730 - 8782 Apply org.make.api.technical.crm.CrmList.targetDirectory CrmList.HardBounce.targetDirectory(DefaultCrmService.this.baseCsvDirectory)
226 26678 8820 - 8820 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.timeout DefaultCrmService.this.timeout
226 23226 8820 - 8820 ApplyToImplicitArgs akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)
226 27269 8811 - 8811 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
226 25558 8820 - 8820 Select org.make.api.technical.ActorSystemComponent.actorSystem DefaultCrmServiceComponent.this.actorSystem
226 25112 8809 - 8875 ApplyToImplicitArgs scala.concurrent.Future.flatMap report.apply((api.this.RefType.refinedRefType.unsafeWrap[Double, org.make.core.job.Job.ProgressRefinement](95.0): eu.timepit.refined.api.Refined[Double,org.make.core.job.Job.ProgressRefinement]))(DefaultCrmService.this.timeout, akka.actor.typed.scaladsl.AskPattern.schedulerFromActorSystem(DefaultCrmServiceComponent.this.actorSystem)).flatMap[Unit](((x$7: Unit) => (x$7: Unit @unchecked) match { case _ => DefaultCrmService.this.anonymize().map[Unit](((x$6: Unit) => (x$6: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext)
227 22542 8838 - 8875 ApplyToImplicitArgs scala.concurrent.Future.map DefaultCrmService.this.anonymize().map[Unit](((x$6: Unit) => (x$6: Unit @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext)
227 24646 8840 - 8840 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
228 26980 8873 - 8875 Literal <nosymbol> ()
230 24504 8915 - 8915 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
230 23302 8885 - 9157 ApplyToImplicitArgs scala.concurrent.Future.onComplete crmSynchronization.onComplete[Unit](((x0$1: scala.util.Try[Unit]) => x0$1 match { case (exception: Throwable): scala.util.Failure[Unit]((exception @ _)) => DefaultCrmServiceComponent.this.logger.error(("Mailjet synchro failed:": String), exception) case (value: Unit): scala.util.Success[Unit](_) => DefaultCrmServiceComponent.this.logger.info(("Mailjet synchro succeeded in ".+(java.lang.System.currentTimeMillis().-(startTime)).+("ms"): String)) }))(DefaultCrmService.this.executionContext)
232 23005 8966 - 9017 Apply grizzled.slf4j.Logger.error DefaultCrmServiceComponent.this.logger.error(("Mailjet synchro failed:": String), exception)
234 26466 9059 - 9147 Apply grizzled.slf4j.Logger.info DefaultCrmServiceComponent.this.logger.info(("Mailjet synchro succeeded in ".+(java.lang.System.currentTimeMillis().-(startTime)).+("ms"): String))
244 24887 9352 - 9355 Select scala.Int.toLong org.make.api.technical.crm.crmservicecomponenttest max.toLong
246 22315 9397 - 9422 Apply scala.Long.> size.+(element.size).>(max)
246 24426 9424 - 9584 Block <nosymbol> { val path: java.nio.file.Path = java.nio.file.Files.createFile(csvDirectory.resolve(("".+(java.util.UUID.randomUUID().toString()).+(".csv"): String))); size = element.size.toLong; scala.Some.apply[java.nio.file.Path](path) }
247 26385 9464 - 9522 Apply java.nio.file.Path.resolve csvDirectory.resolve(("".+(java.util.UUID.randomUUID().toString()).+(".csv"): String))
247 25188 9447 - 9523 Apply java.nio.file.Files.createFile java.nio.file.Files.createFile(csvDirectory.resolve(("".+(java.util.UUID.randomUUID().toString()).+(".csv"): String)))
248 23015 9541 - 9553 Select scala.Int.toLong element.size.toLong
249 26473 9564 - 9574 Apply scala.Some.apply scala.Some.apply[java.nio.file.Path](path)
250 22550 9590 - 9647 Block <nosymbol> { size = size.+(element.size); scala.None }
251 23314 9610 - 9622 Select scala.collection.SeqOps.size element.size
251 26903 9602 - 9622 Apply scala.Long.+ size.+(element.size)
252 24519 9633 - 9637 Select scala.None scala.None
259 22257 9841 - 11387 Apply org.make.api.technical.crm.ContactProperties.apply ContactProperties.apply(scala.Some.apply[org.make.core.user.UserId](org.make.core.user.UserId.apply(user.userId)), scala.Some.apply[String](user.firstname), user.zipcode, user.dateOfBirth, scala.Some.apply[Boolean](user.emailValidationStatus), scala.Some.apply[Boolean](user.emailHardbounceStatus), scala.Some.apply[Boolean](user.unsubscribeStatus), user.accountCreationDate, user.accountCreationSource, user.accountCreationOrigin, user.accountCreationOperation, user.accountCreationLocation, user.favoriteCountry, user.favoriteLanguage, user.totalNumberProposals, user.totalNumberVotes, user.firstContributionDate, user.lastContributionDate, user.operationActivity, user.sourceActivity, user.daysOfActivity, user.daysOfActivity30d, user.userType, user.accountType, scala.Some.apply[String](formattedDate), user.daysBeforeDeletion, user.lastActivityDate, user.sessionsCount, user.eventsCount)
260 22856 9879 - 9904 Apply scala.Some.apply scala.Some.apply[org.make.core.user.UserId](org.make.core.user.UserId.apply(user.userId))
260 25030 9884 - 9903 Apply org.make.core.user.UserId.apply org.make.core.user.UserId.apply(user.userId)
260 26321 9891 - 9902 Select org.make.api.technical.crm.PersistentCrmUser.userId user.userId
261 26405 9933 - 9947 Select org.make.api.technical.crm.PersistentCrmUser.firstname user.firstname
261 24439 9928 - 9948 Apply scala.Some.apply scala.Some.apply[String](user.firstname)
262 23239 9973 - 9985 Select org.make.api.technical.crm.PersistentCrmUser.zipcode user.zipcode
263 26914 10011 - 10027 Select org.make.api.technical.crm.PersistentCrmUser.dateOfBirth user.dateOfBirth
264 24729 10068 - 10094 Select org.make.api.technical.crm.PersistentCrmUser.emailValidationStatus user.emailValidationStatus
264 22472 10063 - 10095 Apply scala.Some.apply scala.Some.apply[Boolean](user.emailValidationStatus)
265 24957 10130 - 10162 Apply scala.Some.apply scala.Some.apply[Boolean](user.emailHardbounceStatus)
265 26332 10135 - 10161 Select org.make.api.technical.crm.PersistentCrmUser.emailHardbounceStatus user.emailHardbounceStatus
266 26463 10194 - 10222 Apply scala.Some.apply scala.Some.apply[Boolean](user.unsubscribeStatus)
266 22789 10199 - 10221 Select org.make.api.technical.crm.PersistentCrmUser.unsubscribeStatus user.unsubscribeStatus
267 24363 10256 - 10280 Select org.make.api.technical.crm.PersistentCrmUser.accountCreationDate user.accountCreationDate
268 28033 10316 - 10342 Select org.make.api.technical.crm.PersistentCrmUser.accountCreationSource user.accountCreationSource
269 26928 10378 - 10404 Select org.make.api.technical.crm.PersistentCrmUser.accountCreationOrigin user.accountCreationOrigin
270 24663 10438 - 10467 Select org.make.api.technical.crm.PersistentCrmUser.accountCreationOperation user.accountCreationOperation
271 22312 10505 - 10533 Select org.make.api.technical.crm.PersistentCrmUser.accountCreationLocation user.accountCreationLocation
272 26260 10563 - 10583 Select org.make.api.technical.crm.PersistentCrmUser.favoriteCountry user.favoriteCountry
273 24968 10614 - 10635 Select org.make.api.technical.crm.PersistentCrmUser.favoriteLanguage user.favoriteLanguage
274 22797 10664 - 10689 Select org.make.api.technical.crm.PersistentCrmUser.totalNumberProposals user.totalNumberProposals
275 26763 10714 - 10735 Select org.make.api.technical.crm.PersistentCrmUser.totalNumberVotes user.totalNumberVotes
276 24201 10771 - 10797 Select org.make.api.technical.crm.PersistentCrmUser.firstContributionDate user.firstContributionDate
277 28049 10832 - 10857 Select org.make.api.technical.crm.PersistentCrmUser.lastContributionDate user.lastContributionDate
278 26852 10889 - 10911 Select org.make.api.technical.crm.PersistentCrmUser.operationActivity user.operationActivity
279 24894 10940 - 10959 Select org.make.api.technical.crm.PersistentCrmUser.sourceActivity user.sourceActivity
280 22631 10988 - 11007 Select org.make.api.technical.crm.PersistentCrmUser.daysOfActivity user.daysOfActivity
281 26318 11038 - 11060 Select org.make.api.technical.crm.PersistentCrmUser.daysOfActivity30d user.daysOfActivity30d
282 23945 11083 - 11096 Select org.make.api.technical.crm.PersistentCrmUser.userType user.userType
283 22724 11122 - 11138 Select org.make.api.technical.crm.PersistentCrmUser.accountType user.accountType
284 26773 11162 - 11181 Apply scala.Some.apply scala.Some.apply[String](formattedDate)
285 24513 11214 - 11237 Select org.make.api.technical.crm.PersistentCrmUser.daysBeforeDeletion user.daysBeforeDeletion
286 28179 11268 - 11289 Select org.make.api.technical.crm.PersistentCrmUser.lastActivityDate user.lastActivityDate
287 26866 11317 - 11335 Select org.make.api.technical.crm.PersistentCrmUser.sessionsCount user.sessionsCount
288 24819 11361 - 11377 Select org.make.api.technical.crm.PersistentCrmUser.eventsCount user.eventsCount
293 26328 11476 - 11493 Select org.make.api.technical.crm.CrmList.unsubscribed list.unsubscribed
293 24064 11495 - 11511 Select org.make.api.technical.crm.CrmList.hardBounced list.hardBounced
293 26698 11445 - 11445 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.executionContext
293 22956 11446 - 11526 Apply org.make.api.technical.crm.PersistentCrmUserService.list DefaultCrmServiceComponent.this.persistentCrmUserService.list(list.unsubscribed, list.hardBounced, x$17, DefaultCrmService.this.batchSize)
294 24360 11547 - 11555 Apply scala.Predef.identity scala.Predef.identity[Seq[org.make.api.technical.crm.PersistentCrmUser]](x)
296 22566 11673 - 11701 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.toContactProperties toContactProperties(crmUser)
296 24830 11631 - 11653 Apply scala.Some.apply scala.Some.apply[String](crmUser.fullName)
296 24070 11593 - 11715 Select org.make.api.technical.crm.Contact.toStringCsv Contact.apply(crmUser.email, scala.Some.apply[String](crmUser.fullName), scala.Some.apply[org.make.api.technical.crm.ContactProperties](toContactProperties(crmUser))).toStringCsv
296 26256 11668 - 11702 Apply scala.Some.apply scala.Some.apply[org.make.api.technical.crm.ContactProperties](toContactProperties(crmUser))
296 26997 11636 - 11652 Select org.make.api.technical.crm.PersistentCrmUser.fullName crmUser.fullName
296 28187 11609 - 11622 Select org.make.api.technical.crm.PersistentCrmUser.email crmUser.email
298 26710 11739 - 11782 Apply akka.util.ByteString.apply akka.util.ByteString.apply(x$18, java.nio.charset.StandardCharsets.UTF_8)
298 22708 11759 - 11781 Select java.nio.charset.StandardCharsets.UTF_8 java.nio.charset.StandardCharsets.UTF_8
299 28120 11801 - 11801 Select akka.stream.alpakka.file.scaladsl.LogRotatorSink.apply$default$2 org.make.api.technical.crm.crmservicecomponenttest akka.stream.alpakka.file.scaladsl.LogRotatorSink.apply$default$2
299 24591 11800 - 11800 Select org.make.api.technical.ActorSystemComponent.actorSystem org.make.api.technical.crm.crmservicecomponenttest DefaultCrmServiceComponent.this.actorSystem
299 22575 11800 - 11800 ApplyToImplicitArgs akka.stream.Materializer.matFromSystem org.make.api.technical.crm.crmservicecomponenttest stream.this.Materializer.matFromSystem(DefaultCrmServiceComponent.this.actorSystem)
299 25812 11801 - 11853 Apply akka.stream.alpakka.file.scaladsl.LogRotatorSink.apply org.make.api.technical.crm.crmservicecomponenttest akka.stream.alpakka.file.scaladsl.LogRotatorSink.apply(DefaultCrmService.this.fileSizeTriggerCreator(csvDirectory), akka.stream.alpakka.file.scaladsl.LogRotatorSink.apply$default$2)
299 24367 11816 - 11852 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.fileSizeTriggerCreator org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.fileSizeTriggerCreator(csvDirectory)
300 26266 11906 - 11929 Apply java.util.stream.Collectors.toList java.util.stream.Collectors.toList[java.nio.file.Path]()
300 24295 11403 - 11945 ApplyToImplicitArgs scala.concurrent.Future.map org.make.api.technical.crm.crmservicecomponenttest org.make.api.technical.StreamUtils.asyncPageToPageSource[org.make.api.technical.crm.PersistentCrmUser](((x$17: Int) => DefaultCrmServiceComponent.this.persistentCrmUserService.list(list.unsubscribed, list.hardBounced, x$17, DefaultCrmService.this.batchSize)))(DefaultCrmService.this.executionContext).mapConcat[org.make.api.technical.crm.PersistentCrmUser](((x: Seq[org.make.api.technical.crm.PersistentCrmUser]) => scala.Predef.identity[Seq[org.make.api.technical.crm.PersistentCrmUser]](x))).map[String](((crmUser: org.make.api.technical.crm.PersistentCrmUser) => Contact.apply(crmUser.email, scala.Some.apply[String](crmUser.fullName), scala.Some.apply[org.make.api.technical.crm.ContactProperties](toContactProperties(crmUser))).toStringCsv)).map[akka.util.ByteString](((x$18: String) => akka.util.ByteString.apply(x$18, java.nio.charset.StandardCharsets.UTF_8))).runWith[scala.concurrent.Future[akka.Done]](akka.stream.alpakka.file.scaladsl.LogRotatorSink.apply(DefaultCrmService.this.fileSizeTriggerCreator(csvDirectory), akka.stream.alpakka.file.scaladsl.LogRotatorSink.apply$default$2))(stream.this.Materializer.matFromSystem(DefaultCrmServiceComponent.this.actorSystem)).map[Seq[java.nio.file.Path]](((x$19: akka.Done) => scala.jdk.CollectionConverters.ListHasAsScala[java.nio.file.Path](java.nio.file.Files.list(csvDirectory).collect[java.util.List[java.nio.file.Path], ?0](java.util.stream.Collectors.toList[java.nio.file.Path]())).asScala.toSeq))(DefaultCrmService.this.executionContext)
300 26549 11867 - 11867 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.executionContext
300 24013 11873 - 11930 Apply java.util.stream.Stream.collect java.nio.file.Files.list(csvDirectory).collect[java.util.List[java.nio.file.Path], ?0](java.util.stream.Collectors.toList[java.nio.file.Path]())
300 22720 11873 - 11944 Select scala.collection.IterableOnceOps.toSeq scala.jdk.CollectionConverters.ListHasAsScala[java.nio.file.Path](java.nio.file.Files.list(csvDirectory).collect[java.util.List[java.nio.file.Path], ?0](java.util.stream.Collectors.toList[java.nio.file.Path]())).asScala.toSeq
306 28129 12132 - 12141 Select org.make.api.technical.crm.CrmClientComponent.crmClient DefaultCrmServiceComponent.this.crmClient
306 26193 12132 - 12193 Apply org.make.api.technical.crm.CrmClient.sendCsv qual$1.sendCsv(x$1, x$2, x$3)(DefaultCrmService.this.executionContext)
306 28116 12109 - 12521 ApplyToImplicitArgs scala.concurrent.Future.flatMap { <artifact> val qual$1: org.make.api.technical.crm.CrmClient = DefaultCrmServiceComponent.this.crmClient; <artifact> val x$1: String = DefaultCrmServiceComponent.this.mailJetConfiguration.hardBounceListId; <artifact> val x$2: java.nio.file.Path = csv; <artifact> val x$3: org.make.api.technical.crm.CrmClient.Account = qual$1.sendCsv$default$3; qual$1.sendCsv(x$1, x$2, x$3)(DefaultCrmService.this.executionContext) }.flatMap[Long](((csvId: org.make.api.technical.crm.SendCsvResponse) => { <artifact> val qual$2: org.make.api.technical.crm.CrmClient = DefaultCrmServiceComponent.this.crmClient; <artifact> val x$4: org.make.api.technical.crm.CsvImport = CsvImport.apply(DefaultCrmServiceComponent.this.mailJetConfiguration.hardBounceListId, csvId.csvId.toString(), list.actionOnHardBounce, ImportOptions.apply("yyyy-mm-dd hh:nn:ss").toString()); <artifact> val x$5: org.make.api.technical.crm.CrmClient.Account = qual$2.manageContactListWithCsv$default$2; qual$2.manageContactListWithCsv(x$4, x$5)(DefaultCrmService.this.executionContext) }.map[Long](((response: org.make.api.technical.crm.BasicCrmResponse.ManageContactsWithCsvResponse) => response.data.head.jobId))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext)
306 22634 12149 - 12149 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
306 25732 12150 - 12187 Select org.make.api.extensions.MailJetConfiguration.hardBounceListId DefaultCrmServiceComponent.this.mailJetConfiguration.hardBounceListId
306 24452 12129 - 12129 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
306 24601 12142 - 12142 Select org.make.api.technical.crm.CrmClient.sendCsv$default$3 qual$1.sendCsv$default$3
307 24614 12224 - 12224 Select org.make.api.technical.crm.CrmClient.manageContactListWithCsv$default$2 qual$2.manageContactListWithCsv$default$2
307 22562 12248 - 12248 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
307 23857 12214 - 12223 Select org.make.api.technical.crm.CrmClientComponent.crmClient DefaultCrmServiceComponent.this.crmClient
307 27604 12211 - 12211 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
307 26706 12202 - 12521 ApplyToImplicitArgs scala.concurrent.Future.map { <artifact> val qual$2: org.make.api.technical.crm.CrmClient = DefaultCrmServiceComponent.this.crmClient; <artifact> val x$4: org.make.api.technical.crm.CsvImport = CsvImport.apply(DefaultCrmServiceComponent.this.mailJetConfiguration.hardBounceListId, csvId.csvId.toString(), list.actionOnHardBounce, ImportOptions.apply("yyyy-mm-dd hh:nn:ss").toString()); <artifact> val x$5: org.make.api.technical.crm.CrmClient.Account = qual$2.manageContactListWithCsv$default$2; qual$2.manageContactListWithCsv(x$4, x$5)(DefaultCrmService.this.executionContext) }.map[Long](((response: org.make.api.technical.crm.BasicCrmResponse.ManageContactsWithCsvResponse) => response.data.head.jobId))(DefaultCrmService.this.executionContext)
307 26027 12214 - 12472 Apply org.make.api.technical.crm.CrmClient.manageContactListWithCsv qual$2.manageContactListWithCsv(x$4, x$5)(DefaultCrmService.this.executionContext)
308 25743 12260 - 12462 Apply org.make.api.technical.crm.CsvImport.apply CsvImport.apply(DefaultCrmServiceComponent.this.mailJetConfiguration.hardBounceListId, csvId.csvId.toString(), list.actionOnHardBounce, ImportOptions.apply("yyyy-mm-dd hh:nn:ss").toString())
309 22645 12283 - 12320 Select org.make.api.extensions.MailJetConfiguration.hardBounceListId DefaultCrmServiceComponent.this.mailJetConfiguration.hardBounceListId
310 26483 12334 - 12354 Apply scala.Any.toString csvId.csvId.toString()
311 24518 12368 - 12391 Select org.make.api.technical.crm.CrmList.actionOnHardBounce list.actionOnHardBounce
312 28062 12405 - 12450 Apply org.make.api.technical.crm.ImportOptions.toString ImportOptions.apply("yyyy-mm-dd hh:nn:ss").toString()
316 23778 12497 - 12521 Select org.make.api.technical.crm.CsvImportResponse.jobId response.data.head.jobId
323 24008 12711 - 12767 Apply org.make.api.technical.crm.CrmClient.sendCsv qual$1.sendCsv(x$1, x$2, x$3)(DefaultCrmService.this.executionContext)
323 25664 12711 - 12720 Select org.make.api.technical.crm.CrmClientComponent.crmClient DefaultCrmServiceComponent.this.crmClient
323 26340 12728 - 12728 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
323 25897 12688 - 13085 ApplyToImplicitArgs scala.concurrent.Future.flatMap { <artifact> val qual$1: org.make.api.technical.crm.CrmClient = DefaultCrmServiceComponent.this.crmClient; <artifact> val x$1: String = DefaultCrmServiceComponent.this.mailJetConfiguration.optInListId; <artifact> val x$2: java.nio.file.Path = csv; <artifact> val x$3: org.make.api.technical.crm.CrmClient.Account = qual$1.sendCsv$default$3; qual$1.sendCsv(x$1, x$2, x$3)(DefaultCrmService.this.executionContext) }.flatMap[Long](((csvId: org.make.api.technical.crm.SendCsvResponse) => { <artifact> val qual$2: org.make.api.technical.crm.CrmClient = DefaultCrmServiceComponent.this.crmClient; <artifact> val x$4: org.make.api.technical.crm.CsvImport = CsvImport.apply(DefaultCrmServiceComponent.this.mailJetConfiguration.optInListId, csvId.csvId.toString(), list.actionOnOptIn, ImportOptions.apply("yyyy-mm-dd hh:nn:ss").toString()); <artifact> val x$5: org.make.api.technical.crm.CrmClient.Account = qual$2.manageContactListWithCsv$default$2; qual$2.manageContactListWithCsv(x$4, x$5)(DefaultCrmService.this.executionContext) }.map[Long](((response: org.make.api.technical.crm.BasicCrmResponse.ManageContactsWithCsvResponse) => response.data.head.jobId))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext)
323 24539 12729 - 12761 Select org.make.api.extensions.MailJetConfiguration.optInListId DefaultCrmServiceComponent.this.mailJetConfiguration.optInListId
323 28056 12708 - 12708 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
323 22570 12721 - 12721 Select org.make.api.technical.crm.CrmClient.sendCsv$default$3 qual$1.sendCsv$default$3
324 24017 12788 - 13036 Apply org.make.api.technical.crm.CrmClient.manageContactListWithCsv qual$2.manageContactListWithCsv(x$4, x$5)(DefaultCrmService.this.executionContext)
324 26645 12785 - 12785 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
324 26187 12822 - 12822 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
324 22496 12798 - 12798 Select org.make.api.technical.crm.CrmClient.manageContactListWithCsv$default$2 qual$2.manageContactListWithCsv$default$2
324 24383 12776 - 13085 ApplyToImplicitArgs scala.concurrent.Future.map { <artifact> val qual$2: org.make.api.technical.crm.CrmClient = DefaultCrmServiceComponent.this.crmClient; <artifact> val x$4: org.make.api.technical.crm.CsvImport = CsvImport.apply(DefaultCrmServiceComponent.this.mailJetConfiguration.optInListId, csvId.csvId.toString(), list.actionOnOptIn, ImportOptions.apply("yyyy-mm-dd hh:nn:ss").toString()); <artifact> val x$5: org.make.api.technical.crm.CrmClient.Account = qual$2.manageContactListWithCsv$default$2; qual$2.manageContactListWithCsv(x$4, x$5)(DefaultCrmService.this.executionContext) }.map[Long](((response: org.make.api.technical.crm.BasicCrmResponse.ManageContactsWithCsvResponse) => response.data.head.jobId))(DefaultCrmService.this.executionContext)
324 27615 12788 - 12797 Select org.make.api.technical.crm.CrmClientComponent.crmClient DefaultCrmServiceComponent.this.crmClient
325 23696 12834 - 13026 Apply org.make.api.technical.crm.CsvImport.apply CsvImport.apply(DefaultCrmServiceComponent.this.mailJetConfiguration.optInListId, csvId.csvId.toString(), list.actionOnOptIn, ImportOptions.apply("yyyy-mm-dd hh:nn:ss").toString())
326 26633 12857 - 12889 Select org.make.api.extensions.MailJetConfiguration.optInListId DefaultCrmServiceComponent.this.mailJetConfiguration.optInListId
327 24461 12903 - 12923 Apply scala.Any.toString csvId.csvId.toString()
328 28048 12937 - 12955 Select org.make.api.technical.crm.CrmList.actionOnOptIn list.actionOnOptIn
329 25890 12969 - 13014 Apply org.make.api.technical.crm.ImportOptions.toString ImportOptions.apply("yyyy-mm-dd hh:nn:ss").toString()
333 27736 13061 - 13085 Select org.make.api.technical.crm.CsvImportResponse.jobId response.data.head.jobId
340 23401 13258 - 13668 ApplyToImplicitArgs scala.concurrent.Future.flatMap { <artifact> val qual$1: org.make.api.technical.crm.CrmClient = DefaultCrmServiceComponent.this.crmClient; <artifact> val x$1: String = DefaultCrmServiceComponent.this.mailJetConfiguration.unsubscribeListId; <artifact> val x$2: java.nio.file.Path = csv; <artifact> val x$3: org.make.api.technical.crm.CrmClient.Account = qual$1.sendCsv$default$3; qual$1.sendCsv(x$1, x$2, x$3)(DefaultCrmService.this.executionContext) }.flatMap[Long](((csvId: org.make.api.technical.crm.SendCsvResponse) => { <artifact> val qual$2: org.make.api.technical.crm.CrmClient = DefaultCrmServiceComponent.this.crmClient; <artifact> val x$4: org.make.api.technical.crm.CsvImport = CsvImport.apply(DefaultCrmServiceComponent.this.mailJetConfiguration.unsubscribeListId, csvId.csvId.toString(), list.actionOnOptOut, ImportOptions.apply("yyyy-mm-dd hh:nn:ss").toString()); <artifact> val x$5: org.make.api.technical.crm.CrmClient.Account = qual$2.manageContactListWithCsv$default$2; qual$2.manageContactListWithCsv(x$4, x$5)(DefaultCrmService.this.executionContext) }.map[Long](((response: org.make.api.technical.crm.BasicCrmResponse.ManageContactsWithCsvResponse) => response.data.head.jobId))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext)
340 25673 13278 - 13278 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
340 23460 13281 - 13290 Select org.make.api.technical.crm.CrmClientComponent.crmClient DefaultCrmServiceComponent.this.crmClient
340 23953 13298 - 13298 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
340 27601 13281 - 13343 Apply org.make.api.technical.crm.CrmClient.sendCsv qual$1.sendCsv(x$1, x$2, x$3)(DefaultCrmService.this.executionContext)
340 22508 13299 - 13337 Select org.make.api.extensions.MailJetConfiguration.unsubscribeListId DefaultCrmServiceComponent.this.mailJetConfiguration.unsubscribeListId
340 26117 13291 - 13291 Select org.make.api.technical.crm.CrmClient.sendCsv$default$3 qual$1.sendCsv$default$3
341 23960 13398 - 13398 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
341 27524 13364 - 13619 Apply org.make.api.technical.crm.CrmClient.manageContactListWithCsv qual$2.manageContactListWithCsv(x$4, x$5)(DefaultCrmService.this.executionContext)
341 26130 13374 - 13374 Select org.make.api.technical.crm.CrmClient.manageContactListWithCsv$default$2 qual$2.manageContactListWithCsv$default$2
341 24458 13361 - 13361 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
341 26408 13364 - 13373 Select org.make.api.technical.crm.CrmClientComponent.crmClient DefaultCrmServiceComponent.this.crmClient
341 27992 13352 - 13668 ApplyToImplicitArgs scala.concurrent.Future.map { <artifact> val qual$2: org.make.api.technical.crm.CrmClient = DefaultCrmServiceComponent.this.crmClient; <artifact> val x$4: org.make.api.technical.crm.CsvImport = CsvImport.apply(DefaultCrmServiceComponent.this.mailJetConfiguration.unsubscribeListId, csvId.csvId.toString(), list.actionOnOptOut, ImportOptions.apply("yyyy-mm-dd hh:nn:ss").toString()); <artifact> val x$5: org.make.api.technical.crm.CrmClient.Account = qual$2.manageContactListWithCsv$default$2; qual$2.manageContactListWithCsv(x$4, x$5)(DefaultCrmService.this.executionContext) }.map[Long](((response: org.make.api.technical.crm.BasicCrmResponse.ManageContactsWithCsvResponse) => response.data.head.jobId))(DefaultCrmService.this.executionContext)
342 22263 13410 - 13609 Apply org.make.api.technical.crm.CsvImport.apply CsvImport.apply(DefaultCrmServiceComponent.this.mailJetConfiguration.unsubscribeListId, csvId.csvId.toString(), list.actionOnOptOut, ImportOptions.apply("yyyy-mm-dd hh:nn:ss").toString())
343 24395 13433 - 13471 Select org.make.api.extensions.MailJetConfiguration.unsubscribeListId DefaultCrmServiceComponent.this.mailJetConfiguration.unsubscribeListId
344 28065 13485 - 13505 Apply scala.Any.toString csvId.csvId.toString()
345 25833 13519 - 13538 Select org.make.api.technical.crm.CrmList.actionOnOptOut list.actionOnOptOut
346 23472 13552 - 13597 Apply org.make.api.technical.crm.ImportOptions.toString ImportOptions.apply("yyyy-mm-dd hh:nn:ss").toString()
350 25352 13644 - 13668 Select org.make.api.technical.crm.CsvImportResponse.jobId response.data.head.jobId
356 22276 13822 - 13866 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.createCsv org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.createCsv(formattedDate, list, csvDirectory)
357 26344 13887 - 13895 Apply scala.Predef.identity scala.Predef.identity[Seq[java.nio.file.Path]](x)
358 23885 13913 - 13930 Apply scala.Long.> java.nio.file.Files.size(x$20).>(0)
359 27533 13950 - 13951 Literal <nosymbol> org.make.api.technical.crm.crmservicecomponenttest 1
361 26277 14010 - 14010 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
361 23949 13972 - 14319 ApplyToImplicitArgs scala.concurrent.Future.flatMap DefaultCrmService.this.sendCsvToHardBounceList(csv, list).flatMap[Unit](((responseHardBounce: Long) => DefaultCrmService.this.sendCsvToOptInList(csv, list).flatMap[Unit](((responseOptIn: Long) => DefaultCrmService.this.sendCsvToUnsubscribeList(csv, list).flatMap[Unit](((responseUnsubscribe: Long) => DefaultCrmService.this.verifyJobCompletion(responseHardBounce, responseOptIn, responseUnsubscribe).map[Unit](((result: Unit) => result))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext)
362 22503 14060 - 14319 ApplyToImplicitArgs scala.concurrent.Future.flatMap DefaultCrmService.this.sendCsvToOptInList(csv, list).flatMap[Unit](((responseOptIn: Long) => DefaultCrmService.this.sendCsvToUnsubscribeList(csv, list).flatMap[Unit](((responseUnsubscribe: Long) => DefaultCrmService.this.verifyJobCompletion(responseHardBounce, responseOptIn, responseUnsubscribe).map[Unit](((result: Unit) => result))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext)
362 23412 14080 - 14080 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
363 28200 14145 - 14145 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
363 25977 14125 - 14319 ApplyToImplicitArgs scala.concurrent.Future.flatMap DefaultCrmService.this.sendCsvToUnsubscribeList(csv, list).flatMap[Unit](((responseUnsubscribe: Long) => DefaultCrmService.this.verifyJobCompletion(responseHardBounce, responseOptIn, responseUnsubscribe).map[Unit](((result: Unit) => result))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext)
364 24379 14196 - 14319 ApplyToImplicitArgs scala.concurrent.Future.map DefaultCrmService.this.verifyJobCompletion(responseHardBounce, responseOptIn, responseUnsubscribe).map[Unit](((result: Unit) => result))(DefaultCrmService.this.executionContext)
364 25288 14216 - 14216 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
367 25300 14346 - 14346 Select org.make.api.technical.ActorSystemComponent.actorSystem org.make.api.technical.crm.crmservicecomponenttest DefaultCrmServiceComponent.this.actorSystem
367 24390 14346 - 14346 ApplyToImplicitArgs akka.stream.Materializer.matFromSystem org.make.api.technical.crm.crmservicecomponenttest stream.this.Materializer.matFromSystem(DefaultCrmServiceComponent.this.actorSystem)
367 27832 14347 - 14358 Select akka.stream.scaladsl.Sink.ignore org.make.api.technical.crm.crmservicecomponenttest akka.stream.scaladsl.Sink.ignore
367 28139 13799 - 14359 ApplyToImplicitArgs akka.stream.scaladsl.Source.runWith org.make.api.technical.crm.crmservicecomponenttest akka.stream.scaladsl.Source.future[Seq[java.nio.file.Path]](DefaultCrmService.this.createCsv(formattedDate, list, csvDirectory)).mapConcat[java.nio.file.Path](((x: Seq[java.nio.file.Path]) => scala.Predef.identity[Seq[java.nio.file.Path]](x))).filter(((x$20: java.nio.file.Path) => java.nio.file.Files.size(x$20).>(0))).mapAsync[Unit](1)(((csv: java.nio.file.Path) => DefaultCrmService.this.sendCsvToHardBounceList(csv, list).flatMap[Unit](((responseHardBounce: Long) => DefaultCrmService.this.sendCsvToOptInList(csv, list).flatMap[Unit](((responseOptIn: Long) => DefaultCrmService.this.sendCsvToUnsubscribeList(csv, list).flatMap[Unit](((responseUnsubscribe: Long) => DefaultCrmService.this.verifyJobCompletion(responseHardBounce, responseOptIn, responseUnsubscribe).map[Unit](((result: Unit) => result))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext))).runWith[scala.concurrent.Future[akka.Done]](akka.stream.scaladsl.Sink.ignore)(stream.this.Materializer.matFromSystem(DefaultCrmServiceComponent.this.actorSystem))
375 25829 14538 - 14597 Apply scala.collection.SeqFactory.Delegate.apply scala.`package`.Seq.apply[Long](responseHardBounce, responseOptIn, responseUnsubscribe)
376 23708 14618 - 14633 Apply scala.concurrent.Promise.apply scala.concurrent.Promise.apply[Unit]()
377 27378 14640 - 14657 Select org.make.api.technical.SpawnActorServiceComponent.spawnActorService DefaultCrmServiceComponent.this.spawnActorService
378 27985 14667 - 14667 TypeApply org.make.api.technical.SpawnActorService.spawn$default$3 qual$1.spawn$default$3[Nothing]
378 25757 14640 - 14829 Apply org.make.api.technical.SpawnActorService.spawn qual$1.spawn[org.make.api.technical.crm.CrmSynchroCsvMonitor.Protocol.Command](x$1, "CrmSynchroCsvMonitor", x$3)
379 27677 14770 - 14770 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
379 26286 14716 - 14725 Select org.make.api.technical.crm.CrmClientComponent.crmClient DefaultCrmServiceComponent.this.crmClient
379 25516 14695 - 14778 ApplyToImplicitArgs org.make.api.technical.crm.CrmSynchroCsvMonitor.apply CrmSynchroCsvMonitor.apply(DefaultCrmServiceComponent.this.crmClient, promise, DefaultCrmServiceComponent.this.mailJetConfiguration.tickInterval)(jobIds)(DefaultCrmService.this.executionContext)
379 23871 14736 - 14769 Select org.make.api.extensions.MailJetConfiguration.tickInterval DefaultCrmServiceComponent.this.mailJetConfiguration.tickInterval
380 24313 14797 - 14819 Literal <nosymbol> "CrmSynchroCsvMonitor"
382 26210 14847 - 14847 ApplyToImplicitArgs cats.instances.FutureInstances.catsStdInstancesForFuture cats.implicits.catsStdInstancesForFuture(DefaultCrmService.this.executionContext)
382 23880 14640 - 14863 ApplyToImplicitArgs cats.syntax.ApplyOps.productR cats.implicits.catsSyntaxApplyOps[scala.concurrent.Future, akka.actor.typed.ActorRef[org.make.api.technical.crm.CrmSynchroCsvMonitor.Protocol.Command]]({ <artifact> val qual$1: org.make.api.technical.SpawnActorService = DefaultCrmServiceComponent.this.spawnActorService; <artifact> val x$1: akka.actor.typed.Behavior[org.make.api.technical.crm.CrmSynchroCsvMonitor.Protocol.Command] @scala.reflect.internal.annotations.uncheckedBounds = CrmSynchroCsvMonitor.apply(DefaultCrmServiceComponent.this.crmClient, promise, DefaultCrmServiceComponent.this.mailJetConfiguration.tickInterval)(jobIds)(DefaultCrmService.this.executionContext); <artifact> val x$2: String("CrmSynchroCsvMonitor") = "CrmSynchroCsvMonitor"; <artifact> val x$3: akka.actor.typed.Props = qual$1.spawn$default$3[Nothing]; qual$1.spawn[org.make.api.technical.crm.CrmSynchroCsvMonitor.Protocol.Command](x$1, "CrmSynchroCsvMonitor", x$3) }).productR[Unit](promise.future)(cats.implicits.catsStdInstancesForFuture(DefaultCrmService.this.executionContext))
382 23542 14848 - 14862 Select scala.concurrent.Promise.future promise.future
382 27391 14847 - 14847 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
386 27689 14985 - 15011 Apply java.lang.System.currentTimeMillis java.lang.System.currentTimeMillis()
388 27153 15060 - 15060 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
391 23278 15168 - 15172 Select scala.None scala.None
391 25284 15162 - 15166 Select scala.None scala.None
391 27913 15174 - 15197 Apply org.make.core.technical.Pagination.Offset.apply org.make.core.technical.Pagination.Offset.apply(page)
391 25768 15199 - 15226 Apply org.make.core.technical.Pagination.Limit.apply org.make.core.technical.Pagination.Limit.apply(DefaultCrmService.this.batchSize)
391 23408 15092 - 15227 Apply org.make.api.user.PersistentCrmSynchroUserService.findUsersForCrmSynchro DefaultCrmServiceComponent.this.persistentCrmSynchroUserService.findUsersForCrmSynchro(scala.None, scala.None, org.make.core.technical.Pagination.Offset.apply(page), org.make.core.technical.Pagination.Limit.apply(DefaultCrmService.this.batchSize))
393 26063 15257 - 15265 Apply scala.Predef.identity scala.Predef.identity[Seq[org.make.api.user.PersistentCrmSynchroUserService.MakeUser]](x)
394 23801 15285 - 15314 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.retrievePropertiesParallelism DefaultCrmService.this.retrievePropertiesParallelism
395 23706 15336 - 15487 ApplyToImplicitArgs scala.concurrent.Future.map DefaultCrmService.this.getPropertiesFromUser(user, questionResolver).map[(String, String, org.make.api.technical.crm.ContactProperties)](((properties: org.make.api.technical.crm.ContactProperties) => scala.Tuple3.apply[String, String, org.make.api.technical.crm.ContactProperties](user.email, user.fullName.getOrElse[String](user.email), properties)))(DefaultCrmService.this.executionContext)
395 25777 15386 - 15386 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
396 27923 15414 - 15475 Apply scala.Tuple3.apply scala.Tuple3.apply[String, String, org.make.api.technical.crm.ContactProperties](user.email, user.fullName.getOrElse[String](user.email), properties)
396 23023 15427 - 15462 Apply scala.Option.getOrElse user.fullName.getOrElse[String](user.email)
396 25296 15451 - 15461 Select org.make.api.user.PersistentCrmSynchroUserService.MakeUser.email user.email
396 27622 15415 - 15425 Select org.make.api.user.PersistentCrmSynchroUserService.MakeUser.email user.email
399 26197 15532 - 15541 Select scala.concurrent.duration.DurationConversions.seconds scala.concurrent.duration.`package`.DurationInt(5).seconds
399 27164 15532 - 15533 Literal <nosymbol> 5
401 27837 15580 - 15704 Apply scala.collection.IterableOps.map contacts.map[org.make.api.technical.crm.PersistentCrmUser](((x0$1: (String, String, org.make.api.technical.crm.ContactProperties)) => x0$1 match { case (_1: String, _2: String, _3: org.make.api.technical.crm.ContactProperties): (String, String, org.make.api.technical.crm.ContactProperties)((email @ _), (fullName @ _), (properties @ _)) => properties.toPersistentCrmUser(email, fullName) }))
402 23813 15645 - 15692 Apply org.make.api.technical.crm.ContactProperties.toPersistentCrmUser properties.toPersistentCrmUser(email, fullName)
405 25597 15733 - 15759 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.persistCrmUsersParallelism DefaultCrmService.this.persistCrmUsersParallelism
406 23033 15785 - 15827 Apply org.make.api.technical.crm.PersistentCrmUserService.persist DefaultCrmServiceComponent.this.persistentCrmUserService.persist(crmUsers)
408 28147 15855 - 15866 Select akka.stream.scaladsl.Sink.ignore akka.stream.scaladsl.Sink.ignore
408 25702 15854 - 15854 Select org.make.api.technical.ActorSystemComponent.actorSystem DefaultCrmServiceComponent.this.actorSystem
408 23713 15854 - 15854 ApplyToImplicitArgs akka.stream.Materializer.matFromSystem stream.this.Materializer.matFromSystem(DefaultCrmServiceComponent.this.actorSystem)
409 25150 15880 - 15880 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
409 24034 15018 - 15975 ApplyToImplicitArgs scala.concurrent.Future.map org.make.api.technical.StreamUtils.asyncPageToPageSource[org.make.api.user.PersistentCrmSynchroUserService.CrmSynchroUser](((page: Int) => DefaultCrmServiceComponent.this.persistentCrmSynchroUserService.findUsersForCrmSynchro(scala.None, scala.None, org.make.core.technical.Pagination.Offset.apply(page), org.make.core.technical.Pagination.Limit.apply(DefaultCrmService.this.batchSize))))(DefaultCrmService.this.executionContext).mapConcat[org.make.api.user.PersistentCrmSynchroUserService.MakeUser](((x: Seq[org.make.api.user.PersistentCrmSynchroUserService.MakeUser]) => scala.Predef.identity[Seq[org.make.api.user.PersistentCrmSynchroUserService.MakeUser]](x))).mapAsync[(String, String, org.make.api.technical.crm.ContactProperties)](DefaultCrmService.this.retrievePropertiesParallelism)(((user: org.make.api.user.PersistentCrmSynchroUserService.MakeUser) => DefaultCrmService.this.getPropertiesFromUser(user, questionResolver).map[(String, String, org.make.api.technical.crm.ContactProperties)](((properties: org.make.api.technical.crm.ContactProperties) => scala.Tuple3.apply[String, String, org.make.api.technical.crm.ContactProperties](user.email, user.fullName.getOrElse[String](user.email), properties)))(DefaultCrmService.this.executionContext))).groupedWithin(DefaultCrmService.this.batchSize, scala.concurrent.duration.`package`.DurationInt(5).seconds).map[Seq[org.make.api.technical.crm.PersistentCrmUser]](((contacts: Seq[(String, String, org.make.api.technical.crm.ContactProperties)]) => contacts.map[org.make.api.technical.crm.PersistentCrmUser](((x0$1: (String, String, org.make.api.technical.crm.ContactProperties)) => x0$1 match { case (_1: String, _2: String, _3: org.make.api.technical.crm.ContactProperties): (String, String, org.make.api.technical.crm.ContactProperties)((email @ _), (fullName @ _), (properties @ _)) => properties.toPersistentCrmUser(email, fullName) })))).mapAsync[Seq[org.make.api.technical.crm.PersistentCrmUser]](DefaultCrmService.this.persistCrmUsersParallelism)(((crmUsers: Seq[org.make.api.technical.crm.PersistentCrmUser]) => DefaultCrmServiceComponent.this.persistentCrmUserService.persist(crmUsers))).runWith[scala.concurrent.Future[akka.Done]](akka.stream.scaladsl.Sink.ignore)(stream.this.Materializer.matFromSystem(DefaultCrmServiceComponent.this.actorSystem)).map[Unit](((x$21: akka.Done) => DefaultCrmServiceComponent.this.logger.info(("Crm users creation completed in ".+(java.lang.System.currentTimeMillis().-(start)).+(" ms"): String))))(DefaultCrmService.this.executionContext)
409 27467 15886 - 15974 Apply grizzled.slf4j.Logger.info DefaultCrmServiceComponent.this.logger.info(("Crm users creation completed in ".+(java.lang.System.currentTimeMillis().-(start)).+(" ms"): String))
414 27767 16132 - 16133 Literal <nosymbol> 1
414 25607 16135 - 16136 Literal <nosymbol> 1
414 23180 16135 - 16143 Select scala.concurrent.duration.DurationConversions.second scala.concurrent.duration.`package`.DurationInt(1).second
415 28076 16163 - 16164 Literal <nosymbol> 1
416 27476 16191 - 16247 ApplyToImplicitArgs org.make.api.technical.crm.CrmClient.deleteContactById DefaultCrmServiceComponent.this.crmClient.deleteContactById(contactId.toString(), account)(DefaultCrmService.this.executionContext)
416 25765 16219 - 16237 Apply scala.Any.toString contactId.toString()
416 23644 16218 - 16218 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
418 25533 16095 - 16287 ApplyToImplicitArgs akka.stream.scaladsl.Source.runWith akka.stream.scaladsl.Source.apply[Long](contactIds).throttle(1, scala.concurrent.duration.`package`.DurationInt(1).second).mapAsync[Unit](1)(((contactId: Long) => DefaultCrmServiceComponent.this.crmClient.deleteContactById(contactId.toString(), account)(DefaultCrmService.this.executionContext))).runWith[scala.concurrent.Future[akka.Done]](akka.stream.scaladsl.Sink.ignore)(stream.this.Materializer.matFromSystem(DefaultCrmServiceComponent.this.actorSystem))
418 25161 16275 - 16286 Select akka.stream.scaladsl.Sink.ignore akka.stream.scaladsl.Sink.ignore
418 27619 16274 - 16274 ApplyToImplicitArgs akka.stream.Materializer.matFromSystem stream.this.Materializer.matFromSystem(DefaultCrmServiceComponent.this.actorSystem)
418 23970 16274 - 16274 Select org.make.api.technical.ActorSystemComponent.actorSystem DefaultCrmServiceComponent.this.actorSystem
423 25365 16348 - 16572 ApplyToImplicitArgs scala.concurrent.Future.flatMap org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.findInactiveAccounts.flatMap[Unit](((foundAccounts: Seq[Long]) => DefaultCrmService.this.deleteAnonymizedContacts(foundAccounts, org.make.api.technical.crm.CrmClient.Marketing).flatMap[Unit](((x$23: akka.Done) => (x$23: akka.Done @unchecked) match { case _ => DefaultCrmService.this.deleteAnonymizedContacts(foundAccounts, org.make.api.technical.crm.CrmClient.Transactional).map[Unit](((x$22: akka.Done) => (x$22: akka.Done @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext)
423 27547 16376 - 16376 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.executionContext
424 25081 16422 - 16422 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
424 23193 16465 - 16474 Select org.make.api.technical.crm.CrmClient.Marketing org.make.api.technical.crm.CrmClient.Marketing
424 23809 16408 - 16572 ApplyToImplicitArgs scala.concurrent.Future.flatMap DefaultCrmService.this.deleteAnonymizedContacts(foundAccounts, org.make.api.technical.crm.CrmClient.Marketing).flatMap[Unit](((x$23: akka.Done) => (x$23: akka.Done @unchecked) match { case _ => DefaultCrmService.this.deleteAnonymizedContacts(foundAccounts, org.make.api.technical.crm.CrmClient.Transactional).map[Unit](((x$22: akka.Done) => (x$22: akka.Done @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext) }))(DefaultCrmService.this.executionContext)
425 27241 16484 - 16572 ApplyToImplicitArgs scala.concurrent.Future.map DefaultCrmService.this.deleteAnonymizedContacts(foundAccounts, org.make.api.technical.crm.CrmClient.Transactional).map[Unit](((x$22: akka.Done) => (x$22: akka.Done @unchecked) match { case _ => () }))(DefaultCrmService.this.executionContext)
425 28086 16541 - 16554 Select org.make.api.technical.crm.CrmClient.Transactional org.make.api.technical.crm.CrmClient.Transactional
425 23486 16498 - 16498 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
426 25683 16570 - 16572 Literal <nosymbol> ()
430 23206 16677 - 16725 Apply java.time.ZonedDateTime.minusHours org.make.api.technical.crm.crmservicecomponenttest java.time.ZonedDateTime.now(java.time.ZoneOffset.UTC).minusHours(24L)
432 26963 16787 - 16817 Apply java.time.ZonedDateTime.parse java.time.ZonedDateTime.parse(updatedAt)
432 23421 16783 - 16857 Apply scala.Option.forall scala.util.Try.apply[java.time.ZonedDateTime](java.time.ZonedDateTime.parse(updatedAt)).toOption.forall(((x$24: java.time.ZonedDateTime) => x$24.isBefore(checkDate)))
432 25697 16835 - 16856 Apply java.time.chrono.ChronoZonedDateTime.isBefore x$24.isBefore(checkDate)
435 25602 16908 - 16971 Apply org.make.api.technical.crm.CrmClient.getContactsProperties qual$1.getContactsProperties(x$1, x$2, x$3)(DefaultCrmService.this.executionContext)
435 23344 16976 - 16982 Select org.make.api.technical.crm.BasicCrmResponse.data x$26.data
435 27557 16939 - 16939 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
435 23430 16907 - 16907 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.executionContext
435 25996 16908 - 16983 ApplyToImplicitArgs scala.concurrent.Future.map { <artifact> val qual$1: org.make.api.technical.crm.CrmClient = DefaultCrmServiceComponent.this.crmClient; <artifact> val x$1: Int = x$25; <artifact> val x$2: org.make.core.technical.Pagination.Limit = org.make.core.technical.Pagination.Limit.apply(DefaultCrmService.this.batchSize); <artifact> val x$3: org.make.api.technical.crm.CrmClient.Account = qual$1.getContactsProperties$default$3; qual$1.getContactsProperties(x$1, x$2, x$3)(DefaultCrmService.this.executionContext) }.map[Seq[org.make.api.technical.crm.MailjetContactProperties]](((x$26: org.make.api.technical.crm.BasicCrmResponse.GetMailjetContactProperties) => x$26.data))(DefaultCrmService.this.executionContext)
435 25093 16943 - 16970 Apply org.make.core.technical.Pagination.Limit.apply org.make.core.technical.Pagination.Limit.apply(DefaultCrmService.this.batchSize)
435 27018 16975 - 16975 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
435 27463 16908 - 16917 Select org.make.api.technical.crm.CrmClientComponent.crmClient DefaultCrmServiceComponent.this.crmClient
435 24113 16918 - 16918 Select org.make.api.technical.crm.CrmClient.getContactsProperties$default$3 qual$1.getContactsProperties$default$3
436 27472 17004 - 17012 Apply scala.Predef.identity scala.Predef.identity[Seq[org.make.api.technical.crm.MailjetContactProperties]](x)
438 25527 17053 - 17147 Apply scala.Option.exists contact.properties.find(((x$27: org.make.api.technical.crm.MailjetProperty) => x$27.name.==("updated_at"))).exists(((updatedAt: org.make.api.technical.crm.MailjetProperty) => isBefore(updatedAt.value)))
438 22886 17130 - 17145 Select org.make.api.technical.crm.MailjetProperty.value updatedAt.value
438 25227 17077 - 17099 Apply java.lang.Object.== x$27.name.==("updated_at")
438 27852 17121 - 17146 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.isBefore isBefore(updatedAt.value)
440 23351 17171 - 17182 Select org.make.api.technical.crm.MailjetContactProperties.contactId x$28.contactId
441 26948 17201 - 17209 TypeApply akka.stream.scaladsl.Sink.seq org.make.api.technical.crm.crmservicecomponenttest akka.stream.scaladsl.Sink.seq[Long]
441 23649 17200 - 17200 ApplyToImplicitArgs akka.stream.Materializer.matFromSystem org.make.api.technical.crm.crmservicecomponenttest stream.this.Materializer.matFromSystem(DefaultCrmServiceComponent.this.actorSystem)
441 25850 17200 - 17200 Select org.make.api.technical.ActorSystemComponent.actorSystem org.make.api.technical.crm.crmservicecomponenttest DefaultCrmServiceComponent.this.actorSystem
442 22818 16865 - 17342 ApplyToImplicitArgs scala.concurrent.Future.map org.make.api.technical.crm.crmservicecomponenttest org.make.api.technical.StreamUtils.asyncPageToPageSource[org.make.api.technical.crm.MailjetContactProperties](((x$25: Int) => { <artifact> val qual$1: org.make.api.technical.crm.CrmClient = DefaultCrmServiceComponent.this.crmClient; <artifact> val x$1: Int = x$25; <artifact> val x$2: org.make.core.technical.Pagination.Limit = org.make.core.technical.Pagination.Limit.apply(DefaultCrmService.this.batchSize); <artifact> val x$3: org.make.api.technical.crm.CrmClient.Account = qual$1.getContactsProperties$default$3; qual$1.getContactsProperties(x$1, x$2, x$3)(DefaultCrmService.this.executionContext) }.map[Seq[org.make.api.technical.crm.MailjetContactProperties]](((x$26: org.make.api.technical.crm.BasicCrmResponse.GetMailjetContactProperties) => x$26.data))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext).mapConcat[org.make.api.technical.crm.MailjetContactProperties](((x: Seq[org.make.api.technical.crm.MailjetContactProperties]) => scala.Predef.identity[Seq[org.make.api.technical.crm.MailjetContactProperties]](x))).filter(((contact: org.make.api.technical.crm.MailjetContactProperties) => contact.properties.find(((x$27: org.make.api.technical.crm.MailjetProperty) => x$27.name.==("updated_at"))).exists(((updatedAt: org.make.api.technical.crm.MailjetProperty) => isBefore(updatedAt.value))))).map[Long](((x$28: org.make.api.technical.crm.MailjetContactProperties) => x$28.contactId)).runWith[scala.concurrent.Future[Seq[Long]]](akka.stream.scaladsl.Sink.seq[Long])(stream.this.Materializer.matFromSystem(DefaultCrmServiceComponent.this.actorSystem)).map[Seq[Long]](((accounts: Seq[Long]) => { DefaultCrmServiceComponent.this.logger.info(("Synchro CRM : Found ".+(accounts.size).+(" to anonymize"): String)); accounts }))(DefaultCrmService.this.executionContext)
442 25237 17224 - 17224 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.executionContext
443 27399 17248 - 17313 Apply grizzled.slf4j.Logger.info DefaultCrmServiceComponent.this.logger.info(("Synchro CRM : Found ".+(accounts.size).+(" to anonymize"): String))
449 27700 17447 - 17463 Select org.make.api.operation.OperationServiceComponent.operationService DefaultCrmServiceComponent.this.operationService
450 23287 17473 - 17473 Select org.make.api.operation.OperationService.findSimple$default$2 qual$1.findSimple$default$2
450 25001 17447 - 17485 Apply org.make.api.operation.OperationService.findSimple qual$1.findSimple(x$1, x$2, x$3, x$4, x$5, x$6)
450 23418 17473 - 17473 Select org.make.api.operation.OperationService.findSimple$default$5 qual$1.findSimple$default$5
450 27407 17473 - 17473 Select org.make.api.operation.OperationService.findSimple$default$6 qual$1.findSimple$default$6
450 25537 17473 - 17473 Select org.make.api.operation.OperationService.findSimple$default$1 qual$1.findSimple$default$1
450 25776 17473 - 17473 Select org.make.api.operation.OperationService.findSimple$default$4 qual$1.findSimple$default$4
450 26960 17473 - 17473 Select org.make.api.operation.OperationService.findSimple$default$3 qual$1.findSimple$default$3
451 24705 17498 - 17498 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
451 25306 17518 - 17557 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String](operation.slug).->[org.make.core.operation.OperationId](operation.operationId)
451 23296 17559 - 17559 TypeApply scala.<:<.refl scala.this.<:<.refl[(String, org.make.core.operation.OperationId)]
451 26885 17499 - 17564 ApplyToImplicitArgs scala.collection.IterableOnceOps.toMap x$29.map[(String, org.make.core.operation.OperationId)](((operation: org.make.core.operation.SimpleOperation) => scala.Predef.ArrowAssoc[String](operation.slug).->[org.make.core.operation.OperationId](operation.operationId))).toMap[String, org.make.core.operation.OperationId](scala.this.<:<.refl[(String, org.make.core.operation.OperationId)])
451 27554 17536 - 17557 Select org.make.core.operation.SimpleOperation.operationId operation.operationId
451 23427 17447 - 17565 ApplyToImplicitArgs scala.concurrent.Future.map { <artifact> val qual$1: org.make.api.operation.OperationService = DefaultCrmServiceComponent.this.operationService; <artifact> val x$1: org.make.core.technical.Pagination.Offset = qual$1.findSimple$default$1; <artifact> val x$2: Option[org.make.core.technical.Pagination.End] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.findSimple$default$2; <artifact> val x$3: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.findSimple$default$3; <artifact> val x$4: Option[org.make.core.Order] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.findSimple$default$4; <artifact> val x$5: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.findSimple$default$5; <artifact> val x$6: Option[Seq[org.make.core.operation.OperationKind]] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.findSimple$default$6; qual$1.findSimple(x$1, x$2, x$3, x$4, x$5, x$6) }.map[scala.collection.immutable.Map[String,org.make.core.operation.OperationId]](((x$29: Seq[org.make.core.operation.SimpleOperation]) => x$29.map[(String, org.make.core.operation.OperationId)](((operation: org.make.core.operation.SimpleOperation) => scala.Predef.ArrowAssoc[String](operation.slug).->[org.make.core.operation.OperationId](operation.operationId))).toMap[String, org.make.core.operation.OperationId](scala.this.<:<.refl[(String, org.make.core.operation.OperationId)])))(DefaultCrmService.this.executionContext)
451 22833 17518 - 17532 Select org.make.core.operation.SimpleOperation.slug operation.slug
453 24561 17631 - 17631 Select org.make.api.question.SearchQuestionRequest.apply$default$8 org.make.api.question.SearchQuestionRequest.apply$default$8
453 27845 17631 - 17631 Select org.make.api.question.SearchQuestionRequest.apply$default$4 org.make.api.question.SearchQuestionRequest.apply$default$4
453 27172 17631 - 17631 Select org.make.api.question.SearchQuestionRequest.apply$default$1 org.make.api.question.SearchQuestionRequest.apply$default$1
453 26894 17631 - 17631 Select org.make.api.question.SearchQuestionRequest.apply$default$7 org.make.api.question.SearchQuestionRequest.apply$default$7
453 23272 17631 - 17631 Select org.make.api.question.SearchQuestionRequest.apply$default$6 org.make.api.question.SearchQuestionRequest.apply$default$6
453 25009 17631 - 17631 Select org.make.api.question.SearchQuestionRequest.apply$default$2 org.make.api.question.SearchQuestionRequest.apply$default$2
453 22841 17631 - 17631 Select org.make.api.question.SearchQuestionRequest.apply$default$3 org.make.api.question.SearchQuestionRequest.apply$default$3
453 25616 17597 - 17597 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
453 25314 17631 - 17631 Select org.make.api.question.SearchQuestionRequest.apply$default$5 org.make.api.question.SearchQuestionRequest.apply$default$5
453 23725 17631 - 17631 Select org.make.api.question.SearchQuestionRequest.apply$default$9 org.make.api.question.SearchQuestionRequest.apply$default$9
453 23282 17572 - 17751 ApplyToImplicitArgs scala.concurrent.Future.flatMap DefaultCrmServiceComponent.this.questionService.searchQuestion(org.make.api.question.SearchQuestionRequest.apply(org.make.api.question.SearchQuestionRequest.apply$default$1, org.make.api.question.SearchQuestionRequest.apply$default$2, org.make.api.question.SearchQuestionRequest.apply$default$3, org.make.api.question.SearchQuestionRequest.apply$default$4, org.make.api.question.SearchQuestionRequest.apply$default$5, org.make.api.question.SearchQuestionRequest.apply$default$6, org.make.api.question.SearchQuestionRequest.apply$default$7, org.make.api.question.SearchQuestionRequest.apply$default$8, org.make.api.question.SearchQuestionRequest.apply$default$9)).flatMap[org.make.api.technical.crm.QuestionResolver](((questions: Seq[org.make.core.question.Question]) => operationsAsMap.map[org.make.api.technical.crm.QuestionResolver](((operations: scala.collection.immutable.Map[String,org.make.core.operation.OperationId]) => new QuestionResolver(questions, operations)))(DefaultCrmService.this.executionContext)))(DefaultCrmService.this.executionContext)
453 27179 17631 - 17654 Apply org.make.api.question.SearchQuestionRequest.apply org.make.api.question.SearchQuestionRequest.apply(org.make.api.question.SearchQuestionRequest.apply$default$1, org.make.api.question.SearchQuestionRequest.apply$default$2, org.make.api.question.SearchQuestionRequest.apply$default$3, org.make.api.question.SearchQuestionRequest.apply$default$4, org.make.api.question.SearchQuestionRequest.apply$default$5, org.make.api.question.SearchQuestionRequest.apply$default$6, org.make.api.question.SearchQuestionRequest.apply$default$7, org.make.api.question.SearchQuestionRequest.apply$default$8, org.make.api.question.SearchQuestionRequest.apply$default$9)
454 22769 17675 - 17675 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
454 27859 17664 - 17751 ApplyToImplicitArgs scala.concurrent.Future.map operationsAsMap.map[org.make.api.technical.crm.QuestionResolver](((operations: scala.collection.immutable.Map[String,org.make.core.operation.OperationId]) => new QuestionResolver(questions, operations)))(DefaultCrmService.this.executionContext)
455 25160 17708 - 17751 Apply org.make.api.technical.crm.QuestionResolver.<init> new QuestionResolver(questions, operations)
461 27102 17933 - 18091 Apply grizzled.slf4j.Logger.error DefaultCrmServiceComponent.this.logger.error(("Error in stream getPropertiesFromUser for user ".+(user.uuid.value).+(". Stream resumed by dropping this element: "): String), e)
465 24861 18100 - 18118 Select akka.stream.Supervision.Resume akka.stream.Supervision.Resume
471 23739 18268 - 18283 Select org.make.core.user.UserId.value org.make.api.technical.crm.crmservicecomponenttest user.uuid.value
472 27318 18314 - 18315 Literal <nosymbol> org.make.api.technical.crm.crmservicecomponenttest 0L
473 25170 18344 - 18357 Literal <nosymbol> org.make.api.technical.crm.crmservicecomponenttest 9223372036854775807L
475 26741 18187 - 18441 Apply akka.stream.scaladsl.Source.withAttributes org.make.api.technical.crm.crmservicecomponenttest DefaultCrmServiceComponent.this.userJournal.currentEventsByPersistenceId(user.uuid.value, 0L, 9223372036854775807L).withAttributes(akka.stream.ActorAttributes.supervisionStrategy(decider))
475 22826 18396 - 18440 Apply akka.stream.ActorAttributes.supervisionStrategy org.make.api.technical.crm.crmservicecomponenttest akka.stream.ActorAttributes.supervisionStrategy(decider)
477 25628 18473 - 18511 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.userPropertiesFromUser org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.userPropertiesFromUser(user, resolver)
480 23661 18564 - 18740 ApplyToImplicitArgs akka.stream.scaladsl.Source.runFoldAsync org.make.api.technical.crm.crmservicecomponenttest events.runFoldAsync[org.make.api.technical.crm.UserProperties](initialProperties)(((accumulator: org.make.api.technical.crm.UserProperties, envelope: akka.persistence.query.EventEnvelope) => DefaultCrmService.this.accumulateEvent(accumulator, envelope, resolver)))(stream.this.Materializer.matFromSystem(DefaultCrmServiceComponent.this.actorSystem))
480 24703 18612 - 18612 ApplyToImplicitArgs akka.stream.Materializer.matFromSystem org.make.api.technical.crm.crmservicecomponenttest stream.this.Materializer.matFromSystem(DefaultCrmServiceComponent.this.actorSystem)
480 27038 18612 - 18612 Select org.make.api.technical.ActorSystemComponent.actorSystem org.make.api.technical.crm.crmservicecomponenttest DefaultCrmServiceComponent.this.actorSystem
481 23293 18682 - 18730 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.accumulateEvent DefaultCrmService.this.accumulateEvent(accumulator, envelope, resolver)
484 26580 18748 - 18841 ApplyToImplicitArgs scala.concurrent.Future.map org.make.api.technical.crm.crmservicecomponenttest userProperties.map[org.make.api.technical.crm.ContactProperties](((properties: org.make.api.technical.crm.UserProperties) => DefaultCrmService.this.contactPropertiesFromUserProperties(properties.normalize())))(DefaultCrmService.this.executionContext)
484 25177 18781 - 18840 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.contactPropertiesFromUserProperties DefaultCrmService.this.contactPropertiesFromUserProperties(properties.normalize())
484 22754 18766 - 18766 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.executionContext
484 27329 18817 - 18839 Apply org.make.api.technical.crm.UserProperties.normalize properties.normalize()
489 26888 18995 - 19125 Apply org.make.api.technical.crm.QuestionResolver.findQuestionWithOperation org.make.api.technical.crm.crmservicecomponenttest questionResolver.findQuestionWithOperation(((question: org.make.core.question.Question) => user.registerQuestionId.contains[org.make.core.question.QuestionId](question.questionId)))
490 23218 19062 - 19115 Apply scala.Option.contains org.make.api.technical.crm.crmservicecomponenttest user.registerQuestionId.contains[org.make.core.question.QuestionId](question.questionId)
490 25391 19095 - 19114 Select org.make.core.question.Question.questionId org.make.api.technical.crm.crmservicecomponenttest question.questionId
493 26676 19133 - 19133 Select org.make.api.technical.crm.UserProperties.apply$default$22 org.make.api.technical.crm.crmservicecomponenttest UserProperties.apply$default$22
493 27417 19133 - 19133 Select org.make.api.technical.crm.UserProperties.apply$default$19 org.make.api.technical.crm.crmservicecomponenttest UserProperties.apply$default$19
493 26749 19133 - 19133 Select org.make.api.technical.crm.UserProperties.apply$default$10 org.make.api.technical.crm.crmservicecomponenttest UserProperties.apply$default$10
493 26970 19133 - 19133 Select org.make.api.technical.crm.UserProperties.apply$default$16 org.make.api.technical.crm.crmservicecomponenttest UserProperties.apply$default$16
493 23133 19133 - 19891 Apply org.make.api.technical.crm.UserProperties.apply org.make.api.technical.crm.crmservicecomponenttest UserProperties.apply(x$1, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$18, x$19, x$13, x$20, x$11, x$12, x$21, x$22, x$23, x$24, x$25, x$26, x$27, x$28, x$14, x$10, x$15, x$16, 0)
493 22840 19133 - 19133 Select org.make.api.technical.crm.UserProperties.apply$default$21 org.make.api.technical.crm.crmservicecomponenttest UserProperties.apply$default$21
493 23369 19133 - 19133 Select org.make.api.technical.crm.UserProperties.apply$default$13 org.make.api.technical.crm.crmservicecomponenttest UserProperties.apply$default$13
493 24583 19133 - 19133 Select org.make.api.technical.crm.UserProperties.apply$default$17 org.make.api.technical.crm.crmservicecomponenttest UserProperties.apply$default$17
493 22618 19133 - 19133 Select org.make.api.technical.crm.UserProperties.apply$default$18 org.make.api.technical.crm.crmservicecomponenttest UserProperties.apply$default$18
493 24505 19133 - 19133 Select org.make.api.technical.crm.UserProperties.apply$default$23 org.make.api.technical.crm.crmservicecomponenttest UserProperties.apply$default$23
493 25100 19133 - 19133 Select org.make.api.technical.crm.UserProperties.apply$default$20 org.make.api.technical.crm.crmservicecomponenttest UserProperties.apply$default$20
493 24493 19133 - 19133 Select org.make.api.technical.crm.UserProperties.apply$default$11 org.make.api.technical.crm.crmservicecomponenttest UserProperties.apply$default$11
494 24636 19166 - 19175 Select org.make.api.user.PersistentCrmSynchroUserService.MakeUser.uuid org.make.api.technical.crm.crmservicecomponenttest user.uuid
495 22430 19197 - 19225 Apply scala.Option.getOrElse org.make.api.technical.crm.crmservicecomponenttest user.firstName.getOrElse[String]("")
496 27341 19245 - 19260 Select org.make.api.user.PersistentCrmSynchroUserService.MakeUser.postalCode org.make.api.technical.crm.crmservicecomponenttest user.postalCode
497 25103 19284 - 19300 Select org.make.api.user.PersistentCrmSynchroUserService.MakeUser.dateOfBirth org.make.api.technical.crm.crmservicecomponenttest user.dateOfBirth
498 22765 19334 - 19352 Select org.make.api.user.PersistentCrmSynchroUserService.MakeUser.emailVerified org.make.api.technical.crm.crmservicecomponenttest user.emailVerified
499 26516 19386 - 19403 Select org.make.api.user.PersistentCrmSynchroUserService.MakeUser.isHardBounce org.make.api.technical.crm.crmservicecomponenttest user.isHardBounce
500 25613 19433 - 19454 Select scala.Boolean.unary_! org.make.api.technical.crm.crmservicecomponenttest user.optInNewsletter.unary_!
501 23228 19486 - 19500 Select org.make.api.user.PersistentCrmSynchroUserService.MakeUser.createdAt org.make.api.technical.crm.crmservicecomponenttest user.createdAt
502 26819 19525 - 19525 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.crmSynchroUserUserType org.make.api.technical.crm.crmservicecomponenttest DefaultCrmService.this.crmSynchroUserUserType
502 24647 19520 - 19530 ApplyToImplicitArgs org.make.core.user.UserType.UserTypeOps.isB2B org.make.api.technical.crm.crmservicecomponenttest org.make.core.user.UserType.UserTypeOps[org.make.api.user.PersistentCrmSynchroUserService.CrmSynchroUser](user).isB2B(DefaultCrmService.this.crmSynchroUserUserType)
503 27483 19552 - 19574 Apply scala.Some.apply org.make.api.technical.crm.crmservicecomponenttest scala.Some.apply[java.time.ZonedDateTime](org.make.core.DateHelper.now())
503 22593 19557 - 19573 Apply org.make.core.DefaultDateHelper.now org.make.api.technical.crm.crmservicecomponenttest org.make.core.DateHelper.now()
504 25114 19602 - 19623 Select org.make.core.reference.Country.value org.make.api.technical.crm.crmservicecomponenttest user.crmCountry.value
504 22694 19597 - 19624 Apply scala.Some.apply org.make.api.technical.crm.crmservicecomponenttest scala.Some.apply[String](user.crmCountry.value)
505 26525 19653 - 19675 Select org.make.core.reference.Language.value org.make.api.technical.crm.crmservicecomponenttest user.crmLanguage.value
505 25624 19648 - 19676 Apply scala.Some.apply org.make.api.technical.crm.crmservicecomponenttest scala.Some.apply[String](user.crmLanguage.value)
506 23358 19721 - 19727 Select org.make.core.question.Question.slug x$30.slug
506 26830 19708 - 19728 Apply scala.Option.map org.make.api.technical.crm.crmservicecomponenttest question.map[String](((x$30: org.make.core.question.Question) => x$30.slug))
507 24574 19757 - 19776 Select org.make.core.user.UserType.value org.make.api.technical.crm.crmservicecomponenttest user.userType.value
507 22606 19752 - 19777 Apply scala.Some.apply org.make.api.technical.crm.crmservicecomponenttest scala.Some.apply[String](user.userType.value)
508 27490 19806 - 19825 Select org.make.api.user.PersistentCrmSynchroUserService.MakeUser.lastConnection org.make.api.technical.crm.crmservicecomponenttest user.lastConnection
509 25088 19849 - 19858 TypeApply scala.collection.immutable.Set.empty org.make.api.technical.crm.crmservicecomponenttest scala.Predef.Set.empty[org.make.core.session.SessionId]
510 22702 19882 - 19883 Literal <nosymbol> org.make.api.technical.crm.crmservicecomponenttest 0
515 25018 20008 - 20221 Apply scala.Option.map properties.lastActivityDate.map[Int](((date: java.time.ZonedDateTime) => { val deletionDate: java.time.ZonedDateTime = date.plusYears(if (properties.userB2B) 4L else 2L).plusMonths(11L); DAYS.between(java.time.ZonedDateTime.now(), deletionDate).toInt }))
516 26979 20077 - 20140 Apply java.time.ZonedDateTime.plusMonths date.plusYears(if (properties.userB2B) 4L else 2L).plusMonths(11L)
517 22540 20173 - 20192 Apply java.time.ZonedDateTime.now java.time.ZonedDateTime.now()
517 24642 20149 - 20164 Literal <nosymbol> DAYS
517 26387 20149 - 20213 Select scala.Long.toInt DAYS.between(java.time.ZonedDateTime.now(), deletionDate).toInt
522 25815 20340 - 22463 Apply org.make.api.technical.crm.ContactProperties.apply ContactProperties.apply(scala.Some.apply[org.make.core.user.UserId](userProperty.userId), scala.Some.apply[String](userProperty.firstname), userProperty.zipCode, userProperty.dateOfBirth.map[String](((x$31: java.time.LocalDate) => x$31.format(DefaultCrmService.this.localDateFormatter))), scala.Some.apply[Boolean](userProperty.emailValidationStatus), scala.Some.apply[Boolean](userProperty.emailHardBounceStatus), scala.Some.apply[Boolean](userProperty.unsubscribeStatus), scala.Some.apply[String](userProperty.accountCreationDate.format(DefaultCrmService.this.dateFormatter)), userProperty.accountCreationSource, userProperty.accountCreationOrigin, userProperty.accountCreationSlug, userProperty.accountCreationLocation, userProperty.crmCountry, userProperty.crmLanguage, scala.Some.apply[Int](userProperty.totalNumberProposals.getOrElse[Int](0)), scala.Some.apply[Int](userProperty.totalNumbervotes.getOrElse[Int](0)), userProperty.firstContributionDate.map[String](((x$32: java.time.ZonedDateTime) => x$32.format(DefaultCrmService.this.dateFormatter))), userProperty.lastContributionDate.map[String](((x$33: java.time.ZonedDateTime) => x$33.format(DefaultCrmService.this.dateFormatter))), scala.Some.apply[String](userProperty.questionActivity.distinct.mkString(",")), scala.Some.apply[String](userProperty.sourceActivity.distinct.mkString(",")), scala.Some.apply[Int](userProperty.daysOfActivity.distinct.length), scala.Some.apply[Int](userProperty.daysOfActivity30d.distinct.length), if (userProperty.userB2B) scala.Some.apply[String]("B2B") else scala.Some.apply[String]("B2C"), userProperty.accountType, userProperty.updatedAt.map[String](((x$34: java.time.ZonedDateTime) => x$34.format(DefaultCrmService.this.dateFormatter))), DefaultCrmService.this.getDaysBeforeDeletionFromLastActivityDate(userProperty), userProperty.lastActivityDate.map[String](((x$35: java.time.ZonedDateTime) => x$35.format(DefaultCrmService.this.dateFormatter))), scala.Some.apply[Int](userProperty.sessionsIds.size), scala.Some.apply[Int](userProperty.eventsCount))
523 26521 20376 - 20401 Apply scala.Some.apply scala.Some.apply[org.make.core.user.UserId](userProperty.userId)
523 22848 20381 - 20400 Select org.make.api.technical.crm.UserProperties.userId userProperty.userId
524 24428 20428 - 20450 Select org.make.api.technical.crm.UserProperties.firstname userProperty.firstname
524 23145 20423 - 20451 Apply scala.Some.apply scala.Some.apply[String](userProperty.firstname)
525 26905 20474 - 20494 Select org.make.api.technical.crm.UserProperties.zipCode userProperty.zipCode
526 24570 20556 - 20574 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.localDateFormatter DefaultCrmService.this.localDateFormatter
526 26156 20518 - 20576 Apply scala.Option.map userProperty.dateOfBirth.map[String](((x$31: java.time.LocalDate) => x$31.format(DefaultCrmService.this.localDateFormatter)))
526 22370 20547 - 20575 Apply java.time.LocalDate.format x$31.format(DefaultCrmService.this.localDateFormatter)
527 22698 20610 - 20650 Apply scala.Some.apply scala.Some.apply[Boolean](userProperty.emailValidationStatus)
527 25032 20615 - 20649 Select org.make.api.technical.crm.UserProperties.emailValidationStatus userProperty.emailValidationStatus
528 26454 20688 - 20722 Select org.make.api.technical.crm.UserProperties.emailHardBounceStatus userProperty.emailHardBounceStatus
528 24258 20683 - 20723 Apply scala.Some.apply scala.Some.apply[Boolean](userProperty.emailHardBounceStatus)
529 23073 20758 - 20788 Select org.make.api.technical.crm.UserProperties.unsubscribeStatus userProperty.unsubscribeStatus
529 26915 20753 - 20789 Apply scala.Some.apply scala.Some.apply[Boolean](userProperty.unsubscribeStatus)
530 24578 20866 - 20879 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dateFormatter DefaultCrmService.this.dateFormatter
530 26375 20821 - 20881 Apply scala.Some.apply scala.Some.apply[String](userProperty.accountCreationDate.format(DefaultCrmService.this.dateFormatter))
530 22307 20826 - 20880 Apply java.time.ZonedDateTime.format userProperty.accountCreationDate.format(DefaultCrmService.this.dateFormatter)
531 25044 20915 - 20949 Select org.make.api.technical.crm.UserProperties.accountCreationSource userProperty.accountCreationSource
532 23002 20983 - 21017 Select org.make.api.technical.crm.UserProperties.accountCreationOrigin userProperty.accountCreationOrigin
533 26464 21049 - 21081 Select org.make.api.technical.crm.UserProperties.accountCreationSlug userProperty.accountCreationSlug
534 24412 21117 - 21153 Select org.make.api.technical.crm.UserProperties.accountCreationLocation userProperty.accountCreationLocation
535 28231 21181 - 21204 Select org.make.api.technical.crm.UserProperties.crmCountry userProperty.crmCountry
536 26930 21233 - 21257 Select org.make.api.technical.crm.UserProperties.crmLanguage userProperty.crmLanguage
537 22314 21284 - 21336 Apply scala.Some.apply scala.Some.apply[Int](userProperty.totalNumberProposals.getOrElse[Int](0))
537 24882 21289 - 21335 Apply scala.Option.getOrElse userProperty.totalNumberProposals.getOrElse[Int](0)
538 26310 21364 - 21406 Apply scala.Option.getOrElse userProperty.totalNumbervotes.getOrElse[Int](0)
538 25187 21359 - 21407 Apply scala.Some.apply scala.Some.apply[Int](userProperty.totalNumbervotes.getOrElse[Int](0))
539 23012 21489 - 21502 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dateFormatter DefaultCrmService.this.dateFormatter
539 26765 21480 - 21503 Apply java.time.ZonedDateTime.format x$32.format(DefaultCrmService.this.dateFormatter)
539 24423 21441 - 21504 Apply scala.Option.map userProperty.firstContributionDate.map[String](((x$32: java.time.ZonedDateTime) => x$32.format(DefaultCrmService.this.dateFormatter)))
540 24896 21537 - 21599 Apply scala.Option.map userProperty.lastContributionDate.map[String](((x$33: java.time.ZonedDateTime) => x$33.format(DefaultCrmService.this.dateFormatter)))
540 26901 21575 - 21598 Apply java.time.ZonedDateTime.format x$33.format(DefaultCrmService.this.dateFormatter)
540 28240 21584 - 21597 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dateFormatter DefaultCrmService.this.dateFormatter
541 22461 21634 - 21686 Apply scala.collection.IterableOnceOps.mkString userProperty.questionActivity.distinct.mkString(",")
541 26320 21629 - 21687 Apply scala.Some.apply scala.Some.apply[String](userProperty.questionActivity.distinct.mkString(","))
542 22776 21714 - 21770 Apply scala.Some.apply scala.Some.apply[String](userProperty.sourceActivity.distinct.mkString(","))
542 25199 21719 - 21769 Apply scala.collection.IterableOnceOps.mkString userProperty.sourceActivity.distinct.mkString(",")
543 24436 21797 - 21846 Apply scala.Some.apply scala.Some.apply[Int](userProperty.daysOfActivity.distinct.length)
543 26401 21802 - 21845 Select scala.collection.SeqOps.length userProperty.daysOfActivity.distinct.length
544 26912 21875 - 21927 Apply scala.Some.apply scala.Some.apply[Int](userProperty.daysOfActivity30d.distinct.length)
544 28181 21880 - 21926 Select scala.collection.SeqOps.length userProperty.daysOfActivity30d.distinct.length
545 24655 21952 - 21972 Select org.make.api.technical.crm.UserProperties.userB2B userProperty.userB2B
546 22470 21986 - 21997 Apply scala.Some.apply scala.Some.apply[String]("B2B")
546 26329 21986 - 21997 Block scala.Some.apply scala.Some.apply[String]("B2B")
548 23913 22025 - 22036 Apply scala.Some.apply scala.Some.apply[String]("B2C")
548 22788 22025 - 22036 Block scala.Some.apply scala.Some.apply[String]("B2C")
550 26748 22070 - 22094 Select org.make.api.technical.crm.UserProperties.accountType userProperty.accountType
551 24361 22152 - 22165 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dateFormatter DefaultCrmService.this.dateFormatter
551 26837 22116 - 22167 Apply scala.Option.map userProperty.updatedAt.map[String](((x$34: java.time.ZonedDateTime) => x$34.format(DefaultCrmService.this.dateFormatter)))
551 28189 22143 - 22166 Apply java.time.ZonedDateTime.format x$34.format(DefaultCrmService.this.dateFormatter)
552 24662 22198 - 22253 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.getDaysBeforeDeletionFromLastActivityDate DefaultCrmService.this.getDaysBeforeDeletionFromLastActivityDate(userProperty)
553 23927 22282 - 22340 Apply scala.Option.map userProperty.lastActivityDate.map[String](((x$35: java.time.ZonedDateTime) => x$35.format(DefaultCrmService.this.dateFormatter)))
553 26258 22316 - 22339 Apply java.time.ZonedDateTime.format x$35.format(DefaultCrmService.this.dateFormatter)
553 22310 22325 - 22338 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dateFormatter DefaultCrmService.this.dateFormatter
554 22710 22371 - 22400 Select scala.collection.IterableOnceOps.size userProperty.sessionsIds.size
554 26761 22366 - 22401 Apply scala.Some.apply scala.Some.apply[Int](userProperty.sessionsIds.size)
555 24199 22430 - 22454 Select org.make.api.technical.crm.UserProperties.eventsCount userProperty.eventsCount
555 27955 22425 - 22455 Apply scala.Some.apply scala.Some.apply[Int](userProperty.eventsCount)
564 24804 22651 - 22665 Select akka.persistence.query.EventEnvelope.event envelope.event
566 22629 22747 - 22798 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.accumulateLogUserConnectedEvent DefaultCrmService.this.accumulateLogUserConnectedEvent(accumulator, event)
566 26084 22729 - 22799 Apply scala.concurrent.Future.successful scala.concurrent.Future.successful[org.make.api.technical.crm.UserProperties](DefaultCrmService.this.accumulateLogUserConnectedEvent(accumulator, event))
568 22721 22857 - 22947 Apply scala.concurrent.Future.successful scala.concurrent.Future.successful[org.make.api.technical.crm.UserProperties](DefaultCrmService.this.accumulateLogRegisterCitizenEvent(accumulator, event, questionResolver))
568 23847 22875 - 22946 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.accumulateLogRegisterCitizenEvent DefaultCrmService.this.accumulateLogRegisterCitizenEvent(accumulator, event, questionResolver)
570 26770 23002 - 23070 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.accumulateLogUserProposalEvent DefaultCrmService.this.accumulateLogUserProposalEvent(accumulator, event, questionResolver)
572 24511 23121 - 23185 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.accumulateLogUserVoteEvent DefaultCrmService.this.accumulateLogUserVoteEvent(accumulator, event, questionResolver)
574 28176 23238 - 23304 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.accumulateLogUserUnvoteEvent DefaultCrmService.this.accumulateLogUserUnvoteEvent(accumulator, event, questionResolver)
576 25733 23364 - 23437 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.accumulateLogUserQualificationEvent DefaultCrmService.this.accumulateLogUserQualificationEvent(accumulator, event, questionResolver)
578 24817 23499 - 23574 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.accumulateLogUserUnqualificationEvent DefaultCrmService.this.accumulateLogUserUnqualificationEvent(accumulator, event, questionResolver)
580 26248 23634 - 23708 Apply scala.concurrent.Future.successful scala.concurrent.Future.successful[org.make.api.technical.crm.UserProperties](DefaultCrmService.this.accumulateLogUserStartSequenceEvent(accumulator, event))
580 22635 23652 - 23707 Apply org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.accumulateLogUserStartSequenceEvent DefaultCrmService.this.accumulateLogUserStartSequenceEvent(accumulator, event)
581 24062 23727 - 23757 Apply scala.concurrent.Future.successful scala.concurrent.Future.successful[org.make.api.technical.crm.UserProperties](accumulator)
590 24292 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$10 accumulator.copy$default$10
590 26481 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$18 accumulator.copy$default$18
590 26179 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$6 accumulator.copy$default$6
590 24600 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$13 accumulator.copy$default$13
590 22548 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$14 accumulator.copy$default$14
590 26400 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$24 accumulator.copy$default$24
590 24435 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$19 accumulator.copy$default$19
590 22560 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$23 accumulator.copy$default$23
590 27602 23925 - 24172 Apply org.make.api.technical.crm.UserProperties.copy accumulator.copy(x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24, x$25, x$26, x$27, x$28, x$1, x$2, x$3)
590 27659 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$8 accumulator.copy$default$8
590 25945 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$3 accumulator.copy$default$3
590 22572 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$5 accumulator.copy$default$5
590 24019 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$16 accumulator.copy$default$16
590 28059 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$20 accumulator.copy$default$20
590 24282 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$1 accumulator.copy$default$1
590 26471 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$9 accumulator.copy$default$9
590 25741 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$21 accumulator.copy$default$21
590 23776 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$25 accumulator.copy$default$25
590 24589 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$4 accumulator.copy$default$4
590 28118 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$2 accumulator.copy$default$2
590 28127 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$11 accumulator.copy$default$11
590 24009 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$7 accumulator.copy$default$7
590 26189 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$15 accumulator.copy$default$15
590 25731 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$12 accumulator.copy$default$12
590 23461 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$22 accumulator.copy$default$22
590 27588 23937 - 23937 Select org.make.api.technical.crm.UserProperties.copy$default$17 accumulator.copy$default$17
591 26694 23982 - 23982 TypeApply scala.Predef.$conforms scala.Predef.$conforms[java.time.ZonedDateTime]
591 22734 23970 - 23998 Select org.make.api.technical.crm.UserProperties.lastActivityDate accumulator.lastActivityDate
591 22563 23970 - 24027 Apply scala.math.Ordering.OrderingOps.max scala.math.Ordering.Implicits.infixOrderingOps[Option[java.time.ZonedDateTime]](accumulator.lastActivityDate)(math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))).max(scala.Some.apply[java.time.ZonedDateTime](event.action.date))
591 28110 23982 - 23982 ApplyToImplicitArgs scala.math.Ordering.Option math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))
591 24141 23982 - 23982 ApplyToImplicitArgs scala.math.LowPriorityOrderingImplicits.ordered math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime])
591 25938 24008 - 24025 Select org.make.api.userhistory.UserAction.date event.action.date
591 24828 24003 - 24026 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.action.date)
592 27647 24051 - 24113 Apply scala.collection.SetOps.++ accumulator.sessionsIds.++(scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId))
592 24001 24078 - 24113 Apply scala.collection.IterableFactory.apply scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId)
592 26253 24082 - 24112 Select org.make.core.RequestContext.sessionId event.requestContext.sessionId
593 26707 24137 - 24164 Apply scala.Int.+ accumulator.eventsCount.+(1)
603 27885 24448 - 24607 Apply org.make.api.proposal.ProposalService.resolveQuestionFromVoteEvent DefaultCrmServiceComponent.this.proposalService.resolveQuestionFromVoteEvent(questionResolver, event.requestContext, event.action.arguments.proposalId)
605 26620 24532 - 24552 Select org.make.api.userhistory.LogUserUnqualificationEvent.requestContext event.requestContext
606 24449 24564 - 24597 Select org.make.api.userhistory.UserUnqualification.proposalId event.action.arguments.proposalId
609 28138 24615 - 25508 ApplyToImplicitArgs scala.concurrent.Future.map futureQuestion.map[org.make.api.technical.crm.UserProperties](((maybeQuestion: Option[org.make.core.question.Question]) => { <artifact> val x$1: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](event.action.date); <artifact> val x$2: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.questionActivity.++[String](maybeQuestion.map[String](((x$36: org.make.core.question.Question) => x$36.slug)).toList); <artifact> val x$3: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.sourceActivity.++[String](event.requestContext.source); <artifact> val x$4: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.daysOfActivity.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))); <artifact> val x$5: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = if (org.make.core.DateHelper.isLast30daysDate(event.action.date)) accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))) else accumulator.daysOfActivity; <artifact> val x$6: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.math.Ordering.Implicits.infixOrderingOps[Option[java.time.ZonedDateTime]](accumulator.lastActivityDate)(math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))).max(scala.Some.apply[java.time.ZonedDateTime](event.action.date)); <artifact> val x$7: scala.collection.immutable.Set[org.make.core.session.SessionId] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.sessionsIds.++(scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId)); <artifact> val x$8: Int = accumulator.eventsCount.+(1); <artifact> val x$9: org.make.core.user.UserId = accumulator.copy$default$1; <artifact> val x$10: String = accumulator.copy$default$2; <artifact> val x$11: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$3; <artifact> val x$12: Option[java.time.LocalDate] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$4; <artifact> val x$13: Boolean = accumulator.copy$default$5; <artifact> val x$14: Boolean = accumulator.copy$default$6; <artifact> val x$15: Boolean = accumulator.copy$default$7; <artifact> val x$16: java.time.ZonedDateTime = accumulator.copy$default$8; <artifact> val x$17: Boolean = accumulator.copy$default$9; <artifact> val x$18: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$10; <artifact> val x$19: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$11; <artifact> val x$20: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$12; <artifact> val x$21: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$13; <artifact> val x$22: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$14; <artifact> val x$23: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$15; <artifact> val x$24: Option[Int] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$16; <artifact> val x$25: Option[Int] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$17; <artifact> val x$26: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$18; <artifact> val x$27: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$24; <artifact> val x$28: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$25; accumulator.copy(x$9, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24, x$25, x$26, x$1, x$2, x$3, x$4, x$5, x$27, x$28, x$6, x$7, x$8) }))(DefaultCrmService.this.executionContext)
609 23249 24634 - 24634 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
610 26263 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$9 accumulator.copy$default$9
610 23410 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$16 accumulator.copy$default$16
610 25351 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$3 accumulator.copy$default$3
610 24364 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$4 accumulator.copy$default$4
610 26275 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$18 accumulator.copy$default$18
610 25297 24661 - 25500 Apply org.make.api.technical.crm.UserProperties.copy accumulator.copy(x$9, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24, x$25, x$26, x$1, x$2, x$3, x$4, x$5, x$27, x$28, x$6, x$7, x$8)
610 27522 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$2 accumulator.copy$default$2
610 28126 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$14 accumulator.copy$default$14
610 25760 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$6 accumulator.copy$default$6
610 27988 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$5 accumulator.copy$default$5
610 23872 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$1 accumulator.copy$default$1
610 27362 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$17 accumulator.copy$default$17
610 27215 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$8 accumulator.copy$default$8
610 24075 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$10 accumulator.copy$default$10
610 25286 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$12 accumulator.copy$default$12
610 24087 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$24 accumulator.copy$default$24
610 27532 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$11 accumulator.copy$default$11
610 25821 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$15 accumulator.copy$default$15
610 27666 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$25 accumulator.copy$default$25
610 23398 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$7 accumulator.copy$default$7
610 24376 24673 - 24673 Select org.make.api.technical.crm.UserProperties.copy$default$13 accumulator.copy$default$13
611 23473 24712 - 24735 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.action.date)
611 25661 24717 - 24734 Select org.make.api.userhistory.UserAction.date event.action.date
612 22481 24816 - 24822 Select org.make.core.question.Question.slug x$36.slug
612 24006 24766 - 24830 Apply scala.collection.IterableOps.++ accumulator.questionActivity.++[String](maybeQuestion.map[String](((x$36: org.make.core.question.Question) => x$36.slug)).toList)
612 26338 24798 - 24830 Select scala.Option.toList maybeQuestion.map[String](((x$36: org.make.core.question.Question) => x$36.slug)).toList
613 25572 24859 - 24916 Apply scala.collection.IterableOps.++ accumulator.sourceActivity.++[String](event.requestContext.source)
613 27525 24889 - 24916 Select org.make.core.RequestContext.source event.requestContext.source
614 24459 25005 - 25021 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dayDateFormatter DefaultCrmService.this.dayDateFormatter
614 25888 24975 - 25023 Apply scala.Some.apply scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))
614 28044 24980 - 25022 Apply java.time.ZonedDateTime.format event.action.date.format(DefaultCrmService.this.dayDateFormatter)
614 23606 24945 - 25023 Apply scala.collection.IterableOps.++ accumulator.daysOfActivity.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
615 26345 25059 - 25094 Apply org.make.core.DefaultDateHelper.isLast30daysDate org.make.core.DateHelper.isLast30daysDate(event.action.date)
615 22492 25076 - 25093 Select org.make.api.userhistory.UserAction.date event.action.date
616 25587 25143 - 25191 Apply scala.Some.apply scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))
616 24380 25110 - 25191 Apply scala.collection.IterableOps.++ accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
616 27732 25148 - 25190 Apply java.time.ZonedDateTime.format event.action.date.format(DefaultCrmService.this.dayDateFormatter)
616 28055 25110 - 25191 Block scala.collection.IterableOps.++ accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
616 23940 25173 - 25189 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dayDateFormatter DefaultCrmService.this.dayDateFormatter
618 23457 25223 - 25249 Block org.make.api.technical.crm.UserProperties.daysOfActivity accumulator.daysOfActivity
618 25825 25223 - 25249 Select org.make.api.technical.crm.UserProperties.daysOfActivity accumulator.daysOfActivity
620 25341 25330 - 25347 Select org.make.api.userhistory.UserAction.date event.action.date
620 24393 25325 - 25348 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.action.date)
620 23950 25304 - 25304 ApplyToImplicitArgs scala.math.LowPriorityOrderingImplicits.ordered math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime])
620 27670 25304 - 25304 ApplyToImplicitArgs scala.math.Ordering.Option math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))
620 22505 25292 - 25320 Select org.make.api.technical.crm.UserProperties.lastActivityDate accumulator.lastActivityDate
620 26111 25304 - 25304 TypeApply scala.Predef.$conforms scala.Predef.$conforms[java.time.ZonedDateTime]
620 27977 25292 - 25349 Apply scala.math.Ordering.OrderingOps.max scala.math.Ordering.Implicits.infixOrderingOps[Option[java.time.ZonedDateTime]](accumulator.lastActivityDate)(math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))).max(scala.Some.apply[java.time.ZonedDateTime](event.action.date))
621 23469 25402 - 25437 Apply scala.collection.IterableFactory.apply scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId)
621 27206 25375 - 25437 Apply scala.collection.SetOps.++ accumulator.sessionsIds.++(scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId))
621 25830 25406 - 25436 Select org.make.core.RequestContext.sessionId event.requestContext.sessionId
622 26126 25463 - 25490 Apply scala.Int.+ accumulator.eventsCount.+(1)
634 27375 25781 - 25940 Apply org.make.api.proposal.ProposalService.resolveQuestionFromVoteEvent DefaultCrmServiceComponent.this.proposalService.resolveQuestionFromVoteEvent(questionResolver, event.requestContext, event.action.arguments.proposalId)
636 25827 25865 - 25885 Select org.make.api.userhistory.LogUserQualificationEvent.requestContext event.requestContext
637 23529 25897 - 25930 Select org.make.api.userhistory.UserQualification.proposalId event.action.arguments.proposalId
640 23485 25967 - 25967 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
640 27451 25948 - 26844 ApplyToImplicitArgs scala.concurrent.Future.map futureQuestion.map[org.make.api.technical.crm.UserProperties](((maybeQuestion: Option[org.make.core.question.Question]) => { <artifact> val x$1: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](event.action.date); <artifact> val x$2: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.questionActivity.++[String](maybeQuestion.map[String](((x$37: org.make.core.question.Question) => x$37.slug)).toList); <artifact> val x$3: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.sourceActivity.++[String](event.requestContext.source); <artifact> val x$4: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.daysOfActivity.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))); <artifact> val x$5: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = if (org.make.core.DateHelper.isLast30daysDate(event.action.date)) accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))) else accumulator.daysOfActivity30d; <artifact> val x$6: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.math.Ordering.Implicits.infixOrderingOps[Option[java.time.ZonedDateTime]](accumulator.lastActivityDate)(math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))).max(scala.Some.apply[java.time.ZonedDateTime](event.action.date)); <artifact> val x$7: scala.collection.immutable.Set[org.make.core.session.SessionId] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.sessionsIds.++(scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId)); <artifact> val x$8: Int = accumulator.eventsCount.+(1); <artifact> val x$9: org.make.core.user.UserId = accumulator.copy$default$1; <artifact> val x$10: String = accumulator.copy$default$2; <artifact> val x$11: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$3; <artifact> val x$12: Option[java.time.LocalDate] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$4; <artifact> val x$13: Boolean = accumulator.copy$default$5; <artifact> val x$14: Boolean = accumulator.copy$default$6; <artifact> val x$15: Boolean = accumulator.copy$default$7; <artifact> val x$16: java.time.ZonedDateTime = accumulator.copy$default$8; <artifact> val x$17: Boolean = accumulator.copy$default$9; <artifact> val x$18: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$10; <artifact> val x$19: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$11; <artifact> val x$20: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$12; <artifact> val x$21: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$13; <artifact> val x$22: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$14; <artifact> val x$23: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$15; <artifact> val x$24: Option[Int] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$16; <artifact> val x$25: Option[Int] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$17; <artifact> val x$26: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$18; <artifact> val x$27: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$24; <artifact> val x$28: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$25; accumulator.copy(x$9, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24, x$25, x$26, x$1, x$2, x$3, x$4, x$5, x$27, x$28, x$6, x$7, x$8) }))(DefaultCrmService.this.executionContext)
641 27609 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$8 accumulator.copy$default$8
641 23177 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$10 accumulator.copy$default$10
641 25680 25994 - 26836 Apply org.make.api.technical.crm.UserProperties.copy accumulator.copy(x$9, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24, x$25, x$26, x$1, x$2, x$3, x$4, x$5, x$27, x$28, x$6, x$7, x$8)
641 23969 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$16 accumulator.copy$default$16
641 23628 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$4 accumulator.copy$default$4
641 25147 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$6 accumulator.copy$default$6
641 23030 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$1 accumulator.copy$default$1
641 25605 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$9 accumulator.copy$default$9
641 27474 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$14 accumulator.copy$default$14
641 27465 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$5 accumulator.copy$default$5
641 27617 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$17 accumulator.copy$default$17
641 23191 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$24 accumulator.copy$default$24
641 23478 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$13 accumulator.copy$default$13
641 25066 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$15 accumulator.copy$default$15
641 27006 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$2 accumulator.copy$default$2
641 25840 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$12 accumulator.copy$default$12
641 25358 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$18 accumulator.copy$default$18
641 26949 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$25 accumulator.copy$default$25
641 25905 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$3 accumulator.copy$default$3
641 23958 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$7 accumulator.copy$default$7
641 27020 26006 - 26006 Select org.make.api.technical.crm.UserProperties.copy$default$11 accumulator.copy$default$11
642 23866 26045 - 26068 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.action.date)
642 26198 26050 - 26067 Select org.make.api.userhistory.UserAction.date event.action.date
643 25647 26131 - 26163 Select scala.Option.toList maybeQuestion.map[String](((x$37: org.make.core.question.Question) => x$37.slug)).toList
643 23263 26099 - 26163 Apply scala.collection.IterableOps.++ accumulator.questionActivity.++[String](maybeQuestion.map[String](((x$37: org.make.core.question.Question) => x$37.slug)).toList)
643 27676 26149 - 26155 Select org.make.core.question.Question.slug x$37.slug
644 25753 26192 - 26249 Apply scala.collection.IterableOps.++ accumulator.sourceActivity.++[String](event.requestContext.source)
644 28148 26222 - 26249 Select org.make.core.RequestContext.source event.requestContext.source
645 27509 26313 - 26355 Apply java.time.ZonedDateTime.format event.action.date.format(DefaultCrmService.this.dayDateFormatter)
645 23878 26278 - 26356 Apply scala.collection.IterableOps.++ accumulator.daysOfActivity.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
645 25151 26308 - 26356 Apply scala.Some.apply scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))
645 23539 26338 - 26354 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dayDateFormatter DefaultCrmService.this.dayDateFormatter
646 25282 26392 - 26427 Apply org.make.core.DefaultDateHelper.isLast30daysDate org.make.core.DateHelper.isLast30daysDate(event.action.date)
646 27612 26409 - 26426 Select org.make.api.userhistory.UserAction.date event.action.date
647 25766 26476 - 26524 Apply scala.Some.apply scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))
647 23481 26443 - 26524 Apply scala.collection.IterableOps.++ accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
647 27910 26481 - 26523 Apply java.time.ZonedDateTime.format event.action.date.format(DefaultCrmService.this.dayDateFormatter)
647 27150 26443 - 26524 Block scala.collection.IterableOps.++ accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
647 23085 26506 - 26522 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dayDateFormatter DefaultCrmService.this.dayDateFormatter
649 23798 26556 - 26585 Block org.make.api.technical.crm.UserProperties.daysOfActivity30d accumulator.daysOfActivity30d
649 24967 26556 - 26585 Select org.make.api.technical.crm.UserProperties.daysOfActivity30d accumulator.daysOfActivity30d
651 27163 26628 - 26685 Apply scala.math.Ordering.OrderingOps.max scala.math.Ordering.Implicits.infixOrderingOps[Option[java.time.ZonedDateTime]](accumulator.lastActivityDate)(math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))).max(scala.Some.apply[java.time.ZonedDateTime](event.action.date))
651 23703 26661 - 26684 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.action.date)
651 23021 26640 - 26640 ApplyToImplicitArgs scala.math.LowPriorityOrderingImplicits.ordered math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime])
651 28135 26640 - 26640 ApplyToImplicitArgs scala.math.Ordering.Option math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))
651 27620 26628 - 26656 Select org.make.api.technical.crm.UserProperties.lastActivityDate accumulator.lastActivityDate
651 25586 26640 - 26640 TypeApply scala.Predef.$conforms scala.Predef.$conforms[java.time.ZonedDateTime]
651 25686 26666 - 26683 Select org.make.api.userhistory.UserAction.date event.action.date
652 25132 26742 - 26772 Select org.make.core.RequestContext.sessionId event.requestContext.sessionId
652 24025 26738 - 26773 Apply scala.collection.IterableFactory.apply scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId)
652 27550 26711 - 26773 Apply scala.collection.SetOps.++ accumulator.sessionsIds.++(scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId))
653 25593 26799 - 26826 Apply scala.Int.+ accumulator.eventsCount.+(1)
664 27544 27102 - 27261 Apply org.make.api.proposal.ProposalService.resolveQuestionFromVoteEvent DefaultCrmServiceComponent.this.proposalService.resolveQuestionFromVoteEvent(questionResolver, event.requestContext, event.action.arguments.proposalId)
666 25079 27186 - 27206 Select org.make.api.userhistory.LogUserUnvoteEvent.requestContext event.requestContext
667 22819 27218 - 27251 Select org.make.api.userhistory.UserUnvote.proposalId event.action.arguments.proposalId
670 25614 27288 - 27288 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
670 23280 27269 - 28252 ApplyToImplicitArgs scala.concurrent.Future.map futureQuestion.map[org.make.api.technical.crm.UserProperties](((maybeQuestion: Option[org.make.core.question.Question]) => { <artifact> val x$1: Option[Int] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.totalNumbervotes.map[Int](((x$38: Int) => x$38.-(1))).orElse[Int](scala.Some.apply[Int](-1)); <artifact> val x$2: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](event.action.date); <artifact> val x$3: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.questionActivity.++[String](maybeQuestion.map[String](((x$39: org.make.core.question.Question) => x$39.slug)).toList); <artifact> val x$4: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.sourceActivity.++[String](event.requestContext.source); <artifact> val x$5: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.daysOfActivity.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))); <artifact> val x$6: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = if (org.make.core.DateHelper.isLast30daysDate(event.action.date)) accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))) else accumulator.daysOfActivity30d; <artifact> val x$7: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.math.Ordering.Implicits.infixOrderingOps[Option[java.time.ZonedDateTime]](accumulator.lastActivityDate)(math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))).max(scala.Some.apply[java.time.ZonedDateTime](event.action.date)); <artifact> val x$8: scala.collection.immutable.Set[org.make.core.session.SessionId] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.sessionsIds.++(scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId)); <artifact> val x$9: Int = accumulator.eventsCount.+(1); <artifact> val x$10: org.make.core.user.UserId = accumulator.copy$default$1; <artifact> val x$11: String = accumulator.copy$default$2; <artifact> val x$12: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$3; <artifact> val x$13: Option[java.time.LocalDate] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$4; <artifact> val x$14: Boolean = accumulator.copy$default$5; <artifact> val x$15: Boolean = accumulator.copy$default$6; <artifact> val x$16: Boolean = accumulator.copy$default$7; <artifact> val x$17: java.time.ZonedDateTime = accumulator.copy$default$8; <artifact> val x$18: Boolean = accumulator.copy$default$9; <artifact> val x$19: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$10; <artifact> val x$20: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$11; <artifact> val x$21: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$12; <artifact> val x$22: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$13; <artifact> val x$23: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$14; <artifact> val x$24: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$15; <artifact> val x$25: Option[Int] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$16; <artifact> val x$26: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$18; <artifact> val x$27: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$24; <artifact> val x$28: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$25; accumulator.copy(x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24, x$25, x$1, x$26, x$2, x$3, x$4, x$5, x$6, x$27, x$28, x$7, x$8, x$9) }))(DefaultCrmService.this.executionContext)
671 27178 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$18 accumulator.copy$default$18
671 25007 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$9 accumulator.copy$default$9
671 22755 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$10 accumulator.copy$default$10
671 22767 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$25 accumulator.copy$default$25
671 26430 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$11 accumulator.copy$default$11
671 23269 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$13 accumulator.copy$default$13
671 24704 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$6 accumulator.copy$default$6
671 24638 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$15 accumulator.copy$default$15
671 27171 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$8 accumulator.copy$default$8
671 26570 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$2 accumulator.copy$default$2
671 25158 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$24 accumulator.copy$default$24
671 26883 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$5 accumulator.copy$default$5
671 26892 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$14 accumulator.copy$default$14
671 25304 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$3 accumulator.copy$default$3
671 25313 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$12 accumulator.copy$default$12
671 23710 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$7 accumulator.copy$default$7
671 23722 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$16 accumulator.copy$default$16
671 23294 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$4 accumulator.copy$default$4
671 22830 27327 - 27327 Select org.make.api.technical.crm.UserProperties.copy$default$1 accumulator.copy$default$1
671 26727 27315 - 28244 Apply org.make.api.technical.crm.UserProperties.copy accumulator.copy(x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24, x$25, x$1, x$26, x$2, x$3, x$4, x$5, x$6, x$27, x$28, x$7, x$8, x$9)
672 26961 27362 - 27418 Apply scala.Option.orElse accumulator.totalNumbervotes.map[Int](((x$38: Int) => x$38.-(1))).orElse[Int](scala.Some.apply[Int](-1))
672 23333 27409 - 27417 Apply scala.Some.apply scala.Some.apply[Int](-1)
672 25363 27395 - 27400 Apply scala.Int.- x$38.-(1)
673 23419 27453 - 27476 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.action.date)
673 25694 27458 - 27475 Select org.make.api.userhistory.UserAction.date event.action.date
674 25219 27539 - 27571 Select scala.Option.toList maybeQuestion.map[String](((x$39: org.make.core.question.Question) => x$39.slug)).toList
674 22667 27507 - 27571 Apply scala.collection.IterableOps.++ accumulator.questionActivity.++[String](maybeQuestion.map[String](((x$39: org.make.core.question.Question) => x$39.slug)).toList)
674 27461 27557 - 27563 Select org.make.core.question.Question.slug x$39.slug
675 27555 27630 - 27657 Select org.make.core.RequestContext.source event.requestContext.source
675 25511 27600 - 27657 Apply scala.collection.IterableOps.++ accumulator.sourceActivity.++[String](event.requestContext.source)
676 23428 27686 - 27764 Apply scala.collection.IterableOps.++ accumulator.daysOfActivity.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
676 23341 27746 - 27762 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dayDateFormatter DefaultCrmService.this.dayDateFormatter
676 24551 27716 - 27764 Apply scala.Some.apply scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))
676 27083 27721 - 27763 Apply java.time.ZonedDateTime.format event.action.date.format(DefaultCrmService.this.dayDateFormatter)
677 27387 27817 - 27834 Select org.make.api.userhistory.UserAction.date event.action.date
677 25226 27800 - 27835 Apply org.make.core.DefaultDateHelper.isLast30daysDate org.make.core.DateHelper.isLast30daysDate(event.action.date)
678 26945 27851 - 27932 Block scala.collection.IterableOps.++ accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
678 27848 27889 - 27931 Apply java.time.ZonedDateTime.format event.action.date.format(DefaultCrmService.this.dayDateFormatter)
678 23274 27851 - 27932 Apply scala.collection.IterableOps.++ accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
678 25525 27884 - 27932 Apply scala.Some.apply scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))
678 22884 27914 - 27930 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dayDateFormatter DefaultCrmService.this.dayDateFormatter
680 23727 27964 - 27993 Block org.make.api.technical.crm.UserProperties.daysOfActivity30d accumulator.daysOfActivity30d
680 24757 27964 - 27993 Select org.make.api.technical.crm.UserProperties.daysOfActivity30d accumulator.daysOfActivity30d
682 26956 28036 - 28093 Apply scala.math.Ordering.OrderingOps.max scala.math.Ordering.Implicits.infixOrderingOps[Option[java.time.ZonedDateTime]](accumulator.lastActivityDate)(math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))).max(scala.Some.apply[java.time.ZonedDateTime](event.action.date))
682 25443 28074 - 28091 Select org.make.api.userhistory.UserAction.date event.action.date
682 25236 28048 - 28048 TypeApply scala.Predef.$conforms scala.Predef.$conforms[java.time.ZonedDateTime]
682 23283 28069 - 28092 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.action.date)
682 22816 28048 - 28048 ApplyToImplicitArgs scala.math.LowPriorityOrderingImplicits.ordered math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime])
682 27699 28048 - 28048 ApplyToImplicitArgs scala.math.Ordering.Option math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))
682 27397 28036 - 28064 Select org.make.api.technical.crm.UserProperties.lastActivityDate accumulator.lastActivityDate
683 27321 28119 - 28181 Apply scala.collection.SetOps.++ accumulator.sessionsIds.++(scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId))
683 24694 28150 - 28180 Select org.make.core.RequestContext.sessionId event.requestContext.sessionId
683 23416 28146 - 28181 Apply scala.collection.IterableFactory.apply scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId)
684 24997 28207 - 28234 Apply scala.Int.+ accumulator.eventsCount.+(1)
695 22296 28506 - 28665 Apply org.make.api.proposal.ProposalService.resolveQuestionFromVoteEvent DefaultCrmServiceComponent.this.proposalService.resolveQuestionFromVoteEvent(questionResolver, event.requestContext, event.action.arguments.proposalId)
697 27030 28590 - 28610 Select org.make.api.userhistory.LogUserVoteEvent.requestContext event.requestContext
698 24859 28622 - 28655 Select org.make.api.userhistory.UserVote.proposalId event.action.arguments.proposalId
701 22847 28692 - 28692 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
701 26441 28673 - 29758 ApplyToImplicitArgs scala.concurrent.Future.map futureQuestion.map[org.make.api.technical.crm.UserProperties](((maybeQuestion: Option[org.make.core.question.Question]) => { <artifact> val x$1: Option[Int] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.totalNumbervotes.map[Int](((x$40: Int) => x$40.+(1))).orElse[Int](scala.Some.apply[Int](1)); <artifact> val x$2: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.questionActivity.++[String](maybeQuestion.map[String](((x$41: org.make.core.question.Question) => x$41.slug)).toList); <artifact> val x$3: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.sourceActivity.++[String](event.requestContext.source); <artifact> val x$4: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.firstContributionDate.orElse[java.time.ZonedDateTime](scala.Option.apply[java.time.ZonedDateTime](event.action.date)); <artifact> val x$5: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](event.action.date); <artifact> val x$6: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.daysOfActivity.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))); <artifact> val x$7: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = if (org.make.core.DateHelper.isLast30daysDate(event.action.date)) accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))) else accumulator.daysOfActivity30d; <artifact> val x$8: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.math.Ordering.Implicits.infixOrderingOps[Option[java.time.ZonedDateTime]](accumulator.lastActivityDate)(math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))).max(scala.Some.apply[java.time.ZonedDateTime](event.action.date)); <artifact> val x$9: scala.collection.immutable.Set[org.make.core.session.SessionId] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.sessionsIds.++(scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId)); <artifact> val x$10: Int = accumulator.eventsCount.+(1); <artifact> val x$11: org.make.core.user.UserId = accumulator.copy$default$1; <artifact> val x$12: String = accumulator.copy$default$2; <artifact> val x$13: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$3; <artifact> val x$14: Option[java.time.LocalDate] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$4; <artifact> val x$15: Boolean = accumulator.copy$default$5; <artifact> val x$16: Boolean = accumulator.copy$default$6; <artifact> val x$17: Boolean = accumulator.copy$default$7; <artifact> val x$18: java.time.ZonedDateTime = accumulator.copy$default$8; <artifact> val x$19: Boolean = accumulator.copy$default$9; <artifact> val x$20: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$10; <artifact> val x$21: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$11; <artifact> val x$22: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$12; <artifact> val x$23: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$13; <artifact> val x$24: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$14; <artifact> val x$25: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$15; <artifact> val x$26: Option[Int] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$16; <artifact> val x$27: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$24; <artifact> val x$28: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$25; accumulator.copy(x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24, x$25, x$26, x$1, x$4, x$5, x$2, x$3, x$6, x$7, x$27, x$28, x$8, x$9, x$10) }))(DefaultCrmService.this.executionContext)
702 23368 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$5 accumulator.copy$default$5
702 24713 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$16 accumulator.copy$default$16
702 24489 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$4 accumulator.copy$default$4
702 26977 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$15 accumulator.copy$default$15
702 26968 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$6 accumulator.copy$default$6
702 26376 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$9 accumulator.copy$default$9
702 24414 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$13 accumulator.copy$default$13
702 26384 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$25 accumulator.copy$default$25
702 22529 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$8 accumulator.copy$default$8
702 25098 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$10 accumulator.copy$default$10
702 25014 28719 - 29750 Apply org.make.api.technical.crm.UserProperties.copy accumulator.copy(x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24, x$25, x$26, x$1, x$4, x$5, x$2, x$3, x$6, x$7, x$27, x$28, x$8, x$9, x$10)
702 22699 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$2 accumulator.copy$default$2
702 24580 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$7 accumulator.copy$default$7
702 22839 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$11 accumulator.copy$default$11
702 26455 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$3 accumulator.copy$default$3
702 26673 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$12 accumulator.copy$default$12
702 23129 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$14 accumulator.copy$default$14
702 22537 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$24 accumulator.copy$default$24
702 25085 28731 - 28731 Select org.make.api.technical.crm.UserProperties.copy$default$1 accumulator.copy$default$1
703 25168 28813 - 28820 Apply scala.Some.apply scala.Some.apply[Int](1)
703 27315 28799 - 28804 Apply scala.Int.+ x$40.+(1)
703 22895 28766 - 28821 Apply scala.Option.orElse accumulator.totalNumbervotes.map[Int](((x$40: Int) => x$40.+(1))).orElse[Int](scala.Some.apply[Int](1))
704 26738 28902 - 28908 Select org.make.core.question.Question.slug x$41.slug
704 25625 28884 - 28916 Select scala.Option.toList maybeQuestion.map[String](((x$41: org.make.core.question.Question) => x$41.slug)).toList
704 23201 28852 - 28916 Apply scala.collection.IterableOps.++ accumulator.questionActivity.++[String](maybeQuestion.map[String](((x$41: org.make.core.question.Question) => x$41.slug)).toList)
705 27037 28975 - 29002 Select org.make.core.RequestContext.source event.requestContext.source
705 24625 28945 - 29002 Apply scala.collection.IterableOps.++ accumulator.sourceActivity.++[String](event.requestContext.source)
706 22608 29086 - 29103 Select org.make.api.userhistory.UserAction.date event.action.date
706 25090 29038 - 29105 Apply scala.Option.orElse accumulator.firstContributionDate.orElse[java.time.ZonedDateTime](scala.Option.apply[java.time.ZonedDateTime](event.action.date))
706 27327 29079 - 29104 Apply scala.Option.apply scala.Option.apply[java.time.ZonedDateTime](event.action.date)
707 22751 29145 - 29162 Select org.make.api.userhistory.UserAction.date event.action.date
707 26578 29140 - 29163 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.action.date)
708 24495 29252 - 29268 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dayDateFormatter DefaultCrmService.this.dayDateFormatter
708 23215 29227 - 29269 Apply java.time.ZonedDateTime.format event.action.date.format(DefaultCrmService.this.dayDateFormatter)
708 26973 29222 - 29270 Apply scala.Some.apply scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))
708 24634 29192 - 29270 Apply scala.collection.IterableOps.++ accumulator.daysOfActivity.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
709 22429 29323 - 29340 Select org.make.api.userhistory.UserAction.date event.action.date
709 27258 29306 - 29341 Apply org.make.core.DefaultDateHelper.isLast30daysDate org.make.core.DateHelper.isLast30daysDate(event.action.date)
710 26513 29390 - 29438 Apply scala.Some.apply scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))
710 25101 29420 - 29436 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dayDateFormatter DefaultCrmService.this.dayDateFormatter
710 24171 29357 - 29438 Apply scala.collection.IterableOps.++ accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
710 23136 29357 - 29438 Block scala.collection.IterableOps.++ accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
710 22762 29395 - 29437 Apply java.time.ZonedDateTime.format event.action.date.format(DefaultCrmService.this.dayDateFormatter)
712 24645 29470 - 29499 Block org.make.api.technical.crm.UserProperties.daysOfActivity30d accumulator.daysOfActivity30d
712 26818 29470 - 29499 Select org.make.api.technical.crm.UserProperties.daysOfActivity30d accumulator.daysOfActivity30d
714 22360 29542 - 29570 Select org.make.api.technical.crm.UserProperties.lastActivityDate accumulator.lastActivityDate
714 24480 29575 - 29598 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.action.date)
714 26522 29580 - 29597 Select org.make.api.userhistory.UserAction.date event.action.date
714 27481 29554 - 29554 TypeApply scala.Predef.$conforms scala.Predef.$conforms[java.time.ZonedDateTime]
714 22690 29554 - 29554 ApplyToImplicitArgs scala.math.Ordering.Option math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))
714 23357 29542 - 29599 Apply scala.math.Ordering.OrderingOps.max scala.math.Ordering.Implicits.infixOrderingOps[Option[java.time.ZonedDateTime]](accumulator.lastActivityDate)(math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))).max(scala.Some.apply[java.time.ZonedDateTime](event.action.date))
714 25022 29554 - 29554 ApplyToImplicitArgs scala.math.LowPriorityOrderingImplicits.ordered math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime])
715 26828 29656 - 29686 Select org.make.core.RequestContext.sessionId event.requestContext.sessionId
715 22603 29625 - 29687 Apply scala.collection.SetOps.++ accumulator.sessionsIds.++(scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId))
715 24571 29652 - 29687 Apply scala.collection.IterableFactory.apply scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId)
716 26366 29713 - 29740 Apply scala.Int.+ accumulator.eventsCount.+(1)
727 24568 30025 - 30201 Apply org.make.api.proposal.ProposalService.resolveQuestionFromUserProposal DefaultCrmServiceComponent.this.proposalService.resolveQuestionFromUserProposal(questionResolver, event.requestContext, accumulator.userId, event.action.date)
729 24425 30112 - 30132 Select org.make.api.userhistory.LogUserProposalEvent.requestContext event.requestContext
730 28097 30144 - 30162 Select org.make.api.technical.crm.UserProperties.userId accumulator.userId
731 26902 30174 - 30191 Select org.make.api.userhistory.UserAction.date event.action.date
734 23846 30233 - 30233 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.executionContext DefaultCrmService.this.executionContext
734 27660 30209 - 31314 ApplyToImplicitArgs scala.concurrent.Future.map futureMaybeQuestion.map[org.make.api.technical.crm.UserProperties](((maybeQuestion: Option[org.make.core.question.Question]) => { <artifact> val x$1: Option[Int] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.totalNumberProposals.map[Int](((x$42: Int) => x$42.+(1))).orElse[Int](scala.Some.apply[Int](1)); <artifact> val x$2: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.questionActivity.++[String](maybeQuestion.map[String](((x$43: org.make.core.question.Question) => x$43.slug)).toList); <artifact> val x$3: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.sourceActivity.++[String](event.requestContext.source.toList); <artifact> val x$4: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.firstContributionDate.orElse[java.time.ZonedDateTime](scala.Option.apply[java.time.ZonedDateTime](event.action.date)); <artifact> val x$5: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](event.action.date); <artifact> val x$6: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.daysOfActivity.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))); <artifact> val x$7: Seq[String] @scala.reflect.internal.annotations.uncheckedBounds = if (org.make.core.DateHelper.isLast30daysDate(event.action.date)) accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))) else accumulator.daysOfActivity30d; <artifact> val x$8: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.math.Ordering.Implicits.infixOrderingOps[Option[java.time.ZonedDateTime]](accumulator.lastActivityDate)(math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))).max(scala.Some.apply[java.time.ZonedDateTime](event.action.date)); <artifact> val x$9: scala.collection.immutable.Set[org.make.core.session.SessionId] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.sessionsIds.++(scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId)); <artifact> val x$10: Int = accumulator.eventsCount.+(1); <artifact> val x$11: org.make.core.user.UserId = accumulator.copy$default$1; <artifact> val x$12: String = accumulator.copy$default$2; <artifact> val x$13: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$3; <artifact> val x$14: Option[java.time.LocalDate] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$4; <artifact> val x$15: Boolean = accumulator.copy$default$5; <artifact> val x$16: Boolean = accumulator.copy$default$6; <artifact> val x$17: Boolean = accumulator.copy$default$7; <artifact> val x$18: java.time.ZonedDateTime = accumulator.copy$default$8; <artifact> val x$19: Boolean = accumulator.copy$default$9; <artifact> val x$20: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$10; <artifact> val x$21: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$11; <artifact> val x$22: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$12; <artifact> val x$23: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$13; <artifact> val x$24: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$14; <artifact> val x$25: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$15; <artifact> val x$26: Option[Int] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$17; <artifact> val x$27: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$24; <artifact> val x$28: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = accumulator.copy$default$25; accumulator.copy(x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24, x$25, x$1, x$26, x$4, x$5, x$2, x$3, x$6, x$7, x$27, x$28, x$8, x$9, x$10) }))(DefaultCrmService.this.executionContext)
735 26532 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$4 accumulator.copy$default$4
735 22626 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$25 accumulator.copy$default$25
735 22707 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$12 accumulator.copy$default$12
735 25811 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$17 accumulator.copy$default$17
735 28111 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$6 accumulator.copy$default$6
735 27952 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$15 accumulator.copy$default$15
735 24357 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$5 accumulator.copy$default$5
735 26758 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$13 accumulator.copy$default$13
735 25798 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$7 accumulator.copy$default$7
735 24590 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$24 accumulator.copy$default$24
735 23926 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$11 accumulator.copy$default$11
735 24503 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$14 accumulator.copy$default$14
735 23911 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$2 accumulator.copy$default$2
735 26255 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$10 accumulator.copy$default$10
735 26249 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$1 accumulator.copy$default$1
735 24661 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$8 accumulator.copy$default$8
735 22786 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$3 accumulator.copy$default$3
735 26383 30260 - 31306 Apply org.make.api.technical.crm.UserProperties.copy accumulator.copy(x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24, x$25, x$1, x$26, x$4, x$5, x$2, x$3, x$6, x$7, x$27, x$28, x$8, x$9, x$10)
735 22615 30272 - 30272 Select org.make.api.technical.crm.UserProperties.copy$default$9 accumulator.copy$default$9
736 26154 30362 - 30369 Apply scala.Some.apply scala.Some.apply[Int](1)
736 25029 30311 - 30370 Apply scala.Option.orElse accumulator.totalNumberProposals.map[Int](((x$42: Int) => x$42.+(1))).orElse[Int](scala.Some.apply[Int](1))
736 22295 30348 - 30353 Apply scala.Int.+ x$42.+(1)
737 26451 30433 - 30465 Select scala.Option.toList maybeQuestion.map[String](((x$43: org.make.core.question.Question) => x$43.slug)).toList
737 22778 30451 - 30457 Select org.make.core.question.Question.slug x$43.slug
737 24257 30401 - 30465 Apply scala.collection.IterableOps.++ accumulator.questionActivity.++[String](maybeQuestion.map[String](((x$43: org.make.core.question.Question) => x$43.slug)).toList)
738 28020 30524 - 30558 Select scala.Option.toList event.requestContext.source.toList
738 26913 30494 - 30558 Apply scala.collection.IterableOps.++ accumulator.sourceActivity.++[String](event.requestContext.source.toList)
739 24869 30642 - 30659 Select org.make.api.userhistory.UserAction.date event.action.date
739 26373 30594 - 30661 Apply scala.Option.orElse accumulator.firstContributionDate.orElse[java.time.ZonedDateTime](scala.Option.apply[java.time.ZonedDateTime](event.action.date))
739 22305 30635 - 30660 Apply scala.Option.apply scala.Option.apply[java.time.ZonedDateTime](event.action.date)
740 23915 30701 - 30718 Select org.make.api.userhistory.UserAction.date event.action.date
740 23000 30696 - 30719 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.action.date)
741 28228 30778 - 30826 Apply scala.Some.apply scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))
741 24193 30783 - 30825 Apply java.time.ZonedDateTime.format event.action.date.format(DefaultCrmService.this.dayDateFormatter)
741 26462 30808 - 30824 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dayDateFormatter DefaultCrmService.this.dayDateFormatter
741 26842 30748 - 30826 Apply scala.collection.IterableOps.++ accumulator.daysOfActivity.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
742 22311 30862 - 30897 Apply org.make.core.DefaultDateHelper.isLast30daysDate org.make.core.DateHelper.isLast30daysDate(event.action.date)
742 24880 30879 - 30896 Select org.make.api.userhistory.UserAction.date event.action.date
743 26308 30976 - 30992 Select org.make.api.technical.crm.DefaultCrmServiceComponent.DefaultCrmService.dayDateFormatter DefaultCrmService.this.dayDateFormatter
743 26762 30913 - 30994 Apply scala.collection.IterableOps.++ accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
743 22930 30946 - 30994 Apply scala.Some.apply scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter))
743 24422 30913 - 30994 Block scala.collection.IterableOps.++ accumulator.daysOfActivity30d.++[String](scala.Some.apply[String](event.action.date.format(DefaultCrmService.this.dayDateFormatter)))
743 24111 30951 - 30993 Apply java.time.ZonedDateTime.format event.action.date.format(DefaultCrmService.this.dayDateFormatter)
745 26899 31026 - 31055 Block org.make.api.technical.crm.UserProperties.daysOfActivity30d accumulator.daysOfActivity30d
745 28169 31026 - 31055 Select org.make.api.technical.crm.UserProperties.daysOfActivity30d accumulator.daysOfActivity30d
747 26317 31110 - 31110 ApplyToImplicitArgs scala.math.LowPriorityOrderingImplicits.ordered math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime])
747 22773 31136 - 31153 Select org.make.api.userhistory.UserAction.date event.action.date
747 24893 31098 - 31126 Select org.make.api.technical.crm.UserProperties.lastActivityDate accumulator.lastActivityDate
747 24055 31110 - 31110 ApplyToImplicitArgs scala.math.Ordering.Option math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))
747 26772 31131 - 31154 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.action.date)
747 22630 31110 - 31110 TypeApply scala.Predef.$conforms scala.Predef.$conforms[java.time.ZonedDateTime]
747 24349 31098 - 31155 Apply scala.math.Ordering.OrderingOps.max scala.math.Ordering.Implicits.infixOrderingOps[Option[java.time.ZonedDateTime]](accumulator.lastActivityDate)(math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))).max(scala.Some.apply[java.time.ZonedDateTime](event.action.date))
748 28177 31212 - 31242 Select org.make.core.RequestContext.sessionId event.requestContext.sessionId
748 24654 31181 - 31243 Apply scala.collection.SetOps.++ accumulator.sessionsIds.++(scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId))
748 25788 31208 - 31243 Apply scala.collection.IterableFactory.apply scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId)
749 22466 31269 - 31296 Apply scala.Int.+ accumulator.eventsCount.+(1)
761 24510 31540 - 31634 Apply org.make.api.technical.crm.QuestionResolver.extractQuestionWithOperationFromRequestContext questionResolver.extractQuestionWithOperationFromRequestContext(event.requestContext)
761 26684 31613 - 31633 Select org.make.api.userhistory.LogRegisterCitizenEvent.requestContext event.requestContext
763 22321 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$8 accumulator.copy$default$8
763 22557 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$23 accumulator.copy$default$23
763 24432 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$17 accumulator.copy$default$17
763 26391 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$9 accumulator.copy$default$9
763 25727 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$6 accumulator.copy$default$6
763 24007 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$1 accumulator.copy$default$1
763 27599 31642 - 32443 Apply org.make.api.technical.crm.UserProperties.copy accumulator.copy(x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$1, x$2, x$3, x$4, x$19, x$20, x$21, x$22, x$23, x$24, x$5, x$6, x$25, x$26, x$27, x$28, x$7, x$8, x$9)
763 23995 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$25 accumulator.copy$default$25
763 23944 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$14 accumulator.copy$default$14
763 28047 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$5 accumulator.copy$default$5
763 26327 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$24 accumulator.copy$default$24
763 23447 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$7 accumulator.copy$default$7
763 26025 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$19 accumulator.copy$default$19
763 28250 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$18 accumulator.copy$default$18
763 27577 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$2 accumulator.copy$default$2
763 27586 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$15 accumulator.copy$default$15
763 23459 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$22 accumulator.copy$default$22
763 26470 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$3 accumulator.copy$default$3
763 24508 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$4 accumulator.copy$default$4
763 25399 31654 - 31654 Select org.make.api.technical.crm.UserProperties.copy$default$16 accumulator.copy$default$16
764 28174 31692 - 31719 Select org.make.core.RequestContext.source event.requestContext.source
765 24814 31753 - 31873 Apply scala.Option.map event.requestContext.getParameters.map[String](((parameters: Map[String,String]) => parameters.getOrElse[String]("utm_source", "unknown")))
766 25926 31818 - 31863 Apply scala.collection.MapOps.getOrElse parameters.getOrElse[String]("utm_source", "unknown")
768 22549 31962 - 31968 Select org.make.core.question.Question.slug x$44.slug
768 26393 31944 - 31969 Apply scala.Option.map maybeQuestion.map[String](((x$44: org.make.core.question.Question) => x$44.slug))
768 24060 31905 - 31970 Apply scala.Option.orElse accumulator.accountCreationSlug.orElse[String](maybeQuestion.map[String](((x$44: org.make.core.question.Question) => x$44.slug)))
769 27779 32006 - 32035 Select org.make.core.RequestContext.location event.requestContext.location
770 28107 32064 - 32128 Apply scala.collection.IterableOps.++ accumulator.questionActivity.++[String](maybeQuestion.map[String](((x$45: org.make.core.question.Question) => x$45.slug)).toList)
770 26692 32114 - 32120 Select org.make.core.question.Question.slug x$45.slug
770 24517 32096 - 32128 Select scala.Option.toList maybeQuestion.map[String](((x$45: org.make.core.question.Question) => x$45.slug)).toList
771 25936 32185 - 32212 Select org.make.core.RequestContext.source event.requestContext.source
771 23501 32155 - 32212 Apply scala.collection.IterableOps.++ accumulator.sourceActivity.++[String](event.requestContext.source)
772 27645 32253 - 32253 ApplyToImplicitArgs scala.math.Ordering.Option math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))
772 24451 32274 - 32297 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.action.date)
772 26251 32253 - 32253 TypeApply scala.Predef.$conforms scala.Predef.$conforms[java.time.ZonedDateTime]
772 28115 32241 - 32298 Apply scala.math.Ordering.OrderingOps.max scala.math.Ordering.Implicits.infixOrderingOps[Option[java.time.ZonedDateTime]](accumulator.lastActivityDate)(math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))).max(scala.Some.apply[java.time.ZonedDateTime](event.action.date))
772 24000 32253 - 32253 ApplyToImplicitArgs scala.math.LowPriorityOrderingImplicits.ordered math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime])
772 26461 32279 - 32296 Select org.make.api.userhistory.UserAction.date event.action.date
772 22561 32241 - 32269 Select org.make.api.technical.crm.UserProperties.lastActivityDate accumulator.lastActivityDate
773 23509 32349 - 32384 Apply scala.collection.IterableFactory.apply scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId)
773 22390 32322 - 32384 Apply scala.collection.SetOps.++ accumulator.sessionsIds.++(scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId))
773 25879 32353 - 32383 Select org.make.core.RequestContext.sessionId event.requestContext.sessionId
774 26176 32408 - 32435 Apply scala.Int.+ accumulator.eventsCount.+(1)
782 27519 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$25 accumulator.copy$default$25
782 23455 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$12 accumulator.copy$default$12
782 27205 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$22 accumulator.copy$default$22
782 25886 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$2 accumulator.copy$default$2
782 27196 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$13 accumulator.copy$default$13
782 26335 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$23 accumulator.copy$default$23
782 25330 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$8 accumulator.copy$default$8
782 25339 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$17 accumulator.copy$default$17
782 23063 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$18 accumulator.copy$default$18
782 23763 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$21 accumulator.copy$default$21
782 27444 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$4 accumulator.copy$default$4
782 27731 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$7 accumulator.copy$default$7
782 25649 32610 - 32857 Apply org.make.api.technical.crm.UserProperties.copy accumulator.copy(x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24, x$25, x$26, x$27, x$28, x$1, x$2, x$3)
782 24378 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$9 accumulator.copy$default$9
782 23947 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$15 accumulator.copy$default$15
782 26265 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$5 accumulator.copy$default$5
782 25828 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$20 accumulator.copy$default$20
782 27972 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$19 accumulator.copy$default$19
782 27667 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$16 accumulator.copy$default$16
782 25822 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$11 accumulator.copy$default$11
782 23869 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$24 accumulator.copy$default$24
782 26276 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$14 accumulator.copy$default$14
782 23937 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$6 accumulator.copy$default$6
782 28040 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$1 accumulator.copy$default$1
782 23590 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$3 accumulator.copy$default$3
782 28052 32622 - 32622 Select org.make.api.technical.crm.UserProperties.copy$default$10 accumulator.copy$default$10
783 22477 32688 - 32711 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.action.date)
783 28186 32667 - 32667 ApplyToImplicitArgs scala.math.LowPriorityOrderingImplicits.ordered math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime])
783 25342 32655 - 32683 Select org.make.api.technical.crm.UserProperties.lastActivityDate accumulator.lastActivityDate
783 26337 32655 - 32712 Apply scala.math.Ordering.OrderingOps.max scala.math.Ordering.Implicits.infixOrderingOps[Option[java.time.ZonedDateTime]](accumulator.lastActivityDate)(math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))).max(scala.Some.apply[java.time.ZonedDateTime](event.action.date))
783 25876 32667 - 32667 ApplyToImplicitArgs scala.math.Ordering.Option math.this.Ordering.Option[java.time.ZonedDateTime](math.this.Ordering.ordered[java.time.ZonedDateTime](scala.Predef.$conforms[java.time.ZonedDateTime]))
783 23471 32693 - 32710 Select org.make.api.userhistory.UserAction.date event.action.date
783 24446 32667 - 32667 TypeApply scala.Predef.$conforms scala.Predef.$conforms[java.time.ZonedDateTime]
784 25569 32736 - 32798 Apply scala.collection.SetOps.++ accumulator.sessionsIds.++(scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId))
784 27725 32763 - 32798 Apply scala.collection.IterableFactory.apply scala.Predef.Set.apply[org.make.core.session.SessionId](event.requestContext.sessionId)
784 23925 32767 - 32797 Select org.make.core.RequestContext.sessionId event.requestContext.sessionId
785 24366 32822 - 32849 Apply scala.Int.+ accumulator.eventsCount.+(1)
823 23070 34011 - 34055 Apply org.make.api.technical.crm.UserProperties.normalizeUserPropertiesWhenNoRegisterEvent UserProperties.this.normalizeUserPropertiesWhenNoRegisterEvent()
830 28192 34280 - 34323 Apply java.time.ZonedDateTime.parse java.time.ZonedDateTime.parse("2018-09-01T00:00:00Z")
832 25756 34408 - 34436 Apply java.time.chrono.ChronoZonedDateTime.isBefore date.isBefore(sourceFixDate)
833 24074 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$1 this.copy$default$1
833 27151 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$8 this.copy$default$8
833 23538 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$27 this.copy$default$27
833 27506 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$28 this.copy$default$28
833 23397 34482 - 34494 Apply scala.Some.apply scala.Some.apply[String]("core")
833 24016 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$11 this.copy$default$11
833 23322 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$4 this.copy$default$4
833 25206 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$9 this.copy$default$9
833 27817 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$2 this.copy$default$2
833 25738 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$16 this.copy$default$16
833 28125 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$5 this.copy$default$5
833 25149 34448 - 34555 Apply org.make.api.technical.crm.UserProperties.copy this.copy(x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$11, x$1, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$2, x$22, x$23, x$24, x$25, x$26, x$27, x$28)
833 25750 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$26 this.copy$default$26
833 25409 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$23 this.copy$default$23
833 27598 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$22 this.copy$default$22
833 23247 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$14 this.copy$default$14
833 27664 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$12 this.copy$default$12
833 23528 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$17 this.copy$default$17
833 25295 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$13 this.copy$default$13
833 23695 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$7 this.copy$default$7
833 28064 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$25 this.copy$default$25
833 28136 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$15 this.copy$default$15
833 25283 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$3 this.copy$default$3
833 26261 34514 - 34554 Select scala.collection.SeqOps.distinct UserProperties.this.sourceActivity.++[String](scala.Some.apply[String]("core")).distinct
833 27511 34532 - 34544 Apply scala.Some.apply scala.Some.apply[String]("core")
833 25133 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$19 this.copy$default$19
833 23862 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$20 this.copy$default$20
833 25818 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$6 this.copy$default$6
833 23261 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$24 this.copy$default$24
833 27373 34453 - 34453 Select org.make.api.technical.crm.UserProperties.copy$default$18 this.copy$default$18