{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/perl.js"],"names":["module","exports","hljs","PERL_KEYWORDS","$pattern","keyword","SUBST","className","begin","end","keywords","METHOD","VAR","variants","relevance","STRING_CONTAINS","BACKSLASH_ESCAPE","PERL_DEFAULT_CONTAINS","HASH_COMMENT_MODE","COMMENT","endsWithParent","contains","RE_STARTERS_RE","beginKeywords","excludeEnd","TITLE_MODE","subLanguage","name","aliases"],"mappings":"8EAqIAA,EAAOC,QA/HP,SAAcC,GACZ,IAAIC,EAAgB,CAClBC,SAAU,SACVC,QAAS,+iDAEPC,EAAQ,CACVC,UAAW,QACXC,MAAO,UACPC,IAAK,MACLC,SAAUP,GAERQ,EAAS,CACXH,MAAO,MACPC,IAAK,KAGHG,EAAM,CACRC,SAAU,CAAC,CACTL,MAAO,QACN,CACDA,MAAO,iDACN,CACDA,MAAO,iBACPM,UAAW,KAGXC,EAAkB,CAACb,EAAKc,iBAAkBV,EAAOM,GACjDK,EAAwB,CAACL,EAAKV,EAAKgB,kBAAmBhB,EAAKiB,QAAQ,UAAW,SAAU,CAC1FC,gBAAgB,IACdT,EAAQ,CACVJ,UAAW,SACXc,SAAUN,EACVF,SAAU,CAAC,CACTL,MAAO,kBACPC,IAAK,MACLK,UAAW,GACV,CACDN,MAAO,kBACPC,IAAK,MACLK,UAAW,GACV,CACDN,MAAO,kBACPC,IAAK,MACLK,UAAW,GACV,CACDN,MAAO,kBACPC,IAAK,MACLK,UAAW,GACV,CACDN,MAAO,kBACPC,IAAK,MACLK,UAAW,GACV,CACDN,MAAO,UACPC,IAAK,IACLK,UAAW,GACV,CACDN,MAAO,IACPC,IAAK,IACLY,SAAU,CAACnB,EAAKc,mBACf,CACDR,MAAO,IACPC,IAAK,KACJ,CACDD,MAAO,IACPC,IAAK,IACLY,SAAU,CAACnB,EAAKc,mBACf,CACDR,MAAO,SACPa,SAAU,GACVP,UAAW,GACV,CACDN,MAAO,mBACPa,SAAU,GACVP,UAAW,KAEZ,CACDP,UAAW,SACXC,MAAO,4EACPM,UAAW,GACV,CAEDN,MAAO,WAAaN,EAAKoB,eAAiB,gDAC1CZ,SAAU,kCACVI,UAAW,EACXO,SAAU,CAACnB,EAAKgB,kBAAmB,CACjCX,UAAW,SACXC,MAAO,8CACPM,UAAW,IACV,CACDP,UAAW,SACXC,MAAO,WACPC,IAAK,UACLY,SAAU,CAACnB,EAAKc,kBAChBF,UAAW,KAGZ,CACDP,UAAW,WACXgB,cAAe,MACfd,IAAK,uBACLe,YAAY,EACZV,UAAW,EACXO,SAAU,CAACnB,EAAKuB,aACf,CACDjB,MAAO,UACPM,UAAW,GACV,CACDN,MAAO,aACPC,IAAK,YACLiB,YAAa,cACbL,SAAU,CAAC,CACTb,MAAO,QACPC,IAAK,IACLF,UAAW,cAKf,OAFAD,EAAMe,SAAWJ,EACjBN,EAAOU,SAAWJ,EACX,CACLU,KAAM,OACNC,QAAS,CAAC,KAAM,MAChBlB,SAAUP,EACVkB,SAAUJ","file":"react-syntax-highlighter_languages_highlight_perl-61aa8a1ece3316dc3ffc.js","sourcesContent":["/*\nLanguage: Perl\nAuthor: Peter Leonov <gojpeg@yandex.ru>\nWebsite: https://www.perl.org\nCategory: common\n*/\nfunction perl(hljs) {\n  var PERL_KEYWORDS = {\n    $pattern: /[\\w.]+/,\n    keyword: 'getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ' + 'ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime ' + 'readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq ' + 'fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent ' + 'shutdown dump chomp connect getsockname die socketpair close flock exists index shmget ' + 'sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr ' + 'unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 ' + 'getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline ' + 'endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand ' + 'mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink ' + 'getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr ' + 'untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link ' + 'getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller ' + 'lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and ' + 'sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 ' + 'chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach ' + 'tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ' + 'ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe ' + 'atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when'\n  };\n  var SUBST = {\n    className: 'subst',\n    begin: '[$@]\\\\{',\n    end: '\\\\}',\n    keywords: PERL_KEYWORDS\n  };\n  var METHOD = {\n    begin: '->{',\n    end: '}' // contains defined later\n\n  };\n  var VAR = {\n    variants: [{\n      begin: /\\$\\d/\n    }, {\n      begin: /[\\$%@](\\^\\w\\b|#\\w+(::\\w+)*|{\\w+}|\\w+(::\\w*)*)/\n    }, {\n      begin: /[\\$%@][^\\s\\w{]/,\n      relevance: 0\n    }]\n  };\n  var STRING_CONTAINS = [hljs.BACKSLASH_ESCAPE, SUBST, VAR];\n  var PERL_DEFAULT_CONTAINS = [VAR, hljs.HASH_COMMENT_MODE, hljs.COMMENT('^\\\\=\\\\w', '\\\\=cut', {\n    endsWithParent: true\n  }), METHOD, {\n    className: 'string',\n    contains: STRING_CONTAINS,\n    variants: [{\n      begin: 'q[qwxr]?\\\\s*\\\\(',\n      end: '\\\\)',\n      relevance: 5\n    }, {\n      begin: 'q[qwxr]?\\\\s*\\\\[',\n      end: '\\\\]',\n      relevance: 5\n    }, {\n      begin: 'q[qwxr]?\\\\s*\\\\{',\n      end: '\\\\}',\n      relevance: 5\n    }, {\n      begin: 'q[qwxr]?\\\\s*\\\\|',\n      end: '\\\\|',\n      relevance: 5\n    }, {\n      begin: 'q[qwxr]?\\\\s*\\\\<',\n      end: '\\\\>',\n      relevance: 5\n    }, {\n      begin: 'qw\\\\s+q',\n      end: 'q',\n      relevance: 5\n    }, {\n      begin: '\\'',\n      end: '\\'',\n      contains: [hljs.BACKSLASH_ESCAPE]\n    }, {\n      begin: '\"',\n      end: '\"'\n    }, {\n      begin: '`',\n      end: '`',\n      contains: [hljs.BACKSLASH_ESCAPE]\n    }, {\n      begin: '{\\\\w+}',\n      contains: [],\n      relevance: 0\n    }, {\n      begin: '\\-?\\\\w+\\\\s*\\\\=\\\\>',\n      contains: [],\n      relevance: 0\n    }]\n  }, {\n    className: 'number',\n    begin: '(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b',\n    relevance: 0\n  }, {\n    // regexp container\n    begin: '(\\\\/\\\\/|' + hljs.RE_STARTERS_RE + '|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*',\n    keywords: 'split return print reverse grep',\n    relevance: 0,\n    contains: [hljs.HASH_COMMENT_MODE, {\n      className: 'regexp',\n      begin: '(s|tr|y)/(\\\\\\\\.|[^/])*/(\\\\\\\\.|[^/])*/[a-z]*',\n      relevance: 10\n    }, {\n      className: 'regexp',\n      begin: '(m|qr)?/',\n      end: '/[a-z]*',\n      contains: [hljs.BACKSLASH_ESCAPE],\n      relevance: 0 // allows empty \"//\" which is a common comment delimiter in other languages\n\n    }]\n  }, {\n    className: 'function',\n    beginKeywords: 'sub',\n    end: '(\\\\s*\\\\(.*?\\\\))?[;{]',\n    excludeEnd: true,\n    relevance: 5,\n    contains: [hljs.TITLE_MODE]\n  }, {\n    begin: '-\\\\w\\\\b',\n    relevance: 0\n  }, {\n    begin: \"^__DATA__$\",\n    end: \"^__END__$\",\n    subLanguage: 'mojolicious',\n    contains: [{\n      begin: \"^@@.*\",\n      end: \"$\",\n      className: \"comment\"\n    }]\n  }];\n  SUBST.contains = PERL_DEFAULT_CONTAINS;\n  METHOD.contains = PERL_DEFAULT_CONTAINS;\n  return {\n    name: 'Perl',\n    aliases: ['pl', 'pm'],\n    keywords: PERL_KEYWORDS,\n    contains: PERL_DEFAULT_CONTAINS\n  };\n}\n\nmodule.exports = perl;"],"sourceRoot":""}