| PCRETEST(1) | General Commands Manual | PCRETEST(1) |
pcretest was written as a test program for the PCRE regular expression library itself, but it can also be used for experimenting with regular expressions. This document describes the features of the test program; for details of the regular expressions themselves, see the pcrepattern documentation. For details of the PCRE library function calls and their options, see the pcreapi , pcre16 and pcre32 documentation.
The input for pcretest is a sequence of regular expression patterns and strings to be matched, as described below. The output shows the result of each match. Options on the command line and the patterns control PCRE options and exactly what is output.
As PCRE has evolved, it has acquired many different features, and as a result, pcretest now has rather a lot of obscure options for testing every possible feature. Some of these options are specifically designed for use in conjunction with the test script and data files that are distributed as part of PCRE, and are unlikely to be of use otherwise. They are all documented here, but without much justification.
The input is processed using using C's string functions, so must not contain binary zeroes, even though in Unix-like environments, fgets() treats any bytes other than newline as data characters.
References to functions and structures of the form pcre[16|32]_xx below mean "pcre_xx when using the 8-bit library, pcre16_xx when using the 16-bit library, or pcre32_xx when using the 32-bit library".
ebcdic-nl the code for LF (= NL) in an EBCDIC environment: 0x15 or 0x25 0 if used in an ASCII environment exit code is always 0 linksize the configured internal link size (2, 3, or 4) exit code is set to the link size newline the default newline setting: CR, LF, CRLF, ANYCRLF, or ANY exit code is always 0 bsr the default setting for what \R matches: ANYCRLF or ANY exit code is always 0
The following options output 1 for true or 0 for false, and set the exit code to the same value:
ebcdic compiled for an EBCDIC environment jit just-in-time support is available pcre16 the 16-bit library was built pcre32 the 32-bit library was built pcre8 the 8-bit library was built ucp Unicode property support is available utf UTF-8 and/or UTF-16 and/or UTF-32 support is available
If an unknown option is given, an error message is output; the exit code is 0.
1 normal match only 2 soft partial match only 3 normal match and soft partial match 4 hard partial match only 6 soft and hard partial match 7 all three modes (default)
If -s++ is used instead of -s+ (with or without a following digit), the text "(JIT)" is added to the first output line after a match or no match when JIT-compiled code was actually used.
Note that there are pattern options that can override -s, either specifying no studying at all, or suppressing JIT compilation.
If the /I or /D option is present on a pattern (requesting output about the compiled pattern), information about the result of studying is not included when studying is caused only by -s and neither -i nor -d is present on the command line. This behaviour means that the output from tests that are run with and without -s should be identical, except when options that output information about the actual running of a match are set.
The -M, -t, and -tm options, which give information about resources used, are likely to produce different output with and without -s. Output may also differ if the /C option is present on an individual pattern. This uses callouts to trace the the matching process, and this may be different between studied and non-studied patterns. If the pattern contains (*MARK) items there may also be differences, for the same reason. The -s command line option can be overridden for specific patterns that should never be studied (see the /S pattern modifier below).
When pcretest is built, a configuration option can specify that it should be linked with the libreadline library. When this is done, if the input is from a terminal, it is read using the readline() function. This provides line-editing and history facilities. The output from the -help option states whether or not readline() will be used.
The program handles any number of sets of input on a single input file. Each set starts with a regular expression, and continues with any number of data lines to be matched against that pattern.
Each data line is matched separately and independently. If you want to do multi-line matches, you have to use the \n escape sequence (or \r or \r\n, etc., depending on the newline setting) in a single line of input to encode the newline sequences. There is no limit on the length of data lines; the input buffer is automatically extended if it is too small.
An empty line signals the end of the data lines, at which point a new regular expression is read. The regular expressions are given enclosed in any non-alphanumeric delimiters other than backslash, for example:
/(a|bc)x+yz/
White space before the initial delimiter is ignored. A regular expression may be continued over several input lines, in which case the newline characters are included within it. It is possible to include the delimiter within the pattern by escaping it, for example
/abc\/def/
If you do so, the escape and the delimiter form part of the pattern, but since delimiters are always non-alphanumeric, this does not affect its interpretation. If the terminating delimiter is immediately followed by a backslash, for example,
/abc/\
then a backslash is added to the end of the pattern. This is done to provide a way of testing the error condition that arises if a pattern finishes with a backslash, because
/abc\/
is interpreted as the first line of a pattern that starts with "abc/", causing pcretest to read the next line as a continuation of the regular expression.
/8 set UTF mode /9 set PCRE_NEVER_UTF (locks out UTF mode) /? disable UTF validity check /+ show remainder of subject after match /= show all captures (not just those that are set)
/A set PCRE_ANCHORED /B show compiled code /C set PCRE_AUTO_CALLOUT /D same as /B plus /I /E set PCRE_DOLLAR_ENDONLY /F flip byte order in compiled pattern /f set PCRE_FIRSTLINE /G find all matches (shorten string) /g find all matches (use startoffset) /I show information about pattern /i set PCRE_CASELESS /J set PCRE_DUPNAMES /K show backtracking control names /L set locale /M show compiled memory size /m set PCRE_MULTILINE /N set PCRE_NO_AUTO_CAPTURE /O set PCRE_NO_AUTO_POSSESS /P use the POSIX wrapper /Q test external stack check function /S study the pattern after compilation /s set PCRE_DOTALL /T select character tables /U set PCRE_UNGREEDY /W set PCRE_UCP /X set PCRE_EXTRA /x set PCRE_EXTENDED /Y set PCRE_NO_START_OPTIMIZE /Z don't show lengths in /B output
/<any> set PCRE_NEWLINE_ANY /<anycrlf> set PCRE_NEWLINE_ANYCRLF /<cr> set PCRE_NEWLINE_CR /<crlf> set PCRE_NEWLINE_CRLF /<lf> set PCRE_NEWLINE_LF /<bsr_anycrlf> set PCRE_BSR_ANYCRLF /<bsr_unicode> set PCRE_BSR_UNICODE /<JS> set PCRE_JAVASCRIPT_COMPAT
/caseless/i
/8 PCRE_UTF8 ) when using the 8-bit /? PCRE_NO_UTF8_CHECK ) library
/8 PCRE_UTF16 ) when using the 16-bit /? PCRE_NO_UTF16_CHECK ) library
/8 PCRE_UTF32 ) when using the 32-bit /? PCRE_NO_UTF32_CHECK ) library
/9 PCRE_NEVER_UTF /A PCRE_ANCHORED /C PCRE_AUTO_CALLOUT /E PCRE_DOLLAR_ENDONLY /f PCRE_FIRSTLINE /J PCRE_DUPNAMES /N PCRE_NO_AUTO_CAPTURE /O PCRE_NO_AUTO_POSSESS /U PCRE_UNGREEDY /W PCRE_UCP /X PCRE_EXTRA /Y PCRE_NO_START_OPTIMIZE /<any> PCRE_NEWLINE_ANY /<anycrlf> PCRE_NEWLINE_ANYCRLF /<cr> PCRE_NEWLINE_CR /<crlf> PCRE_NEWLINE_CRLF /<lf> PCRE_NEWLINE_LF /<bsr_anycrlf> PCRE_BSR_ANYCRLF /<bsr_unicode> PCRE_BSR_UNICODE /<JS> PCRE_JAVASCRIPT_COMPAT
The modifiers that are enclosed in angle brackets are literal strings as shown, including the angle brackets, but the letters within can be in either case. This example sets multiline matching with CRLF as the line ending sequence:
/^abc/m<CRLF>
As well as turning on the PCRE_UTF8/16/32 option, the /8 modifier causes all non-printing characters in output strings to be printed using the \x{hh...} notation. Otherwise, those less than 0x100 are output in hex without the curly brackets.
Full details of the PCRE options are given in the pcreapi documentation.
If any call to pcre[16|32]_exec() in a /g or /G sequence matches an empty string, the next call is done with the PCRE_NOTEMPTY_ATSTART and PCRE_ANCHORED flags set in order to search for another, non-empty, match at the same point. If this second match fails, the start offset is advanced, and the normal match is retried. This imitates the way Perl handles such cases when using the /g modifier or the split() function. Normally, the start offset is advanced by one character, but if the newline convention recognizes CRLF as a newline, and the current character is CR followed by LF, an advance of two is used.
The /+ modifier requests that as well as outputting the substring that matched the entire pattern, pcretest should in addition output the remainder of the subject string. This is useful for tests where the subject contains multiple copies of the same substring. If the + modifier appears twice, the same action is taken for captured substrings. In each case the remainder is output on the following line with a plus character following the capture number. Note that this modifier must not immediately follow the /S modifier because /S+ and /S++ have other meanings.
The /= modifier requests that the values of all potential captured parentheses be output after a match. By default, only those up to the highest one actually used in the match are output (corresponding to the return code from pcre[16|32]_exec()). Values in the offsets vector corresponding to higher numbers should be set to -1, and these are output as "<unset>". This modifier gives a way of checking that this is happening.
The /B modifier is a debugging feature. It requests that pcretest output a representation of the compiled code after compilation. Normally this information contains length and offset values; however, if /Z is also present, this data is replaced by spaces. This is a special feature for use in the automatic test scripts; it ensures that the same output is generated for different internal link sizes.
The /D modifier is a PCRE debugging feature, and is equivalent to /BI, that is, both the /B and the /I modifiers.
The /F modifier causes pcretest to flip the byte order of the 2-byte and 4-byte fields in the compiled pattern. This facility is for testing the feature in PCRE that allows it to execute patterns that were compiled on a host with a different endianness. This feature is not available when the POSIX interface to PCRE is being used, that is, when the /P pattern modifier is specified. See also the section about saving and reloading compiled patterns below.
The /I modifier requests that pcretest output information about the compiled pattern (whether it is anchored, has a fixed first character, and so on). It does this by calling pcre[16|32]_fullinfo() after compiling a pattern. If the pattern is studied, the results of that are also output. In this output, the word "char" means a non-UTF character, that is, the value of a single data item (8-bit, 16-bit, or 32-bit, depending on the library that is being tested).
The /K modifier requests pcretest to show names from backtracking control verbs that are returned from calls to pcre[16|32]_exec(). It causes pcretest to create a pcre[16|32]_extra block if one has not already been created by a call to pcre[16|32]_study(), and to set the PCRE_EXTRA_MARK flag and the mark field within it, every time that pcre[16|32]_exec() is called. If the variable that the mark field points to is non-NULL for a match, non-match, or partial match, pcretest prints the string to which it points. For a match, this is shown on a line by itself, tagged with "MK:". For a non-match it is added to the message.
The /L modifier must be followed directly by the name of a locale, for example,
/pattern/Lfr_FR
For this reason, it must be the last modifier. The given locale is set, pcre[16|32]_maketables() is called to build a set of character tables for the locale, and this is then passed to pcre[16|32]_compile() when compiling the regular expression. Without an /L (or /T) modifier, NULL is passed as the tables pointer; that is, /L applies only to the expression on which it appears.
The /M modifier causes the size in bytes of the memory block used to hold the compiled pattern to be output. This does not include the size of the pcre[16|32] block; it is just the actual compiled data. If the pattern is successfully studied with the PCRE_STUDY_JIT_COMPILE option, the size of the JIT compiled code is also output.
The /Q modifier is used to test the use of pcre_stack_guard. It must be followed by '0' or '1', specifying the return code to be given from an external function that is passed to PCRE and used for stack checking during compilation (see the pcreapi documentation for details).
The /S modifier causes pcre[16|32]_study() to be called after the expression has been compiled, and the results used when the expression is matched. There are a number of qualifying characters that may follow /S. They may appear in any order.
If /S is followed by an exclamation mark, pcre[16|32]_study() is called with the PCRE_STUDY_EXTRA_NEEDED option, causing it always to return a pcre_extra block, even when studying discovers no useful information.
If /S is followed by a second S character, it suppresses studying, even if it was requested externally by the -s command line option. This makes it possible to specify that certain patterns are always studied, and others are never studied, independently of -s. This feature is used in the test files in a few cases where the output is different when the pattern is studied.
If the /S modifier is followed by a + character, the call to pcre[16|32]_study() is made with all the JIT study options, requesting just-in-time optimization support if it is available, for both normal and partial matching. If you want to restrict the JIT compiling modes, you can follow /S+ with a digit in the range 1 to 7:
1 normal match only 2 soft partial match only 3 normal match and soft partial match 4 hard partial match only 6 soft and hard partial match 7 all three modes (default)
If /S++ is used instead of /S+ (with or without a following digit), the text "(JIT)" is added to the first output line after a match or no match when JIT-compiled code was actually used.
Note that there is also an independent /+ modifier; it must not be given immediately after /S or /S+ because this will be misinterpreted.
If JIT studying is successful, the compiled JIT code will automatically be used when pcre[16|32]_exec() is run, except when incompatible run-time options are specified. For more details, see the pcrejit documentation. See also the \J escape sequence below for a way of setting the size of the JIT stack.
Finally, if /S is followed by a minus character, JIT compilation is suppressed, even if it was requested externally by the -s command line option. This makes it possible to specify that JIT is never to be used for certain patterns.
The /T modifier must be followed by a single digit. It causes a specific set of built-in character tables to be passed to pcre[16|32]_compile(). It is used in the standard PCRE tests to check behaviour with different character tables. The digit specifies the tables as follows:
0 the default ASCII tables, as distributed in pcre_chartables.c.dist 1 a set of tables defining ISO 8859 characters
In table 1, some characters whose codes are greater than 128 are identified as letters, digits, spaces, etc.
/i REG_ICASE /m REG_NEWLINE /N REG_NOSUB /s REG_DOTALL ) /U REG_UNGREEDY ) These options are not part of /W REG_UCP ) the POSIX standard /8 REG_UTF8 )
The /+ modifier works as described above. All other modifiers are ignored.
< forbid 8W
This locks out the /8 and /W modifiers. An immediate error is given if they are subsequently encountered. If the character string contains < but not >, all the multi-character modifiers that begin with < are locked out. Otherwise, such modifiers must be explicitly listed, for example:
< forbid <JS><cr>
There must be a single space between < and "forbid" for this feature to be recognised. If there is not, the line is interpreted either as a request to re-load a pre-compiled pattern (see "SAVING AND RELOADING COMPILED PATTERNS" below) or, if there is a another < character, as a pattern that uses < as its delimiter.
\a alarm (BEL, \x07) \b backspace (\x08) \e escape (\x27) \f form feed (\x0c) \n newline (\x0a) \qdd set the PCRE_MATCH_LIMIT limit to dd (any number of digits) \r carriage return (\x0d) \t tab (\x09) \v vertical tab (\x0b) \nnn octal character (up to 3 octal digits); always a byte unless > 255 in UTF-8 or 16-bit or 32-bit mode \o{dd...} octal character (any number of octal digits} \xhh hexadecimal byte (up to 2 hex digits) \x{hh...} hexadecimal character (any number of hex digits) \A pass the PCRE_ANCHORED option to pcre[16|32]_exec() or pcre[16|32]_dfa_exec() \B pass the PCRE_NOTBOL option to pcre[16|32]_exec() or pcre[16|32]_dfa_exec() \Cdd call pcre[16|32]_copy_substring() for substring dd after a successful match (number less than 32) \Cname call pcre[16|32]_copy_named_substring() for substring "name" after a successful match (name termin- ated by next non alphanumeric character) \C+ show the current captured substrings at callout time \C- do not supply a callout function \C!n return 1 instead of 0 when callout number n is reached \C!n!m return 1 instead of 0 when callout number n is reached for the nth time \C*n pass the number n (may be negative) as callout data; this is used as the callout return value \D use the pcre[16|32]_dfa_exec() match function \F only shortest match for pcre[16|32]_dfa_exec() \Gdd call pcre[16|32]_get_substring() for substring dd after a successful match (number less than 32) \Gname call pcre[16|32]_get_named_substring() for substring "name" after a successful match (name termin- ated by next non-alphanumeric character) \Jdd set up a JIT stack of dd kilobytes maximum (any number of digits) \L call pcre[16|32]_get_substringlist() after a successful match \M discover the minimum MATCH_LIMIT and MATCH_LIMIT_RECURSION settings \N pass the PCRE_NOTEMPTY option to pcre[16|32]_exec() or pcre[16|32]_dfa_exec(); if used twice, pass the PCRE_NOTEMPTY_ATSTART option \Odd set the size of the output vector passed to pcre[16|32]_exec() to dd (any number of digits) \P pass the PCRE_PARTIAL_SOFT option to pcre[16|32]_exec() or pcre[16|32]_dfa_exec(); if used twice, pass the PCRE_PARTIAL_HARD option \Qdd set the PCRE_MATCH_LIMIT_RECURSION limit to dd (any number of digits) \R pass the PCRE_DFA_RESTART option to pcre[16|32]_dfa_exec() \S output details of memory get/free calls during matching \Y pass the PCRE_NO_START_OPTIMIZE option to pcre[16|32]_exec() or pcre[16|32]_dfa_exec() \Z pass the PCRE_NOTEOL option to pcre[16|32]_exec() or pcre[16|32]_dfa_exec() \? pass the PCRE_NO_UTF[8|16|32]_CHECK option to pcre[16|32]_exec() or pcre[16|32]_dfa_exec() \>dd start the match at offset dd (optional "-"; then any number of digits); this sets the startoffset argument for pcre[16|32]_exec() or pcre[16|32]_dfa_exec() \<cr> pass the PCRE_NEWLINE_CR option to pcre[16|32]_exec() or pcre[16|32]_dfa_exec() \<lf> pass the PCRE_NEWLINE_LF option to pcre[16|32]_exec() or pcre[16|32]_dfa_exec() \<crlf> pass the PCRE_NEWLINE_CRLF option to pcre[16|32]_exec() or pcre[16|32]_dfa_exec() \<anycrlf> pass the PCRE_NEWLINE_ANYCRLF option to pcre[16|32]_exec() or pcre[16|32]_dfa_exec() \<any> pass the PCRE_NEWLINE_ANY option to pcre[16|32]_exec() or pcre[16|32]_dfa_exec()
The use of \x{hh...} is not dependent on the use of the /8 modifier on the pattern. It is recognized always. There may be any number of hexadecimal digits inside the braces; invalid values provoke error messages.
Note that \xhh specifies one byte rather than one character in UTF-8 mode; this makes it possible to construct invalid UTF-8 sequences for testing purposes. On the other hand, \x{hh} is interpreted as a UTF-8 character in UTF-8 mode, generating more than one byte if the value is greater than 127. When testing the 8-bit library not in UTF-8 mode, \x{hh} generates one byte for values less than 256, and causes an error for greater values.
In UTF-16 mode, all 4-digit \x{hhhh} values are accepted. This makes it possible to construct invalid UTF-16 sequences for testing purposes.
In UTF-32 mode, all 4- to 8-digit \x{...} values are accepted. This makes it possible to construct invalid UTF-32 sequences for testing purposes.
The escapes that specify line ending sequences are literal strings, exactly as shown. No more than one newline setting should be present in any data line.
A backslash followed by anything else just escapes the anything else. If the very last character is a backslash, it is ignored. This gives a way of passing an empty line as data, since a real empty line terminates the data input.
The \J escape provides a way of setting the maximum stack size that is used by the just-in-time optimization code. It is ignored if JIT optimization is not being used. Providing a stack that is larger than the default 32K is necessary only for very complicated patterns.
If \M is present, pcretest calls pcre[16|32]_exec() several times, with different values in the match_limit and match_limit_recursion fields of the pcre[16|32]_extra data structure, until it finds the minimum numbers for each parameter that allow pcre[16|32]_exec() to complete without error. Because this is testing a specific feature of the normal interpretive pcre[16|32]_exec() execution, the use of any JIT optimization that might have been set up by the /S+ qualifier of -s+ option is disabled.
The match_limit number is a measure of the amount of backtracking that takes place, and checking it out can be instructive. For most simple matches, the number is quite small, but for patterns with very large numbers of matching possibilities, it can become large very quickly with increasing length of subject string. The match_limit_recursion number is a measure of how much stack (or, if PCRE is compiled with NO_RECURSE, how much heap) memory is needed to complete the match attempt.
When \O is used, the value specified may be higher or lower than the size set by the -O command line option (or defaulted to 45); \O applies only to the call of pcre[16|32]_exec() for the line in which it appears.
If the /P modifier was present on the pattern, causing the POSIX wrapper API to be used, the only option-setting sequences that have any effect are \B, \N, and \Z, causing REG_NOTBOL, REG_NOTEMPTY, and REG_NOTEOL, respectively, to be passed to regexec().
If a data line contains the \D escape sequence, or if the command line contains the -dfa option, the alternative matching function is used. This function finds all possible matches at a given point. If, however, the \F escape sequence is present in the data line, it stops after the first match is found. This is always the shortest possible match.
When a match succeeds, pcretest outputs the list of captured substrings that pcre[16|32]_exec() returns, starting with number 0 for the string that matched the whole pattern. Otherwise, it outputs "No match" when the return is PCRE_ERROR_NOMATCH, and "Partial match:" followed by the partially matching substring when pcre[16|32]_exec() returns PCRE_ERROR_PARTIAL. (Note that this is the entire substring that was inspected during the partial match; it may include characters before the actual match start if a lookbehind assertion, \K, \b, or \B was involved.) For any other return, pcretest outputs the PCRE negative error number and a short descriptive phrase. If the error is a failed UTF string check, the offset of the start of the failing character and the reason code are also output, provided that the size of the output vector is at least two. Here is an example of an interactive pcretest run.
$ pcretest PCRE version 8.13 2011-04-30
re> /^abc(\d+)/ data> abc123 0: abc123 1: 123 data> xyz No match
Unset capturing substrings that are not followed by one that is set are not returned by pcre[16|32]_exec(), and are not shown by pcretest. In the following example, there are two capturing substrings, but when the first data line is matched, the second, unset substring is not shown. An "internal" unset substring is shown as "<unset>", as for the second data line.
re> /(a)|(b)/ data> a 0: a 1: a data> b 0: b 1: <unset> 2: b
If the strings contain any non-printing characters, they are output as \xhh escapes if the value is less than 256 and UTF mode is not set. Otherwise they are output as \x{hh...} escapes. See below for the definition of non-printing characters. If the pattern has the /+ modifier, the output for substring 0 is followed by the the rest of the subject string, identified by "0+" like this:
re> /cat/+ data> cataract 0: cat 0+ aract
If the pattern has the /g or /G modifier, the results of successive matching attempts are output in sequence, like this:
re> /\Bi(\w\w)/g data> Mississippi 0: iss 1: ss 0: iss 1: ss 0: ipp 1: pp
"No match" is output only if the first match attempt fails. Here is an example of a failure message (the offset 4 that is specified by \>4 is past the end of the subject string):
re> /xyz/ data> xyz\>4 Error -24 (bad offset value)
If any of the sequences \C, \G, or \L are present in a data line that is successfully matched, the substrings extracted by the convenience functions are output with C, G, or L after the string number instead of a colon. This is in addition to the normal full list. The string length (that is, the return from the extraction function) is given in parentheses after each string for \C and \G.
Note that whereas patterns can be continued over several lines (a plain ">" prompt is used for continuations), data lines may not. However newlines can be included in data by means of the \n escape (or \r, \r\n, etc., depending on the newline sequence setting).
re> /(tang|tangerine|tan)/ data> yellow tangerine\D 0: tangerine 1: tang 2: tan
(Using the normal matching function on this data finds only "tang".) The longest matching string is always given first (and numbered zero). After a PCRE_ERROR_PARTIAL return, the output is "Partial match:", followed by the partially matching substring. (Note that this is the entire substring that was inspected during the partial match; it may include characters before the actual match start if a lookbehind assertion, \K, \b, or \B was involved.)
If /g is present on the pattern, the search for further matches resumes at the end of the longest match. For example:
re> /(tang|tangerine|tan)/g data> yellow tangerine and tangy sultana\D 0: tangerine 1: tang 2: tan 0: tang 1: tan 0: tan
Since the matching function does not support substring capture, the escape sequences that are concerned with captured substrings are not relevant.
re> /^\d?\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d\d$/ data> 23ja\P\D Partial match: 23ja data> n05\R\D 0: n05
For further information about partial matching, see the pcrepartial documentation.
--->pqrabcdef 0 ^ ^ \d
This output indicates that callout number 0 occurred for a match attempt starting at the fourth character of the subject string, when the pointer was at the seventh character of the data, and when the next pattern item was \d. Just one circumflex is output if the start and current positions are the same.
Callouts numbered 255 are assumed to be automatic callouts, inserted as a result of the /C pattern modifier. In this case, instead of showing the callout number, the offset in the pattern, preceded by a plus, is output. For example:
re> /\d?[A-E]\*/C data> E* --->E* +0 ^ \d? +3 ^ [A-E] +8 ^^ \* +10 ^ ^ 0: E*
If a pattern contains (*MARK) items, an additional line is output whenever a change of latest mark is passed to the callout function. For example:
re> /a(*MARK:X)bc/C data> abc --->abc +0 ^ a +1 ^^ (*MARK:X) +10 ^^ b Latest Mark: X +11 ^ ^ c +12 ^ ^ 0: abc
The mark changes between matching "a" and "b", but stays the same for the rest of the match, so nothing more is output. If, as a result of backtracking, the mark reverts to being unset, the text "<unset>" is output.
The callout function in pcretest returns zero (carry on matching) by default, but you can use a \C item in a data line (as described above) to change this and other parameters of the callout.
Inserting callouts can be helpful when using pcretest to check complicated regular expressions. For further information about callouts, see the pcrecallout documentation.
When pcretest is outputting text that is a matched part of a subject string, it behaves in the same way, unless a different locale has been set for the pattern (using the /L modifier). In this case, the isprint() function to distinguish printing and non-printing characters.
When the POSIX interface is not in use, you can cause pcretest to write a compiled pattern to a file, by following the modifiers with > and a file name. For example:
/pattern/im >/some/file
See the pcreprecompile documentation for a discussion about saving and re-using compiled patterns. Note that if the pattern was successfully studied with JIT optimization, the JIT data cannot be saved.
The data that is written is binary. The first eight bytes are the length of the compiled pattern data followed by the length of the optional study data, each written as four bytes in big-endian order (most significant byte first). If there is no study data (either the pattern was not studied, or studying did not return any data), the second length is zero. The lengths are followed by an exact copy of the compiled pattern. If there is additional study data, this (excluding any JIT data) follows immediately after the compiled pattern. After writing the file, pcretest expects to read a new pattern.
A saved pattern can be reloaded into pcretest by specifying < and a file name instead of a pattern. There must be no space between < and the file name, which must not contain a < character, as otherwise pcretest will interpret the line as a pattern delimited by < characters. For example:
re> </some/file Compiled pattern loaded from /some/file No study data
If the pattern was previously studied with the JIT optimization, the JIT information cannot be saved and restored, and so is lost. When the pattern has been loaded, pcretest proceeds to read data lines in the usual way.
You can copy a file written by pcretest to a different host and reload it there, even if the new host has opposite endianness to the one on which the pattern was compiled. For example, you can compile on an i86 machine and run on a SPARC machine. When a pattern is reloaded on a host with different endianness, the confirmation message is changed to:
Compiled pattern (byte-inverted) loaded from /some/file
The test suite contains some saved pre-compiled patterns with different endianness. These are reloaded using "<!" instead of just "<". This suppresses the "(byte-inverted)" text so that the output is the same on all hosts. It also forces debugging output once the pattern has been reloaded.
File names for saving and reloading can be absolute or relative, but note that the shell facility of expanding a file name that starts with a tilde (~) is not available.
The ability to save and reload files in pcretest is intended for testing and experimentation. It is not intended for production use because only a single pattern can be written to a file. Furthermore, there is no facility for supplying custom character tables for use with a reloaded pattern. If the original pattern was compiled with custom tables, an attempt to match a subject string using a reloaded pattern is likely to cause pcretest to crash. Finally, if you attempt to load a file that is not in the correct format, the result is undefined.
Philip Hazel University Computing Service Cambridge CB2 3QH, England.
Last updated: 10 February 2020 Copyright (c) 1997-2020 University of Cambridge.
| 10 February 2020 | PCRE 8.44 |


#!/usr/bin/env python3
# -*- coding: utf-8 -*
# pylint: disable=E0401
"""
Takes input from user. Control the game through
parse the input and call the equivalent method to operate the work.
"""
import cmd
from game import Game
[docs]class Shell(cmd.Cmd):
"""Shell class."""
prompt = '(game): '
intro = "Enter help or ? to get the words that can be used.\n"
computer_control = bool
def __init__(self):
"""Init the object."""
super().__init__()
try:
self.game = Game()
except AttributeError:
print("Something went wrong! Start a new game.")
[docs] def do_start(self, player_num):
"""Game starting."""
try:
self.__init__()
self.game.set_game_status(True)
if player_num == "1":
self.game.set_computer_controler(True)
self.computer_control = self.game.create_player(1)
elif player_num == "2":
self.game.set_computer_controler(False)
self.computer_control = self.game.create_player(2)
else:
print("Wrong choice! Enter 'start 1' or 'start 2'.\n")
except AttributeError:
print("An Error occured! Try again!")
[docs] def do_roll(self, _):
"""Roll the dice."""
try:
if self.game.get_game_status():
self.game.roll()
else:
print("\nYou need to enter 'start 1' or 'start 2'"
"to start a new game")
except AttributeError:
print("Game Over!")
except ValueError:
self.__delattr__("game")
print("deleted")
self.__init__()
print(ValueError)
[docs] def do_name(self, new_name):
"""Change player name."""
self.game.change_name(new_name)
[docs] def do_level(self, level):
"""Change the game's level."""
try:
self.game.check_levels(level)
except ValueError as level_error:
print(level_error)
except AttributeError:
print("You are playing against a human," +
"ask him to change the level not me!!!\n")
[docs] def do_pass(self, _):
"""Hold turn."""
try:
if self.game.get_game_status():
self.game.switcher()
else:
print("Game is End. You can 'start' a new game")
except AttributeError:
print("No game and no turns to hold!!")
[docs] def do_cheat(self, _):
"""Return the upcoming value of the dice."""
print("The next dice value is {n},"
"you know what to do, don't yah! =)\n"
"".format(n=self.game.cheat()))
[docs] def do_score(self, _):
"""Read from highscore file."""
try:
self.game.highscore()
except AttributeError:
print("Sorry! You need to start a game firt.")
[docs] def do_help(self, _):
"""Print orders' format."""
print("\nstart _: Enter 'start' + 'space' + '1' or '2' to"
"start or restart a new game.")
print("name _ : 'name' + 'your name' to"
" change the current player name.")
print("roll : Roll the dice.")
print("score : Print out highscores.")
print("pass : To hold the turn and switch to the next player.")
print("cheat : Return the value of the upcoming dice.")
print("level : Change the computer level.")
print("q, exit, EOF: Exit the game.\n")
[docs] def default(self, line):
"""Default putput."""
self.stdout.write('\nOBS! Unknown command:%s.\n'
"Enter help to get info\n"
'' % (line,))
[docs] def do_end(self, _):
"""End the game."""
try:
del self.game
except AttributeError:
print("\nGame is ended.\n")
[docs] def do_exit(self, _):
# pylint: disable=no-self-use
"""Leave the game."""
return True
[docs] def do_q(self, arg):
"""Leave the game."""
return self.do_exit(arg)
[docs] def do_EOF(self, arg):
# pylint: disable=invalid-name
"""Leave the game."""
return self.do_exit(arg)


Reverb Test
Frequency
Wet
Dry
Note: Wet/Dry do not have to total to 1
Room Size
(0.0 - 1.0)
Damping
(0.0 - 1.0)
Play
Play Reverb
Be patient, sample may take a few seconds to load.
Did you set roomSize > 1? Fun huh?
Reverb reset


Definition
Average water deficit (PE-P) for wheat (mm). Proposed indice to compute suitability ratings for small grain cereals in LSRS; Must be scaled and multiplied by -1 to convert to P-PE.
Method of calculation
Sum of average daily values of Potential evapotranspiration minus Precipitation (PE-P) from GDD2Start to STOPWheat. If STOPWheat is later than GDD2Stop (estimated average date of first fall frost), then accumulation is stopped on GDD2Stop.
PE is calculated using the Baier-Roberson formulae (Baier and Robertson, 1965; Baier, 1971) by default, or as selected by the user. The scaling of DEFWheat is determined as follows:
Scaled Deficit = 1.2306 (DEFwheat) – 17.566
For a complete explanation of the Scaled Deficit, see Bootsma, 2007.


See: Description
| Interface | Description |
|---|---|
| DTDEventListener |
| Class | Description |
|---|---|
| ChoiceContentSpec |
Content specification that defines content model that has
multiple alternative elements; including mixed content model.
|
| ChoiceModel |
Model class that encapsulates set of sub-models, of which one (and only
one) needs to be matched.
|
| ConcatModel |
Model class that represents sequence of 2 sub-models, needed to be
matched in the order.
|
| ContentSpec |
Abstract base class for classes that contain parts of a content
specification of an element defined in DTD.
|
| DefaultAttrValue |
Simple container class used to contain information about the default
value for an attribute.
|
| DFAState |
Class that represents a state in DFA used for validating complex
DTD content models.
|
| DFAValidator |
Validator class that is based on a DFA constructed from DTD content
specification.
|
| DTDAttribute |
Base class for objects that contain attribute definitions from DTD.
|
| DTDCdataAttr |
Simple
DTDAttribute sub-class used for plain vanilla CDATA
valued attributes. |
| DTDElement |
Class that contains element definitions from DTD.
|
| DTDEntitiesAttr |
Specific attribute class for attributes that contain (unique)
identifiers.
|
| DTDEntityAttr |
Specific attribute class for attributes that contain (unique)
identifiers.
|
| DTDEnumAttr |
Specific attribute class for attributes that have enumerated values.
|
| DTDId |
Simple key object class, used for accessing (external) DTDs when stored for
caching.
|
| DTDIdAttr |
Specific attribute class for attributes that contain (unique)
identifiers.
|
| DTDIdRefAttr |
Attribute class for attributes that contain references
to elements that have matching identifier specified.
|
| DTDIdRefsAttr |
Attribute class for attributes that contain multiple references
to elements that have matching identifier specified.
|
| DTDNmTokenAttr |
Specific attribute class for attributes that contain (unique)
identifiers.
|
| DTDNmTokensAttr |
Specific attribute class for attributes that contain (unique)
identifiers.
|
| DTDNotationAttr |
Specific attribute class for attributes that are of NOTATION type,
and also contain enumerated set of legal values.
|
| DTDSchemaFactory |
Factory for creating DTD validator schema objects (shareable stateless
"blueprints" for creating actual validators).
|
| DTDSubset |
This is the abstract base class that implements the standard Stax2
validation schema base class (
XMLValidationSchema , as well
as specifies extended Woodstox-specific interface for accessing
DTD-specific things like entity expansions and notation properties. |
| DTDSubsetImpl |
The default implementation of
DTDSubset |
| DTDTypingNonValidator |
This class is a "non-validating validator"; a validator-like object
that handles DTD-based non-validation functionality: determining type
information and default values.
|
| DTDValidator |
Woodstox implementation of
XMLValidator ; the class that
handles DTD-based validation. |
| DTDValidatorBase |
Shared abstract base class for Woodstox implementations
of
XMLValidator for DTD validation. |
| EmptyValidator |
Simple content model validator that accepts no elements, ever; this
is true for pure #PCDATA content model as well as EMPTY content model.
|
| FullDTDReader |
Reader that reads in DTD information from internal or external subset.
|
| LargePrefixedNameSet |
Implementation of
PrefixedNameSet suitable for storing large number
of entries; basically anything above trivially small sets (4 or less). |
| MinimalDTDReader |
Minimal DTD reader implementation that only knows how to skip
internal DTD subsets.
|
| ModelNode |
Abstract base class for classes constructed from
ContentSpec
objects, when they get rewritten (when their ContentSpec.rewrite()
gets called). |
| OptionalModel |
Content specification class that represents an optional specification.
|
| PrefixedNameSet | |
| SeqContentSpec |
Content specification that defines model that has sequence of one or more
elements that have to come in the specified order.
|
| SmallPrefixedNameSet |
PrefixedNameSet implementation suitable for storing small set of PrefixedName
values (generally 8 or less).
|
| StarModel |
Model class that represents any number of repetitions of its submodel
(including no repetitions).
|
| StructValidator |
Base class for validator Objects used to validate tree structure of an
XML-document against DTD.
|
| TokenContentSpec |
Content specification that defines content model consisting of just
one allowed element.
|
| TokenModel |
Model class that encapsulates a single (obligatory) token instance.
|
Copyright © 2012–2015 FasterXML. All rights reserved.


 Input ID
2. Log In To Google


Margins and Borders and Paddings, Oh my!
A Quick look at Margins, Borders, and Paddings in CSS
March 29th, 2015
Margins
In CSS, the margin is a property that is the space that surrounds an element.(which could be a block of text, or an image, perhaps! And, when margins are involved, is typically set in a property such as div or section.) The margin is what we use to set the distance between each element. It is essentially what positions the elements on a page. In non-technical terms, it is used to put everything where we want it to go! Here is a little piece of html code showing a margin and it's value(how big the space around it is.)
/* div { margin: 50px 30px 50px 30px } */
*NOTE: In the above code , the margin values are always set in clockwise in relation to the element, meaning: first value is the top margin, second value is the right margin, third value is the bottom margin, and fourth value is the left margin.
You don't always have to set each side to a specific margin.You could just enter /* margin: 50px */ and it would simply set your margin to be 50px from the top and from the left of the page. It will use the value 50px to set your margin for the ends and the sides of your element. So, in reality, it is simply pushing your element 50px towards the bottom and towards the right. Below is an example, which is a screenshot from this great programming language learning website, CodeAcademy:
Borders
The border is quite simply the surrounding edge of the element. It is what "blocks" the content of the element in, so to speak. You can set your borders to specific colors, thickness, and even decide if you want it to be a solid line, or dashed. The code below is an example of how you could style a border in your css file:
/* div { border: 2px solid orange; } */
*NOTE: The code above would set a border around the div, and it would be 2 pixels thick, and be a solid orange color all the way around. Below you can see what this would look like with another screenshot from codeacademy:
Padding
I like to think of the padding as being the margin of the content inside the border. What the padding does is set a certain amount of space between the content itself and the border of the element. Here is some code below to show the padding property:
/* div { padding-top: 5px; padding-left: 10px; } */*NOTE: The above code would push the content 5 pixels from the top of the border, and 10 pixels from the left of the border. Below is a visual example from-you guessed it!- Codeacademy:


A responsive site is one that adapts as the screen size changes. For example, the website would respond differently when opened on a mobile device than on a desktop computer. Responsiveness is important because people are accessing the web from multiple types of devices with varying screen sizes.
Mobile first design is the building of a website from a small-screen prospective and then scaling the website up for larger screens.
Frameworks are tools that web developers can use to build websites more quickly. A framework is a pre-built template that can easily be customized.
A wireframe is a bare-bones draft of a websites design. Wireframing is useful because it helps a developer organize the websites indexes. The parts of my wireframe that I did not know how to implement inlcude the circle in the middle and the box distinctions among the categories. Below are wireframes I created for this website.


Finite
Finite is a simple, pure Swift finite state machine. Only exlicitly allowed transitions between states are allowed, otherwise an error will be thrown.
Version 2.0.0
supports Swift 2.2
and 3.0 Beta
, whereas Finite 3.x.x
only supports Swift 3.0
.
Installation
EasyInject is a Swift only project and supports Swift Package Manager, Carthage and CocoaPods.
Swift Package Manager
import PackageDescription
let package = Package(
name: "YourPackage",
dependencies: [
.Package(url: "https://github.com/vknabel/EasyInject.git", majorVersion: 3)
]
)
Carthage
github "vknabel/EasyInject"
CocoaPods
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
pod 'EasyInject'
Introduction
It operates on a given type, where each value represents an internal state of the machine. A StateMachine
is defined by providing all allowed state transitions.
enum Test: Int {
case Saving, Fetching, Deleting
case Ready, Fail
}
var machine = StateMachine<Test>(initial: .Ready) { c in
c.allow(from: [.Saving, .Fetching, .Deleting], to: [.Ready, .Fail])
c.allow(from: .Ready, to: [.Saving, .Fetching, .Deleting])
}
It is possible to provide callbacks, that will be called once certain transitions will happen.
machine.onTransitions(from: .Ready) {
println("From Ready: show activity indicator")
}
machine.onTransitions(to: .Ready) {
println("To Ready: hide activity indicator")
}
machine.onTransitions(to: .Saving) {
println("To: save")
}
Once the StateMachine
has been set up, you may trigger all transitions you have declared above.
try machine.transition(to: .Saving) {
println("Triggered: save")
}
// this will throw an error
try machine.transition(to: .Fetching)
Author
Valentin Knabel<EMAIL_ADDRESS>License
Finite is available under the MIT license. See the LICENSE file for more info.


Puppet installation from modules
A quick example of how to use Puppet to install and manage MySQL. We'll download required Puppet modules from their git repositories.
Again, everything is tried on Ubuntu (14.04).
Make sure hostname -f
shows your FQDN. Then install puppet
sudo apt-get install puppet
We'll use git submodules
to manage different git repositories. But first,
create our own repository
mkdir puppet-mysql
cd puppet-mysql
git init
Install Puppet modules stdlib
and mysql
into directory modules
as git
submodules.
git submodule add https://github.com/puppetlabs/puppetlabs-stdlib.git modules/stdlib
git submodule add https://github.com/puppetlabs/puppetlabs-mysql.git modules/mysql
Now create a site.pp file in the root directory of this repository, with the following contents
node default {
class { 'mysql::server':
root_password => 'nova'
}
}
Now we'll apply this site.pp
file to the system. As our modules directory is
different from Puppet's default, we'll need to specify that while running
Puppet.
sudo puppet apply site.pp --modulepath modules/
To see the action in more detail, also pass the --debug
option to the above
execution
And you're all set.
Now from your commandline, you can try to access mysql and it will work!
mysql -uroot -pnova
Done! Cheers!


Hi! I'm an enthusiast from McMaster University who is pursuing a degree in Mechatronics Engineering. Some of my favorite things include coding, robots, circuits, UI/UX design, Sports and EDM music. I am currently trying to find a summer internship upto a period of 16 months as of May 2016. My top skills as of now include Java, Python, C/C++, JavaScript and Arduino. I am also really passionate about drones and so far have made one autonomous fighting robot and a quadcopter using Arduino. I also possess familiarity with HTML/CSS, PHP, JQuery, SQL and PCB Circuit Design.
This template features the 'Lato' font, part of the Google Web Font library, as well as icons from Font Awesome.


console.handlers
Section: System Administrator's Manual (5)Updated: 2005/3/18
Index Return to Main Contents
NAME
console.handlers - file specifying handlers of console lock and unlock eventsDESCRIPTION
/etc/security/console.handlers determines which programs will be run when an user obtains the console lock at login time, and when the user loses it on log out. It is read by the pam_console module.The format is:
handler-filename lock|unlock [flag ...]
Where handler-filename is a name of the executable to be run, lock or unlock specifies on which event it should be run, and flags specify how should pam_console call it.
Additionally there should be a line which specifies glob patterns of console devices.
The format of this line is: console-name consoledevs regex [regex ...]
Where console-name is a name of the console class - currently ignored - and regexes are regular expression patterns which specify the name of the tty device. Only the first such line is consulted.
FLAGS
- logfail
- The pam_console module should log error to the system log if the return value of the handler is not zero or if the handler can not be executed.
- wait
- The pam_console should wait for the handler to exit before continuing.
- setuid
- The handler should be executed with uid/gid of the user which obtained the console lock.
- tty
- The handler will get a tty name as obtained from PAM as a parameter.
- user
- The handler will get an user name as obtained from PAM as a parameter.
Anything else will be added directly as a parameter to the handler executable.
SEE ALSO
pam_console(8)AUTHOR
Tomas Mraz<EMAIL_ADDRESS>Index
This document was created by man2html, using the manual pages.
Time: 05:33:59 GMT, December 24, 2015


'Chill Factor' (1999)
A movie review by Walter Frith
<EMAIL_ADDRESS>Member of the 'Online Film Critics Society' http://www.ofcs.org
Buddy action movies. I turned on 'Hooper' with Burt Reynolds the other night, and he, along with Jan Michael Vincent, portray two stunt men who aren't exactly close friends, but they respect each other's role in the same profession. The good ol' boy movies that Reynolds made famous in the 70's affected and continue to affect action movies today.
No better example of this is the 'Lethal Weapon' series, which are the buddy action genre's example of how great a formula can work if it's done properly. New and inventive situations eventually run out but flourish when the ideas are fresh and well in hand.
Sometimes fate chooses us and not the other way around. In 1996's 'Broken Arrow', two air men in the military split up a long standing friendship. One is the good guy (Christian Slater), the other (John Travolta) is the bad guy. Travolta's character becomes involved in a plot to steal nuclear weapons and sell them back to the government while Slater's character tries to stop him. Three years later, with 'Chill Factor' we have a movie with the same type of plot.
Cuba Gooding Jr. is such a great actor. His Oscar winning role in 'Jerry Maguire' hasn't seen him in a great role since. Like Rod Steiger and George Kennedy, he may suffer from the Oscar curse which plagues people with no great role after winning the award. In 'Chill Factor', set in Montana (but filmed in Utah and South Carolina), Gooding Jr. plays an ice cream delivery man named Arlo who becomes involved in a plot along with diner shop server Tim (Skeet involved) to stop a vengeful military man named Capt. Andrew Brynner (Peter Firth) who is looking for payback after serving a long prison sentence and is now planning to use a deadly chemical weapon on innocent people.
Sent to prison a decade earlier, blamed for letting a military experiment go wrong, Capt. Brynner wants quick cash by holding the deadly weapon and threatening to use it. Shades of 1996's 'The Rock' come to mind. Also, the chemical that will cause the catastrophe, nicknamed Elvis, will unleash its fury if it drops below 50 degrees. Kind of like that bus in 1994's 'Speed' that would explode with a bomb attached to it if it dropped below 50 miles per hour.
The movie is layered with a pretty entertaining pace for a film of its kind, probably the only thing that will save it from being a totally abysmal failure for something done before and now seen over and over again. Part action, part comedy, all complete hokum, 'Chill Factor' suffers from the old adage that the odds are not in its favour.
The scenery is under used in 'Chill Factor'. A golden opportunity is wasted to use the spectacular mountain scenery of a very visual state like Montana. The action scenes are close up and well edited but not from a lot of different angles you would expect to really make a movie move. Virtually every mode of transportation construction way is used. There are scenes on bridges, highways, and rivers.
Making his big screen debut as a director is Hugh Johnson. His vision shows some promise. The characterizations in 'Chill Factor', although stereotyped on the part of some, are clearly defined. The film's screenplay by Drew Gitlin and Mike Cheda is nothing more than a novelty with many plot holes. A cell phone even works in a tunnel in this movie!!! I also wondered while viewing it if it was little more than a marketing tool to boost the career of Skeet Ulrich. He has had some small roles in a few movies and this was perhaps an attempt to break him into the big time. He has had noticeable roles roles in 'The Craft', 'The Newton Boys' and 'As Good As It Gets' and hasn't quite found the star making role he is striving for.
The plot holes that make 'Chill Factor' impossible to recommend are simple. Two ordinary guys are not going to be able to stop a vicious military man and his gang where all of them are highly trained experts in weaponry, hand to hand combat and military strategy. At least for many of those involved, it won't exactly end their careers but it won't do anything to advance them at the same time in a film that is almost impossible to review where the ways to describe it seem to be repetitive. The film makers drew first blood in that category.
OUT OF 5 > * * *
Visit FILM FOLLOW-UP by Walter Frith http://www.cgocable.net/~wfrith/movies.htm
* * * * * - a must see * * * * 1/2 - don't miss it * * * * - an excellent film * * * 1/2 - a marginal recommendation * * * - can't quite recommend it * * 1/2 - don't recommend it * * - avoid it * 1/2 - avoid it seriously * - avoid it AT ALL COSTS 1/2 - see it at your own risk zero - may be hazardous to your health
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Interface IMixedRealitySurfaceObserver
Inherited Members
Namespace: Microsoft.MixedReality.Toolkit.Core.Interfaces.DataProviders.SpatialObservers
Assembly: cs.temp.dll.dll
Syntax
public interface IMixedRealitySurfaceObserver : IMixedRealitySpatialObserverDataProvider, IMixedRealityDataProvider, IMixedRealityService, IDisposable, IMixedRealityEventSource
Properties
CeilingSurfaceMaterial
Gets or sets the
Declaration
Material CeilingSurfaceMaterial { get; }
Property Value
| Type | Description |
|---|---|
| Material |
DisplayCeilingSurfaces
Gets or sets a value indicating if the surface finding subsystem is to automatically display ceiling surfaces within the application. When enabled, the surfaces will be added to the scene and rendered using the configured CeilingSurfaceMaterial.
Declaration
bool DisplayCeilingSurfaces { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
DisplayFloorSurfaces
Gets or sets a value indicating if the surface finding subsystem is to automatically display floor surfaces within the application. When enabled, the surfaces will be added to the scene and rendered using the configured FloorSurfaceMaterial.
Declaration
bool DisplayFloorSurfaces { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
DisplayPlatformSurfaces
Gets or sets a value indicating if the surface finding subsystem is to automatically display horizontal platform surfaces within the application. When enabled, the surfaces will be added to the scene and rendered using the configured PlatformSurfaceMaterial.
Declaration
bool DisplayPlatformSurfaces { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
DisplayWallSurfaces
Gets or sets a value indicating if the surface finding subsystem is to automatically display wall surfaces within the application. When enabled, the surfaces will be added to the scene and rendered using the configured WallSurfaceMaterial.
Declaration
bool DisplayWallSurfaces { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
FloorSurfaceMaterial
Gets or sets the
Declaration
Material FloorSurfaceMaterial { get; }
Property Value
| Type | Description |
|---|---|
| Material |
PlanarSurfaces
Gets the collection of
Declaration
IReadOnlyDictionary<int, GameObject> PlanarSurfaces { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyDictionary<Int32, GameObject> |
PlatformSurfaceMaterial
Gets or sets the
Declaration
Material PlatformSurfaceMaterial { get; }
Property Value
| Type | Description |
|---|---|
| Material |
SurfaceFindingMinimumArea
Gets or sets the minimum surface area, in square meters, that must be satisfied before a surface is identified.
Declaration
float SurfaceFindingMinimumArea { get; }
Property Value
| Type | Description |
|---|---|
| Single |
SurfacePhysicsLayerOverride
Overrides the PhysicsLayer with the provided value.
Declaration
int SurfacePhysicsLayerOverride { get; }
Property Value
| Type | Description |
|---|---|
| Int32 |
WallSurfaceMaterial
Gets or sets the
Declaration
Material WallSurfaceMaterial { get; }
Property Value
| Type | Description |
|---|---|
| Material |


EasyGroup
EasyGroup
A new, fun, way for students to collaborate with peers on homework, projects, or studying.
Log In


Hi, I am Zain Ansari
I am Web designer and Web developer.
Creating awesome and attractive layouts of websites and web applications,
Satisfy clients needs and expectations.
My name is Zain Ansari.
I am Computer Science student at Sir Syed University of Engineering and Technonolgy.
I like to play football.
Basic Info
Date of Birth: 27 February
Year of Birth: 1992
Gender: Male
Languages: Urdu and English
My Resume
EDUCATION
MATRICULATION | 2009 | SHADMAN ACADEMY
- Grade: A1 (82%)
- Related coursework: Computer Science
INTERMEDIATE | 2011 | GOV. DEGREE COLLEGE SRE MAJEED
- Grade: C (58%)
- Related coursework: Pre-Engineering
Bachelor in Science(BS) | 2012 | SIR SYED UNIVERSITY OF ENGINEERING AND TECHNOLOGY
- Related coursework: Computer Science
SKILLS
HTML5
CSS3
JAVASCRIPT
BOOTSTRAP
JQUERY
Php with MySql Database
TypeScript
ExpressJs
SOFTWARE PACKAGES
- Microsoft Office
- PhotoShop
- DreamWeaver
- WebStorm
- PhpStorm
- Visual Code
SHORT COURSES
- HTML5, CSS3, JAVASCRIPT, Bootstrap (Studied at Sir Syed University)


I've written before I prefer to do a manual install of MySQL over a repository one. I still do: I typically install from binary tarball or by compiling from source.
I'd like to share my setup procedure for Linux installation and service setup. I've done this dozens of times, on different Linux flavors, and it works well for me.
Installing from source
To get this straight: you sometimes have to compile the source files. I, for example, happen to use the Sphinx MySQLSE extension. You can only use it if compiled with MySQL. You had to compile a "vanilla" 5.1 version without query cache in order to completely remove the cache's mutex contention.
Anyway, I find the easiest way is to install onto a path associated with the server version. For example, I would install a 5.5 server onto /usr/local/mysql55
This way, a new version gets its own path, and no ambiguity.
To do that, use the prefix option on configuration step:
cd /path/to/extracted/source/tarball sh BUILD/autorun.sh ./configure --prefix=/usr/local/mysql55 make sudo make install
Once this is complete, you have everything under /usr/local/mysql55. This means binaries, libraries, scripts, etc.
To install the MySQL server as a service, copy the mysql.server script to /etc/init.d:
sudo cp /usr/local/mysql55/support-files/mysql.server /etc/init.d/mysql55
Again, I'm naming the script after the MySQL version. This avoids conflict with possible past or future installations of the MySQL server, which typically create a service named mysql or mysqld.
A thing to note about the mysql.server script is that it allows you (at around line #45) to set two variables:
- basedir: path to your installation directory. When compiling from source this is already setup with the path provided to the configure script. Thus, in our example, you can expect this variable to read /usr/local/mysql55. So basically nothing to do here.
- datadir: path to your data directory. If you're putting your my.cnf file in /etc or /etc/mysql, then setting datadir in my.cnf suffices. However, if you're going to put my.cnf itself on the data directory (e.g. so as to avoid collisions) then make sure to set the variable in the mysql.server init script.
Depending on your $PATH configuration, it is also a good idea to specify basedir variable on your my.cnf's [mysqld] section.
Which leads us to $PATH: your linux system is still unaware of the many binaries you've got in there. I typically add the following line at the end of /etc/bash.bashrc:
export PATH=/usr/local/mysql55:${PATH}
This is the most global PATH settings one can do. Alternatively, use /etc/profile, ~/.bashrc etc. (you may have noticed by now I'm working with bash).
Finally, need to setup the init script to run at startup and stop at shutdown.

- On RedHat/CentOS/related I use chkconfig --add mysql55, or linuxconf (since I'm lazy).
Installing from binary tarball
The only difference is that the mysql.server script is unaware of our deployment path. So the basedir variable must be set in that file. Other than that, follow same steps as for source installation (oh, of course no need to configure & make...).
comments powered by Disqus


{{#> admin }} {{#*inline "content-block"}}
Reboot the Raspberry Pi system
Shutdown the Raspberry Pi system


Speakers
Schedule
About
Register
Social 360
Speakers
Antenna Design
Prototyping
Chappell Ellison
Content Strategy
Don Norman
UX Design
Edward R. Miller
AR/VR/360
Ethan Marcotte
Responsive Design
Karissa Bell
Tech Reporter
Liz Ogbu
Socially Engaged Design
Massimo Banzi
Open Sourcing
Ryan Bell
VR Storytelling
Susan Kare
Interface Design
Tyler Radford
Humanitarian Applications
Zoë Quinn
Video Game Design


Sean Foust
Sean Foust has a passion for social entrepreneurship. He is inspired by the opportunity in business to propel environmental sustainability and social change. This opportunity is particularly vivid in the tech industry. Sean views the tech landscape as a kind of social change primordial soup, teeming with potentiality for positive growth.
Sean taught himself about technology when he was a child, partially through experimenting on an Apple IIc and partially through pestering his older brother who was learning to code on their family's Linux box. In addition to his propensity for tech, Sean has a knack for organization, creative problem solving and research projects, skills which support CoLab's internal operations. He is entering his 7th year working with cooperatives.
His passions include healthcare advocacy, green energy and permaculture design. When he isn't helping CoLab thrive, Sean spends his time listening to live music, hiking, camping, wildcrafting, kayaking, and doing all those things with the people that he loves.


increase
decrease
arc-progress.js
npm install arc-progress -S
These demos
Code
and read the documentation on
GitHub
Thank you for your star.


CREATE GROUP +
Group name:
{% if req%}
join group
{% endif %}
HOME
EVENTS
MEMBERS
Loading. Please Wait...
ADD GROUPS
{% for grps in reqgroup.all %}
{{grps.grp.agenda}}
{% endfor %}
Previous
/
Next
/
Stop
/
Start
MY GROUPS
{%for group in allgroups.all %}
{{group.groupid.agenda}}
{% endfor %}
Previous
/
Next
/
Stop
/
Start


-
Install Ionic
npm install -g @ionic/cli
First, install Node.js. Then, install the latest Ionic command-line tools in your terminal. Follow the Android and iOS platform guides to install required tools for development.
If you’re new to the command line, read our Terminal tutorial -
Start an app
ionic start myApp tabs
Create an Ionic App using one of our ready-made app templates, or a blank one to start fresh. Check out the Market for more designs.
For v1 projects, use the
--type ionic1
flag.$ ionic start myApp blank
$ ionic start myApp tabs
$ ionic start myApp sidemenu
-
Run your app
cd myApp
ionic serveMuch of your app can be built right in the browser with
ionic serve
. We recommend starting with this workflow.When you're ready to deploy your app to a real device, check out our Deploying guide.
-
Supercharge your app
ionic link
Update your app remotely, build native binaries in the cloud, and share your app easily with others, all from the Ionic Appflow dashboard.
Learn more about Ionic Appflow.
Your dashboard is always available at dashboard.ionicframework.com.
Get more with an Ionic account
An Ionic Account offers more than just the open source tools. Instantly get access to the Ionic Forum and Ionic Appflow cloud features
-
Continuous delivery
Skip the app stores by pushing versions of your app directly to your users, live.
-
Package apps in the cloud
Go from code to app store with no platform dependencies or complicated build steps.
-
Ionic updates and tutorials
Get access to the Forum, plus news and developer-focused trainings and workshops.
Don't take our word for it
Developers and teams across the globe build better apps with an Ionic Account
Lightning fast app creation.
Ionic Studio is a powerful app builder that delivers a smooth developer experience for teams building with Ionic. Get started with the fastest and easiest way to create award-winning cross-platform apps, from a single tool.
Get Studio Now


SP_mutex_unlock()
#include <sicstus/sicstus.h> static SP_mutex volatile mutex = SP_MUTEX_INITIALIZER; int SP_mutex_unlock(SP_mutex *pmx);
Unlocks the mutex.
Zero on error, non-zero on success.
The number of unlocks must match the number of locks and only the thread that performed the lock can unlock the mutex.
See the example of SP_mutex_lock()
.


Web Audio Drum Sequencer
Loaded with Roland TR-808 Samples
Tempo
Kick
Snare
Hi-Hat
Low Pass Filter
Cutoff Frequency
Quality
Reverb


Detects expressions of the form --x which might be mistook for pre-decrements.
Corresponds to
double_neg
lint from Rust Clippy.


Consent History for {{familyMember.getFullName()}} [{{familyMember.nhsNumber}}]
Consent history is not available.
Consented for Case {{consent.caseID}}{{consent.caseID==caseID ? ' (this case) ' : ' '}}on {{consent.created}}:
check Consent recorded by {{consent_event.authorising_user}} at {{consent_event.time}}
youtube_searched_for Consent used by {{consent_event.authorising_user}} at {{consent_event.time}}
not_interested Consent revocation recorded by {{consent_event.authorising_user}} at {{consent_event.time}}


Do you have an account?
Yes
Please sign in to your Innovation Funding Service account.
Sign inNo
You will be asked to create an account later.
Continue without an account
Please sign in to your Innovation Funding Service account.
Sign inYou will be asked to create an account later.


Home
FoxyDraft
Renewal
Welcome to Dashboard
Hello FoxyDraft, our tools will help you cook!
Total Spent:
USD 1.055
50 active
Tasks created
16 active
Profiles created
450 tasks
Success logged
5 tasks
Declines logged
Renewal
Hello FoxyDraft, our tools will help you cook!
Total Spent:
Tasks created
Profiles created
Success logged
Declines logged


List 1
Jamba Juice
Tea
Hot Chocalate
List 2
Jamba Juice
Tea
Hot Chocalate
List 3
Jamba Juice
Tea
Hot Chocalate
List 4
Jamba Juice
Tea
Hot Chocalate
List 5
Jamba Juice
Tea
Hot Chocalate


We redefine content!
- brand B2C e-business
- implement innovative solutions
- visualize integrated bandwidth
- architect killer systems
- productize innovative e-services
- embrace killer users
- strategize web-enabled experiences
- drive enterprise supply-chains
- streamline out-of-the-box relationships
- orchestrate sexy functionalities
- envisioneer frictionless initiatives
- harness sexy mindshare
- deploy magnetic deliverables
- brand collaborative platforms


| # | Who | = | Penalty | * | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Um_nik | 7 | 111 | + 00:01 | + 00:04 | + 00:06 | + 00:13 | + 00:21 | + 00:30 | + 00:36 | |
| 2 | tmwilliamlin168 | 7 | 119 | + 00:01 | + 00:03 | + 00:05 | + 00:11 | + 00:25 | + 00:32 | + 00:42 | |
| 3 | neal | 7 | 144 | + 00:01 | + 00:04 | + 00:05 | + 00:12 | + 00:36 | + 00:27 | +1 00:49 | |
| 4 | Farhod_Farmon | 7 | 167 | + 00:01 | + 00:04 | + 00:07 | + 00:12 | + 00:40 | + 00:24 | +1 01:09 | |
| 5 | I_love_chickpea | 7 | 178 | + 00:03 | + 00:06 | + 00:08 | +1 00:20 | + 00:31 | + 00:46 | + 00:54 | |
| 6 | Heltion | 7 | 204 | + 00:03 | + 00:06 | + 00:09 | + 00:23 | + 00:41 | + 00:54 | + 01:08 | |
| 7 | Electromaster | 7 | 206 | + 00:01 | + 00:04 | + 00:06 | + 00:13 | + 00:30 | + 00:58 | +1 01:24 | |
| 8 | kmjp | 7 | 218 | + 00:02 | + 00:05 | + 00:07 | + 00:15 | + 00:29 | +1 00:57 | +2 01:13 | |
| 9 | antontrygubO_o | 7 | 219 | + 00:01 | + 00:05 | + 00:07 | + 00:15 | + 00:38 | +2 01:00 | + 01:13 | |
| 9 | ashmelev | 7 | 219 | + 00:01 | + 00:04 | + 00:09 | + 00:14 | + 00:44 | + 00:57 | +1 01:20 | |
| 11 | uwi | 7 | 221 | + 00:02 | + 00:06 | + 00:09 | + 00:16 | + 00:33 | +2 00:59 | + 01:16 | |
| 12 | kal013 | 7 | 224 | + 00:01 | + 00:04 | + 00:07 | + 00:12 | +1 01:04 | + 00:44 | + 01:22 | |
| 13 | dreamoon_love_AA | 7 | 235 | -5 | + 00:06 | + 00:09 | + 00:11 | + 00:16 | +1 01:05 | + 00:38 | + 01:20 |
| 13 | tute7627 | 7 | 235 | + 00:02 | + 00:05 | + 00:07 | + 00:15 | + 00:37 | + 01:09 | +1 01:30 | |
| 15 | IgorI | 7 | 237 | + 00:01 | + 00:03 | + 00:05 | + 00:11 | + 00:43 | + 01:10 | +1 01:34 | |
| 16 | LayCurse | 7 | 240 | + 00:03 | + 00:07 | + 00:09 | + 00:21 | + 00:47 | + 01:01 | +1 01:22 | |
| 17 | hank55663 | 7 | 241 | + 00:01 | + 00:04 | + 00:07 | + 00:16 | +1 00:31 | +1 00:51 | +3 01:21 | |
| 18 | xiaowuc1 | 7 | 256 | + 00:05 | + 00:08 | + 00:11 | + 00:18 | + 00:42 | +1 01:10 | +1 01:22 | |
| 18 | BigBag | 7 | 256 | + 00:01 | + 00:04 | + 00:07 | + 00:16 | +2 01:14 | + 00:43 | + 01:31 | |
| 20 | icecuber | 7 | 258 | + 00:01 | + 00:04 | + 00:06 | + 00:14 | + 00:36 | + 01:01 | +4 01:36 | |
| 21 | natsugiri | 7 | 262 | + 00:02 | + 00:06 | + 00:09 | + 00:17 | + 00:47 | + 01:12 | + 01:49 | |
| 22 | iaNTU | 7 | 267 | + 00:02 | + 00:05 | + 00:09 | + 00:17 | + 00:43 | +3 01:41 | + 01:00 | |
| 23 | Geothermal | 7 | 270 | +1 00:01 | + 00:03 | + 00:04 | + 00:11 | +1 01:21 | + 00:47 | +1 01:33 | |
| 24 | fmota | 7 | 272 | +1 00:25 | + 00:22 | + 00:19 | + 00:30 | +2 00:58 | + 00:14 | + 01:14 | |
| 25 | liouzhou_101 | 7 | 274 | + 00:02 | + 00:06 | + 00:10 | +1 00:19 | +2 01:12 | + 00:46 | + 01:29 | |
| 26 | BohdanPastuschak | 7 | 293 | + 00:01 | + 00:04 | + 00:08 | + 00:27 | + 00:59 | + 01:44 | + 01:30 | |
| 27 | Marckess | 7 | 298 | + 00:02 | + 00:06 | + 00:09 | + 00:18 | +1 00:54 | + 01:28 | + 01:51 | |
| 28 | lessmeaning | 7 | 300 | +1 00:03 | + 00:06 | + 00:10 | +1 00:28 | + 01:17 | + 00:55 | + 01:41 | |
| 29 | Monogon | 7 | 303 | + 00:04 | + 00:07 | + 00:11 | + 00:18 | + 00:50 | +1 01:25 | + 01:58 | |
| 30 | keko37 | 7 | 316 | + 00:02 | + 00:09 | + 00:14 | + 00:24 | + 01:01 | + 01:55 | + 01:31 | |
| 31 | Bruteforceman | 7 | 320 | + 00:08 | + 00:16 | + 00:20 | + 00:29 | + 01:23 | + 00:57 | + 01:47 | |
| 31 | mango_lassi | 7 | 320 | +1 00:03 | + 00:07 | + 00:12 | + 00:24 | + 00:55 | + 01:32 | + 01:57 | |
| 31 | receed | 7 | 320 | + 00:02 | + 00:05 | + 00:09 | + 00:16 | +2 01:31 | +1 00:51 | +1 01:46 | |
| 31 | Arg_007 | 7 | 320 | + 00:03 | + 00:09 | + 00:13 | + 00:28 | + 01:33 | + 00:55 | + 01:59 | |
| 35 | zlc1114 | 7 | 347 | + 00:04 | + 00:09 | + 00:13 | + 00:20 | +1 01:43 | + 01:12 | + 01:56 | |
| 36 | wjli | 7 | 380 | -4 | + 00:02 | + 00:05 | + 00:08 | + 00:16 | + 00:51 | +4 01:22 | +6 01:56 |
| 37 | nikolapesic2802 | 7 | 391 | +1 00:53 | + 00:49 | + 00:47 | + 00:36 | + 00:29 | + 00:08 | +6 01:39 | |
| 38 | jiangly | 7 | 471 | + 00:44 | + 00:47 | + 00:49 | +1 00:56 | + 01:12 | + 01:32 | + 01:41 | |
| 39 | PinkRabbit | 7 | 533 | + 01:33 | + 01:31 | + 01:27 | +1 01:24 | + 01:15 | +1 00:48 | +1 00:25 | |
| 40 | xb0nS | 7 | 552 | +1 01:36 | + 01:28 | + 01:25 | + 01:22 | +2 00:34 | + 01:01 | + 01:16 | |
| 41 | tfg | 7 | 561 | + 01:40 | + 01:38 | + 01:35 | + 01:32 | +1 01:20 | +1 00:54 | + 00:22 | |
| 42 | riantkb | 7 | 682 | + 01:56 | + 01:53 | + 01:49 | + 01:46 | +2 01:38 | +1 01:08 | +1 00:32 | |
| 43 | dorijanlendvaj | 6 | 81 | +1 | + 00:01 | + 00:03 | + 00:05 | + 00:13 | + 00:20 | + 00:39 | |
| 44 | Maksim1744 | 6 | 110 | + 00:02 | + 00:04 | + 00:06 | + 00:14 | + 00:27 | +1 00:47 | ||
| 45 | emthrm | 6 | 127 | + 00:02 | + 00:05 | + 00:12 | + 00:17 | + 00:36 | + 00:55 | -1 | |
| 46 | queria.ser.arthur | 6 | 144 | + 00:01 | + 00:03 | + 00:06 | + 00:13 | + 00:37 | +2 01:04 | -1 | |
| 47 | AmShZ3 | 6 | 161 | + 00:02 | + 00:05 | + 00:09 | + 00:17 | + 00:53 | + 01:15 | ||
| 48 | valerikk2 | 6 | 163 | + 00:01 | + 00:03 | + 00:06 | + 00:12 | +1 00:41 | + 01:30 | ||
| 49 | MarcosK | 6 | 164 | + 00:02 | + 00:05 | + 00:10 | +1 00:21 | + 00:36 | +1 01:10 | -4 | |
| 50 | ulna | 6 | 166 | + 00:01 | + 00:05 | + 00:07 | + 00:16 | +3 00:37 | +1 01:00 | -2 | |
| 50 | cheetose | 6 | 166 | + 00:01 | + 00:04 | + 00:06 | + 00:13 | + 00:59 | + 01:23 | ||
| 52 | SSRS_ | 6 | 170 | + 00:01 | + 00:04 | + 00:08 | + 00:19 | +1 00:39 | -1 | + 01:29 | |
| 53 | risujiroh | 6 | 172 | + 00:01 | + 00:04 | +1 00:09 | +1 00:17 | + 00:44 | -3 | +1 01:07 | |
| 54 | dlalswp25 | 6 | 175 | + 00:01 | + 00:04 | + 00:08 | +1 00:19 | +2 00:48 | + 01:05 | ||
| 55 | rdd6584 | 6 | 177 | + 00:02 | + 00:07 | + 00:11 | + 00:20 | + 01:28 | + 00:49 | ||
| 56 | Temotoloraia | 6 | 179 | + 00:01 | + 00:04 | + 00:07 | + 00:15 | +1 00:49 | +1 01:23 | ||
| 57 | snow39 | 6 | 180 | + 00:04 | + 00:07 | + 00:10 | + 00:17 | +1 01:26 | + 00:46 | ||
| 58 | Minnakhmetov | 6 | 199 | + 00:01 | + 00:04 | + 00:09 | + 00:16 | +1 01:53 | + 00:46 | ||
| 59 | AsleepAdhyyan | 6 | 210 | + 00:03 | + 00:07 | + 00:13 | + 00:29 | + 01:02 | + 01:36 | ||
| 60 | rafaelgo2 | 6 | 211 | + 00:03 | + 00:06 | + 00:17 | + 00:25 | + 00:57 | +1 01:33 | ||
| 61 | Tiramister | 6 | 214 | + 00:02 | + 00:06 | + 00:10 | + 00:20 | + 01:46 | + 01:10 | ||
| 61 | mateusz | 6 | 214 | + 00:02 | + 00:06 | + 00:10 | + 00:16 | +3 01:03 | + 01:27 | -4 | |
| 63 | bartek95 | 6 | 216 | + 00:04 | + 00:07 | + 00:10 | +1 00:19 | + 01:33 | +1 01:03 | ||
| 64 | thai9cdb1 | 6 | 217 | + 00:06 | + 00:10 | + 00:14 | + 00:26 | + 00:54 | + 01:47 | ||
| 64 | _Sayaka_ | 6 | 217 | + 00:02 | + 00:07 | + 00:10 | + 00:20 | +1 01:05 | + 01:43 | ||
| 64 | ACCOUNT_FOR_BAD_ROUNDS | 6 | 217 | + 00:01 | + 00:04 | + 00:10 | +1 00:23 | + 01:07 | + 01:42 | ||
| 67 | Anachor | 6 | 222 | + 00:02 | + 00:07 | + 00:11 | + 00:25 | + 01:43 | + 01:14 | ||
| 68 | theBanzaiPredicament | 6 | 226 | + 00:06 | + 00:10 | + 00:22 | + 00:17 | + 01:08 | + 01:43 | ||
| 68 | Bench0310 | 6 | 226 | + 00:02 | + 00:05 | + 00:11 | + 00:28 | +3 00:56 | + 01:34 | -2 | |
| 68 | Felerius | 6 | 226 | + 00:01 | + 00:04 | +1 00:12 | + 00:19 | +1 00:49 | +2 01:41 | ||
| 71 | cuiaoxiang | 6 | 227 | + 00:02 | + 00:05 | + 00:07 | + 00:13 | +2 00:48 | +2 01:52 | ||
| 71 | Hemose | 6 | 227 | +2 00:03 | + 00:07 | + 00:18 | + 00:28 | + 01:03 | + 01:28 | ||
| 73 | Lawali | 6 | 228 | + 00:01 | + 00:04 | + 00:08 | +1 00:25 | + 00:50 | +2 01:50 | ||
| 74 | excodetalker | 6 | 229 | +1 00:03 | + 00:06 | + 00:09 | +2 00:21 | + 00:54 | +1 01:36 | ||
| 75 | codelegend | 6 | 233 | + 00:03 | + 00:06 | + 00:15 | + 00:57 | +1 00:45 | +1 01:27 | ||
| 76 | pwild | 6 | 234 | + 00:05 | + 00:09 | + 00:12 | +1 00:29 | + 01:10 | + 01:39 | ||
| 76 | JJLeo_ | 6 | 234 | + 00:02 | + 00:07 | + 00:11 | + 00:22 | + 01:02 | +2 01:50 | ||
| 76 | HanaYukii | 6 | 234 | + 00:12 | + 00:17 | + 00:19 | + 00:09 | + 01:15 | + 01:42 | ||
| 79 | atodo | 6 | 236 | + 00:01 | + 00:05 | + 00:08 | + 00:14 | + 01:18 | +2 01:50 | ||
| 80 | evilbuggy | 6 | 239 | -1 | + 00:02 | + 00:06 | + 00:11 | +1 00:23 | +2 01:04 | +1 01:33 | |
| 81 | RUSH_D_CAT | 6 | 244 | + 00:06 | + 00:09 | + 00:12 | + 00:33 | + 01:49 | + 01:15 | ||
| 82 | MilagrosRuiz | 6 | 246 | + 00:03 | + 00:07 | + 00:15 | + 00:21 | + 00:54 | +3 01:56 | ||
| 83 | Everule | 6 | 249 | +1 00:02 | + 00:06 | + 00:11 | +1 00:28 | +1 01:13 | + 01:39 | ||
| 84 | Alpha_Q | 6 | 250 | + 00:02 | + 00:05 | + 00:09 | + 00:16 | +2 01:07 | +2 01:51 | ||
| 84 | YouKn0wWho | 6 | 250 | + 00:02 | + 00:10 | + 00:05 | + 00:23 | + 01:04 | +3 01:56 | ||
| 86 | shuyingte | 6 | 254 | +1 00:04 | + 00:11 | + 00:16 | +1 00:32 | + 01:04 | + 01:47 | ||
| 87 | timofey_brawl_stars | 6 | 255 | + 00:04 | + 00:07 | + 00:27 | + 00:40 | + 01:13 | + 01:44 | ||
| 88 | fsshakkhor | 6 | 257 | + 00:03 | + 00:08 | + 00:18 | + 00:26 | + 01:07 | +2 01:55 | ||
| 89 | tob123 | 6 | 258 | + 00:05 | + 00:09 | +1 00:16 | + 00:27 | +1 01:05 | + 01:56 | ||
| 90 | stevenkplus | 6 | 259 | + 00:04 | + 00:06 | + 00:09 | + 00:22 | -2 | +3 01:22 | +1 01:36 | |
| 91 | Medeowex | 6 | 263 | + 00:01 | + 00:06 | + 00:08 | + 00:18 | +2 01:26 | +1 01:54 | ||
| 92 | ChaewonKim | 6 | 267 | + 00:04 | + 00:08 | + 00:17 | + 00:35 | + 01:06 | +2 01:57 | ||
| 93 | HaiApaKabar | 6 | 270 | + 00:07 | + 00:05 | + 00:14 | + 00:16 | +2 01:52 | +2 01:16 | ||
| 94 | UniverseofHK | 6 | 272 | + 00:03 | + 00:08 | + 00:15 | + 00:26 | +1 01:22 | +1 01:58 | ||
| 95 | ivandasfs | 6 | 273 | + 00:04 | + 00:08 | +1 00:14 | +1 00:23 | +2 01:57 | +1 00:57 | ||
| 96 | gafeol | 6 | 274 | + 00:02 | + 00:06 | + 00:16 | + 00:35 | + 01:01 | +4 01:54 | ||
| 97 | YJU | 6 | 275 | + 00:02 | + 00:06 | +1 00:17 | + 00:22 | + 01:26 | +2 01:52 | ||
| 98 | glpstkf | 6 | 280 | +1 00:07 | + 00:14 | +1 00:22 | + 00:34 | + 01:19 | + 01:44 | ||
| 99 | JustAnAverageCoder123 | 6 | 294 | + 00:01 | + 00:03 | + 00:06 | + 00:12 | -3 | +1 01:23 | +6 01:59 | |
| 100 | Iscream2001 | 6 | 296 | + 00:08 | + 00:15 | +1 00:26 | + 00:38 | + 01:25 | + 01:54 | ||
| 100 | jdurie | 6 | 296 | + 00:03 | + 00:06 | + 00:18 | +2 00:35 | +2 01:17 | + 01:57 | ||
| 102 | altair-chan | 6 | 299 | + 00:05 | + 00:09 | + 00:15 | + 01:35 | + 01:08 | + 01:47 | ||
| 103 | SecondThread | 6 | 301 | + 00:06 | + 00:09 | + 00:21 | +1 00:33 | +1 01:27 | +1 01:55 | ||
| 104 | Ari | 6 | 303 | + 00:19 | + 00:22 | + 00:27 | +2 00:17 | +3 01:07 | + 01:41 | ||
| 105 | rei.do.gado | 6 | 307 | + 00:04 | + 00:09 | + 00:28 | + 00:18 | +2 01:13 | +4 01:55 | ||
| 106 | AcidWrongGod | 6 | 310 | + 00:02 | + 00:05 | + 00:16 | +2 00:52 | +2 01:22 | + 01:53 | ||
| 107 | lucifer1004 | 6 | 312 | + 00:02 | + 00:05 | + 00:14 | + 00:33 | +2 01:22 | +4 01:56 | ||
| 108 | Torta | 6 | 313 | + 00:03 | + 01:25 | + 00:11 | + 00:21 | +1 01:20 | + 01:43 | ||
| 109 | D.Pavlenko | 6 | 320 | + 00:03 | + 00:07 | + 00:16 | +2 00:34 | + 01:12 | +5 01:58 | ||
| 110 | Mohammad.H915 | 6 | 452 | + 00:53 | + 00:57 | +1 01:11 | + 01:22 | +1 01:58 | + 00:51 | ||
| 111 | gyh20 | 5 | 81 | + 00:02 | + 00:06 | + 00:09 | + 00:17 | + 00:47 | -2 | ||
| 112 | 300I_am_queue | 5 | 84 | + 00:02 | + 00:06 | + 00:10 | + 00:22 | -2 | + 00:44 | ||
| 113 | Rubikun | 5 | 85 | + 00:02 | + 00:04 | + 00:07 | + 00:14 | + 00:58 | |||
| 114 | shubham__36 | 5 | 87 | + 00:02 | + 00:10 | + 00:06 | + 00:18 | -2 | + 00:51 | ||
| 115 | _LeMur_ | 5 | 88 | + 00:03 | + 00:06 | + 00:10 | + 00:21 | + 00:48 | |||
| 116 | Anchar | 5 | 89 | +1 00:02 | + 00:05 | + 00:10 | + 00:18 | + 00:44 | -1 | ||
| 117 | filibuster | 5 | 96 | + 00:01 | + 00:07 | + 00:11 | + 00:26 | + 00:51 | -8 | ||
| 118 | Taran_1407 | 5 | 97 | + 00:02 | + 00:06 | + 00:12 | + 00:19 | + 00:58 | |||
| 119 | PO3OBAR_Bblnb | 5 | 98 | + 00:02 | + 00:07 | + 00:14 | + 00:22 | + 00:53 | |||
| 119 | cuom1999 | 5 | 98 | + 00:04 | + 00:09 | + 00:13 | + 00:23 | + 00:49 | -4 | ||
| 121 | mugen1337 | 5 | 99 | + 00:03 | + 00:07 | + 00:13 | + 00:20 | + 00:56 | |||
| 122 | Dalenator | 5 | 102 | + 00:02 | + 00:06 | + 00:08 | + 00:15 | + 01:11 | |||
| 123 | nuip | 5 | 103 | + 00:04 | + 00:07 | + 00:09 | + 00:18 | -2 | +2 00:45 | ||
| 123 | leaf1415 | 5 | 103 | + 00:02 | + 00:05 | + 00:09 | + 00:21 | +1 00:56 | |||
| 125 | congthanh123 | 5 | 105 | + 00:03 | + 00:07 | + 00:09 | + 00:19 | +1 00:57 | |||
| 125 | lemelisk | 5 | 105 | + 00:02 | + 00:07 | + 00:11 | + 00:28 | + 00:57 | |||
| 127 | Yazmau | 5 | 107 | +1 00:04 | + 00:08 | + 00:11 | + 00:23 | + 00:51 | |||
| 128 | Gotz_X | 5 | 108 | + 00:03 | + 00:08 | + 00:13 | + 00:24 | + 01:00 | -2 | ||
| 129 | galen_colin | 5 | 109 | + 00:03 | + 00:07 | + 00:19 | + 00:29 | + 00:51 | -2 | ||
| 130 | Hyperbolic | 5 | 112 | +1 00:03 | + 00:07 | + 00:12 | +1 00:20 | + 00:50 | -1 | ||
| 131 | Rahul | 5 | 113 | + 00:06 | + 00:09 | + 00:18 | + 00:27 | + 00:53 | |||
| 132 | tlnllkbp | 5 | 116 | + 00:02 | + 00:06 | + 00:09 | + 00:22 | +1 01:07 | |||
| 133 | vsriram1012 | 5 | 117 | + 00:01 | + 00:06 | + 00:10 | + 00:20 | + 01:20 | |||
| 134 | AlexFetisov | 5 | 119 | + 00:02 | + 00:05 | + 00:17 | + 00:25 | + 01:10 | -7 | ||
| 135 | BlueDiamond | 5 | 120 | +2 00:06 | + 00:09 | + 00:04 | +1 00:20 | + 00:51 | -4 | ||
| 135 | Lucky_cat777 | 5 | 120 | + 00:01 | + 00:04 | + 00:11 | + 00:23 | +2 01:01 | |||
| 137 | yzcthink_twice | 5 | 122 | + 00:02 | + 00:24 | + 00:10 | + 00:19 | + 01:07 | |||
| 137 | chielo | 5 | 122 | + 00:05 | + 00:08 | + 00:13 | + 00:29 | + 01:07 | |||
| 139 | YukinoYukinoshita | 5 | 124 | + 00:01 | + 00:04 | +1 00:09 | + 00:24 | +1 01:06 | -4 | ||
| 139 | Mboker0109 | 5 | 124 | + 00:01 | + 00:05 | + 00:20 | + 00:29 | + 01:09 | |||
| 139 | -lwl- | 5 | 124 | + 00:02 | + 00:08 | + 00:14 | + 00:26 | -2 | + 01:14 | ||
| 139 | pllk | 5 | 124 | + 00:02 | + 00:06 | + 00:11 | + 00:18 | -2 | +1 01:17 | ||
| 143 | nwi | 5 | 126 | + 00:05 | + 00:10 | + 00:16 | +1 00:26 | + 00:59 | -2 | ||
| 144 | verngutz | 5 | 127 | + 00:02 | + 00:08 | + 00:14 | + 00:23 | +1 01:10 | |||
| 145 | Kavo_Chego | 5 | 128 | + 00:01 | + 00:03 | + 00:07 | + 00:23 | +1 01:24 | |||
| 146 | Nutella3000 | 5 | 129 | +1 00:01 | + 00:07 | + 00:10 | +1 00:23 | -2 | +2 00:48 | -4 | |
| 147 | Osaaama | 5 | 132 | + 00:02 | + 00:05 | + 00:10 | + 00:20 | -1 | +1 01:25 | ||
| 147 | WeirdBugsButOkay | 5 | 132 | + 00:01 | + 00:05 | + 00:10 | + 00:21 | + 01:35 | |||
| 149 | Bedo_Sayed | 5 | 133 | + 00:01 | + 00:05 | + 00:11 | + 00:21 | +1 01:25 | |||
| 149 | pichulia | 5 | 133 | +1 00:48 | + 00:06 | + 00:10 | + 00:17 | + 00:42 | -10 | ||
| 149 | mohit1O98 | 5 | 133 | + 00:02 | + 00:07 | + 00:15 | + 00:32 | + 01:17 | |||
| 149 | achvanov | 5 | 133 | +1 00:01 | + 00:05 | + 00:13 | +1 00:24 | +1 01:00 | |||
| 153 | NaVi_Gation | 5 | 134 | + 00:03 | + 00:10 | + 00:19 | + 00:32 | + 01:10 | |||
| 153 | miao22 | 5 | 134 | + 00:02 | + 00:05 | + 00:10 | + 00:21 | + 01:36 | |||
| 155 | gs15120 | 5 | 135 | + 00:03 | + 00:07 | + 00:12 | + 00:20 | +1 01:23 | |||
| 155 | rishant_m | 5 | 135 | + 00:02 | + 00:05 | + 00:10 | + 00:26 | + 01:32 | |||
| 155 | simratbrar | 5 | 135 | + 00:02 | + 00:07 | + 00:19 | + 00:32 | + 01:15 | |||
| 158 | Astrea | 5 | 136 | + 00:03 | + 00:06 | + 00:12 | + 00:28 | + 01:27 | |||
| 158 | RedStone | 5 | 136 | + 00:02 | + 00:06 | + 00:19 | +1 00:28 | + 01:11 | |||
| 158 | hofwe | 5 | 136 | -3 | + 00:04 | + 00:18 | + 00:11 | + 00:34 | + 01:09 | -1 | |
| 161 | Lucina | 5 | 137 | + 00:03 | + 00:07 | + 00:13 | + 00:30 | +1 01:14 | -2 | ||
| 162 | bhagwa_brigade | 5 | 138 | + 00:02 | + 00:15 | + 00:19 | + 00:30 | + 01:12 | -1 | ||
| 162 | Unsterblicher_Geist | 5 | 138 | +1 00:13 | + 00:12 | + 00:17 | + 00:23 | +1 00:53 | -5 | ||
| 162 | ANZ1217 | 5 | 138 | + 00:01 | + 00:05 | + 00:18 | + 00:25 | +1 01:19 | |||
| 162 | lckcode | 5 | 138 | +1 00:05 | + 00:08 | + 00:10 | + 00:25 | +1 01:10 | |||
| 166 | Marisa | 5 | 139 | +2 00:04 | + 00:07 | + 00:09 | + 00:21 | +2 00:58 | -7 | ||
| 166 | Mohamed.Sobhy | 5 | 139 | + 00:02 | + 00:05 | + 00:19 | + 00:29 | +1 01:14 | |||
| 166 | raghav_19 | 5 | 139 | + 00:04 | + 00:09 | + 00:15 | + 00:29 | + 01:22 | |||
| 166 | cookiedoth | 5 | 139 | + 00:03 | + 00:05 | + 00:08 | + 00:15 | +5 00:58 | -2 | ||
| 170 | WiwiHo | 5 | 140 | + 00:03 | + 00:05 | + 00:10 | + 00:31 | +1 01:21 | -1 | ||
| 170 | dp0 | 5 | 140 | + 00:05 | + 00:10 | +1 00:20 | + 00:28 | + 01:07 | -2 | ||
| 170 | smurf_again_lul_0208 | 5 | 140 | + 00:04 | + 00:08 | + 00:14 | + 00:24 | +1 01:20 | |||
| 170 | aajisaka | 5 | 140 | + 00:03 | + 00:06 | + 00:11 | +1 00:35 | + 01:15 | -1 | ||
| 174 | VasilyM | 5 | 142 | + 00:02 | + 00:08 | + 00:12 | +2 00:36 | + 01:04 | |||
| 174 | eSeF_ | 5 | 142 | + 00:04 | + 00:09 | + 00:13 | +1 00:32 | + 01:14 | |||
| 176 | BeRocky | 5 | 143 | + 00:02 | + 00:10 | + 00:05 | +1 00:19 | -5 | +1 01:27 | ||
| 176 | morio__ | 5 | 143 | + 00:02 | + 00:05 | + 00:15 | + 00:25 | + 01:36 | |||
| 176 | ZieiN | 5 | 143 | + 00:05 | + 00:10 | + 00:16 | + 00:27 | + 01:25 | |||
| 179 | nishant403 | 5 | 144 | +1 00:04 | + 00:07 | + 00:11 | +1 00:23 | + 01:19 | |||
| 180 | DarkoLoveRuby | 5 | 145 | + 00:02 | + 00:09 | + 00:23 | + 00:32 | +1 01:09 | |||
| 180 | rk42745417 | 5 | 145 | + 00:02 | + 00:05 | + 00:09 | +1 00:30 | +2 01:09 | -2 | ||
| 180 | Raiden | 5 | 145 | + 00:03 | + 00:07 | + 00:17 | + 00:35 | + 01:23 | |||
| 183 | Styrtnave | 5 | 146 | + 00:02 | + 00:13 | +1 00:10 | + 00:19 | + 01:32 | |||
| 183 | the_Eagle | 5 | 146 | + 00:03 | + 00:07 | + 00:11 | +1 00:36 | +1 01:09 | |||
| 185 | ck98 | 5 | 148 | + 00:02 | + 00:06 | + 00:14 | + 00:26 | +2 01:20 | |||
| 185 | msporyshev | 5 | 148 | + 00:03 | + 00:11 | + 00:18 | + 00:31 | + 01:25 | |||
| 187 | Kalptaru | 5 | 149 | + 00:02 | + 00:08 | + 00:15 | + 00:40 | + 01:24 | |||
| 187 | sunzihao | 5 | 149 | + 00:06 | + 00:11 | +1 00:21 | + 00:29 | + 01:12 | |||
| 187 | Bakry_ | 5 | 149 | + 00:01 | + 00:04 | + 00:09 | +1 00:27 | +1 01:28 | |||
| 190 | little_girl | 5 | 150 | + 00:04 | + 00:10 | + 00:16 | + 00:30 | +1 01:20 | -1 | ||
| 190 | crashed | 5 | 150 | +1 00:06 | + 00:19 | + 00:14 | + 00:28 | +1 01:03 | -1 | ||
| 192 | index_ | 5 | 151 | + 00:02 | + 00:10 | + 00:16 | + 00:31 | + 01:32 | |||
| 192 | Charbel11 | 5 | 151 | + 00:02 | + 00:08 | + 00:22 | + 00:35 | + 01:24 | |||
| 194 | luciocf | 5 | 153 | +1 00:04 | + 00:11 | + 00:16 | + 00:23 | -1 | + 01:29 | ||
| 195 | M1v1savva1601 | 5 | 154 | + 00:03 | + 00:07 | + 00:14 | + 00:29 | +1 01:31 | |||
| 195 | Sad_reacts_only | 5 | 154 | + 00:02 | + 00:07 | + 00:18 | +2 00:39 | + 01:08 | -4 | ||
| 197 | hyper_sinnniy | 5 | 156 | + 00:10 | + 00:17 | + 00:23 | + 00:37 | + 01:09 | |||
| 197 | andr0901 | 5 | 156 | + 00:01 | + 00:04 | + 00:14 | + 00:30 | +3 01:17 | |||
| 199 | darkkcyan | 5 | 157 | + 00:03 | + 00:06 | + 00:10 | +1 00:33 | + 01:35 | |||
| 199 | Ferume | 5 | 157 | + 00:01 | + 00:10 | + 00:16 | + 00:26 | +3 01:14 | -4 | ||
|
Accepted
Tried |
12887 14079 |
12274 12433 |
3654 7134 |
2381 5925 |
442 729 |
134 213 |
65 86 |