One of the finest universities north of Prospect in Fort Collins

Jack Applin

PmWiki

Page Variables

  • Action: browse
  • AuthId:
  • Author:
  • BaseName: Main.WikiStatus
  • ClassBin: ~applin/bin
  • ClassHome: ~applin
  • ClassHomeDir: /s/parsons/d/fac/applin
  • ClassName: APPLIN
  • ClassURL: https://cs.colostate.edu/~applin
  • ClassUser: applin
  • DefaultGroup: Main
  • DefaultName: HomePage
  • Description:
  • EnabledIMap: http:|https:|mailto:|ftp:|news:|gopher:|nap:|file:|tel:|geo:|PmWiki:|Cookbook:|Skins:|Wiki:|UseMod:|Meatball:|Wikipedia:|PITS:|PmL10n:|Path:|Man:|Man1:|Man2:|Man3:|Man4:|Man5:|Man6:|Man7:|Man8:|WC:|Google:|Web:|Notes:|CS:|ISBN:|IMDB:|MST3K:|Dot:|DotDot:|DotDot2:|Top:
  • FullName: Main.WikiStatus
  • Group: Main
  • GroupHomePage: Main.HomePage
  • GroupHomePageName: HomePage
  • GroupHomePageTitle: HomePage
  • GroupHomePageTitlespaced: Home Page
  • Groupspaced: Main
  • LastModified: March 03, 2020, at 11:18 AM
  • LastModifiedBy: applin
  • LastModifiedHost: greybull
  • LastModifiedSummary:
  • LastModifiedTime: 1583259508
  • Name: WikiStatus
  • Namespaced: Wiki Status
  • PageUrl: https://cs.colostate.edu/~applin/wiki.php/WikiStatus
  • PasswdAttr: (protected)
  • PasswdEdit: (protected)
  • PasswdRead: (protected)
  • RandomLabComputer: augusta.cs.colostate.edu
  • RequestedPage: WikiStatus
  • SiteAdminGroup: SiteAdmin
  • SiteGroup: Site
  • StegaAlpha3: YMP
  • StegaBinary: 1111111111111111
  • StegaDashes: ––––––––––––––––
  • StegaDots: …………………………………………
  • StegaHash: 4294967295
  • StegaHex: ffff
  • StegaJoiners: ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍
  • StegaLogin: unknown
  • StegaMd5: ad921d60486366258809553a3db49a4a
  • StegaName: unknown
  • StegaNow: 2024-11-30T02:46:53.131071
  • StegaOctal: 177777
  • StegaRand: 5832703
  • StegaRevRot13: ajbaxah
  • StegaSpaces:                 
  • StegaString: ffff-ad921d60486366258809553a3db49a4a
  • StegaUid: 65535
  • Title: WikiStatus
  • Titlespaced: Wiki Status
  • Version: pmwiki-2.3.16
  • VersionNum: 2003016
  • WikiTitle: Jack Applin

Internal Variables

  • FarmD: /s/bach/a/class/cs000/public_html/pmwiki
  • FarmPubDirUrl: /~cs000/pmwiki/pub
  • PubDirUrl: /~applin/pmwiki/pub
  • ScriptUrl: https://cs.colostate.edu/~applin/wiki.php
  • SkinDir: ./pub/skins/jack-skin
  • SkinDirUrl: /~applin/pmwiki/pub/skins/jack-skin

  • WorkDir: wiki.d
  • __FILE__: /s/bach/a/class/cs000/public_html/pmwiki/cookbook/php.php(17) : eval()'d code
  • __DIR__: /s/bach/a/class/cs000/public_html/pmwiki/cookbook

_SERVER

  • _SERVER[CONTEXT_DOCUMENT_ROOT]: /s/parsons/d/fac/applin/public_html
  • _SERVER[CONTEXT_PREFIX]: /~applin
  • _SERVER[CWD]: /~applin/
  • _SERVER[DOCUMENT_ROOT]: /s/parsons/l/sys/www/htdocs
  • _SERVER[GATEWAY_INTERFACE]: CGI/1.1
  • _SERVER[HTTPS]: on
  • _SERVER[HTTP_ACCEPT]: */*
  • _SERVER[HTTP_ACCEPT_ENCODING]: gzip, br, zstd, deflate
  • _SERVER[HTTP_HOST]: cs.colostate.edu
  • _SERVER[HTTP_USER_AGENT]: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
  • _SERVER[PATH]: /bin
  • _SERVER[PATH_INFO]: /WikiStatus
  • _SERVER[PATH_TRANSLATED]: /s/parsons/d/fac/applin/public_html/wiki.php
  • _SERVER[PHP_SELF]: /~applin/wiki.php/WikiStatus
  • _SERVER[QUERY_STRING]:
  • _SERVER[REDIRECT_STATUS]: 200
  • _SERVER[REMOTE_ADDR]: 13.58.207.196
  • _SERVER[REMOTE_PORT]: 44672
  • _SERVER[REQUEST_METHOD]: GET
  • _SERVER[REQUEST_SCHEME]: https
  • _SERVER[REQUEST_TIME]: 1732960013
  • _SERVER[REQUEST_TIME_FLOAT]: 1732960013.465
  • _SERVER[REQUEST_URI]: /~applin/wiki.php/WikiStatus
  • _SERVER[SCRIPT_FILENAME]: /s/parsons/d/fac/applin/public_html/wiki.php
  • _SERVER[SCRIPT_NAME]: /~applin/wiki.php
  • _SERVER[SERVER_ADDR]: 129.82.45.48
  • _SERVER[SERVER_ADMIN]: root@cs.colostate.edu
  • _SERVER[SERVER_NAME]: www.cs.colostate.edu
  • _SERVER[SERVER_PORT]: 443
  • _SERVER[SERVER_PROTOCOL]: HTTP/1.1
  • _SERVER[SERVER_SIGNATURE]: <address>Apache/2.4.37 (AlmaLinux) Server at www.cs.colostate.edu Port 443</address>
  • _SERVER[SERVER_SOFTWARE]: Apache/2.4.37 (AlmaLinux)
  • _SERVER[SSL_CIPHER]: TLS_AES_256_GCM_SHA384
  • _SERVER[SSL_CIPHER_ALGKEYSIZE]: 256
  • _SERVER[SSL_CIPHER_EXPORT]: false
  • _SERVER[SSL_CIPHER_USEKEYSIZE]: 256
  • _SERVER[SSL_CLIENT_VERIFY]: NONE
  • _SERVER[SSL_COMPRESS_METHOD]: NULL
  • _SERVER[SSL_PROTOCOL]: TLSv1.3
  • _SERVER[SSL_SECURE_RENEG]: true
  • _SERVER[SSL_SERVER_A_KEY]: rsaEncryption
  • _SERVER[SSL_SERVER_A_SIG]: sha384WithRSAEncryption
  • _SERVER[SSL_SERVER_I_DN]: CN=InCommon RSA Server CA 2,O=Internet2,C=US
  • _SERVER[SSL_SERVER_I_DN_C]: US
  • _SERVER[SSL_SERVER_I_DN_CN]: InCommon RSA Server CA 2
  • _SERVER[SSL_SERVER_I_DN_O]: Internet2
  • _SERVER[SSL_SERVER_M_SERIAL]: 28A98EEE1CEBF071D4D37ADF66A4DCD1
  • _SERVER[SSL_SERVER_M_VERSION]: 3
  • _SERVER[SSL_SERVER_SAN_DNS_0]: cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_1]: combi.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_10]: macs.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_11]: mendel.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_12]: radix.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_13]: sosym.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_14]: spindle.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_15]: swift.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_16]: symphony.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_17]: vitalhome.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_18]: webmail.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_19]: www.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_2]: fineet.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_20]: wwwtest.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_3]: funnel.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_4]: galileo.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_5]: glean.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_6]: granules.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_7]: infospaces.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_8]: issre2003.cs.colostate.edu
  • _SERVER[SSL_SERVER_SAN_DNS_9]: lcpc11.cs.colostate.edu
  • _SERVER[SSL_SERVER_S_DN]: CN=cs.colostate.edu,O=Colorado State University,ST=Colorado,C=US
  • _SERVER[SSL_SERVER_S_DN_C]: US
  • _SERVER[SSL_SERVER_S_DN_CN]: cs.colostate.edu
  • _SERVER[SSL_SERVER_S_DN_O]: Colorado State University
  • _SERVER[SSL_SERVER_S_DN_ST]: Colorado
  • _SERVER[SSL_SERVER_V_END]: Jan 22 23:59:59 2025 GMT
  • _SERVER[SSL_SERVER_V_START]: Jan 23 00:00:00 2024 GMT
  • _SERVER[SSL_SESSION_ID]: 26e735f3ec3449e09c931833cf531d0ea77a780ecf7eb0fa9e50a2f6660a9244
  • _SERVER[SSL_SESSION_RESUMED]: Initial
  • _SERVER[SSL_TLS_SNI]: cs.colostate.edu
  • _SERVER[SSL_VERSION_INTERFACE]: mod_ssl/2.4.37
  • _SERVER[SSL_VERSION_LIBRARY]: OpenSSL/1.1.1k
  • _SERVER[UNIQUE_ID]: Z0rfDYw0RrV1h7JL0BWHXgAAAAA

State

  • real uid: 2464 (applin)
  • eff uid: 2464 (applin)
  • real gid: 1555 (fac)
  • eff gid: 1555 (fac)
  • current dir: /s/parsons/d/fac/applin/public_html/pmwiki

MarkupTable

Array
(
    [_begin] => Array
        (
            [seq] => B
            [dep] => Array
                (
                    [fulltext] => >
                    [closeall] => 
                    [slide] => 
                    [[=] => 
                )

        )

    [\r] => Array
        (
            [cmd] => <[=
            [seq] => B=<
            [pat] => /\r/
            [rep] => 
        )

    [markup] => Array
        (
            [cmd] => <[=
            [seq] => B=<
            [pat] => /\(:markup(\s+([^
]*?))?:\)[^\S
]*\[([=@])(.*?)\3\]/si
            [rep] => MarkupMarkupMarkup
            [dep] => Array
                (
                    [markupend] => >
                )

        )

    [css] => Array
        (
            [cmd] => <[=
            [pat] => /\(:css:\)(.*?)\(:cssend:\)/si
            [rep] => Closure Object
                (
                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

            [seq] => B=<
        )

    [markupend] => Array
        (
            [cmd] => >markup
            [seq] => B=<>
            [pat] => /\(:(markup)(\s+([^
]*?))?:\)[^\S
]*
(.*?)\(:markupend:\)/si
            [rep] => MarkupMarkupMarkup
        )

    [BarGraph] => Array
        (
            [cmd] => >markupend
            [pat] => /\(:bargraph(\s+.*?)?\s*:\)[^\S\n]*\n(.*?)\(:bargraphend:\)/si
            [rep] => BarGraphMarkup
            [seq] => B=<>>
        )

    [Array] => Array
        (
            [cmd] => >markupend
            [pat] => /\(:array(\s+.*?)?\s*:\)[^\S\n]*\n(.*?)\(:arrayend:\)/si
            [rep] => Closure Object
                (
                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

            [seq] => B=<>>
        )

    [slide] => Array
        (
            [cmd] => _begin
            [seq] => B=
            [pat] => /\(:RSS *(.+):\)/
            [rep] => Closure Object
                (
                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [[=] => Array
        (
            [cmd] => _begin
            [seq] => B=
            [pat] => /(
[^\S
]*)?\[([=@])(.*?)\2\]/s
            [rep] => MarkupPreserveText
            [dep] => Array
                (
                    [\r] => <
                    [$[phrase]] => >
                    [markup] => <
                )

        )

    [closeall] => Array
        (
            [cmd] => _begin
            [seq] => B=
            [pat] => /^\(:closeall:\)$/
            [rep] => MarkupMarkupClose
        )

    [$[phrase]] => Array
        (
            [cmd] => >[=
            [seq] => B=>
            [pat] => /\$\[(?>([^\]]+))\]/
            [rep] => cb_expandxlang
            [dep] => Array
                (
                    [{$var}] => >
                )

        )

    [{$var}] => Array
        (
            [cmd] => >$[phrase]
            [seq] => B=>>
            [pat] => /\{(\*|!?[-\w.\/\x80-\xff]*)(\$:?\w[-\w]*)\}/
            [rep] => MarkupPageVar
            [dep] => Array
                (
                    [{(] => >
                )

        )

    [{(] => Array
        (
            [cmd] => >{$var}
            [seq] => B=>>>
            [pat] => /\{(\(\w+\b.*?\))\}/
            [rep] => MarkupMarkupExpression
        )

    [fulltext] => Array
        (
            [cmd] => >_begin
            [seq] => B>
            [dep] => Array
                (
                    [split] => >
                    [bash-code] => 
                    [code-code] => 
                    [lcode-code] => 
                    [rcode-code] => 
                    [ccode-code] => 
                    [countdown] => 
                    [c\+\+((\s+(-std=[^: ]+|-[OWfm][-\w]+|-pthread|-I\s*[^: ]+|-include\s*[^: ]+))*)-code] => 
                    [c-code] => 
                    [java-code] => 
                    [perl-code] => 
                    [embed-php] => 
                    [preliminary] => 
                    [python2-code] => 
                    [python3-code] => 
                    [randomline] => 
                    [s5] => 
                    [unavailable1] => 
                    [unavailable2] => 
                    [gcc-code] => 
                    [if] => 
                )

        )

    [&amp;amp;] => Array
        (
            [cmd] => <&
            [pat] => /&amp;amp;/
            [rep] => &
            [seq] => B>=<<
        )

    [&] => Array
        (
            [cmd] => <if
            [pat] => /&amp;(?>([A-Za-z0-9]+|#\d+|#[xX][A-Fa-f0-9]+));/
            [rep] => &$1;
            [seq] => B>=<
        )

    [perl-code] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:perl(?:				# Limit scope of alternation
	   # short match, including src=<filename>, with NO indented source
	   \s*(?<options2>.*\bsrc=(?<src>[^\s:]+).*):\)\s*\n
	   |
	   # long match, with indented source
	   (?:\s+(?<options>.+))?:\)\s*\n
	     # Capture lines until a line that starts with a non-space char.
	     # However, avoid capturing any empty lines that lead up to
	     # that terminating line that starts with a non-space char.

	     (?<body>			# Begin capture of all lines
		 (?:			# At least one of the following set:
		     (<:vspace>\n)*	# Some number of blank lines
		     ([ \t]+\S.*\n)+    # At least one non-blank line
		 )+
	     )				# End capture of all lines
	   )				# End alternation with src= branch
	   /x
            [rep] => Closure Object
                (
                    [static] => Array
                        (
                            [transform] => Closure Object
                                (
                                    [parameter] => Array
                                        (
                                            [$code] => <required>
                                        )

                                )

                        )

                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [embed-php] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:php:\)(.*?)\(:phpend:\)/s
            [rep] => Closure Object
                (
                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [preliminary] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:preliminary:\)/
            [rep] => <h1 class="preliminary">This is preliminary</h1>
        )

    [python2-code] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:python2(?:				# Limit scope of alternation
	   # short match, including src=<filename>, with NO indented source
	   \s*(?<options2>.*\bsrc=(?<src>[^\s:]+).*):\)\s*\n
	   |
	   # long match, with indented source
	   (?:\s+(?<options>.+))?:\)\s*\n
	     # Capture lines until a line that starts with a non-space char.
	     # However, avoid capturing any empty lines that lead up to
	     # that terminating line that starts with a non-space char.

	     (?<body>			# Begin capture of all lines
		 (?:			# At least one of the following set:
		     (<:vspace>\n)*	# Some number of blank lines
		     ([ \t]+\S.*\n)+    # At least one non-blank line
		 )+
	     )				# End capture of all lines
	   )				# End alternation with src= branch
	   /x
            [rep] => Closure Object
                (
                    [static] => Array
                        (
                            [transform] => Closure Object
                                (
                                    [parameter] => Array
                                        (
                                            [$code] => <required>
                                        )

                                )

                        )

                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [python3-code] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:python3(?:				# Limit scope of alternation
	   # short match, including src=<filename>, with NO indented source
	   \s*(?<options2>.*\bsrc=(?<src>[^\s:]+).*):\)\s*\n
	   |
	   # long match, with indented source
	   (?:\s+(?<options>.+))?:\)\s*\n
	     # Capture lines until a line that starts with a non-space char.
	     # However, avoid capturing any empty lines that lead up to
	     # that terminating line that starts with a non-space char.

	     (?<body>			# Begin capture of all lines
		 (?:			# At least one of the following set:
		     (<:vspace>\n)*	# Some number of blank lines
		     ([ \t]+\S.*\n)+    # At least one non-blank line
		 )+
	     )				# End capture of all lines
	   )				# End alternation with src= branch
	   /x
            [rep] => Closure Object
                (
                    [static] => Array
                        (
                            [transform] => Closure Object
                                (
                                    [parameter] => Array
                                        (
                                            [$code] => <required>
                                        )

                                )

                        )

                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [unavailable2] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:unavailable\s+(.+?):\)(.*)/s
            [rep] => Closure Object
                (
                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [java-code] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:java(?:				# Limit scope of alternation
	   # short match, including src=<filename>, with NO indented source
	   \s*(?<options2>.*\bsrc=(?<src>[^\s:]+).*):\)\s*\n
	   |
	   # long match, with indented source
	   (?:\s+(?<options>.+))?:\)\s*\n
	     # Capture lines until a line that starts with a non-space char.
	     # However, avoid capturing any empty lines that lead up to
	     # that terminating line that starts with a non-space char.

	     (?<body>			# Begin capture of all lines
		 (?:			# At least one of the following set:
		     (<:vspace>\n)*	# Some number of blank lines
		     ([ \t]+\S.*\n)+    # At least one non-blank line
		 )+
	     )				# End capture of all lines
	   )				# End alternation with src= branch
	   /x
            [rep] => Closure Object
                (
                    [static] => Array
                        (
                            [transform] => Closure Object
                                (
                                    [parameter] => Array
                                        (
                                            [$code] => <required>
                                        )

                                )

                        )

                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [gcc-code] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:gcc(?:				# Limit scope of alternation
	   # short match, including src=<filename>, with NO indented source
	   \s*(?<options2>.*\bsrc=(?<src>[^\s:]+).*):\)\s*\n
	   |
	   # long match, with indented source
	   (?:\s+(?<options>.+))?:\)\s*\n
	     # Capture lines until a line that starts with a non-space char.
	     # However, avoid capturing any empty lines that lead up to
	     # that terminating line that starts with a non-space char.

	     (?<body>			# Begin capture of all lines
		 (?:			# At least one of the following set:
		     (<:vspace>\n)*	# Some number of blank lines
		     ([ \t]+\S.*\n)+    # At least one non-blank line
		 )+
	     )				# End capture of all lines
	   )				# End alternation with src= branch
	   /x
            [rep] => Closure Object
                (
                    [static] => Array
                        (
                            [transform] => Closure Object
                                (
                                    [parameter] => Array
                                        (
                                            [$body] => <required>
                                        )

                                )

                        )

                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [unavailable1] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:unavailable:\)(.*)/s
            [rep] => Closure Object
                (
                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [ccode-code] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:ccode(?:				# Limit scope of alternation
	   # short match, including src=<filename>, with NO indented source
	   \s*(?<options2>.*\bsrc=(?<src>[^\s:]+).*):\)\s*\n
	   |
	   # long match, with indented source
	   (?:\s+(?<options>.+))?:\)\s*\n
	     # Capture lines until a line that starts with a non-space char.
	     # However, avoid capturing any empty lines that lead up to
	     # that terminating line that starts with a non-space char.

	     (?<body>			# Begin capture of all lines
		 (?:			# At least one of the following set:
		     (<:vspace>\n)*	# Some number of blank lines
		     ([ \t]+\S.*\n)+    # At least one non-blank line
		 )+
	     )				# End capture of all lines
	   )				# End alternation with src= branch
	   /x
            [rep] => Closure Object
                (
                    [static] => Array
                        (
                            [transform] => Closure Object
                                (
                                    [parameter] => Array
                                        (
                                            [$code] => <required>
                                        )

                                )

                        )

                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [c-code] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:c(?:				# Limit scope of alternation
	   # short match, including src=<filename>, with NO indented source
	   \s*(?<options2>.*\bsrc=(?<src>[^\s:]+).*):\)\s*\n
	   |
	   # long match, with indented source
	   (?:\s+(?<options>.+))?:\)\s*\n
	     # Capture lines until a line that starts with a non-space char.
	     # However, avoid capturing any empty lines that lead up to
	     # that terminating line that starts with a non-space char.

	     (?<body>			# Begin capture of all lines
		 (?:			# At least one of the following set:
		     (<:vspace>\n)*	# Some number of blank lines
		     ([ \t]+\S.*\n)+    # At least one non-blank line
		 )+
	     )				# End capture of all lines
	   )				# End alternation with src= branch
	   /x
            [rep] => Closure Object
                (
                    [static] => Array
                        (
                            [transform] => Closure Object
                                (
                                    [parameter] => Array
                                        (
                                            [$body] => <required>
                                        )

                                )

                        )

                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [lcode-code] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:lcode(?:				# Limit scope of alternation
	   # short match, including src=<filename>, with NO indented source
	   \s*(?<options2>.*\bsrc=(?<src>[^\s:]+).*):\)\s*\n
	   |
	   # long match, with indented source
	   (?:\s+(?<options>.+))?:\)\s*\n
	     # Capture lines until a line that starts with a non-space char.
	     # However, avoid capturing any empty lines that lead up to
	     # that terminating line that starts with a non-space char.

	     (?<body>			# Begin capture of all lines
		 (?:			# At least one of the following set:
		     (<:vspace>\n)*	# Some number of blank lines
		     ([ \t]+\S.*\n)+    # At least one non-blank line
		 )+
	     )				# End capture of all lines
	   )				# End alternation with src= branch
	   /x
            [rep] => Closure Object
                (
                    [static] => Array
                        (
                            [transform] => Closure Object
                                (
                                    [parameter] => Array
                                        (
                                            [$code] => <required>
                                        )

                                )

                        )

                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [c\+\+((\s+(-std=[^: ]+|-[OWfm][-\w]+|-pthread|-I\s*[^: ]+|-include\s*[^: ]+))*)-code] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:c\+\+((\s+(-std=[^: ]+|-[OWfm][-\w]+|-pthread|-I\s*[^: ]+|-include\s*[^: ]+))*)(?:				# Limit scope of alternation
	   # short match, including src=<filename>, with NO indented source
	   \s*(?<options2>.*\bsrc=(?<src>[^\s:]+).*):\)\s*\n
	   |
	   # long match, with indented source
	   (?:\s+(?<options>.+))?:\)\s*\n
	     # Capture lines until a line that starts with a non-space char.
	     # However, avoid capturing any empty lines that lead up to
	     # that terminating line that starts with a non-space char.

	     (?<body>			# Begin capture of all lines
		 (?:			# At least one of the following set:
		     (<:vspace>\n)*	# Some number of blank lines
		     ([ \t]+\S.*\n)+    # At least one non-blank line
		 )+
	     )				# End capture of all lines
	   )				# End alternation with src= branch
	   /x
            [rep] => Closure Object
                (
                    [static] => Array
                        (
                            [transform] => Closure Object
                                (
                                    [parameter] => Array
                                        (
                                            [$body] => <required>
                                            [$matches] => <required>
                                        )

                                )

                        )

                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [if] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => / \(:if (\d*) (?:end)? \b[^
]*?:\)
     .*?
     (?: \(: (?:if\1|if\1end) \s* :\)
     |   (?=\(:(?:if\1|if\1end)\b[^
]*?:\) | $)
     )
   /six
            [rep] => MarkupCondText2
            [dep] => Array
                (
                    [include] => >
                )

        )

    [code-code] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:code(?:				# Limit scope of alternation
	   # short match, including src=<filename>, with NO indented source
	   \s*(?<options2>.*\bsrc=(?<src>[^\s:]+).*):\)\s*\n
	   |
	   # long match, with indented source
	   (?:\s+(?<options>.+))?:\)\s*\n
	     # Capture lines until a line that starts with a non-space char.
	     # However, avoid capturing any empty lines that lead up to
	     # that terminating line that starts with a non-space char.

	     (?<body>			# Begin capture of all lines
		 (?:			# At least one of the following set:
		     (<:vspace>\n)*	# Some number of blank lines
		     ([ \t]+\S.*\n)+    # At least one non-blank line
		 )+
	     )				# End capture of all lines
	   )				# End alternation with src= branch
	   /x
            [rep] => Closure Object
                (
                    [static] => Array
                        (
                            [transform] => Closure Object
                                (
                                    [parameter] => Array
                                        (
                                            [$code] => <required>
                                        )

                                )

                        )

                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [bash-code] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:bash(?:				# Limit scope of alternation
	   # short match, including src=<filename>, with NO indented source
	   \s*(?<options2>.*\bsrc=(?<src>[^\s:]+).*):\)\s*\n
	   |
	   # long match, with indented source
	   (?:\s+(?<options>.+))?:\)\s*\n
	     # Capture lines until a line that starts with a non-space char.
	     # However, avoid capturing any empty lines that lead up to
	     # that terminating line that starts with a non-space char.

	     (?<body>			# Begin capture of all lines
		 (?:			# At least one of the following set:
		     (<:vspace>\n)*	# Some number of blank lines
		     ([ \t]+\S.*\n)+    # At least one non-blank line
		 )+
	     )				# End capture of all lines
	   )				# End alternation with src= branch
	   /x
            [rep] => Closure Object
                (
                    [static] => Array
                        (
                            [transform] => Closure Object
                                (
                                    [parameter] => Array
                                        (
                                            [$code] => <required>
                                        )

                                )

                        )

                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [rcode-code] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:rcode(?:				# Limit scope of alternation
	   # short match, including src=<filename>, with NO indented source
	   \s*(?<options2>.*\bsrc=(?<src>[^\s:]+).*):\)\s*\n
	   |
	   # long match, with indented source
	   (?:\s+(?<options>.+))?:\)\s*\n
	     # Capture lines until a line that starts with a non-space char.
	     # However, avoid capturing any empty lines that lead up to
	     # that terminating line that starts with a non-space char.

	     (?<body>			# Begin capture of all lines
		 (?:			# At least one of the following set:
		     (<:vspace>\n)*	# Some number of blank lines
		     ([ \t]+\S.*\n)+    # At least one non-blank line
		 )+
	     )				# End capture of all lines
	   )				# End alternation with src= branch
	   /x
            [rep] => Closure Object
                (
                    [static] => Array
                        (
                            [transform] => Closure Object
                                (
                                    [parameter] => Array
                                        (
                                            [$code] => <required>
                                        )

                                )

                        )

                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [s5] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:s5:\)/
            [rep] => Closure Object
                (
                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [countdown] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:countdown\s+((\d{4})-([01]\d)-([0-3]\d))\s+(.*):\)/
            [rep] => Closure Object
                (
                    [parameter] => Array
                        (
                            [$match] => <required>
                        )

                )

        )

    [randomline] => Array
        (
            [cmd] => fulltext
            [seq] => B>=
            [pat] => /\(:randomline((?:\s+\d+(?:\.\d+)?%)*):\)\n(.*)\n\(:randomlineend:\)/s
            [rep] => Closure Object
                (
                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [redirect] => Array
        (
            [cmd] => <include
            [seq] => B>=><
            [pat] => /\(:redirect\s+(\S.*?):\)/i
            [rep] => MarkupRedirectInclude
        )

    [include] => Array
        (
            [cmd] => >if
            [seq] => B>=>
            [pat] => /\(:include\s+(\S.*?):\)/i
            [rep] => MarkupRedirectInclude
            [dep] => Array
                (
                    [redirect] => <
                    [nogroupheader] => >
                    [nogroupfooter] => >
                )

        )

    [nogroupheader] => Array
        (
            [cmd] => >include
            [seq] => B>=>>
            [pat] => /\(:nogroupheader:\)/i
            [rep] => MarkupGroupHeaderFooter
            [dep] => Array
                (
                    [groupheader] => >
                )

        )

    [nogroupfooter] => Array
        (
            [cmd] => >include
            [seq] => B>=>>
            [pat] => /\(:nogroupfooter:\)/i
            [rep] => MarkupGroupHeaderFooter
            [dep] => Array
                (
                    [groupfooter] => >
                )

        )

    [groupheader] => Array
        (
            [cmd] => >nogroupheader
            [seq] => B>=>>>
            [pat] => /\(:groupheader:\)/i
            [rep] => MarkupGroupHeaderFooter
        )

    [groupfooter] => Array
        (
            [cmd] => >nogroupfooter
            [seq] => B>=>>>
            [pat] => /\(:groupfooter:\)/i
            [rep] => MarkupGroupHeaderFooter
        )

    [textvar:] => Array
        (
            [cmd] => <split
            [seq] => B>><
            [pat] => /\(: *\w[-\w]* *:(?!\)).*?:\)/s
            [rep] => 
        )

    [nl0] => Array
        (
            [cmd] => <split
            [seq] => B>><
            [pat] => /([^
])(?>(?:\(:nl:\))+)([^
])/i
            [rep] => $1
$2
            [dep] => Array
                (
                    [nl1] => >
                )

        )

    [input+sp] => Array
        (
            [cmd] => <split
            [seq] => B>><
            [pat] => /(\(:input\s+(select|datalist)\s(?>.*?:\)))\s+(?=\(:input\s)/
            [rep] => $1
        )

    [nl1] => Array
        (
            [cmd] => >nl0
            [seq] => B>><>
            [pat] => /\(:nl:\)/i
            [rep] => 
            [dep] => Array
                (
                    [\$] => >
                )

        )

    [\$] => Array
        (
            [cmd] => >nl1
            [seq] => B>><>>
            [pat] => /\\(?>(\\*))
/
            [rep] => MarkupEndLineJoin
            [dep] => Array
                (
                    [!vspace] => >
                )

        )

    [!vspace] => Array
        (
            [cmd] => >\$
            [seq] => B>><>>>
            [pat] => /^(!(?>[^
]+)
)<:vspace>/m
            [rep] => $1
        )

    [split] => Array
        (
            [cmd] => >fulltext
            [seq] => B>>
            [pat] => 

            [rep] => $RedoMarkupLine=1; return explode("\n",$x);
            [dep] => Array
                (
                    [directives] => >
                    [LeadingTab] => 
                    [imgflip] => 
                    [wikipedia] => 
                    [textvar:] => <
                    [nl0] => <
                    [%define=] => >
                    [input+sp] => <
                )

        )

    [«doc»] => Array
        (
            [cmd] => <wikipedia
            [seq] => B>>=<
            [pat] => /«([^»]+)»/
            [rep] => cppMarkup
        )

    [/«<header>»/] => Array
        (
            [cmd] => <wikipedia
            [seq] => B>>=<
            [pat] => /«(&lt;(\w+)&gt;)»/
            [rep] => [[https://en.cppreference.com/w/cpp/header/$2"Documentation for the C++ header file <$2>"|@@$1@@]]
        )

    [/«<header.h>»/] => Array
        (
            [cmd] => <wikipedia
            [seq] => B>>=<
            [pat] => /«(&lt;(\w+)\.h&gt;)»/
            [rep] => [[https://en.cppreference.com/w/cpp/header/c$2"Documentation for the C header file <$2.h>"|@@$1@@]]
        )

    [/«string::method»/] => Array
        (
            [cmd] => <wikipedia
            [seq] => B>>=<
            [pat] => /«((w?string|w?string_view)::(\w+))»/
            [rep] => [[https://en.cppreference.com/w/cpp/$2/basic_$2/$3"Documentation for the C++ method $1()"|@@$1()@@]]
        )

    [/«container::method»/] => Array
        (
            [cmd] => <wikipedia
            [seq] => B>>=<
            [pat] => /«((\w+)::(\w+))»/
            [rep] => [[https://en.cppreference.com/w/cpp/container/$2/$3"Documentation for the C++ method $1()"|@@$1()@@]]
        )

    [LeadingTab] => Array
        (
            [cmd] => split
            [seq] => B>>=
            [pat] => /^\t/
            [rep] =>         
        )

    [wikipedia] => Array
        (
            [cmd] => split
            [seq] => B>>=
            [pat] => /«([[:upper:]][^|:]*?)»/
            [rep] => [[(Wikipedia:)$1"Wikipedia page for $1"]]
            [dep] => Array
                (
                    [man1] => >
                    [«doc»] => <
                    [/«<header>»/] => <
                    [/«<header.h>»/] => <
                    [/«string::method»/] => <
                    [/«container::method»/] => <
                )

        )

    [imgflip] => Array
        (
            [cmd] => split
            [seq] => B>>=
            [pat] => /imgflip:((\w+)\.\w+)/
            [rep] => [[https://imgflip.com/i/$2|https://i.imgflip.com/$1"made at imgflip.com"]]
        )

    [man1] => Array
        (
            [cmd] => >wikipedia
            [seq] => B>>=>
            [pat] => /«([^:|\s()]+?)»/
            [rep] => %class=doclink%[[(Man:)$1"Manual for $1"]]%%
            [dep] => Array
                (
                    [man2] => >
                )

        )

    [man2] => Array
        (
            [cmd] => >man1
            [seq] => B>>=>>
            [pat] => /«([^\s():|]+?)\((\w+?)\)»/
            [rep] => %class=doclink%[[(Man$2:)$1"Manual for $1 in section $2"]]%%
        )

    [directives] => Array
        (
            [cmd] => >split
            [seq] => B>>>
            [dep] => Array
                (
                    [inline] => >
                    [checkin] => 
                    [Date1] => 
                    [Date2] => 
                    [gmap] => 
                    [Keycap] => 
                    [noheader] => 
                    [nofooter] => 
                    [notitle] => 
                    [noleft] => 
                    [noright] => 
                    [noaction] => 
                    [spacewikiwords] => 
                    [linkwikiwords] => 
                    [linebreaks] => 
                    [messages] => 
                    [comment] => 
                    [title] => 
                    [keywords] => 
                    [description] => 
                    [PmTOC] => 
                    [noPmTOC] => 
                    [pagelist] => 
                    [searchbox] => 
                    [searchresults] => 
                    [varindex] => 
                    [input] => 
                )

        )

    [%define=] => Array
        (
            [cmd] => >split
            [seq] => B>>>
            [pat] => /^(?=%define=)((?:%%|%[A-Za-z][-,=:#\w\s'"().]*%)\s*)+$/
            [rep] => MarkupApplyStyles
        )

    [input-select] => Array
        (
            [cmd] => <input
            [seq] => B>>>=<
            [pat] => /\(:input\s+select\s.*?:\)(?:\s*\(:input\s+select\s.*?:\))*/i
            [rep] => MarkupInputForms
        )

    [input-datalist] => Array
        (
            [cmd] => <input
            [seq] => B>>>=<
            [pat] => /\(:input\s+datalist\s.*?:\)(?:\s*\(:input\s+datalist\s.*?:\))*/i
            [rep] => MarkupInputForms
        )

    [goto] => Array
        (
            [cmd] => <input
            [pat] => /\(:goto\h+(.*?):\)/
            [rep] => Closure Object
                (
                    [parameter] => Array
                        (
                            [$m] => <required>
                        )

                )

            [seq] => B>>>=<
        )

    [noPmTOC] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:(no)(?:toc|tdm).*?:\)/im
            [rep] => FmtPmTOC
        )

    [input] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:input\s+(\w+)(.*?):\)/i
            [rep] => MarkupInputForms
            [dep] => Array
                (
                    [input-select] => <
                    [input-datalist] => <
                )

        )

    [PmTOC] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /^\(:[#*]?(?:toc|tdm).*?:\)\s*$/im
            [rep] => FmtPmTOC
        )

    [Keycap] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:keycap +(\S+?)(?:\+(\S+?))*:\)/
            [rep] => Closure Object
                (
                    [parameter] => Array
                        (
                            [$text] => <required>
                        )

                )

        )

    [pagelist] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:pagelist(\s+.*?)?:\)/i
            [rep] => MarkupPageList
        )

    [description] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:description\s+(.+?):\)/i
            [rep] => MarkupSetProperty
        )

    [noleft] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:noleft:\)/i
            [rep] => MarkupTmplDisplay
        )

    [keywords] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:keywords?\s+(.+?):\)/i
            [rep] => MarkupSetProperty
        )

    [title] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:title\s(.*?):\)/i
            [rep] => MarkupSetProperty
        )

    [comment] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:comment .*?:\)/i
            [rep] => 
        )

    [messages] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /^\(:messages:\)/i
            [rep] => MarkupDirectives
        )

    [linkwikiwords] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:(no)?linkwikiwords:\)/i
            [rep] => MarkupDirectives
        )

    [spacewikiwords] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:(no)?spacewikiwords:\)/i
            [rep] => MarkupDirectives
        )

    [noaction] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:noaction:\)/i
            [rep] => MarkupTmplDisplay
        )

    [noright] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:noright:\)/i
            [rep] => MarkupTmplDisplay
        )

    [linebreaks] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:(no)?linebreaks:\)/i
            [rep] => MarkupDirectives
        )

    [notitle] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:notitle:\)/i
            [rep] => MarkupTmplDisplay
        )

    [noheader] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:noheader:\)/i
            [rep] => MarkupTmplDisplay
        )

    [searchbox] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:searchbox(\s.*?)?:\)/
            [rep] => MarkupPageList
        )

    [searchresults] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:searchresults(\s+.*?)?:\)/i
            [rep] => MarkupPageList
        )

    [gmap] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:gmap (.*?):\)/
            [rep] => Closure Object
                (
                    [parameter] => Array
                        (
                            [$matches] => <required>
                        )

                )

        )

    [Date2] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:([12]\d{3}-[0-1]\d-[0-3]\d|Sun|Mon|Tue|Wed|Thu|Fri|Sat)-([12]\d{3}-[0-1]\d-[0-3]\d|Sun|Mon|Tue|Wed|Thu|Fri|Sat):\)/
            [rep] => DateMarkup
        )

    [Date1] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:([12]\d{3}-[0-1]\d-[0-3]\d|Sun|Mon|Tue|Wed|Thu|Fri|Sat)(?: fmt="[^"]+")?:\)/
            [rep] => DateMarkup
        )

    [varindex] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:varindex:\)/i
            [rep] => MarkupVarLinkIndex
        )

    [checkin] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:checkin:\)/
            [rep] => handle_checkin
        )

    [nofooter] => Array
        (
            [cmd] => directives
            [seq] => B>>>=
            [pat] => /\(:nofooter:\)/i
            [rep] => MarkupTmplDisplay
        )

    [inline] => Array
        (
            [cmd] => >directives
            [seq] => B>>>>
            [dep] => Array
                (
                    [links] => >
                    [''] => 
                    [@@] => 
                    [[+] => 
                    [{+] => 
                    [{-] => 
                    [[[<<]]] => 
                )

        )

    ['+] => Array
        (
            [cmd] => <'''''
            [seq] => B>>>>=<<<
            [pat] => /'\+(.*?)\+'/
            [rep] => <big>$1</big>
        )

    ['_] => Array
        (
            [cmd] => <'''''
            [seq] => B>>>>=<<<
            [pat] => /'_(.*?)_'/
            [rep] => <sub>$1</sub>
        )

    ['^] => Array
        (
            [cmd] => <'''''
            [seq] => B>>>>=<<<
            [pat] => /'\^(.*?)\^'/
            [rep] => <sup>$1</sup>
        )

    ['-] => Array
        (
            [cmd] => <'''''
            [seq] => B>>>>=<<<
            [pat] => /'\-(.*?)\-'/
            [rep] => <small>$1</small>
        )

    ['''''] => Array
        (
            [cmd] => <'''
            [seq] => B>>>>=<<
            [pat] => /'''''(.*?)'''''/
            [rep] => <strong><em>$1</em></strong>
            [dep] => Array
                (
                    ['+] => <
                    ['-] => <
                    ['^] => <
                    ['_] => <
                )

        )

    ['''] => Array
        (
            [cmd] => <''
            [seq] => B>>>>=<
            [pat] => /'''(.*?)'''/
            [rep] => <strong>$1</strong>
            [dep] => Array
                (
                    ['''''] => <
                )

        )

    [<time>] => Array
        (
            [cmd] => <@@
            [seq] => B>>>>=<
            [pat] => /@\d{4}-(0[1-9]|1[012])-(0[1-9]|[12]\d|3[01])T([01]\d|2[0-3]):([0-5]\d)(:([0-5]\d))?Z?/i
            [rep] => FmtDateTimeZ
        )

    [@@] => Array
        (
            [cmd] => inline
            [seq] => B>>>>=
            [pat] => /@@(.*?)@@/
            [rep] => <code>$1</code>
            [dep] => Array
                (
                    [<time>] => <
                )

        )

    [[+] => Array
        (
            [cmd] => inline
            [seq] => B>>>>=
            [pat] => /\[(([-+])+)(.*?)\1\]/
            [rep] => MarkupBigSmall
        )

    [{+] => Array
        (
            [cmd] => inline
            [seq] => B>>>>=
            [pat] => /\{\+(.*?)\+\}/
            [rep] => <ins>$1</ins>
        )

    [[[<<]]] => Array
        (
            [cmd] => inline
            [seq] => B>>>>=
            [pat] => /\[\[&lt;&lt;\]\]/
            [rep] => <br clear='all' />
        )

    [{-] => Array
        (
            [cmd] => inline
            [seq] => B>>>>=
            [pat] => /\{-(.*?)-\}/
            [rep] => <del>$1</del>
        )

    [''] => Array
        (
            [cmd] => inline
            [seq] => B>>>>=
            [pat] => /''(.*?)''/
            [rep] => <em>$1</em>
            [dep] => Array
                (
                    ['''] => <
                )

        )

    [small-am] => Array
        (
            [cmd] => >[+
            [pat] => /
            \b                    # A word boundary, to avoid matching 29:45pm
            ([01]?\d(:[0-5]\d)?)  # 07 or 9 or 12 or 07:30 or 9:45 or 12:45
	    \K			  # Keep everything up to this point
            (am|AM)		  # Don’t allow aM or Am
            (?![a-zA-Z])          # A word boundary, to avoid matching 9amps
	    			  # (\b and [^\w] failed for an en-dash)
        /x
            [rep] => ᴀᴍ
            [seq] => B>>>>=>
        )

    [small-pm] => Array
        (
            [cmd] => >[+
            [pat] => /
            \b                    # A word boundary, to avoid matching 29:45pm
            ([01]?\d(:[0-5]\d)?)  # 07 or 9 or 12 or 07:30 or 9:45 or 12:45
	    \K			  # Keep everything up to this point
            (pm|PM)		  # Don’t allow pM or Pm
            (?![a-zA-Z])          # A word boundary, to avoid matching 9amps
	    			  # (\b and [^\w] failed for an en-dash)
        /x
            [rep] => ᴘᴍ
            [seq] => B>>>>=>
        )

    [[[~] => Array
        (
            [cmd] => <links
            [seq] => B>>>>><
            [pat] => /\[\[~(.*?)\]\]/
            [rep] => [[Profiles/$1]]
        )

    [^|] => Array
        (
            [cmd] => <links
            [seq] => B>>>>><
            [pat] => /\^\|([^|]+|\[\[(.+?)\]\])\|\^/
            [rep] => MarkupMakeTrail
        )

    [<<|] => Array
        (
            [cmd] => <links
            [seq] => B>>>>><
            [pat] => /&lt;&lt;\|([^|]+|\[\[(.+?)\]\])\|&gt;&gt;/
            [rep] => MarkupMakeTrail
            [dep] => Array
                (
                    [<|] => >
                )

        )

    [vardef] => Array
        (
            [cmd] => <links
            [seq] => B>>>>><
            [pat] => /^:\$([A-Z][A-Za-z0-9]*(?:[A-Z][a-z0-9]|[a-z0-9][A-Z])[A-Za-z0-9]*|Author|Skin|pagename|Version) *:/
            [rep] => :%apply=item id=$1%$$1:
        )

    [<|] => Array
        (
            [cmd] => ><<|
            [seq] => B>>>>><>
            [pat] => /&lt;\|([^|]+|\[\[(.+?)\]\])\|&gt;/
            [rep] => MarkupMakeTrail
        )

    [links] => Array
        (
            [cmd] => >inline
            [seq] => B>>>>>
            [dep] => Array
                (
                    [block] => >
                    [[[~] => <
                    [[[] => 
                    [<<|] => <
                    [^|] => <
                    [vardef] => <
                )

        )

    [[[|#] => Array
        (
            [cmd] => <[[|
            [seq] => B>>>>>=<<
            [pat] => /(?>\[\[([^|\]]+))\|\s*#\s*\]\]/
            [rep] => MarkupLinks
        )

    [[[|] => Array
        (
            [cmd] => <[[
            [seq] => B>>>>>=<
            [pat] => /(?>\[\[([^|\]]*)\|\s*)(.*?)\s*\]\]((?:-?[A-Za-z0-9\x80-\xd6]+)*)/
            [rep] => MarkupLinks
            [dep] => Array
                (
                    [[[->] => >
                    [[[|#] => <
                )

        )

    [[[#] => Array
        (
            [cmd] => <[[
            [seq] => B>>>>>=<
            [pat] => /(?>\[\[#([A-Za-z][-.:\w]*))\]\]/
            [rep] => MarkupLinks
        )

    [[[->] => Array
        (
            [cmd] => >[[|
            [seq] => B>>>>>=<>
            [pat] => /(?>\[\[([^\]]+?)\s*-+&gt;\s*)(.*?)\]\]((?:-?[A-Za-z0-9\x80-\xd6]+)*)/
            [rep] => MarkupLinks
        )

    [[[] => Array
        (
            [cmd] => links
            [seq] => B>>>>>=
            [pat] => /(?>\[\[\s*(.*?)\]\])((?:-?[A-Za-z0-9\x80-\xd6]+)*)/
            [rep] => MarkupLinks
            [dep] => Array
                (
                    [[[|] => <
                    [[[#] => <
                    [urllink] => >
                )

        )

    [mailto] => Array
        (
            [cmd] => <urllink
            [seq] => B>>>>>=><
            [pat] => /\bmailto:([^\s<>"{}|\\^`()[\]']*[^\s.,?!<>"{}|\\^`()[\]'])/
            [rep] => MarkupLinks
        )

    [img] => Array
        (
            [cmd] => <urllink
            [seq] => B>>>>>=><
            [pat] => /\b(?>(\L))([^\s<>"{}|\\^`()[\]']+\.(?:gif|jpg|jpeg|a?png|svgz?|GIF|JPG|JPEG|A?PNG|SVGZ?|webp|WEBP))("([^"]*)")?/
            [rep] => MarkupLinks
        )

    [urllink] => Array
        (
            [cmd] => >[[
            [seq] => B>>>>>=>
            [pat] => /\b(?>(\L))[^\s<>"{}|\\^`()[\]']*[^\s.,?!<>"{}|\\^`()[\]']/
            [rep] => MarkupLinks
            [dep] => Array
                (
                    [mailto] => <
                    [img] => <
                    [wikilink] => >
                )

        )

    [varlink] => Array
        (
            [cmd] => <wikilink
            [seq] => B>>>>>=>><
            [pat] => /\$([A-Z][A-Za-z0-9]*(?:[A-Z][a-z0-9]|[a-z0-9][A-Z])[A-Za-z0-9]*|Author|Skin|pagename|Version)\b/
            [rep] => MarkupVarLinkIndex
        )

    [`wikiword] => Array
        (
            [cmd] => <wikilink
            [seq] => B>>>>>=>><
            [pat] => /`(([\w\x80-\xfe]+(?:-[\w\x80-\xfe]+)*([\/.]))?([A-Z][A-Za-z0-9]*(?:[A-Z][a-z0-9]|[a-z0-9][A-Z])[A-Za-z0-9]*))/
            [rep] => MarkupNoWikiWord
        )

    [wikilink] => Array
        (
            [cmd] => >urllink
            [seq] => B>>>>>=>>
            [dep] => Array
                (
                    [`wikiword] => <
                    [varlink] => <
                )

        )

    [^>><<] => Array
        (
            [cmd] => <^>>
            [seq] => B>>>>>><<<
            [pat] => /^&gt;&gt;&lt;&lt;/
            [rep] => (:divend:)
        )

    [det-summ] => Array
        (
            [cmd] => <table
            [seq] => B>>>>>><<
            [pat] => /(\(:details[ ].*?)summary=(?:(['"])(.*?)\2
  |(\S+))(.*?:\))/xi
            [rep] => $1$5<summary>$3$4</summary>
        )

    [^>>] => Array
        (
            [cmd] => <table
            [seq] => B>>>>>><<
            [pat] => /^&gt;&gt;(.+?)&lt;&lt;(.*)$/
            [rep] => (:div:)%div $1 apply=div%$2 
            [dep] => Array
                (
                    [^>><<] => <
                )

        )

    [blank] => Array
        (
            [cmd] => <block
            [seq] => B>>>>>><
            [pat] => /^\s+$/
            [rep] => 
        )

    [table] => Array
        (
            [cmd] => <block
            [seq] => B>>>>>><
            [pat] => /^\(:(table|cell|cellnr|head|headnr|tableend|(?:div\d*|section\d*|details\d*|article\d*|header|footer|nav|address|aside)(?:end)?)(\s.*?)?:\)/i
            [rep] => MarkupTables
            [dep] => Array
                (
                    [^>>] => <
                    [det-summ] => <
                )

        )

    [block] => Array
        (
            [cmd] => >links
            [seq] => B>>>>>>
            [dep] => Array
                (
                    [style] => >
                    [blank] => <
                    [^<:] => >
                    [^img] => 
                    [^ ] => 
                    [^*] => 
                    [^#] => 
                    [^->] => 
                    [^-<] => 
                    [^::] => 
                    [^Q:] => 
                    [^A:] => 
                    [^||||] => 
                    [table] => <
                    [^!] => 
                )

        )

    [^ws] => Array
        (
            [cmd] => <^img
            [seq] => B>>>>>>=<
            [pat] => /^\s+ #1/x
            [rep] => WSIndent
        )

    [^->] => Array
        (
            [cmd] => block
            [seq] => B>>>>>>=
            [pat] => /^(?>(-+))&gt;\s?(\s*)/
            [rep] => <:indent,$1,$1  $2>$2
            [dep] => Array
                (
                    [^----] => >
                )

        )

    [^img] => Array
        (
            [cmd] => block
            [seq] => B>>>>>>=
            [pat] => /^((?>(\s+|%%|%[A-Za-z][-,=:#\w\s'".]*%)*)(\d+L))(\s*\|\s?)?(.*)$/
            [rep] => ImgCaptionDiv
            [dep] => Array
                (
                    [^ws] => <
                )

        )

    [^ ] => Array
        (
            [cmd] => block
            [seq] => B>>>>>>=
            [pat] => /^\s+ #2/x
            [rep] => MarkupWSPre
        )

    [^*] => Array
        (
            [cmd] => block
            [seq] => B>>>>>>=
            [pat] => /^(\*+)\s?(\s*)/
            [rep] => <:ul,$1,$0>$2
        )

    [^#] => Array
        (
            [cmd] => block
            [seq] => B>>>>>>=
            [pat] => /^(#+)\s?(\s*)/
            [rep] => <:ol,$1,$0>$2
        )

    [^A:] => Array
        (
            [cmd] => block
            [seq] => B>>>>>>=
            [pat] => /^A:/
            [rep] => 
        )

    [^-<] => Array
        (
            [cmd] => block
            [seq] => B>>>>>>=
            [pat] => /^(?>(-+))&lt;\s?(\s*)/
            [rep] => <:outdent,$1,$1  $2>$2
        )

    [^||||] => Array
        (
            [cmd] => block
            [seq] => B>>>>>>=
            [pat] => /^\|\|.*\|\|.*$/
            [rep] => MarkupTables
            [dep] => Array
                (
                    [^||] => >
                )

        )

    [^!] => Array
        (
            [cmd] => block
            [seq] => B>>>>>>=
            [pat] => /^(!{1,6})\s?(.*)$/
            [rep] => MarkupHeadings
        )

    [^Q:] => Array
        (
            [cmd] => block
            [seq] => B>>>>>>=
            [pat] => /^Q:(.*)$/
            [rep] => <:block,1><p class='question'>$1</p>
        )

    [^::] => Array
        (
            [cmd] => block
            [seq] => B>>>>>>=
            [pat] => /^(:+)(\s*)([^:]+):/
            [rep] => <:dl,$1,$1$2><dt>$2$3</dt><dd>
        )

    [^----] => Array
        (
            [cmd] => >^->
            [seq] => B>>>>>>=>
            [pat] => /^----+/
            [rep] => <:block,1><hr />
        )

    [^||] => Array
        (
            [cmd] => >^||||
            [seq] => B>>>>>>=>
            [pat] => /^\|\|(.*)$/
            [rep] => MarkupTables
        )

    [^!<:] => Array
        (
            [cmd] => <^<:
            [seq] => B>>>>>>><
            [pat] => /^(?!<:)(?=.*(<\/?(form|div|table|t[rdh]|p|[uo]l|d[ltd]|h[1-6r]|pre|blockquote)\b)|\d+B)/
            [rep] => <:block>
        )

    [style] => Array
        (
            [cmd] => >block
            [seq] => B>>>>>>>
            [dep] => Array
                (
                    [%%] => 
                )

        )

    [^<:] => Array
        (
            [cmd] => >block
            [seq] => B>>>>>>>
            [pat] => /^(?=\s*\S)(<:([^>]+)>)?/
            [rep] => MarkupBlock
            [dep] => Array
                (
                    [^!<:] => <
                )

        )

    [restorelinks] => Array
        (
            [cmd] => <%%
            [seq] => B>>>>>>>=<
            [pat] => /(\d+L)/
            [rep] => cb_expandkpv
        )

    [%%] => Array
        (
            [cmd] => style
            [seq] => B>>>>>>>=
            [pat] => %
            [rep] => return ApplyStyles($x);
            [dep] => Array
                (
                    [restorelinks] => <
                )

        )

    [<vspace><p>] => Array
        (
            [cmd] => <<vspace>
            [seq] => E<<<
            [pat] => /<vspace><p\b(([^>]*)(\s)class=(['"])([^>]*?)\4)?/
            [rep] => <p$2 class='vspace$3$5'
        )

    [<vspace>] => Array
        (
            [cmd] => <restore
            [seq] => E<<
            [pat] => /<vspace>/
            [rep] => <div class='vspace'></div>
            [dep] => Array
                (
                    [<vspace><p>] => <
                )

        )

    [restore] => Array
        (
            [cmd] => <_end
            [seq] => E<
            [pat] => /(\d.*?)/
            [rep] => cb_expandkpv
            [dep] => Array
                (
                    [<:] => >
                    [<vspace>] => <
                )

        )

    [<:] => Array
        (
            [cmd] => >restore
            [seq] => E<>
            [pat] => /<:[^>]*>/
            [rep] => 
        )

    [_end] => Array
        (
            [seq] => E
            [dep] => Array
                (
                    [restore] => <
                )

        )

)