protected function selector(&$out)
{
$selector = [];
for (;;) {
if ($this->match('[>+~]+', $m)) {
$selector[] = [$m[0]];
continue;
}
if ($this->selectorSingle($part)) {
$selector[] = $part;
$this->match('\\s+', $m);
continue;
}
if ($this->match('\\/[^\\/]+\\/', $m)) {
$selector[] = [$m[0]];
continue;
}
break;
}
if (count($selector) === 0) {
return false;
}
$out = $selector;
return true;
}