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.time.ZonedDateTime
23 import com.sksamuel.avro4s
24 import com.sksamuel.avro4s._
25 import grizzled.slf4j.Logging
26 import io.circe.Decoder._
27 import io.circe.{Decoder, DecodingFailure, HCursor}
28 import io.swagger.annotations.ApiModelProperty
29 import org.apache.avro.Schema
30 import org.make.core.{AvroSerializers, CirceFormatters, Sharded}
31 
32 import scala.annotation.meta.field
33 
34 sealed trait MailJetEvent extends Product with Serializable {
35   def email: String
36   def time: Option[Long]
37   def messageId: Option[Long]
38   def campaignId: Option[Long]
39   def contactId: Option[Long]
40   def customCampaign: Option[String]
41   def customId: Option[String]
42   def payload: Option[String]
43 }
44 
45 /**
46   * see Mailjet documentation: https://dev.mailjet.com/guides/
47   */
48 object MailJetEvent {
49   private val eventDecoderMap = Map(
50     "simple" -> MailJetBaseEvent.decoder,
51     "bounce" -> MailJetBounceEvent.decoder,
52     "blocked" -> MailJetBlockedEvent.decoder,
53     "spam" -> MailJetSpamEvent.decoder,
54     "unsub" -> MailJetUnsubscribeEvent.decoder
55   )
56 
57   implicit val decoder: Decoder[MailJetEvent] = (cursor: HCursor) => {
58     cursor.downField("event").as[String].flatMap { event =>
59       eventDecoderMap
60         .get(event)
61         .orElse(eventDecoderMap.get("simple"))
62         .map { decoder =>
63           decoder.apply(cursor)
64         }
65         .getOrElse(Left(DecodingFailure(s"Unknown event type: $event", Nil)))
66     }
67   }
68 }
69 
70 final case class MailJetEventWrapper(version: Int, id: String, date: ZonedDateTime, event: MailJetEvent) extends Sharded
71 
72 object MailJetEventWrapper extends AvroSerializers {
73   implicit lazy val schemaFor: SchemaFor[MailJetEventWrapper] = SchemaFor.gen[MailJetEventWrapper]
74   implicit lazy val avroDecoder: avro4s.Decoder[MailJetEventWrapper] = avro4s.Decoder.gen[MailJetEventWrapper]
75   implicit lazy val avroEncoder: avro4s.Encoder[MailJetEventWrapper] = avro4s.Encoder.gen[MailJetEventWrapper]
76 }
77 
78 sealed trait MailJetErrorRelatedTo {
79   def name: String
80 }
81 object MailJetErrorRelatedTo {
82   case object Recipient extends MailJetErrorRelatedTo {
83     override val name = "recipient"
84   }
85   case object Domain extends MailJetErrorRelatedTo {
86     override val name = "domain"
87   }
88   case object Content extends MailJetErrorRelatedTo {
89     override val name = "content"
90   }
91   case object Spam extends MailJetErrorRelatedTo {
92     override val name = "spam"
93   }
94   case object System extends MailJetErrorRelatedTo {
95     override val name = "system"
96   }
97   case object Mailjet extends MailJetErrorRelatedTo {
98     override val name = "mailjet"
99   }
100 }
101 
102 sealed trait MailJetError extends Product with Serializable {
103   def relatedTo: MailJetErrorRelatedTo
104   def name: String
105 }
106 object MailJetError extends Logging {
107 
108   implicit object MailJetErrorAvroEncoder extends Encoder[MailJetError] {
109     override def encode(value: MailJetError, schema: Schema, fieldMapper: FieldMapper): String = value.name
110   }
111 
112   implicit object MailJetErrorFromValue extends avro4s.Decoder[MailJetError] {
113     @SuppressWarnings(Array("org.wartremover.warts.Throw"))
114     override def decode(value: Any, schema: Schema, fieldMapper: FieldMapper): MailJetError =
115       MailJetError.errorMap
116         .getOrElse(value.toString, throw new IllegalArgumentException(s"$value is not a MailJetError"))
117   }
118 
119   implicit object MailJetErrorToSchema extends SchemaFor[MailJetError] {
120     override def schema(fieldMapper: FieldMapper): Schema = Schema.create(Schema.Type.STRING)
121   }
122 
123   val errorMap: Map[String, MailJetError] = Map(
124     UserUnknown.name -> UserUnknown,
125     MailboxInactive.name -> MailboxInactive,
126     QuotaExceeded.name -> QuotaExceeded,
127     Blacklisted.name -> Blacklisted,
128     SpamReporter.name -> SpamReporter,
129     InvalidDomaine.name -> InvalidDomaine,
130     NoMailHost.name -> NoMailHost,
131     RelayAccessDenied.name -> RelayAccessDenied,
132     Greylisted.name -> Greylisted,
133     Typofix.name -> Typofix,
134     BadOrEmptyTemplate.name -> BadOrEmptyTemplate,
135     ErrorInTemplateLanguage.name -> ErrorInTemplateLanguage,
136     SenderBlocked.name -> SenderBlocked,
137     ContentBlocked.name -> ContentBlocked,
138     PolicyIssue.name -> PolicyIssue,
139     SystemIssue.name -> SystemIssue,
140     ProtocolIssue.name -> ProtocolIssue,
141     ConnectionIssue.name -> ConnectionIssue,
142     Preblocked.name -> Preblocked,
143     DuplicateInCampaign.name -> DuplicateInCampaign
144   )
145 
146   def getError(maybeError: Option[String], maybeErrorRelatedTo: Option[String]): Option[MailJetError] = {
147     maybeError.flatMap { error =>
148       maybeErrorRelatedTo.flatMap { errorRelatedTo =>
149         errorMap.get(error) match {
150           case Some(mailJetError) if mailJetError.relatedTo.name == errorRelatedTo => Some(mailJetError)
151           case None if maybeError.contains("") && maybeErrorRelatedTo.contains("") => None
152           case _ =>
153             logger.warn(s"""MailJet error not defined (error: "$error", errorRelated: "$errorRelatedTo").""")
154             None
155         }
156       }
157     }
158   }
159 
160   case object UserUnknown extends MailJetError {
161     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Recipient
162     override def name: String = "user unknown"
163   }
164   case object MailboxInactive extends MailJetError {
165     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Recipient
166     override def name: String = "mailbox inactive"
167   }
168   case object QuotaExceeded extends MailJetError {
169     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Recipient
170     override def name: String = "quota exceeded"
171   }
172   case object Blacklisted extends MailJetError {
173     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Recipient
174     override def name: String = "blacklisted"
175   }
176   case object SpamReporter extends MailJetError {
177     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Recipient
178     override def name: String = "spam reporter"
179   }
180   case object InvalidDomaine extends MailJetError {
181     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Domain
182     override def name: String = "invalid domain"
183   }
184   case object NoMailHost extends MailJetError {
185     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Domain
186     override def name: String = "no mail host"
187   }
188   case object RelayAccessDenied extends MailJetError {
189     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Domain
190     override def name: String = "relay/access denied"
191   }
192   case object Greylisted extends MailJetError {
193     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Domain
194     override def name: String = "greylisted"
195   }
196   case object Typofix extends MailJetError {
197     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Domain
198     override def name: String = "typofix"
199   }
200   case object BadOrEmptyTemplate extends MailJetError {
201     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Content
202     override def name: String = "bad or empty template"
203   }
204   case object ErrorInTemplateLanguage extends MailJetError {
205     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Content
206     override def name: String = "error in template language"
207   }
208   case object SenderBlocked extends MailJetError {
209     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Spam
210     override def name: String = "sender blocked"
211   }
212   case object ContentBlocked extends MailJetError {
213     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Spam
214     override def name: String = "content blocked"
215   }
216   case object PolicyIssue extends MailJetError {
217     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Spam
218     override def name: String = "policy issue"
219   }
220   case object SystemIssue extends MailJetError {
221     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.System
222     override def name: String = "system issue"
223   }
224   case object ProtocolIssue extends MailJetError {
225     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.System
226     override def name: String = "protocol issue"
227   }
228   case object ConnectionIssue extends MailJetError {
229     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.System
230     override def name: String = "connection issue"
231   }
232   case object Preblocked extends MailJetError {
233     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Mailjet
234     override def name: String = "preblocked"
235   }
236   case object DuplicateInCampaign extends MailJetError {
237     override def relatedTo: MailJetErrorRelatedTo = MailJetErrorRelatedTo.Mailjet
238     override def name: String = "duplicate in campaign"
239   }
240 }
241 
242 @AvroSortPriority(5)
243 final case class MailJetBaseEvent(
244   event: String,
245   override val email: String,
246   @(ApiModelProperty @field)(dataType = "long")
247   override val time: Option[Long],
248   @(ApiModelProperty @field)(dataType = "long")
249   override val messageId: Option[Long],
250   @(ApiModelProperty @field)(dataType = "long")
251   override val campaignId: Option[Long],
252   @(ApiModelProperty @field)(dataType = "long")
253   override val contactId: Option[Long],
254   override val customCampaign: Option[String],
255   override val customId: Option[String],
256   override val payload: Option[String]
257 ) extends MailJetEvent
258 object MailJetBaseEvent extends CirceFormatters {
259   val decoder: Decoder[MailJetBaseEvent] = Decoder.forProduct9(
260     "event",
261     "email",
262     "time",
263     "MessageID",
264     "mj_campaign_id",
265     "mj_contact_id",
266     "customcampaign",
267     "CustomID",
268     "Payload"
269   ) {
270     (
271       event: String,
272       email: String,
273       time: Option[Long],
274       messageId: Option[Long],
275       campaignId: Either[Option[Long], String],
276       contactId: Either[Option[Long], String],
277       customCampaign: Option[String],
278       customId: Option[String],
279       payload: Option[String]
280     ) =>
281       MailJetBaseEvent(
282         event = event,
283         email = email,
284         time = time,
285         messageId = messageId,
286         customCampaign = customCampaign,
287         campaignId = campaignId match {
288           case Left(value) => value
289           case Right(_)    => None
290         },
291         contactId = contactId match {
292           case Left(value) => value
293           case Right(_)    => None
294         },
295         customId = customId,
296         payload = payload
297       )
298   }
299 }
300 
301 @AvroSortPriority(2)
302 final case class MailJetBounceEvent(
303   override val email: String,
304   override val time: Option[Long] = None,
305   override val messageId: Option[Long] = None,
306   override val campaignId: Option[Long] = None,
307   override val contactId: Option[Long] = None,
308   override val customCampaign: Option[String] = None,
309   override val customId: Option[String] = None,
310   override val payload: Option[String] = None,
311   blocked: Boolean,
312   hardBounce: Boolean,
313   error: Option[MailJetError]
314 ) extends MailJetEvent
315 
316 object MailJetBounceEvent extends CirceFormatters {
317   val decoder: Decoder[MailJetBounceEvent] = Decoder.forProduct12(
318     "email",
319     "time",
320     "MessageID",
321     "mj_campaign_id",
322     "mj_contact_id",
323     "customcampaign",
324     "CustomID",
325     "Payload",
326     "blocked",
327     "hard_bounce",
328     "error_related_to",
329     "error"
330   ) {
331     (
332       email: String,
333       time: Option[Long],
334       messageId: Option[Long],
335       campaignId: Either[Option[Long], String],
336       contactId: Either[Option[Long], String],
337       customCampaign: Option[String],
338       customId: Option[String],
339       payload: Option[String],
340       blocked: Either[Boolean, String],
341       hardBounce: Either[Boolean, String],
342       errorRelatedTo: Option[String],
343       error: Option[String]
344     ) =>
345       MailJetBounceEvent(
346         email = email,
347         time = time,
348         messageId = messageId,
349         customCampaign = customCampaign,
350         campaignId = campaignId match {
351           case Left(value) => value
352           case Right(_)    => None
353         },
354         contactId = contactId match {
355           case Left(value) => value
356           case Right(_)    => None
357         },
358         customId = customId,
359         payload = payload,
360         blocked = blocked match {
361           case Left(value) => value
362           case _           => false
363         },
364         hardBounce = hardBounce match {
365           case Left(value) => value
366           case _           => false
367         },
368         error = MailJetError.getError(error, errorRelatedTo)
369       )
370 
371   }
372 }
373 
374 @AvroSortPriority(1)
375 final case class MailJetBlockedEvent(
376   override val email: String,
377   override val time: Option[Long] = None,
378   override val messageId: Option[Long] = None,
379   override val campaignId: Option[Long] = None,
380   override val contactId: Option[Long] = None,
381   override val customCampaign: Option[String] = None,
382   override val customId: Option[String] = None,
383   override val payload: Option[String] = None,
384   error: Option[MailJetError]
385 ) extends MailJetEvent
386 object MailJetBlockedEvent extends CirceFormatters {
387   val decoder: Decoder[MailJetBlockedEvent] = Decoder.forProduct10(
388     "email",
389     "time",
390     "MessageID",
391     "mj_campaign_id",
392     "mj_contact_id",
393     "customcampaign",
394     "CustomID",
395     "Payload",
396     "error_related_to",
397     "error"
398   ) {
399     (
400       email: String,
401       time: Option[Long],
402       messageId: Option[Long],
403       campaignId: Either[Option[Long], String],
404       contactId: Either[Option[Long], String],
405       customCampaign: Option[String],
406       customId: Option[String],
407       payload: Option[String],
408       errorRelatedTo: Option[String],
409       error: Option[String]
410     ) =>
411       MailJetBlockedEvent(
412         email = email,
413         time = time,
414         messageId = messageId,
415         customCampaign = customCampaign,
416         campaignId = campaignId match {
417           case Left(value) => value
418           case Right(_)    => None
419         },
420         contactId = contactId match {
421           case Left(value) => value
422           case Right(_)    => None
423         },
424         customId = customId,
425         payload = payload,
426         error = MailJetError.getError(error, errorRelatedTo)
427       )
428   }
429 }
430 
431 @AvroSortPriority(3)
432 final case class MailJetSpamEvent(
433   override val email: String,
434   override val time: Option[Long] = None,
435   override val messageId: Option[Long] = None,
436   override val campaignId: Option[Long] = None,
437   override val contactId: Option[Long] = None,
438   override val customCampaign: Option[String] = None,
439   override val customId: Option[String] = None,
440   override val payload: Option[String] = None,
441   source: Option[String]
442 ) extends MailJetEvent
443 object MailJetSpamEvent extends CirceFormatters {
444   val decoder: Decoder[MailJetSpamEvent] = Decoder.forProduct9(
445     "email",
446     "time",
447     "MessageID",
448     "mj_campaign_id",
449     "mj_contact_id",
450     "customcampaign",
451     "CustomID",
452     "Payload",
453     "source"
454   ) {
455     (
456       email: String,
457       time: Option[Long],
458       messageId: Option[Long],
459       campaignId: Either[Option[Long], String],
460       contactId: Either[Option[Long], String],
461       customCampaign: Option[String],
462       customId: Option[String],
463       payload: Option[String],
464       source: Option[String]
465     ) =>
466       MailJetSpamEvent(email = email, time = time, messageId = messageId, campaignId = campaignId match {
467         case Left(value) => value
468         case Right(_)    => None
469       }, contactId = contactId match {
470         case Left(value) => value
471         case Right(_)    => None
472       }, customCampaign = customCampaign, customId = customId, payload = payload, source = source)
473   }
474 }
475 
476 @AvroSortPriority(4)
477 final case class MailJetUnsubscribeEvent(
478   email: String,
479   time: Option[Long] = None,
480   messageId: Option[Long] = None,
481   campaignId: Option[Long] = None,
482   contactId: Option[Long] = None,
483   customCampaign: Option[String] = None,
484   customId: Option[String] = None,
485   payload: Option[String] = None,
486   listId: Option[Int],
487   ip: Option[String],
488   geo: Option[String],
489   agent: Option[String]
490 ) extends MailJetEvent
491 object MailJetUnsubscribeEvent extends CirceFormatters {
492   val decoder: Decoder[MailJetUnsubscribeEvent] = Decoder.forProduct12(
493     "email",
494     "time",
495     "MessageID",
496     "mj_campaign_id",
497     "mj_contact_id",
498     "customcampaign",
499     "CustomID",
500     "Payload",
501     "mj_list_id",
502     "ip",
503     "geo",
504     "agent"
505   ) {
506     (
507       email: String,
508       time: Option[Long],
509       messageId: Option[Long],
510       campaignId: Either[Option[Long], String],
511       contactId: Either[Option[Long], String],
512       customCampaign: Option[String],
513       customId: Option[String],
514       payload: Option[String],
515       listId: Either[Option[Int], String],
516       ip: Option[String],
517       geo: Option[String],
518       agent: Option[String]
519     ) =>
520       MailJetUnsubscribeEvent(email = email, time = time, messageId = messageId, campaignId = campaignId match {
521         case Left(value) => value
522         case Right(_)    => None
523       }, contactId = contactId match {
524         case Left(value) => value
525         case Right(_)    => None
526       }, customCampaign = customCampaign, customId = customId, payload = payload, listId = listId match {
527         case Left(value) => value
528         case Right(_)    => None
529       }, ip = ip, geo = geo, agent = agent)
530 
531   }
532 }
Line Stmt Id Pos Tree Symbol Tests Code
49 7060 1580 - 1807 Apply scala.collection.MapFactory.apply org.make.api.technical.crm.mailjeteventtest scala.Predef.Map.apply[String, io.circe.Decoder[_ >: org.make.api.technical.crm.MailJetUnsubscribeEvent with org.make.api.technical.crm.MailJetSpamEvent with org.make.api.technical.crm.MailJetBlockedEvent with org.make.api.technical.crm.MailJetBounceEvent with org.make.api.technical.crm.MailJetBaseEvent <: org.make.api.technical.crm.MailJetEvent]](scala.Predef.ArrowAssoc[String]("simple").->[io.circe.Decoder[org.make.api.technical.crm.MailJetBaseEvent]](MailJetBaseEvent.decoder), scala.Predef.ArrowAssoc[String]("bounce").->[io.circe.Decoder[org.make.api.technical.crm.MailJetBounceEvent]](MailJetBounceEvent.decoder), scala.Predef.ArrowAssoc[String]("blocked").->[io.circe.Decoder[org.make.api.technical.crm.MailJetBlockedEvent]](MailJetBlockedEvent.decoder), scala.Predef.ArrowAssoc[String]("spam").->[io.circe.Decoder[org.make.api.technical.crm.MailJetSpamEvent]](MailJetSpamEvent.decoder), scala.Predef.ArrowAssoc[String]("unsub").->[io.circe.Decoder[org.make.api.technical.crm.MailJetUnsubscribeEvent]](MailJetUnsubscribeEvent.decoder))
50 7793 1589 - 1625 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String]("simple").->[io.circe.Decoder[org.make.api.technical.crm.MailJetBaseEvent]](MailJetBaseEvent.decoder)
50 7206 1589 - 1597 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "simple"
50 6352 1601 - 1625 Select org.make.api.technical.crm.MailJetBaseEvent.decoder org.make.api.technical.crm.mailjeteventtest MailJetBaseEvent.decoder
51 6597 1643 - 1669 Select org.make.api.technical.crm.MailJetBounceEvent.decoder org.make.api.technical.crm.mailjeteventtest MailJetBounceEvent.decoder
51 5779 1631 - 1669 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String]("bounce").->[io.circe.Decoder[org.make.api.technical.crm.MailJetBounceEvent]](MailJetBounceEvent.decoder)
51 7393 1631 - 1639 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "bounce"
52 7055 1675 - 1684 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "blocked"
52 6319 1688 - 1715 Select org.make.api.technical.crm.MailJetBlockedEvent.decoder org.make.api.technical.crm.mailjeteventtest MailJetBlockedEvent.decoder
52 5853 1675 - 1715 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String]("blocked").->[io.circe.Decoder[org.make.api.technical.crm.MailJetBlockedEvent]](MailJetBlockedEvent.decoder)
53 7748 1721 - 1755 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String]("spam").->[io.circe.Decoder[org.make.api.technical.crm.MailJetSpamEvent]](MailJetSpamEvent.decoder)
53 6355 1731 - 1755 Select org.make.api.technical.crm.MailJetSpamEvent.decoder org.make.api.technical.crm.mailjeteventtest MailJetSpamEvent.decoder
53 7303 1721 - 1727 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "spam"
54 6557 1772 - 1803 Select org.make.api.technical.crm.MailJetUnsubscribeEvent.decoder org.make.api.technical.crm.mailjeteventtest MailJetUnsubscribeEvent.decoder
54 7397 1761 - 1768 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "unsub"
54 5710 1761 - 1803 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String]("unsub").->[io.circe.Decoder[org.make.api.technical.crm.MailJetUnsubscribeEvent]](MailJetUnsubscribeEvent.decoder)
58 7141 1884 - 2180 Apply scala.util.Either.flatMap org.make.api.technical.crm.mailjeteventtest cursor.downField("event").as[String](io.circe.Decoder.decodeString).flatMap[io.circe.DecodingFailure, org.make.api.technical.crm.MailJetEvent](((event: String) => MailJetEvent.this.eventDecoderMap.get(event).orElse[io.circe.Decoder[_ >: org.make.api.technical.crm.MailJetUnsubscribeEvent with org.make.api.technical.crm.MailJetSpamEvent with org.make.api.technical.crm.MailJetBlockedEvent with org.make.api.technical.crm.MailJetBounceEvent with org.make.api.technical.crm.MailJetBaseEvent <: org.make.api.technical.crm.MailJetEvent]](MailJetEvent.this.eventDecoderMap.get("simple")).map[scala.util.Either[io.circe.DecodingFailure,org.make.api.technical.crm.MailJetEvent]](((decoder: io.circe.Decoder[_ >: org.make.api.technical.crm.MailJetUnsubscribeEvent with org.make.api.technical.crm.MailJetSpamEvent with org.make.api.technical.crm.MailJetBlockedEvent with org.make.api.technical.crm.MailJetBounceEvent with org.make.api.technical.crm.MailJetBaseEvent <: org.make.api.technical.crm.MailJetEvent]) => decoder.apply(cursor))).getOrElse[scala.util.Either[io.circe.DecodingFailure,org.make.api.technical.crm.MailJetEvent]](scala.`package`.Left.apply[io.circe.DecodingFailure, Nothing](io.circe.DecodingFailure.apply(("Unknown event type: ".+(event): String), scala.`package`.Nil)))))
58 5859 1912 - 1912 Select io.circe.Decoder.decodeString org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
58 6295 1901 - 1908 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "event"
61 7230 1998 - 2027 Apply scala.collection.MapOps.get org.make.api.technical.crm.mailjeteventtest MailJetEvent.this.eventDecoderMap.get("simple")
63 6427 2065 - 2086 Apply io.circe.Decoder.apply org.make.api.technical.crm.mailjeteventtest decoder.apply(cursor)
65 7757 2168 - 2171 Select scala.Nil scala.`package`.Nil
65 6563 2116 - 2173 Apply scala.util.Left.apply scala.`package`.Left.apply[io.circe.DecodingFailure, Nothing](io.circe.DecodingFailure.apply(("Unknown event type: ".+(event): String), scala.`package`.Nil))
65 6980 2121 - 2172 Apply io.circe.DecodingFailure.apply io.circe.DecodingFailure.apply(("Unknown event type: ".+(event): String), scala.`package`.Nil)
65 5715 1946 - 2174 Apply scala.Option.getOrElse org.make.api.technical.crm.mailjeteventtest MailJetEvent.this.eventDecoderMap.get(event).orElse[io.circe.Decoder[_ >: org.make.api.technical.crm.MailJetUnsubscribeEvent with org.make.api.technical.crm.MailJetSpamEvent with org.make.api.technical.crm.MailJetBlockedEvent with org.make.api.technical.crm.MailJetBounceEvent with org.make.api.technical.crm.MailJetBaseEvent <: org.make.api.technical.crm.MailJetEvent]](MailJetEvent.this.eventDecoderMap.get("simple")).map[scala.util.Either[io.circe.DecodingFailure,org.make.api.technical.crm.MailJetEvent]](((decoder: io.circe.Decoder[_ >: org.make.api.technical.crm.MailJetUnsubscribeEvent with org.make.api.technical.crm.MailJetSpamEvent with org.make.api.technical.crm.MailJetBlockedEvent with org.make.api.technical.crm.MailJetBounceEvent with org.make.api.technical.crm.MailJetBaseEvent <: org.make.api.technical.crm.MailJetEvent]) => decoder.apply(cursor))).getOrElse[scala.util.Either[io.circe.DecodingFailure,org.make.api.technical.crm.MailJetEvent]](scala.`package`.Left.apply[io.circe.DecodingFailure, Nothing](io.circe.DecodingFailure.apply(("Unknown event type: ".+(event): String), scala.`package`.Nil)))
83 6298 2856 - 2867 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "recipient"
86 5839 2949 - 2957 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "domain"
89 7205 3040 - 3049 Literal <nosymbol> "content"
92 6430 3129 - 3135 Literal <nosymbol> "spam"
95 7739 3217 - 3225 Literal <nosymbol> "system"
98 6942 3308 - 3317 Literal <nosymbol> "mailjet"
109 6511 3657 - 3667 Select org.make.api.technical.crm.MailJetError.name value.name
116 5678 3953 - 3967 Apply scala.Any.toString value.toString()
116 6216 3912 - 4037 Apply scala.collection.MapOps.getOrElse MailJetError.errorMap.getOrElse[org.make.api.technical.crm.MailJetError](value.toString(), throw new scala.`package`.IllegalArgumentException(("".+(value).+(" is not a MailJetError"): String)))
116 7145 3969 - 4036 Throw <nosymbol> throw new scala.`package`.IllegalArgumentException(("".+(value).+(" is not a MailJetError"): String))
120 5803 4176 - 4209 Apply org.apache.avro.Schema.create org.make.api.avro.avrocompatibilitytest org.apache.avro.Schema.create(STRING)
123 7071 4259 - 5100 Apply scala.collection.MapFactory.apply org.make.api.technical.crm.mailjeteventtest scala.Predef.Map.apply[String, org.make.api.technical.crm.MailJetError](scala.Predef.ArrowAssoc[String](MailJetError.this.UserUnknown.name).->[org.make.api.technical.crm.MailJetError.UserUnknown.type](MailJetError.this.UserUnknown), scala.Predef.ArrowAssoc[String](MailJetError.this.MailboxInactive.name).->[org.make.api.technical.crm.MailJetError.MailboxInactive.type](MailJetError.this.MailboxInactive), scala.Predef.ArrowAssoc[String](MailJetError.this.QuotaExceeded.name).->[org.make.api.technical.crm.MailJetError.QuotaExceeded.type](MailJetError.this.QuotaExceeded), scala.Predef.ArrowAssoc[String](MailJetError.this.Blacklisted.name).->[org.make.api.technical.crm.MailJetError.Blacklisted.type](MailJetError.this.Blacklisted), scala.Predef.ArrowAssoc[String](MailJetError.this.SpamReporter.name).->[org.make.api.technical.crm.MailJetError.SpamReporter.type](MailJetError.this.SpamReporter), scala.Predef.ArrowAssoc[String](MailJetError.this.InvalidDomaine.name).->[org.make.api.technical.crm.MailJetError.InvalidDomaine.type](MailJetError.this.InvalidDomaine), scala.Predef.ArrowAssoc[String](MailJetError.this.NoMailHost.name).->[org.make.api.technical.crm.MailJetError.NoMailHost.type](MailJetError.this.NoMailHost), scala.Predef.ArrowAssoc[String](MailJetError.this.RelayAccessDenied.name).->[org.make.api.technical.crm.MailJetError.RelayAccessDenied.type](MailJetError.this.RelayAccessDenied), scala.Predef.ArrowAssoc[String](MailJetError.this.Greylisted.name).->[org.make.api.technical.crm.MailJetError.Greylisted.type](MailJetError.this.Greylisted), scala.Predef.ArrowAssoc[String](MailJetError.this.Typofix.name).->[org.make.api.technical.crm.MailJetError.Typofix.type](MailJetError.this.Typofix), scala.Predef.ArrowAssoc[String](MailJetError.this.BadOrEmptyTemplate.name).->[org.make.api.technical.crm.MailJetError.BadOrEmptyTemplate.type](MailJetError.this.BadOrEmptyTemplate), scala.Predef.ArrowAssoc[String](MailJetError.this.ErrorInTemplateLanguage.name).->[org.make.api.technical.crm.MailJetError.ErrorInTemplateLanguage.type](MailJetError.this.ErrorInTemplateLanguage), scala.Predef.ArrowAssoc[String](MailJetError.this.SenderBlocked.name).->[org.make.api.technical.crm.MailJetError.SenderBlocked.type](MailJetError.this.SenderBlocked), scala.Predef.ArrowAssoc[String](MailJetError.this.ContentBlocked.name).->[org.make.api.technical.crm.MailJetError.ContentBlocked.type](MailJetError.this.ContentBlocked), scala.Predef.ArrowAssoc[String](MailJetError.this.PolicyIssue.name).->[org.make.api.technical.crm.MailJetError.PolicyIssue.type](MailJetError.this.PolicyIssue), scala.Predef.ArrowAssoc[String](MailJetError.this.SystemIssue.name).->[org.make.api.technical.crm.MailJetError.SystemIssue.type](MailJetError.this.SystemIssue), scala.Predef.ArrowAssoc[String](MailJetError.this.ProtocolIssue.name).->[org.make.api.technical.crm.MailJetError.ProtocolIssue.type](MailJetError.this.ProtocolIssue), scala.Predef.ArrowAssoc[String](MailJetError.this.ConnectionIssue.name).->[org.make.api.technical.crm.MailJetError.ConnectionIssue.type](MailJetError.this.ConnectionIssue), scala.Predef.ArrowAssoc[String](MailJetError.this.Preblocked.name).->[org.make.api.technical.crm.MailJetError.Preblocked.type](MailJetError.this.Preblocked), scala.Predef.ArrowAssoc[String](MailJetError.this.DuplicateInCampaign.name).->[org.make.api.technical.crm.MailJetError.DuplicateInCampaign.type](MailJetError.this.DuplicateInCampaign))
124 6393 4288 - 4299 Select org.make.api.technical.crm.MailJetError.UserUnknown org.make.api.technical.crm.mailjeteventtest MailJetError.this.UserUnknown
124 7744 4268 - 4299 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.UserUnknown.name).->[org.make.api.technical.crm.MailJetError.UserUnknown.type](MailJetError.this.UserUnknown)
124 7208 4268 - 4284 Select org.make.api.technical.crm.MailJetError.UserUnknown.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.UserUnknown.name
125 6555 4329 - 4344 Select org.make.api.technical.crm.MailJetError.MailboxInactive org.make.api.technical.crm.mailjeteventtest MailJetError.this.MailboxInactive
125 5681 4305 - 4344 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.MailboxInactive.name).->[org.make.api.technical.crm.MailJetError.MailboxInactive.type](MailJetError.this.MailboxInactive)
125 6917 4305 - 4325 Select org.make.api.technical.crm.MailJetError.MailboxInactive.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.MailboxInactive.name
126 7173 4350 - 4368 Select org.make.api.technical.crm.MailJetError.QuotaExceeded.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.QuotaExceeded.name
126 7708 4350 - 4385 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.QuotaExceeded.name).->[org.make.api.technical.crm.MailJetError.QuotaExceeded.type](MailJetError.this.QuotaExceeded)
126 6227 4372 - 4385 Select org.make.api.technical.crm.MailJetError.QuotaExceeded org.make.api.technical.crm.mailjeteventtest MailJetError.this.QuotaExceeded
127 7852 4391 - 4422 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.Blacklisted.name).->[org.make.api.technical.crm.MailJetError.Blacklisted.type](MailJetError.this.Blacklisted)
127 6398 4411 - 4422 Select org.make.api.technical.crm.MailJetError.Blacklisted org.make.api.technical.crm.mailjeteventtest MailJetError.this.Blacklisted
127 7268 4391 - 4407 Select org.make.api.technical.crm.MailJetError.Blacklisted.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.Blacklisted.name
128 6922 4428 - 4445 Select org.make.api.technical.crm.MailJetError.SpamReporter.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.SpamReporter.name
128 6560 4449 - 4461 Select org.make.api.technical.crm.MailJetError.SpamReporter org.make.api.technical.crm.mailjeteventtest MailJetError.this.SpamReporter
128 5754 4428 - 4461 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.SpamReporter.name).->[org.make.api.technical.crm.MailJetError.SpamReporter.type](MailJetError.this.SpamReporter)
129 6232 4490 - 4504 Select org.make.api.technical.crm.MailJetError.InvalidDomaine org.make.api.technical.crm.mailjeteventtest MailJetError.this.InvalidDomaine
129 7176 4467 - 4486 Select org.make.api.technical.crm.MailJetError.InvalidDomaine.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.InvalidDomaine.name
129 7668 4467 - 4504 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.InvalidDomaine.name).->[org.make.api.technical.crm.MailJetError.InvalidDomaine.type](MailJetError.this.InvalidDomaine)
130 7274 4510 - 4525 Select org.make.api.technical.crm.MailJetError.NoMailHost.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.NoMailHost.name
130 6380 4529 - 4539 Select org.make.api.technical.crm.MailJetError.NoMailHost org.make.api.technical.crm.mailjeteventtest MailJetError.this.NoMailHost
130 7856 4510 - 4539 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.NoMailHost.name).->[org.make.api.technical.crm.MailJetError.NoMailHost.type](MailJetError.this.NoMailHost)
131 6154 4571 - 4588 Select org.make.api.technical.crm.MailJetError.RelayAccessDenied org.make.api.technical.crm.mailjeteventtest MailJetError.this.RelayAccessDenied
131 5759 4545 - 4588 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.RelayAccessDenied.name).->[org.make.api.technical.crm.MailJetError.RelayAccessDenied.type](MailJetError.this.RelayAccessDenied)
131 6984 4545 - 4567 Select org.make.api.technical.crm.MailJetError.RelayAccessDenied.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.RelayAccessDenied.name
132 7676 4594 - 4623 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.Greylisted.name).->[org.make.api.technical.crm.MailJetError.Greylisted.type](MailJetError.this.Greylisted)
132 6332 4613 - 4623 Select org.make.api.technical.crm.MailJetError.Greylisted org.make.api.technical.crm.mailjeteventtest MailJetError.this.Greylisted
132 7100 4594 - 4609 Select org.make.api.technical.crm.MailJetError.Greylisted.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.Greylisted.name
133 6390 4645 - 4652 Select org.make.api.technical.crm.MailJetError.Typofix org.make.api.technical.crm.mailjeteventtest MailJetError.this.Typofix
133 7236 4629 - 4641 Select org.make.api.technical.crm.MailJetError.Typofix.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.Typofix.name
133 7824 4629 - 4652 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.Typofix.name).->[org.make.api.technical.crm.MailJetError.Typofix.type](MailJetError.this.Typofix)
134 6163 4685 - 4703 Select org.make.api.technical.crm.MailJetError.BadOrEmptyTemplate org.make.api.technical.crm.mailjeteventtest MailJetError.this.BadOrEmptyTemplate
134 6960 4658 - 4681 Select org.make.api.technical.crm.MailJetError.BadOrEmptyTemplate.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.BadOrEmptyTemplate.name
134 5653 4658 - 4703 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.BadOrEmptyTemplate.name).->[org.make.api.technical.crm.MailJetError.BadOrEmptyTemplate.type](MailJetError.this.BadOrEmptyTemplate)
135 6223 4741 - 4764 Select org.make.api.technical.crm.MailJetError.ErrorInTemplateLanguage org.make.api.technical.crm.mailjeteventtest MailJetError.this.ErrorInTemplateLanguage
135 7107 4709 - 4737 Select org.make.api.technical.crm.MailJetError.ErrorInTemplateLanguage.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.ErrorInTemplateLanguage.name
135 7639 4709 - 4764 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.ErrorInTemplateLanguage.name).->[org.make.api.technical.crm.MailJetError.ErrorInTemplateLanguage.type](MailJetError.this.ErrorInTemplateLanguage)
136 6395 4792 - 4805 Select org.make.api.technical.crm.MailJetError.SenderBlocked org.make.api.technical.crm.mailjeteventtest MailJetError.this.SenderBlocked
136 7797 4770 - 4805 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.SenderBlocked.name).->[org.make.api.technical.crm.MailJetError.SenderBlocked.type](MailJetError.this.SenderBlocked)
136 7240 4770 - 4788 Select org.make.api.technical.crm.MailJetError.SenderBlocked.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.SenderBlocked.name
137 6118 4834 - 4848 Select org.make.api.technical.crm.MailJetError.ContentBlocked org.make.api.technical.crm.mailjeteventtest MailJetError.this.ContentBlocked
137 6919 4811 - 4830 Select org.make.api.technical.crm.MailJetError.ContentBlocked.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.ContentBlocked.name
137 5657 4811 - 4848 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.ContentBlocked.name).->[org.make.api.technical.crm.MailJetError.ContentBlocked.type](MailJetError.this.ContentBlocked)
138 7111 4854 - 4870 Select org.make.api.technical.crm.MailJetError.PolicyIssue.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.PolicyIssue.name
138 6323 4874 - 4885 Select org.make.api.technical.crm.MailJetError.PolicyIssue org.make.api.technical.crm.mailjeteventtest MailJetError.this.PolicyIssue
138 7608 4854 - 4885 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.PolicyIssue.name).->[org.make.api.technical.crm.MailJetError.PolicyIssue.type](MailJetError.this.PolicyIssue)
139 6770 4891 - 4907 Select org.make.api.technical.crm.MailJetError.SystemIssue.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.SystemIssue.name
139 6360 4911 - 4922 Select org.make.api.technical.crm.MailJetError.SystemIssue org.make.api.technical.crm.mailjeteventtest MailJetError.this.SystemIssue
139 7800 4891 - 4922 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.SystemIssue.name).->[org.make.api.technical.crm.MailJetError.SystemIssue.type](MailJetError.this.SystemIssue)
140 5659 4928 - 4963 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.ProtocolIssue.name).->[org.make.api.technical.crm.MailJetError.ProtocolIssue.type](MailJetError.this.ProtocolIssue)
140 6072 4950 - 4963 Select org.make.api.technical.crm.MailJetError.ProtocolIssue org.make.api.technical.crm.mailjeteventtest MailJetError.this.ProtocolIssue
140 7022 4928 - 4946 Select org.make.api.technical.crm.MailJetError.ProtocolIssue.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.ProtocolIssue.name
141 7068 4969 - 4989 Select org.make.api.technical.crm.MailJetError.ConnectionIssue.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.ConnectionIssue.name
141 6329 4993 - 5008 Select org.make.api.technical.crm.MailJetError.ConnectionIssue org.make.api.technical.crm.mailjeteventtest MailJetError.this.ConnectionIssue
141 7716 4969 - 5008 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.ConnectionIssue.name).->[org.make.api.technical.crm.MailJetError.ConnectionIssue.type](MailJetError.this.ConnectionIssue)
142 6363 5033 - 5043 Select org.make.api.technical.crm.MailJetError.Preblocked org.make.api.technical.crm.mailjeteventtest MailJetError.this.Preblocked
142 6865 5014 - 5029 Select org.make.api.technical.crm.MailJetError.Preblocked.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.Preblocked.name
142 7839 5014 - 5043 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.Preblocked.name).->[org.make.api.technical.crm.MailJetError.Preblocked.type](MailJetError.this.Preblocked)
143 5722 5049 - 5096 Apply scala.Predef.ArrowAssoc.-> org.make.api.technical.crm.mailjeteventtest scala.Predef.ArrowAssoc[String](MailJetError.this.DuplicateInCampaign.name).->[org.make.api.technical.crm.MailJetError.DuplicateInCampaign.type](MailJetError.this.DuplicateInCampaign)
143 6108 5077 - 5096 Select org.make.api.technical.crm.MailJetError.DuplicateInCampaign org.make.api.technical.crm.mailjeteventtest MailJetError.this.DuplicateInCampaign
143 7026 5049 - 5073 Select org.make.api.technical.crm.MailJetError.DuplicateInCampaign.name org.make.api.technical.crm.mailjeteventtest MailJetError.this.DuplicateInCampaign.name
147 7643 5212 - 5698 Apply scala.Option.flatMap org.make.api.technical.crm.mailjeteventtest maybeError.flatMap[org.make.api.technical.crm.MailJetError](((error: String) => maybeErrorRelatedTo.flatMap[org.make.api.technical.crm.MailJetError](((errorRelatedTo: String) => MailJetError.this.errorMap.get(error) match { case (value: org.make.api.technical.crm.MailJetError): Some[org.make.api.technical.crm.MailJetError]((mailJetError @ _)) if mailJetError.relatedTo.name.==(errorRelatedTo) => scala.Some.apply[org.make.api.technical.crm.MailJetError](mailJetError) case scala.None if maybeError.contains[String]("").&&(maybeErrorRelatedTo.contains[String]("")) => scala.None case _ => { MailJetError.this.logger.warn(("MailJet error not defined (error: \"".+(error).+("\", errorRelated: \"").+(errorRelatedTo).+("\")."): String)); scala.None } }))))
148 6305 5248 - 5692 Apply scala.Option.flatMap org.make.api.technical.crm.mailjeteventtest maybeErrorRelatedTo.flatMap[org.make.api.technical.crm.MailJetError](((errorRelatedTo: String) => MailJetError.this.errorMap.get(error) match { case (value: org.make.api.technical.crm.MailJetError): Some[org.make.api.technical.crm.MailJetError]((mailJetError @ _)) if mailJetError.relatedTo.name.==(errorRelatedTo) => scala.Some.apply[org.make.api.technical.crm.MailJetError](mailJetError) case scala.None if maybeError.contains[String]("").&&(maybeErrorRelatedTo.contains[String]("")) => scala.None case _ => { MailJetError.this.logger.warn(("MailJet error not defined (error: \"".+(error).+("\", errorRelated: \"").+(errorRelatedTo).+("\")."): String)); scala.None } }))
149 6303 5304 - 5323 Apply scala.collection.MapOps.get org.make.api.technical.crm.mailjeteventtest MailJetError.this.errorMap.get(error)
150 7720 5369 - 5414 Apply java.lang.Object.== org.make.api.technical.crm.mailjeteventtest mailJetError.relatedTo.name.==(errorRelatedTo)
150 6870 5418 - 5436 Apply scala.Some.apply org.make.api.technical.crm.mailjeteventtest scala.Some.apply[org.make.api.technical.crm.MailJetError](mailJetError)
151 6435 5480 - 5482 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest ""
151 7840 5487 - 5519 Apply scala.Option.contains org.make.api.technical.crm.mailjeteventtest maybeErrorRelatedTo.contains[String]("")
151 6990 5460 - 5519 Apply scala.Boolean.&& org.make.api.technical.crm.mailjeteventtest maybeError.contains[String]("").&&(maybeErrorRelatedTo.contains[String](""))
151 6113 5523 - 5527 Select scala.None org.make.api.technical.crm.mailjeteventtest scala.None
153 7573 5560 - 5657 Apply grizzled.slf4j.Logger.warn MailJetError.this.logger.warn(("MailJet error not defined (error: \"".+(error).+("\", errorRelated: \"").+(errorRelatedTo).+("\")."): String))
154 7058 5670 - 5674 Select scala.None scala.None
161 6827 5805 - 5836 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Recipient org.make.api.technical.crm.mailjeteventtest MailJetErrorRelatedTo.Recipient
162 6441 5869 - 5883 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "user unknown"
165 7753 5993 - 6024 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Recipient MailJetErrorRelatedTo.Recipient
166 6996 6057 - 6075 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "mailbox inactive"
169 6122 6183 - 6214 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Recipient MailJetErrorRelatedTo.Recipient
170 7544 6247 - 6263 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "quota exceeded"
173 7064 6369 - 6400 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Recipient MailJetErrorRelatedTo.Recipient
174 6231 6433 - 6446 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "blacklisted"
177 7621 6553 - 6584 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Recipient MailJetErrorRelatedTo.Recipient
178 6837 6617 - 6632 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "spam reporter"
181 5941 6741 - 6769 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Domain org.make.api.technical.crm.mailjeteventtest MailJetErrorRelatedTo.Domain
182 7760 6802 - 6818 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "invalid domain"
185 7025 6923 - 6951 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Domain MailJetErrorRelatedTo.Domain
186 6088 6984 - 6998 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "no mail host"
189 7549 7110 - 7138 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Domain MailJetErrorRelatedTo.Domain
190 7178 7171 - 7192 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "relay/access denied"
193 6237 7297 - 7325 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Domain MailJetErrorRelatedTo.Domain
194 7717 7358 - 7370 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "greylisted"
197 6795 7472 - 7500 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Domain MailJetErrorRelatedTo.Domain
198 5946 7533 - 7542 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "typofix"
201 7764 7655 - 7684 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Content MailJetErrorRelatedTo.Content
202 6988 7717 - 7740 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "bad or empty template"
205 6196 7858 - 7887 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Content MailJetErrorRelatedTo.Content
206 7590 7920 - 7948 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "error in template language"
209 7181 8056 - 8082 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Spam MailJetErrorRelatedTo.Spam
210 6243 8115 - 8131 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "sender blocked"
213 7683 8240 - 8266 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Spam MailJetErrorRelatedTo.Spam
214 6899 8299 - 8316 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "content blocked"
217 6056 8422 - 8448 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Spam MailJetErrorRelatedTo.Spam
218 7864 8481 - 8495 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "policy issue"
221 6993 8601 - 8629 Select org.make.api.technical.crm.MailJetErrorRelatedTo.System MailJetErrorRelatedTo.System
222 6167 8662 - 8676 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "system issue"
225 7539 8784 - 8812 Select org.make.api.technical.crm.MailJetErrorRelatedTo.System MailJetErrorRelatedTo.System
226 6657 8845 - 8861 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "protocol issue"
229 6290 8971 - 8999 Select org.make.api.technical.crm.MailJetErrorRelatedTo.System MailJetErrorRelatedTo.System
230 7690 9032 - 9050 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "connection issue"
233 6791 9155 - 9184 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Mailjet MailJetErrorRelatedTo.Mailjet
234 6019 9217 - 9229 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "preblocked"
237 7732 9343 - 9372 Select org.make.api.technical.crm.MailJetErrorRelatedTo.Mailjet MailJetErrorRelatedTo.Mailjet
238 6967 9405 - 9428 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "duplicate in campaign"
260 6172 10155 - 10162 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "event"
261 7505 10168 - 10175 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "email"
262 6706 10181 - 10187 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "time"
263 6292 10193 - 10204 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "MessageID"
264 7652 10210 - 10226 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "mj_campaign_id"
265 6794 10232 - 10247 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "mj_contact_id"
266 6024 10253 - 10269 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "customcampaign"
267 7858 10275 - 10285 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "CustomID"
268 6972 10291 - 10300 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest "Payload"
269 5915 10305 - 10305 Select io.circe.Decoder.decodeString org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
269 6878 10130 - 11087 ApplyToImplicitArgs io.circe.ProductDecoders.forProduct9 org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.forProduct9[org.make.api.technical.crm.MailJetBaseEvent, String, String, Option[Long], Option[Long], Either[Option[Long],String], Either[Option[Long],String], Option[String], Option[String], Option[String]]("event", "email", "time", "MessageID", "mj_campaign_id", "mj_contact_id", "customcampaign", "CustomID", "Payload")(((event: String, email: String, time: Option[Long], messageId: Option[Long], campaignId: Either[Option[Long],String], contactId: Either[Option[Long],String], customCampaign: Option[String], customId: Option[String], payload: Option[String]) => { <artifact> val x$1: String = event; <artifact> val x$2: String = email; <artifact> val x$3: Option[Long] @scala.reflect.internal.annotations.uncheckedBounds = time; <artifact> val x$4: Option[Long] @scala.reflect.internal.annotations.uncheckedBounds = messageId; <artifact> val x$5: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = customCampaign; <artifact> val x$6: Option[Long] @scala.reflect.internal.annotations.uncheckedBounds = campaignId match { case (value: Option[Long]): scala.util.Left[Option[Long],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Long],String](_) => scala.None }; <artifact> val x$7: Option[Long] @scala.reflect.internal.annotations.uncheckedBounds = contactId match { case (value: Option[Long]): scala.util.Left[Option[Long],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Long],String](_) => scala.None }; <artifact> val x$8: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = customId; <artifact> val x$9: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = payload; MailJetBaseEvent.apply(x$1, x$2, x$3, x$4, x$6, x$7, x$5, x$8, x$9) }))(io.circe.Decoder.decodeString, io.circe.Decoder.decodeString, io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), MailJetBaseEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString), MailJetBaseEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString))
269 6169 10305 - 10305 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
269 7033 10305 - 10305 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
269 6336 10305 - 10305 Select io.circe.Decoder.decodeString org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
269 6076 10305 - 10305 Select io.circe.Decoder.decodeLong org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
269 7649 10305 - 10305 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
269 5992 10305 - 10305 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
269 6799 10305 - 10305 Select io.circe.Decoder.decodeLong org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
269 6748 10305 - 10305 Select io.circe.Decoder.decodeString org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
269 6775 10305 - 10305 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
269 6341 10305 - 10305 ApplyToImplicitArgs org.make.core.CirceFormatters.h org.make.api.technical.crm.mailjeteventtest MailJetBaseEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString)
269 7642 10305 - 10305 Select io.circe.Decoder.decodeLong org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
269 7654 10305 - 10305 Select io.circe.Decoder.decodeString org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
269 6756 10305 - 10305 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
269 7483 10305 - 10305 Select io.circe.Decoder.decodeString org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
269 7037 10305 - 10305 Select io.circe.Decoder.decodeString org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
269 7441 10305 - 10305 ApplyToImplicitArgs org.make.core.CirceFormatters.h org.make.api.technical.crm.mailjeteventtest MailJetBaseEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString)
269 5999 10305 - 10305 Select io.circe.Decoder.decodeString org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
269 7345 10305 - 10305 Select io.circe.Decoder.decodeLong org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
269 7518 10305 - 10305 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
281 6708 10622 - 11083 Apply org.make.api.technical.crm.MailJetBaseEvent.apply org.make.api.technical.crm.mailjeteventtest MailJetBaseEvent.apply(x$1, x$2, x$3, x$4, x$6, x$7, x$5, x$8, x$9)
289 6074 10885 - 10889 Select scala.None scala.None
293 7512 11005 - 11009 Select scala.None scala.None
318 6043 11732 - 11739 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "email"
319 7450 11745 - 11751 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "time"
320 6952 11757 - 11768 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "MessageID"
321 6129 11774 - 11790 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "mj_campaign_id"
322 7576 11796 - 11811 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "mj_contact_id"
323 6724 11817 - 11833 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "customcampaign"
324 5920 11839 - 11849 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "CustomID"
325 7653 11855 - 11864 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "Payload"
326 6843 11870 - 11879 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "blocked"
327 5990 11885 - 11898 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "hard_bounce"
328 7410 11904 - 11922 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "error_related_to"
329 6953 11928 - 11935 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "error"
330 7413 11940 - 11940 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
330 5873 11940 - 11940 ApplyToImplicitArgs org.make.core.CirceFormatters.h org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest MailJetBounceEvent.this.h[Boolean, String](io.circe.Decoder.decodeBoolean, io.circe.Decoder.decodeString)
330 5918 11940 - 11940 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
330 7461 11940 - 11940 Select io.circe.Decoder.decodeBoolean org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeBoolean
330 7407 11940 - 11940 Select io.circe.Decoder.decodeBoolean org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeBoolean
330 6100 11940 - 11940 ApplyToImplicitArgs org.make.core.CirceFormatters.h org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest MailJetBounceEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString)
330 6656 11940 - 11940 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
330 7628 11940 - 11940 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
330 5953 11940 - 11940 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
330 6662 11940 - 11940 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
330 7595 11940 - 11940 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
330 6617 11940 - 11940 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
330 5965 11940 - 11940 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
330 5956 11940 - 11940 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
330 6611 11940 - 11940 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
330 5932 11940 - 11940 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
330 6096 11940 - 11940 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
330 6090 11940 - 11940 ApplyToImplicitArgs org.make.core.CirceFormatters.h org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest MailJetBounceEvent.this.h[Boolean, String](io.circe.Decoder.decodeBoolean, io.circe.Decoder.decodeString)
330 6580 11706 - 13133 ApplyToImplicitArgs io.circe.ProductDecoders.forProduct12 org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.forProduct12[org.make.api.technical.crm.MailJetBounceEvent, String, Option[Long], Option[Long], Either[Option[Long],String], Either[Option[Long],String], Option[String], Option[String], Option[String], Either[Boolean,String], Either[Boolean,String], Option[String], Option[String]]("email", "time", "MessageID", "mj_campaign_id", "mj_contact_id", "customcampaign", "CustomID", "Payload", "blocked", "hard_bounce", "error_related_to", "error")(((email: String, time: Option[Long], messageId: Option[Long], campaignId: Either[Option[Long],String], contactId: Either[Option[Long],String], customCampaign: Option[String], customId: Option[String], payload: Option[String], blocked: Either[Boolean,String], hardBounce: Either[Boolean,String], errorRelatedTo: Option[String], error: Option[String]) => { <artifact> val x$1: String = email; <artifact> val x$2: Option[Long] @scala.reflect.internal.annotations.uncheckedBounds = time; <artifact> val x$3: Option[Long] @scala.reflect.internal.annotations.uncheckedBounds = messageId; <artifact> val x$4: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = customCampaign; <artifact> val x$5: Option[Long] @scala.reflect.internal.annotations.uncheckedBounds = campaignId match { case (value: Option[Long]): scala.util.Left[Option[Long],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Long],String](_) => scala.None }; <artifact> val x$6: Option[Long] @scala.reflect.internal.annotations.uncheckedBounds = contactId match { case (value: Option[Long]): scala.util.Left[Option[Long],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Long],String](_) => scala.None }; <artifact> val x$7: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = customId; <artifact> val x$8: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = payload; <artifact> val x$9: Boolean = blocked match { case (value: Boolean): scala.util.Left[Boolean,String]((value @ _)) => value case _ => false }; <artifact> val x$10: Boolean = hardBounce match { case (value: Boolean): scala.util.Left[Boolean,String]((value @ _)) => value case _ => false }; <artifact> val x$11: Option[org.make.api.technical.crm.MailJetError] @scala.reflect.internal.annotations.uncheckedBounds = MailJetError.getError(error, errorRelatedTo); MailJetBounceEvent.apply(x$1, x$2, x$3, x$5, x$6, x$4, x$7, x$8, x$9, x$10, x$11) }))(io.circe.Decoder.decodeString, io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), MailJetBounceEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString), MailJetBounceEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), MailJetBounceEvent.this.h[Boolean, String](io.circe.Decoder.decodeBoolean, io.circe.Decoder.decodeString), MailJetBounceEvent.this.h[Boolean, String](io.circe.Decoder.decodeBoolean, io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString))
330 6903 11940 - 11940 ApplyToImplicitArgs org.make.core.CirceFormatters.h org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest MailJetBounceEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString)
330 6798 11940 - 11940 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
330 7480 11940 - 11940 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
330 6765 11940 - 11940 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
330 7375 11940 - 11940 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
330 7315 11940 - 11940 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
330 7372 11940 - 11940 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
330 7318 11940 - 11940 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
330 6666 11940 - 11940 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
330 6540 11940 - 11940 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
330 5912 11940 - 11940 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
345 6846 12386 - 13128 Apply org.make.api.technical.crm.MailJetBounceEvent.apply org.make.api.technical.crm.mailjeteventtest MailJetBounceEvent.apply(x$1, x$2, x$3, x$5, x$6, x$4, x$7, x$8, x$9, x$10, x$11)
352 6134 12628 - 12632 Select scala.None scala.None
356 7475 12748 - 12752 Select scala.None scala.None
362 6687 12920 - 12925 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest false
366 5790 13043 - 13048 Literal <nosymbol> org.make.api.technical.crm.mailjeteventtest false
368 7625 13076 - 13120 Apply org.make.api.technical.crm.MailJetError.getError org.make.api.technical.crm.mailjeteventtest MailJetError.getError(error, errorRelatedTo)
388 6093 13737 - 13744 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "email"
389 7555 13750 - 13756 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "time"
390 6710 13762 - 13773 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "MessageID"
391 5879 13779 - 13795 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "mj_campaign_id"
392 7212 13801 - 13816 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "mj_contact_id"
393 6804 13822 - 13838 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "customcampaign"
394 6028 13844 - 13854 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "CustomID"
395 7387 13860 - 13869 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "Payload"
396 6587 13875 - 13893 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "error_related_to"
397 5690 13899 - 13906 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "error"
398 7458 13911 - 13911 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
398 6423 13911 - 13911 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
398 7356 13911 - 13911 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
398 5789 13911 - 13911 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
398 5771 13911 - 13911 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
398 7583 13911 - 13911 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
398 5702 13911 - 13911 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
398 7526 13911 - 13911 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
398 6808 13911 - 13911 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
398 7221 13911 - 13911 ApplyToImplicitArgs org.make.core.CirceFormatters.h org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest MailJetBlockedEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString)
398 6584 13911 - 13911 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
398 7328 13911 - 13911 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
398 7289 13911 - 13911 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
398 7585 13711 - 14781 ApplyToImplicitArgs io.circe.ProductDecoders.forProduct10 org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.forProduct10[org.make.api.technical.crm.MailJetBlockedEvent, String, Option[Long], Option[Long], Either[Option[Long],String], Either[Option[Long],String], Option[String], Option[String], Option[String], Option[String], Option[String]]("email", "time", "MessageID", "mj_campaign_id", "mj_contact_id", "customcampaign", "CustomID", "Payload", "error_related_to", "error")(((email: String, time: Option[Long], messageId: Option[Long], campaignId: Either[Option[Long],String], contactId: Either[Option[Long],String], customCampaign: Option[String], customId: Option[String], payload: Option[String], errorRelatedTo: Option[String], error: Option[String]) => { <artifact> val x$1: String = email; <artifact> val x$2: Option[Long] @scala.reflect.internal.annotations.uncheckedBounds = time; <artifact> val x$3: Option[Long] @scala.reflect.internal.annotations.uncheckedBounds = messageId; <artifact> val x$4: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = customCampaign; <artifact> val x$5: Option[Long] @scala.reflect.internal.annotations.uncheckedBounds = campaignId match { case (value: Option[Long]): scala.util.Left[Option[Long],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Long],String](_) => scala.None }; <artifact> val x$6: Option[Long] @scala.reflect.internal.annotations.uncheckedBounds = contactId match { case (value: Option[Long]): scala.util.Left[Option[Long],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Long],String](_) => scala.None }; <artifact> val x$7: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = customId; <artifact> val x$8: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = payload; <artifact> val x$9: Option[org.make.api.technical.crm.MailJetError] @scala.reflect.internal.annotations.uncheckedBounds = MailJetError.getError(error, errorRelatedTo); MailJetBlockedEvent.apply(x$1, x$2, x$3, x$5, x$6, x$4, x$7, x$8, x$9) }))(io.circe.Decoder.decodeString, io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), MailJetBlockedEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString), MailJetBlockedEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString))
398 5820 13911 - 13911 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
398 6547 13911 - 13911 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
398 6762 13911 - 13911 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
398 6780 13911 - 13911 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
398 6627 13911 - 13911 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
398 6062 13911 - 13911 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
398 6576 13911 - 13911 ApplyToImplicitArgs org.make.core.CirceFormatters.h org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest MailJetBlockedEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString)
398 5930 13911 - 13911 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
398 5697 13911 - 13911 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
398 6047 13911 - 13911 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
411 7216 14274 - 14777 Apply org.make.api.technical.crm.MailJetBlockedEvent.apply org.make.api.technical.crm.mailjeteventtest MailJetBlockedEvent.apply(x$1, x$2, x$3, x$5, x$6, x$4, x$7, x$8, x$9)
418 7522 14517 - 14521 Select scala.None scala.None
422 6659 14637 - 14641 Select scala.None scala.None
426 5847 14725 - 14769 Apply org.make.api.technical.crm.MailJetError.getError org.make.api.technical.crm.mailjeteventtest MailJetError.getError(error, errorRelatedTo)
445 6733 15370 - 15377 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "email"
446 5846 15383 - 15389 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "time"
447 7294 15395 - 15406 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "MessageID"
448 6403 15412 - 15428 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "mj_campaign_id"
449 6049 15434 - 15449 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "mj_contact_id"
450 7422 15455 - 15471 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "customcampaign"
451 6544 15477 - 15487 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "CustomID"
452 5774 15493 - 15502 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "Payload"
453 7121 15508 - 15516 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "source"
454 6624 15521 - 15521 ApplyToImplicitArgs org.make.core.CirceFormatters.h org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest MailJetSpamEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString)
454 7129 15521 - 15521 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
454 5792 15521 - 15521 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
454 6378 15521 - 15521 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
454 7377 15521 - 15521 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
454 7248 15521 - 15521 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
454 6488 15345 - 16222 ApplyToImplicitArgs io.circe.ProductDecoders.forProduct9 org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.forProduct9[org.make.api.technical.crm.MailJetSpamEvent, String, Option[Long], Option[Long], Either[Option[Long],String], Either[Option[Long],String], Option[String], Option[String], Option[String], Option[String]]("email", "time", "MessageID", "mj_campaign_id", "mj_contact_id", "customcampaign", "CustomID", "Payload", "source")(((email: String, time: Option[Long], messageId: Option[Long], campaignId: Either[Option[Long],String], contactId: Either[Option[Long],String], customCampaign: Option[String], customId: Option[String], payload: Option[String], source: Option[String]) => MailJetSpamEvent.apply(email, time, messageId, campaignId match { case (value: Option[Long]): scala.util.Left[Option[Long],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Long],String](_) => scala.None }, contactId match { case (value: Option[Long]): scala.util.Left[Option[Long],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Long],String](_) => scala.None }, customCampaign, customId, payload, source)))(io.circe.Decoder.decodeString, io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), MailJetSpamEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString), MailJetSpamEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString))
454 7325 15521 - 15521 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
454 6410 15521 - 15521 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
454 7083 15521 - 15521 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
454 6697 15521 - 15521 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
454 7418 15521 - 15521 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
454 5662 15521 - 15521 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
454 5665 15521 - 15521 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
454 5970 15521 - 15521 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
454 5925 15521 - 15521 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
454 7821 15521 - 15521 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
454 5964 15521 - 15521 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
454 6550 15521 - 15521 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
454 6729 15521 - 15521 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
454 7264 15521 - 15521 ApplyToImplicitArgs org.make.core.CirceFormatters.h org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest MailJetSpamEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString)
454 6370 15521 - 15521 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
466 7257 15847 - 16218 Apply org.make.api.technical.crm.MailJetSpamEvent.apply org.make.api.technical.crm.mailjeteventtest MailJetSpamEvent.apply(email, time, messageId, campaignId match { case (value: Option[Long]): scala.util.Left[Option[Long],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Long],String](_) => scala.None }, contactId match { case (value: Option[Long]): scala.util.Left[Option[Long],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Long],String](_) => scala.None }, customCampaign, customId, payload, source)
468 6736 16009 - 16013 Select scala.None scala.None
471 5849 16115 - 16119 Select scala.None scala.None
493 5737 16796 - 16803 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "email"
494 7093 16809 - 16815 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "time"
495 6735 16821 - 16832 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "MessageID"
496 5891 16838 - 16854 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "mj_campaign_id"
497 7254 16860 - 16875 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "mj_contact_id"
498 6475 16881 - 16897 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "customcampaign"
499 7845 16903 - 16913 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "CustomID"
500 7427 16919 - 16928 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "Payload"
501 6593 16934 - 16946 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "mj_list_id"
502 5742 16952 - 16956 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "ip"
503 7171 16962 - 16967 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "geo"
504 6716 16973 - 16980 Literal <nosymbol> org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest "agent"
505 7775 16985 - 16985 ApplyToImplicitArgs org.make.core.CirceFormatters.h org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest MailJetUnsubscribeEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString)
505 7087 16985 - 16985 ApplyToImplicitArgs org.make.core.CirceFormatters.h org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest MailJetUnsubscribeEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString)
505 7006 16985 - 16985 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
505 6596 16985 - 16985 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
505 5717 16985 - 16985 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Int](io.circe.Decoder.decodeInt)
505 6937 16985 - 16985 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
505 7233 16985 - 16985 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
505 5857 16985 - 16985 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
505 6279 16985 - 16985 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
505 6506 16985 - 16985 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
505 7394 16985 - 16985 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
505 5713 16985 - 16985 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
505 7050 16985 - 16985 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
505 7364 16985 - 16985 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
505 6254 16985 - 16985 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
505 7782 16985 - 16985 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
505 6347 16985 - 16985 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
505 6520 16985 - 16985 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
505 7740 16985 - 16985 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
505 6460 16985 - 16985 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
505 5886 16985 - 16985 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
505 7079 16985 - 16985 Select io.circe.Decoder.decodeLong org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeLong
505 5700 16770 - 17907 ApplyToImplicitArgs io.circe.ProductDecoders.forProduct12 org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.forProduct12[org.make.api.technical.crm.MailJetUnsubscribeEvent, String, Option[Long], Option[Long], Either[Option[Long],String], Either[Option[Long],String], Option[String], Option[String], Option[String], Either[Option[Int],String], Option[String], Option[String], Option[String]]("email", "time", "MessageID", "mj_campaign_id", "mj_contact_id", "customcampaign", "CustomID", "Payload", "mj_list_id", "ip", "geo", "agent")(((email: String, time: Option[Long], messageId: Option[Long], campaignId: Either[Option[Long],String], contactId: Either[Option[Long],String], customCampaign: Option[String], customId: Option[String], payload: Option[String], listId: Either[Option[Int],String], ip: Option[String], geo: Option[String], agent: Option[String]) => MailJetUnsubscribeEvent.apply(email, time, messageId, campaignId match { case (value: Option[Long]): scala.util.Left[Option[Long],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Long],String](_) => scala.None }, contactId match { case (value: Option[Long]): scala.util.Left[Option[Long],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Long],String](_) => scala.None }, customCampaign, customId, payload, listId match { case (value: Option[Int]): scala.util.Left[Option[Int],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Int],String](_) => scala.None }, ip, geo, agent)))(io.circe.Decoder.decodeString, io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), MailJetUnsubscribeEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString), MailJetUnsubscribeEvent.this.h[Option[Long], String](io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong), io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), MailJetUnsubscribeEvent.this.h[Option[Int], String](io.circe.Decoder.decodeOption[Int](io.circe.Decoder.decodeInt), io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString), io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString))
505 5748 16985 - 16985 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
505 7300 16985 - 16985 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[String](io.circe.Decoder.decodeString)
505 6591 16985 - 16985 Select io.circe.Decoder.decodeInt org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeInt
505 6349 16985 - 16985 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
505 6259 16985 - 16985 ApplyToImplicitArgs org.make.core.CirceFormatters.h org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest MailJetUnsubscribeEvent.this.h[Option[Int], String](io.circe.Decoder.decodeOption[Int](io.circe.Decoder.decodeInt), io.circe.Decoder.decodeString)
505 7228 16985 - 16985 ApplyToImplicitArgs io.circe.Decoder.decodeOption org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeOption[Long](io.circe.Decoder.decodeLong)
505 5894 16985 - 16985 Select io.circe.Decoder.decodeString org.make.api.avro.avrocompatibilitytest,org.make.api.technical.crm.mailjeteventtest io.circe.Decoder.decodeString
520 7813 17406 - 17902 Apply org.make.api.technical.crm.MailJetUnsubscribeEvent.apply org.make.api.technical.crm.mailjeteventtest MailJetUnsubscribeEvent.apply(email, time, messageId, campaignId match { case (value: Option[Long]): scala.util.Left[Option[Long],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Long],String](_) => scala.None }, contactId match { case (value: Option[Long]): scala.util.Left[Option[Long],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Long],String](_) => scala.None }, customCampaign, customId, payload, listId match { case (value: Option[Int]): scala.util.Left[Option[Int],String]((value @ _)) => value case (value: String): scala.util.Right[Option[Int],String](_) => scala.None }, ip, geo, agent)
522 5898 17575 - 17579 Select scala.None scala.None
525 7223 17681 - 17685 Select scala.None scala.None
528 6456 17854 - 17858 Select scala.None org.make.api.technical.crm.mailjeteventtest scala.None