anchor.diff:  fragment EmojiPresentationCharacter: [\p{EmojiPresentation=EmojiDefault}];
   fragment TextPresentationSequence: EmojiPresentationCharacter VS15;
   fragment EmojiPresentationSequence: TextPresentationCharacter VS16;
  +
  +/* No Longer supported; see https://github.com/antlr/antlr4/pull/3261
   fragment EmojiModifierSequence:
       [\p{Grapheme_Cluster_Break=E_Base}\p{Grapheme_Cluster_Break=E_Base_GAZ}] [\p{Grapheme_Cluster_Break=E_Modifier}];
  +*/
  +
   fragment EmojiFlagSequence:
       [\p{Grapheme_Cluster_Break=Regional_Indicator}] [\p{Grapheme_Cluster_Break=Regional_Indicator}];
   fragment ExtendedPictographic: [\p{Extended_Pictographic}];
  
positive.code:     CRLF
    | Prepend* ( emoji_sequence | HangulSyllable | NonControl ) ( Extend | ZWJ | SpacingMark )*;
  
  graphemes: grapheme_cluster* EOF;
negative.code:     | EmojiPresentationCharacter )
    NonspacingMark*;
  EmojiCoreSequence:
      EmojiCombiningSequence
    | EmojiFlagSequence;
  fragment EmojiZWJElement:
      EmojiPresentationSequence
    | EmojiPresentationCharacter
    | ExtendedPictographic
    | EmojiNRK;
  