Twig_Error_Runtime
An exception has been thrown during the rendering of a template ("The each() function is deprecated. This message will be suppressed on further calls") in "@nucleus/page_head.html.twig" at line 8. Twig_Error_Runtime thrown with message "An exception has been thrown during the rendering of a template ("The each() function is deprecated. This message will be suppressed on further calls") in "@nucleus/page_head.html.twig" at line 8." Stacktrace: #59 Twig_Error_Runtime in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:218 #58 Whoops\Exception\ErrorException in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Node/Number.php:293 #57 each in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Node/Number.php:293 #56 Leafo\ScssPhp\Node\Number:output in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:2655 #55 Leafo\ScssPhp\Compiler:compileValue in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1616 #54 Leafo\ScssPhp\Compiler:compileChild in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1282 #53 Leafo\ScssPhp\Compiler:compileChildrenNoReturn in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1035 #52 Leafo\ScssPhp\Compiler:compileBlock in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1557 #51 Leafo\ScssPhp\Compiler:compileChild in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1282 #50 Leafo\ScssPhp\Compiler:compileChildrenNoReturn in /home/jedrej/public_html/libraries/gantry5/classes/Gantry/Component/Stylesheet/Scss/Compiler.php:411 #49 Gantry\Component\Stylesheet\Scss\Compiler:importFile in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1477 #48 Leafo\ScssPhp\Compiler:compileImport in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1539 #47 Leafo\ScssPhp\Compiler:compileChild in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1282 #46 Leafo\ScssPhp\Compiler:compileChildrenNoReturn in /home/jedrej/public_html/libraries/gantry5/classes/Gantry/Component/Stylesheet/Scss/Compiler.php:411 #45 Gantry\Component\Stylesheet\Scss\Compiler:importFile in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1477 #44 Leafo\ScssPhp\Compiler:compileImport in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1539 #43 Leafo\ScssPhp\Compiler:compileChild in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1282 #42 Leafo\ScssPhp\Compiler:compileChildrenNoReturn in /home/jedrej/public_html/libraries/gantry5/classes/Gantry/Component/Stylesheet/Scss/Compiler.php:411 #41 Gantry\Component\Stylesheet\Scss\Compiler:importFile in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1477 #40 Leafo\ScssPhp\Compiler:compileImport in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1539 #39 Leafo\ScssPhp\Compiler:compileChild in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1282 #38 Leafo\ScssPhp\Compiler:compileChildrenNoReturn in /home/jedrej/public_html/libraries/gantry5/classes/Gantry/Component/Stylesheet/Scss/Compiler.php:411 #37 Gantry\Component\Stylesheet\Scss\Compiler:importFile in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1477 #36 Leafo\ScssPhp\Compiler:compileImport in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1539 #35 Leafo\ScssPhp\Compiler:compileChild in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:1282 #34 Leafo\ScssPhp\Compiler:compileChildrenNoReturn in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:295 #33 Leafo\ScssPhp\Compiler:compileRoot in /home/jedrej/public_html/libraries/gantry5/vendor/leafo/scssphp/src/Compiler.php:194 #32 Leafo\ScssPhp\Compiler:compile in /home/jedrej/public_html/libraries/gantry5/classes/Gantry/Component/Stylesheet/ScssCompiler.php:110 #31 Gantry\Component\Stylesheet\ScssCompiler:compileFile in /home/jedrej/public_html/libraries/gantry5/classes/Gantry/Component/Theme/ThemeTrait.php:234 #30 Gantry\Framework\Theme:css in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:613 #29 Twig_Template:getAttribute in /home/jedrej/public_html/cache/gantry5/rt_protean/twig/15/15b44bf65bdb39353eeb2c5fc06d32441af4d1913ec10fde840e1a8f05d07b0a.php:174 #28 __TwigTemplate_7f6ea76f03cdc616594360456571037fc7ec967c6a77eacb931b6bbf7ce36629:block_head_stylesheets in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:203 #27 Twig_Template:displayBlock in /home/jedrej/public_html/cache/gantry5/rt_protean/twig/15/15b44bf65bdb39353eeb2c5fc06d32441af4d1913ec10fde840e1a8f05d07b0a.php:46 #26 __TwigTemplate_7f6ea76f03cdc616594360456571037fc7ec967c6a77eacb931b6bbf7ce36629:doDisplay in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:396 #25 Twig_Template:displayWithErrorHandling in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:364 #24 Twig_Template:display in /home/jedrej/public_html/cache/gantry5/rt_protean/twig/20/20f73cb7c50139ba0860296e5f30d2189cfdf3f0f3a6fcc4d932fe15ba590a95.php:27 #23 __TwigTemplate_09e2e6a06cd508ce6e101658677fe758af985bfc5e2e245b319b2cb9f818ca7f:doDisplay in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:396 #22 Twig_Template:displayWithErrorHandling in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:364 #21 Twig_Template:display in /home/jedrej/public_html/cache/gantry5/rt_protean/twig/44/447b052ce1cf57bca4baa34c8040dc729ca5784487ba87e4f50e4934f464b374.php:183 #20 __TwigTemplate_1eb0304aaf50052de8b88c2482613fe62c58dfd9f2cde724225488b783146fda:block_page_head in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:203 #19 Twig_Template:displayBlock in /home/jedrej/public_html/cache/gantry5/rt_protean/twig/44/447b052ce1cf57bca4baa34c8040dc729ca5784487ba87e4f50e4934f464b374.php:91 #18 __TwigTemplate_1eb0304aaf50052de8b88c2482613fe62c58dfd9f2cde724225488b783146fda:doDisplay in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:396 #17 Twig_Template:displayWithErrorHandling in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:364 #16 Twig_Template:display in /home/jedrej/public_html/cache/gantry5/rt_protean/twig/e4/e449659607d1c76ebae33ea8d0f82c325d59ec2060dbc673207ec8a67e2a02c4.php:24 #15 __TwigTemplate_80b40385f5725a96264835c8d993b26b67ac3b0f64a196ea1a8a203f92e0e854:doDisplay in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:396 #14 Twig_Template:displayWithErrorHandling in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:364 #13 Twig_Template:display in /home/jedrej/public_html/cache/gantry5/rt_protean/twig/de/de6fe812defc18f55f978527adc8a0707bb5fdc9926c9bf7ced65b267a5bf83b.php:24 #12 __TwigTemplate_1b835164966094a799d7ecad59754984598c6c3e10c847e649e14bb0f0cceecc:doDisplay in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:396 #11 Twig_Template:displayWithErrorHandling in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:364 #10 Twig_Template:display in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Template.php:375 #9 Twig_Template:render in /home/jedrej/public_html/libraries/gantry5/vendor/twig/twig/lib/Twig/Environment.php:357 #8 Twig_Environment:render in /home/jedrej/public_html/libraries/gantry5/classes/Gantry/Component/Theme/AbstractTheme.php:162 #7 Gantry\Component\Theme\AbstractTheme:render in /home/jedrej/public_html/templates/rt_protean/index.php:24 #6 require in /home/jedrej/public_html/libraries/joomla/document/html.php:578 #5 JDocumentHtml:_loadTemplate in /home/jedrej/public_html/libraries/joomla/document/html.php:640 #4 JDocumentHtml:_fetchTemplate in /home/jedrej/public_html/libraries/joomla/document/html.php:455 #3 JDocumentHtml:parse in /home/jedrej/public_html/libraries/cms/application/cms.php:1072 #2 JApplicationCms:render in /home/jedrej/public_html/libraries/cms/application/site.php:773 #1 JApplicationSite:render in /home/jedrej/public_html/libraries/cms/application/cms.php:267 #0 JApplicationCms:execute in /home/jedrej/public_html/index.php:49
Stack frames (60)
59
Twig_Error_Runtime
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
218
58
Whoops
\
Exception
\
ErrorException
/
vendor
/
leafo
/
scssphp
/
src
/
Node
/
Number.php
293
57
each
/
vendor
/
leafo
/
scssphp
/
src
/
Node
/
Number.php
293
56
Leafo
\
ScssPhp
\
Node
\
Number
output
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
2655
55
Leafo
\
ScssPhp
\
Compiler
compileValue
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1616
54
Leafo
\
ScssPhp
\
Compiler
compileChild
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1282
53
Leafo
\
ScssPhp
\
Compiler
compileChildrenNoReturn
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1035
52
Leafo
\
ScssPhp
\
Compiler
compileBlock
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1557
51
Leafo
\
ScssPhp
\
Compiler
compileChild
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1282
50
Leafo
\
ScssPhp
\
Compiler
compileChildrenNoReturn
/
classes
/
Gantry
/
Component
/
Stylesheet
/
Scss
/
Compiler.php
411
49
Gantry
\
Component
\
Stylesheet
\
Scss
\
Compiler
importFile
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1477
48
Leafo
\
ScssPhp
\
Compiler
compileImport
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1539
47
Leafo
\
ScssPhp
\
Compiler
compileChild
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1282
46
Leafo
\
ScssPhp
\
Compiler
compileChildrenNoReturn
/
classes
/
Gantry
/
Component
/
Stylesheet
/
Scss
/
Compiler.php
411
45
Gantry
\
Component
\
Stylesheet
\
Scss
\
Compiler
importFile
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1477
44
Leafo
\
ScssPhp
\
Compiler
compileImport
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1539
43
Leafo
\
ScssPhp
\
Compiler
compileChild
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1282
42
Leafo
\
ScssPhp
\
Compiler
compileChildrenNoReturn
/
classes
/
Gantry
/
Component
/
Stylesheet
/
Scss
/
Compiler.php
411
41
Gantry
\
Component
\
Stylesheet
\
Scss
\
Compiler
importFile
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1477
40
Leafo
\
ScssPhp
\
Compiler
compileImport
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1539
39
Leafo
\
ScssPhp
\
Compiler
compileChild
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1282
38
Leafo
\
ScssPhp
\
Compiler
compileChildrenNoReturn
/
classes
/
Gantry
/
Component
/
Stylesheet
/
Scss
/
Compiler.php
411
37
Gantry
\
Component
\
Stylesheet
\
Scss
\
Compiler
importFile
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1477
36
Leafo
\
ScssPhp
\
Compiler
compileImport
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1539
35
Leafo
\
ScssPhp
\
Compiler
compileChild
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
1282
34
Leafo
\
ScssPhp
\
Compiler
compileChildrenNoReturn
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
295
33
Leafo
\
ScssPhp
\
Compiler
compileRoot
/
vendor
/
leafo
/
scssphp
/
src
/
Compiler.php
194
32
Leafo
\
ScssPhp
\
Compiler
compile
/
classes
/
Gantry
/
Component
/
Stylesheet
/
ScssCompiler.php
110
31
Gantry
\
Component
\
Stylesheet
\
ScssCompiler
compileFile
/
classes
/
Gantry
/
Component
/
Theme
/
ThemeTrait.php
234
30
Gantry
\
Framework
\
Theme
css
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
613
29
Twig_Template
getAttribute
/
home
/
jedrej
/
public_html
/
cache
/
gantry5
/
rt_protean
/
twig
/
15
/
15b44bf65bdb39353eeb2c5fc06d32441af4d1913ec10fde840e1a8f05d07b0a.php
174
28
__TwigTemplate_7f6ea76f03cdc616594360456571037fc7ec967c6a77eacb931b6bbf7ce36629
block_head_stylesheets
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
203
27
Twig_Template
displayBlock
/
home
/
jedrej
/
public_html
/
cache
/
gantry5
/
rt_protean
/
twig
/
15
/
15b44bf65bdb39353eeb2c5fc06d32441af4d1913ec10fde840e1a8f05d07b0a.php
46
26
__TwigTemplate_7f6ea76f03cdc616594360456571037fc7ec967c6a77eacb931b6bbf7ce36629
doDisplay
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
396
25
Twig_Template
displayWithErrorHandling
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
364
24
Twig_Template
display
/
home
/
jedrej
/
public_html
/
cache
/
gantry5
/
rt_protean
/
twig
/
20
/
20f73cb7c50139ba0860296e5f30d2189cfdf3f0f3a6fcc4d932fe15ba590a95.php
27
23
__TwigTemplate_09e2e6a06cd508ce6e101658677fe758af985bfc5e2e245b319b2cb9f818ca7f
doDisplay
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
396
22
Twig_Template
displayWithErrorHandling
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
364
21
Twig_Template
display
/
home
/
jedrej
/
public_html
/
cache
/
gantry5
/
rt_protean
/
twig
/
44
/
447b052ce1cf57bca4baa34c8040dc729ca5784487ba87e4f50e4934f464b374.php
183
20
__TwigTemplate_1eb0304aaf50052de8b88c2482613fe62c58dfd9f2cde724225488b783146fda
block_page_head
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
203
19
Twig_Template
displayBlock
/
home
/
jedrej
/
public_html
/
cache
/
gantry5
/
rt_protean
/
twig
/
44
/
447b052ce1cf57bca4baa34c8040dc729ca5784487ba87e4f50e4934f464b374.php
91
18
__TwigTemplate_1eb0304aaf50052de8b88c2482613fe62c58dfd9f2cde724225488b783146fda
doDisplay
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
396
17
Twig_Template
displayWithErrorHandling
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
364
16
Twig_Template
display
/
home
/
jedrej
/
public_html
/
cache
/
gantry5
/
rt_protean
/
twig
/
e4
/
e449659607d1c76ebae33ea8d0f82c325d59ec2060dbc673207ec8a67e2a02c4.php
24
15
__TwigTemplate_80b40385f5725a96264835c8d993b26b67ac3b0f64a196ea1a8a203f92e0e854
doDisplay
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
396
14
Twig_Template
displayWithErrorHandling
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
364
13
Twig_Template
display
/
home
/
jedrej
/
public_html
/
cache
/
gantry5
/
rt_protean
/
twig
/
de
/
de6fe812defc18f55f978527adc8a0707bb5fdc9926c9bf7ced65b267a5bf83b.php
24
12
__TwigTemplate_1b835164966094a799d7ecad59754984598c6c3e10c847e649e14bb0f0cceecc
doDisplay
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
396
11
Twig_Template
displayWithErrorHandling
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
364
10
Twig_Template
display
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
375
9
Twig_Template
render
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
357
8
Twig_Environment
render
/
classes
/
Gantry
/
Component
/
Theme
/
AbstractTheme.php
162
7
Gantry
\
Component
\
Theme
\
AbstractTheme
render
/
home
/
jedrej
/
public_html
/
templates
/
rt_protean
/
index.php
24
6
require
/
home
/
jedrej
/
public_html
/
libraries
/
joomla
/
document
/
html.php
578
5
JDocumentHtml
_loadTemplate
/
home
/
jedrej
/
public_html
/
libraries
/
joomla
/
document
/
html.php
640
4
JDocumentHtml
_fetchTemplate
/
home
/
jedrej
/
public_html
/
libraries
/
joomla
/
document
/
html.php
455
3
JDocumentHtml
parse
/
home
/
jedrej
/
public_html
/
libraries
/
cms
/
application
/
cms.php
1072
2
JApplicationCms
render
/
home
/
jedrej
/
public_html
/
libraries
/
cms
/
application
/
site.php
773
1
JApplicationSite
render
/
home
/
jedrej
/
public_html
/
libraries
/
cms
/
application
/
cms.php
267
0
JApplicationCms
execute
/
home
/
jedrej
/
public_html
/
index.php
49
                throw new LogicException('A block must be a method on a Twig_Template instance.');
            }
 
            try {
                $template->$block($context, $blocks);
            } catch (Twig_Error $e) {
                if (!$e->getTemplateName()) {
                    $e->setTemplateName($template->getTemplateName());
                }
 
                // this is mostly useful for Twig_Error_Loader exceptions
                // see Twig_Error_Loader
                if (false === $e->getTemplateLine()) {
                    $e->setTemplateLine(-1);
                    $e->guess();
                }
 
                throw $e;
            } catch (Exception $e) {
                throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getTemplateName(), $e);
            }
        } elseif (false !== $parent = $this->getParent($context)) {
            $parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
        }
    }
 
    /**
     * Renders a parent block.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param string $name    The block name to render from the parent
     * @param array  $context The context
     * @param array  $blocks  The current set of blocks
     *
     * @return string The rendered block
     *
     * @internal
     */
        if (count($units) > 1 && array_sum($units) === 0) {
            $dimension = $this->dimension;
            $units     = [];
 
            $this->normalizeUnits($dimension, $units, 'in');
 
            $dimension = round($dimension, self::$precision);
            $units     = array_filter($units, function ($unitSize) {
                return $unitSize;
            });
        }
 
        $unitSize = array_sum($units);
 
        if ($compiler && ($unitSize > 1 || $unitSize < 0 || count($units) > 1)) {
            $compiler->throwError((string) $dimension . $this->unitStr() . " isn't a valid CSS value.");
        }
 
        reset($units);
        list($unit, ) = each($units);
 
        return (string) $dimension . $unit;
    }
 
    /**
     * {@inheritdoc}
     */
    public function __toString()
    {
        return $this->output();
    }
 
    /**
     * Normalize units
     *
     * @param integer|float $dimension
     * @param array         $units
     * @param string        $baseUnit
     */
    private function normalizeUnits(&$dimension, &$units, $baseUnit = 'in')
Exception message: The each() function is deprecated. This message will be suppressed on further calls
        if (count($units) > 1 && array_sum($units) === 0) {
            $dimension = $this->dimension;
            $units     = [];
 
            $this->normalizeUnits($dimension, $units, 'in');
 
            $dimension = round($dimension, self::$precision);
            $units     = array_filter($units, function ($unitSize) {
                return $unitSize;
            });
        }
 
        $unitSize = array_sum($units);
 
        if ($compiler && ($unitSize > 1 || $unitSize < 0 || count($units) > 1)) {
            $compiler->throwError((string) $dimension . $this->unitStr() . " isn't a valid CSS value.");
        }
 
        reset($units);
        list($unit, ) = each($units);
 
        return (string) $dimension . $unit;
    }
 
    /**
     * {@inheritdoc}
     */
    public function __toString()
    {
        return $this->output();
    }
 
    /**
     * Normalize units
     *
     * @param integer|float $dimension
     * @param array         $units
     * @param string        $baseUnit
     */
    private function normalizeUnits(&$dimension, &$units, $baseUnit = 'in')
 
                $r = round($r);
                $g = round($g);
                $b = round($b);
 
                if (count($value) === 5 && $value[4] !== 1) { // rgba
                    return 'rgba(' . $r . ', ' . $g . ', ' . $b . ', ' . $value[4] . ')';
                }
 
                $h = sprintf('#%02x%02x%02x', $r, $g, $b);
 
                // Converting hex color to short notation (e.g. #003399 to #039)
                if ($h[1] === $h[2] && $h[3] === $h[4] && $h[5] === $h[6]) {
                    $h = '#' . $h[1] . $h[3] . $h[5];
                }
 
                return $h;
 
            case Type::T_NUMBER:
                return $value->output($this);
 
            case Type::T_STRING:
                return $value[1] . $this->compileStringContent($value) . $value[1];
 
            case Type::T_FUNCTION:
                $args = ! empty($value[2]) ? $this->compileValue($value[2]) : '';
 
                return "$value[1]($args)";
 
            case Type::T_LIST:
                $value = $this->extractInterpolation($value);
 
                if ($value[0] !== Type::T_LIST) {
                    return $this->compileValue($value);
                }
 
                list(, $delim, $items) = $value;
 
                if ($delim !== ' ') {
                    $delim .= ' ';
                    } elseif ($value[0] === Type::T_LIST) {
                        foreach ($value[2] as &$item) {
                            if ($item[0] === Type::T_EXPRESSION && $item[1] === '/') {
                                $item = $this->expToString($item);
                            }
                        }
                    }
                }
 
                // if the value reduces to null from something else then
                // the property should be discarded
                if ($value[0] !== Type::T_NULL) {
                    $value = $this->reduce($value);
 
                    if ($value[0] === Type::T_NULL || $value === self::$nullString) {
                        break;
                    }
                }
 
                $compiledValue = $this->compileValue($value);
 
                $out->lines[] = $this->formatter->property(
                    $compiledName,
                    $compiledValue
                );
                break;
 
            case Type::T_COMMENT:
                if ($out->type === Type::T_ROOT) {
                    $this->compileComment($child);
                    break;
                }
 
                $out->lines[] = $child[1];
                break;
 
            case Type::T_MIXIN:
            case Type::T_FUNCTION:
                list(, $block) = $child;
 
            $ret = $this->compileChild($stm, $out);
 
            if (isset($ret)) {
                return $ret;
            }
        }
    }
 
    /**
     * Compile children and throw exception if unexpected @return
     *
     * @param array                                $stms
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out)
    {
        foreach ($stms as $stm) {
            $ret = $this->compileChild($stm, $out);
 
            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');
 
                return;
            }
        }
    }
 
    /**
     * Compile media query
     *
     * @param array $queryList
     *
     * @return string
     */
    protected function compileMediaQuery($queryList)
    {
        $out = '@media';
        $first = true;
            switch ($this->lineNumberStyle) {
                case self::LINE_COMMENTS:
                    $annotation->lines[] = '/* line ' . $line . ', ' . $file . ' */';
                    break;
 
                case self::DEBUG_INFO:
                    $annotation->lines[] = '@media -sass-debug-info{filename{font-family:"' . $file
                                         . '"}line{font-family:' . $line . '}}';
                    break;
            }
 
            $this->scope->children[] = $annotation;
        }
 
        $this->scope->children[] = $out;
 
        if (count($block->children)) {
            $out->selectors = $this->multiplySelectors($env);
 
            $this->compileChildrenNoReturn($block->children, $out);
        }
 
        $this->formatter->stripSemicolon($out->lines);
 
        $this->popEnv();
    }
 
    /**
     * Compile root level comment
     *
     * @param array $block
     */
    protected function compileComment($block)
    {
        $out = $this->makeOutputBlock(Type::T_COMMENT);
        $out->lines[] = $block[1];
        $this->scope->children[] = $out;
    }
 
    /**
 
                if (! $this->compileImport($rawPath, $out)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_DIRECTIVE:
                $this->compileDirective($child[1]);
                break;
 
            case Type::T_AT_ROOT:
                $this->compileAtRoot($child[1]);
                break;
 
            case Type::T_MEDIA:
                $this->compileMedia($child[1]);
                break;
 
            case Type::T_BLOCK:
                $this->compileBlock($child[1]);
                break;
 
            case Type::T_CHARSET:
                if (! $this->charsetSeen) {
                    $this->charsetSeen = true;
 
                    $out->lines[] = '@charset ' . $this->compileValue($child[1]) . ';';
                }
                break;
 
            case Type::T_ASSIGN:
                list(, $name, $value) = $child;
 
                if ($name[0] === Type::T_VARIABLE) {
                    $flags = isset($child[3]) ? $child[3] : [];
                    $isDefault = in_array('!default', $flags);
                    $isGlobal = in_array('!global', $flags);
 
                    if ($isGlobal) {
                        $this->set($name[1], $this->reduce($value), false, $this->rootEnv);
            $ret = $this->compileChild($stm, $out);
 
            if (isset($ret)) {
                return $ret;
            }
        }
    }
 
    /**
     * Compile children and throw exception if unexpected @return
     *
     * @param array                                $stms
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out)
    {
        foreach ($stms as $stm) {
            $ret = $this->compileChild($stm, $out);
 
            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');
 
                return;
            }
        }
    }
 
    /**
     * Compile media query
     *
     * @param array $queryList
     *
     * @return string
     */
    protected function compileMediaQuery($queryList)
    {
        $out = '@media';
        $first = true;
        $locator = Gantry::instance()['locator'];
 
        // see if tree is cached
        $realPath = $locator($path);
 
        if (isset($this->importCache[$realPath])) {
            $this->handleImportLoop($realPath);
 
            $tree = $this->importCache[$realPath];
        } else {
            $code   = file_get_contents($realPath);
            $parser = $this->parserFactory($path);
            $tree   = $parser->parse($code);
 
            $this->importCache[$realPath] = $tree;
        }
 
        $dirname = dirname($path);
        array_unshift($this->importPaths, $dirname);
        $this->compileChildrenNoReturn($tree->children, $out);
        array_shift($this->importPaths);
    }
}
 
        return [empty($m1)? $m2 : $m1, $t1];
    }
 
    /**
     * Compile import; returns true if the value was something that could be imported
     *
     * @param array   $rawPath
     * @param array   $out
     * @param boolean $once
     *
     * @return boolean
     */
    protected function compileImport($rawPath, $out, $once = false)
    {
        if ($rawPath[0] === Type::T_STRING) {
            $path = $this->compileStringContent($rawPath);
 
            if ($path = $this->findImport($path)) {
                if (! $once || ! in_array($path, $this->importedFiles)) {
                    $this->importFile($path, $out);
                    $this->importedFiles[] = $path;
                }
 
                return true;
            }
 
            return false;
        }
 
        if ($rawPath[0] === Type::T_LIST) {
            // handle a list of strings
            if (count($rawPath[2]) === 0) {
                return false;
            }
 
            foreach ($rawPath[2] as $path) {
                if ($path[0] !== Type::T_STRING) {
                    return false;
                }
            }
        $this->sourceLine   = isset($child[Parser::SOURCE_LINE]) ? $child[Parser::SOURCE_LINE] : -1;
        $this->sourceColumn = isset($child[Parser::SOURCE_COLUMN]) ? $child[Parser::SOURCE_COLUMN] : -1;
 
        switch ($child[0]) {
            case Type::T_SCSSPHP_IMPORT_ONCE:
                list(, $rawPath) = $child;
 
                $rawPath = $this->reduce($rawPath);
 
                if (! $this->compileImport($rawPath, $out, true)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_IMPORT:
                list(, $rawPath) = $child;
 
                $rawPath = $this->reduce($rawPath);
 
                if (! $this->compileImport($rawPath, $out)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_DIRECTIVE:
                $this->compileDirective($child[1]);
                break;
 
            case Type::T_AT_ROOT:
                $this->compileAtRoot($child[1]);
                break;
 
            case Type::T_MEDIA:
                $this->compileMedia($child[1]);
                break;
 
            case Type::T_BLOCK:
                $this->compileBlock($child[1]);
                break;
 
            $ret = $this->compileChild($stm, $out);
 
            if (isset($ret)) {
                return $ret;
            }
        }
    }
 
    /**
     * Compile children and throw exception if unexpected @return
     *
     * @param array                                $stms
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out)
    {
        foreach ($stms as $stm) {
            $ret = $this->compileChild($stm, $out);
 
            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');
 
                return;
            }
        }
    }
 
    /**
     * Compile media query
     *
     * @param array $queryList
     *
     * @return string
     */
    protected function compileMediaQuery($queryList)
    {
        $out = '@media';
        $first = true;
        $locator = Gantry::instance()['locator'];
 
        // see if tree is cached
        $realPath = $locator($path);
 
        if (isset($this->importCache[$realPath])) {
            $this->handleImportLoop($realPath);
 
            $tree = $this->importCache[$realPath];
        } else {
            $code   = file_get_contents($realPath);
            $parser = $this->parserFactory($path);
            $tree   = $parser->parse($code);
 
            $this->importCache[$realPath] = $tree;
        }
 
        $dirname = dirname($path);
        array_unshift($this->importPaths, $dirname);
        $this->compileChildrenNoReturn($tree->children, $out);
        array_shift($this->importPaths);
    }
}
 
        return [empty($m1)? $m2 : $m1, $t1];
    }
 
    /**
     * Compile import; returns true if the value was something that could be imported
     *
     * @param array   $rawPath
     * @param array   $out
     * @param boolean $once
     *
     * @return boolean
     */
    protected function compileImport($rawPath, $out, $once = false)
    {
        if ($rawPath[0] === Type::T_STRING) {
            $path = $this->compileStringContent($rawPath);
 
            if ($path = $this->findImport($path)) {
                if (! $once || ! in_array($path, $this->importedFiles)) {
                    $this->importFile($path, $out);
                    $this->importedFiles[] = $path;
                }
 
                return true;
            }
 
            return false;
        }
 
        if ($rawPath[0] === Type::T_LIST) {
            // handle a list of strings
            if (count($rawPath[2]) === 0) {
                return false;
            }
 
            foreach ($rawPath[2] as $path) {
                if ($path[0] !== Type::T_STRING) {
                    return false;
                }
            }
        $this->sourceLine   = isset($child[Parser::SOURCE_LINE]) ? $child[Parser::SOURCE_LINE] : -1;
        $this->sourceColumn = isset($child[Parser::SOURCE_COLUMN]) ? $child[Parser::SOURCE_COLUMN] : -1;
 
        switch ($child[0]) {
            case Type::T_SCSSPHP_IMPORT_ONCE:
                list(, $rawPath) = $child;
 
                $rawPath = $this->reduce($rawPath);
 
                if (! $this->compileImport($rawPath, $out, true)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_IMPORT:
                list(, $rawPath) = $child;
 
                $rawPath = $this->reduce($rawPath);
 
                if (! $this->compileImport($rawPath, $out)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_DIRECTIVE:
                $this->compileDirective($child[1]);
                break;
 
            case Type::T_AT_ROOT:
                $this->compileAtRoot($child[1]);
                break;
 
            case Type::T_MEDIA:
                $this->compileMedia($child[1]);
                break;
 
            case Type::T_BLOCK:
                $this->compileBlock($child[1]);
                break;
 
            $ret = $this->compileChild($stm, $out);
 
            if (isset($ret)) {
                return $ret;
            }
        }
    }
 
    /**
     * Compile children and throw exception if unexpected @return
     *
     * @param array                                $stms
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out)
    {
        foreach ($stms as $stm) {
            $ret = $this->compileChild($stm, $out);
 
            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');
 
                return;
            }
        }
    }
 
    /**
     * Compile media query
     *
     * @param array $queryList
     *
     * @return string
     */
    protected function compileMediaQuery($queryList)
    {
        $out = '@media';
        $first = true;
        $locator = Gantry::instance()['locator'];
 
        // see if tree is cached
        $realPath = $locator($path);
 
        if (isset($this->importCache[$realPath])) {
            $this->handleImportLoop($realPath);
 
            $tree = $this->importCache[$realPath];
        } else {
            $code   = file_get_contents($realPath);
            $parser = $this->parserFactory($path);
            $tree   = $parser->parse($code);
 
            $this->importCache[$realPath] = $tree;
        }
 
        $dirname = dirname($path);
        array_unshift($this->importPaths, $dirname);
        $this->compileChildrenNoReturn($tree->children, $out);
        array_shift($this->importPaths);
    }
}
 
        return [empty($m1)? $m2 : $m1, $t1];
    }
 
    /**
     * Compile import; returns true if the value was something that could be imported
     *
     * @param array   $rawPath
     * @param array   $out
     * @param boolean $once
     *
     * @return boolean
     */
    protected function compileImport($rawPath, $out, $once = false)
    {
        if ($rawPath[0] === Type::T_STRING) {
            $path = $this->compileStringContent($rawPath);
 
            if ($path = $this->findImport($path)) {
                if (! $once || ! in_array($path, $this->importedFiles)) {
                    $this->importFile($path, $out);
                    $this->importedFiles[] = $path;
                }
 
                return true;
            }
 
            return false;
        }
 
        if ($rawPath[0] === Type::T_LIST) {
            // handle a list of strings
            if (count($rawPath[2]) === 0) {
                return false;
            }
 
            foreach ($rawPath[2] as $path) {
                if ($path[0] !== Type::T_STRING) {
                    return false;
                }
            }
        $this->sourceLine   = isset($child[Parser::SOURCE_LINE]) ? $child[Parser::SOURCE_LINE] : -1;
        $this->sourceColumn = isset($child[Parser::SOURCE_COLUMN]) ? $child[Parser::SOURCE_COLUMN] : -1;
 
        switch ($child[0]) {
            case Type::T_SCSSPHP_IMPORT_ONCE:
                list(, $rawPath) = $child;
 
                $rawPath = $this->reduce($rawPath);
 
                if (! $this->compileImport($rawPath, $out, true)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_IMPORT:
                list(, $rawPath) = $child;
 
                $rawPath = $this->reduce($rawPath);
 
                if (! $this->compileImport($rawPath, $out)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_DIRECTIVE:
                $this->compileDirective($child[1]);
                break;
 
            case Type::T_AT_ROOT:
                $this->compileAtRoot($child[1]);
                break;
 
            case Type::T_MEDIA:
                $this->compileMedia($child[1]);
                break;
 
            case Type::T_BLOCK:
                $this->compileBlock($child[1]);
                break;
 
            $ret = $this->compileChild($stm, $out);
 
            if (isset($ret)) {
                return $ret;
            }
        }
    }
 
    /**
     * Compile children and throw exception if unexpected @return
     *
     * @param array                                $stms
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out)
    {
        foreach ($stms as $stm) {
            $ret = $this->compileChild($stm, $out);
 
            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');
 
                return;
            }
        }
    }
 
    /**
     * Compile media query
     *
     * @param array $queryList
     *
     * @return string
     */
    protected function compileMediaQuery($queryList)
    {
        $out = '@media';
        $first = true;
        $locator = Gantry::instance()['locator'];
 
        // see if tree is cached
        $realPath = $locator($path);
 
        if (isset($this->importCache[$realPath])) {
            $this->handleImportLoop($realPath);
 
            $tree = $this->importCache[$realPath];
        } else {
            $code   = file_get_contents($realPath);
            $parser = $this->parserFactory($path);
            $tree   = $parser->parse($code);
 
            $this->importCache[$realPath] = $tree;
        }
 
        $dirname = dirname($path);
        array_unshift($this->importPaths, $dirname);
        $this->compileChildrenNoReturn($tree->children, $out);
        array_shift($this->importPaths);
    }
}
 
        return [empty($m1)? $m2 : $m1, $t1];
    }
 
    /**
     * Compile import; returns true if the value was something that could be imported
     *
     * @param array   $rawPath
     * @param array   $out
     * @param boolean $once
     *
     * @return boolean
     */
    protected function compileImport($rawPath, $out, $once = false)
    {
        if ($rawPath[0] === Type::T_STRING) {
            $path = $this->compileStringContent($rawPath);
 
            if ($path = $this->findImport($path)) {
                if (! $once || ! in_array($path, $this->importedFiles)) {
                    $this->importFile($path, $out);
                    $this->importedFiles[] = $path;
                }
 
                return true;
            }
 
            return false;
        }
 
        if ($rawPath[0] === Type::T_LIST) {
            // handle a list of strings
            if (count($rawPath[2]) === 0) {
                return false;
            }
 
            foreach ($rawPath[2] as $path) {
                if ($path[0] !== Type::T_STRING) {
                    return false;
                }
            }
        $this->sourceLine   = isset($child[Parser::SOURCE_LINE]) ? $child[Parser::SOURCE_LINE] : -1;
        $this->sourceColumn = isset($child[Parser::SOURCE_COLUMN]) ? $child[Parser::SOURCE_COLUMN] : -1;
 
        switch ($child[0]) {
            case Type::T_SCSSPHP_IMPORT_ONCE:
                list(, $rawPath) = $child;
 
                $rawPath = $this->reduce($rawPath);
 
                if (! $this->compileImport($rawPath, $out, true)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_IMPORT:
                list(, $rawPath) = $child;
 
                $rawPath = $this->reduce($rawPath);
 
                if (! $this->compileImport($rawPath, $out)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_DIRECTIVE:
                $this->compileDirective($child[1]);
                break;
 
            case Type::T_AT_ROOT:
                $this->compileAtRoot($child[1]);
                break;
 
            case Type::T_MEDIA:
                $this->compileMedia($child[1]);
                break;
 
            case Type::T_BLOCK:
                $this->compileBlock($child[1]);
                break;
 
            $ret = $this->compileChild($stm, $out);
 
            if (isset($ret)) {
                return $ret;
            }
        }
    }
 
    /**
     * Compile children and throw exception if unexpected @return
     *
     * @param array                                $stms
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out)
    {
        foreach ($stms as $stm) {
            $ret = $this->compileChild($stm, $out);
 
            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');
 
                return;
            }
        }
    }
 
    /**
     * Compile media query
     *
     * @param array $queryList
     *
     * @return string
     */
    protected function compileMediaQuery($queryList)
    {
        $out = '@media';
        $first = true;
        $out->type      = $type;
        $out->lines     = [];
        $out->children  = [];
        $out->parent    = $this->scope;
        $out->selectors = $selectors;
        $out->depth     = $this->env->depth;
 
        return $out;
    }
 
    /**
     * Compile root
     *
     * @param \Leafo\ScssPhp\Block $rootBlock
     */
    protected function compileRoot(Block $rootBlock)
    {
        $this->rootBlock = $this->scope = $this->makeOutputBlock(Type::T_ROOT);
 
        $this->compileChildrenNoReturn($rootBlock->children, $this->scope);
        $this->flattenSelectors($this->scope);
        $this->missingSelectors();
    }
 
    /**
     * Report missing selectors
     */
    protected function missingSelectors()
    {
        foreach ($this->extends as $extend) {
            if (isset($extend[3])) {
                continue;
            }
 
            list($target, $origin, $block) = $extend;
 
            // ignore if !optional
            if ($block[2]) {
                continue;
            }
        $this->sourceIndex    = null;
        $this->sourceLine     = null;
        $this->sourceColumn   = null;
        $this->env            = null;
        $this->scope          = null;
        $this->storeEnv       = null;
        $this->charsetSeen    = null;
        $this->shouldEvaluate = null;
        $this->stderr         = fopen('php://stderr', 'w');
 
        $this->parser = $this->parserFactory($path);
        $tree = $this->parser->parse($code);
        $this->parser = null;
 
        $this->formatter = new $this->formatter();
        $this->rootBlock = null;
        $this->rootEnv   = $this->pushEnv($tree);
 
        $this->injectVariables($this->registeredVars);
        $this->compileRoot($tree);
        $this->popEnv();
 
        $out = $this->formatter->format($this->scope);
 
        setlocale(LC_NUMERIC, $locale);
 
        return $out;
    }
 
    /**
     * Instantiate parser
     *
     * @param string $path
     *
     * @return \Leafo\ScssPhp\Parser
     */
    protected function parserFactory($path)
    {
        $parser = new Parser($path, count($this->sourceNames), $this->encoding);
 
        try {
            $file->lock(false);
        } catch (\Exception $e) {
            // Another process has locked the file; we will check this in a bit.
        }
 
        if ($file->locked() === false) {
            // File was already locked by another process, lets avoid compiling the same file twice.
            return false;
        }
 
        // Set the lookup paths.
        $this->compiler->setBasePath($path);
        $this->compiler->setImportPaths([[$this, 'findImport']]);
 
        // Run the compiler.
        $this->compiler->setVariables($this->getVariables());
        $scss = '@import "' . $in . '.scss"';
        try {
            $css = $this->compiler->compile($scss);
        } catch (CompilerException $e) {
            throw new \RuntimeException("CSS Compilation on file '{$in}.scss' failed on error: {$e->getMessage()}", 500, $e);
        }
        if (strpos($css, $scss) === 0) {
            $css = '/* ' . $scss . ' */';
        }
 
        $warnings = trim(ob_get_clean());
        if ($warnings) {
            $this->warnings[$in] = explode("\n", $warnings);
        }
 
        if (!$this->production) {
            $warning = <<<WARN
/* GANTRY5 DEVELOPMENT MODE ENABLED.
 
   WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 
   For more information on modifying CSS, please read:
 
        return $this->compiler->reset();
    }
 
    /**
     * Returns URL to CSS file.
     *
     * If file does not exist, it will be created by using CSS compiler.
     *
     * @param string $name
     * @return string
     */
    public function css($name)
    {
        if (!isset($this->cssCache[$name])) {
            $compiler = $this->compiler();
 
            if ($compiler->needsCompile($name, [$this, 'getCssVariables'])) {
                GANTRY_DEBUGGER && \Gantry\Debugger::startTimer("css-{$name}", "Compiling CSS: {$name}") && \Gantry\Debugger::addMessage("Compiling CSS: {$name}");
 
                $compiler->compileFile($name);
 
                GANTRY_DEBUGGER && \Gantry\Debugger::stopTimer("css-{$name}");
            }
 
            $this->cssCache[$name] = $compiler->getCssUrl($name);
        }
 
        return $this->cssCache[$name];
    }
 
    public function getCssVariables()
    {
        if ($this->preset) {
            $variables = $this->presets()->flatten($this->preset . '.styles', '-');
        } else {
            $gantry = self::gantry();
            $variables = $gantry['config']->flatten('styles', '-');
        }
 
        return $variables;
 
            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
                return;
            }
 
            throw new Twig_Error_Runtime(sprintf('Neither the property "%1$s" nor one of the methods "%1$s()", "get%1$s()"/"is%1$s()" or "__call()" exist and have public access in class "%2$s".', $item, get_class($object)), -1, $this->getTemplateName());
        }
 
        if ($isDefinedTest) {
            return true;
        }
 
        if ($this->env->hasExtension('Twig_Extension_Sandbox')) {
            $this->env->getExtension('Twig_Extension_Sandbox')->checkMethodAllowed($object, $method);
        }
 
        // Some objects throw exceptions when they have __call, and the method we try
        // to call is not supported. If ignoreStrictCheck is true, we should return null.
        try {
            $ret = call_user_func_array(array($object, $method), $arguments);
        } catch (BadMethodCallException $e) {
            if ($call && ($ignoreStrictCheck || !$this->env->isStrictVariables())) {
                return;
            }
            throw $e;
        }
 
        // useful when calling a template method from a template
        // this is not supported but unfortunately heavily used in the Symfony profiler
        if ($object instanceof Twig_TemplateInterface) {
            return $ret === '' ? '' : new Twig_Markup($ret, $this->env->getCharset());
        }
 
        return $ret;
    }
}
 
    }
 
    // line 4
    public function block_head_stylesheets($context, array $blocks = array())
    {
        // line 5
        echo "<link rel=\"stylesheet\" href=\"";
        echo twig_escape_filter($this->env, $this->env->getExtension('Gantry\Component\Twig\TwigExtension')->urlFunc("gantry-assets://css/font-awesome.min.css"), "html", null, true);
        echo "\" type=\"text/css\"/>
        <link rel=\"stylesheet\" href=\"";
        // line 6
        echo twig_escape_filter($this->env, $this->env->getExtension('Gantry\Component\Twig\TwigExtension')->urlFunc("gantry-engine://css-compiled/nucleus.css"), "html", null, true);
        echo "\" type=\"text/css\"/>
        ";
        // line 7
        $context['_parent'] = $context;
        $context['_seq'] = twig_ensure_traversable((($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "theme", array(), "any", false, true), "configuration", array(), "any", false, true), "css", array(), "any", false, true), "persistent", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "theme", array(), "any", false, true), "configuration", array(), "any", false, true), "css", array(), "any", false, true), "persistent", array()), $this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "theme", array()), "configuration", array()), "css", array()), "files", array()))) : ($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "theme", array()), "configuration", array()), "css", array()), "files", array()))));
        foreach ($context['_seq'] as $context["_key"] => $context["css"]) {
            // line 8
            $context["url"] = $this->env->getExtension('Gantry\Component\Twig\TwigExtension')->urlFunc($this->getAttribute($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "theme", array()), "css", array(0 => $context["css"]), "method"));
            if ((isset($context["url"]) ? $context["url"] : null)) {
                // line 9
                echo "            <link rel=\"stylesheet\" href=\"";
                echo twig_escape_filter($this->env, $this->env->getExtension('Gantry\Component\Twig\TwigExtension')->urlFunc($this->getAttribute($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "theme", array()), "css", array(0 => $context["css"]), "method")), "html", null, true);
                echo "\" type=\"text/css\"/>
        ";
            }
        }
        $_parent = $context['_parent'];
        unset($context['_seq'], $context['_iterated'], $context['_key'], $context['css'], $context['_parent'], $context['loop']);
        $context = array_intersect_key($context, $_parent) + $_parent;
        // line 12
        echo "    ";
    }
 
    // line 14
    public function block_head_platform($context, array $blocks = array())
    {
    }
 
 
        if ($useBlocks && isset($blocks[$name])) {
            $template = $blocks[$name][0];
            $block = $blocks[$name][1];
        } elseif (isset($this->blocks[$name])) {
            $template = $this->blocks[$name][0];
            $block = $this->blocks[$name][1];
        } else {
            $template = null;
            $block = null;
        }
 
        if (null !== $template) {
            // avoid RCEs when sandbox is enabled
            if (!$template instanceof self) {
                throw new LogicException('A block must be a method on a Twig_Template instance.');
            }
 
            try {
                $template->$block($context, $blocks);
            } catch (Twig_Error $e) {
                if (!$e->getTemplateName()) {
                    $e->setTemplateName($template->getTemplateName());
                }
 
                // this is mostly useful for Twig_Error_Loader exceptions
                // see Twig_Error_Loader
                if (false === $e->getTemplateLine()) {
                    $e->setTemplateLine(-1);
                    $e->guess();
                }
 
                throw $e;
            } catch (Exception $e) {
                throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getTemplateName(), $e);
            }
        } elseif (false !== $parent = $this->getParent($context)) {
            $parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
        }
    }
        // line 1
        $this->getAttribute($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "debugger", array()), "assets", array(), "method");
        // line 2
        echo "
";
        // line 3
        $assetFunction = $this->env->getFunction('parse_assets')->getCallable();
        $assetVariables = array("priority" => 10);
        if ($assetVariables && !is_array($assetVariables)) {
            throw new UnexpectedValueException('{% scripts with x %}: x is not an array');
        }
        $location = "head";
        if ($location && !is_string($location)) {
            throw new UnexpectedValueException('{% scripts in x %}: x is not a string');
        }
        $priority = isset($assetVariables['priority']) ? $assetVariables['priority'] : 0;
        ob_start();
        // line 4
        echo "    ";
        $this->displayBlock('head_stylesheets', $context, $blocks);
        // line 14
        $this->displayBlock('head_platform', $context, $blocks);
        // line 15
        echo "
    ";
        // line 16
        $this->displayBlock('head_overrides', $context, $blocks);
        $content = ob_get_clean();
        echo $assetFunction($content, $location, $priority);
        // line 25
        ob_start();
        // line 26
        echo "    ";
        if ($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "config", array()), "page", array()), "head", array()), "atoms", array())) {
            // line 27
            echo "        ";
            $context['_parent'] = $context;
            $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "config", array()), "page", array()), "head", array()), "atoms", array()));
            $context['loop'] = array(
              'parent' => $context['_parent'],
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = array())
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Twig_Error $e) {
            if (!$e->getTemplateName()) {
                $e->setTemplateName($this->getTemplateName());
            }
 
            // this is mostly useful for Twig_Error_Loader exceptions
            // see Twig_Error_Loader
            if (false === $e->getTemplateLine()) {
                $e->setTemplateLine(-1);
                $e->guess();
            }
 
            throw $e;
        } catch (Exception $e) {
            throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getTemplateName(), $e);
        }
    }
 
    /**
     * Auto-generated method to display the template with the given context.
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     *
     * @see hasBlock
     *
     * @internal
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    /**
     * {@inheritdoc}
     */
    public function display(array $context, array $blocks = array())
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    /**
     * {@inheritdoc}
     */
    public function render(array $context)
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
        parent::__construct($env);
 
        // line 1
        $this->parent = $this->loadTemplate("@nucleus/page_head.html.twig", "partials/page_head.html.twig", 1);
        $this->blocks = array(
            'head_title' => array($this, 'block_head_title'),
            'head_application' => array($this, 'block_head_application'),
            'head_platform' => array($this, 'block_head_platform'),
            'head' => array($this, 'block_head'),
        );
    }
 
    protected function doGetParent(array $context)
    {
        return "@nucleus/page_head.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = array())
    {
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_head_title($context, array $blocks = array())
    {
    }
 
    // line 6
    public function block_head_application($context, array $blocks = array())
    {
        // line 7
        echo "<jdoc:include type=\"head\" />";
    }
 
    // line 10
    public function block_head_platform($context, array $blocks = array())
    {
        // line 11
        $this->displayParentBlock("head_platform", $context, $blocks);
        echo "
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = array())
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Twig_Error $e) {
            if (!$e->getTemplateName()) {
                $e->setTemplateName($this->getTemplateName());
            }
 
            // this is mostly useful for Twig_Error_Loader exceptions
            // see Twig_Error_Loader
            if (false === $e->getTemplateLine()) {
                $e->setTemplateLine(-1);
                $e->guess();
            }
 
            throw $e;
        } catch (Exception $e) {
            throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getTemplateName(), $e);
        }
    }
 
    /**
     * Auto-generated method to display the template with the given context.
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     *
     * @see hasBlock
     *
     * @internal
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    /**
     * {@inheritdoc}
     */
    public function display(array $context, array $blocks = array())
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    /**
     * {@inheritdoc}
     */
    public function render(array $context)
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
 
    // line 37
    public function block_page_top($context, array $blocks = array())
    {
        // line 38
        echo "    ";
    }
 
    // line 42
    public function block_page_bottom($context, array $blocks = array())
    {
        // line 43
        echo "    ";
    }
 
    // line 49
    public function block_page_head($context, array $blocks = array())
    {
        // line 50
        $this->loadTemplate("partials/page_head.html.twig", "@nucleus/page.html.twig", 50)->display($context);
    }
 
    // line 55
    public function block_page_footer($context, array $blocks = array())
    {
        // line 56
        echo "        ";
        echo twig_join_filter($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "scripts", array(0 => "footer"), "method"), "
    ");
        echo "
    ";
    }
 
    // line 62
    public function block_page($context, array $blocks = array())
    {
        // line 63
        echo "<!DOCTYPE ";
        echo (($this->getAttribute($this->getAttribute($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "config", array(), "any", false, true), "page", array(), "any", false, true), "doctype", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute($this->getAttribute($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "config", array(), "any", false, true), "page", array(), "any", false, true), "doctype", array()), "html")) : ("html"));
        echo ">
 
        if ($useBlocks && isset($blocks[$name])) {
            $template = $blocks[$name][0];
            $block = $blocks[$name][1];
        } elseif (isset($this->blocks[$name])) {
            $template = $this->blocks[$name][0];
            $block = $this->blocks[$name][1];
        } else {
            $template = null;
            $block = null;
        }
 
        if (null !== $template) {
            // avoid RCEs when sandbox is enabled
            if (!$template instanceof self) {
                throw new LogicException('A block must be a method on a Twig_Template instance.');
            }
 
            try {
                $template->$block($context, $blocks);
            } catch (Twig_Error $e) {
                if (!$e->getTemplateName()) {
                    $e->setTemplateName($template->getTemplateName());
                }
 
                // this is mostly useful for Twig_Error_Loader exceptions
                // see Twig_Error_Loader
                if (false === $e->getTemplateLine()) {
                    $e->setTemplateLine(-1);
                    $e->guess();
                }
 
                throw $e;
            } catch (Exception $e) {
                throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getTemplateName(), $e);
            }
        } elseif (false !== $parent = $this->getParent($context)) {
            $parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
        }
    }
        echo "    ";
        $this->displayBlock('page_layout', $context, $blocks);
        $context["page_layout"] = ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset());
        // line 36
        ob_start();
        // line 37
        echo "    ";
        $this->displayBlock('page_top', $context, $blocks);
        $context["page_top"] = ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset());
        // line 41
        ob_start();
        // line 42
        echo "    ";
        $this->displayBlock('page_bottom', $context, $blocks);
        $context["page_bottom"] = ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset());
        // line 48
        ob_start();
        // line 49
        echo "    ";
        $this->displayBlock('page_head', $context, $blocks);
        $context["page_head"] = ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset());
        // line 54
        ob_start();
        // line 55
        echo "    ";
        $this->displayBlock('page_footer', $context, $blocks);
        // line 58
        echo "
    ";
        // line 59
        echo $this->getAttribute($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "debugger", array()), "render", array(), "method");
        echo "
";
        $context["page_footer"] = ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset());
        // line 62
        $this->displayBlock('page', $context, $blocks);
        // line 86
        $this->getAttribute($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "platform", array()), "finalize", array(), "method");
    }
 
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = array())
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Twig_Error $e) {
            if (!$e->getTemplateName()) {
                $e->setTemplateName($this->getTemplateName());
            }
 
            // this is mostly useful for Twig_Error_Loader exceptions
            // see Twig_Error_Loader
            if (false === $e->getTemplateLine()) {
                $e->setTemplateLine(-1);
                $e->guess();
            }
 
            throw $e;
        } catch (Exception $e) {
            throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getTemplateName(), $e);
        }
    }
 
    /**
     * Auto-generated method to display the template with the given context.
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     *
     * @see hasBlock
     *
     * @internal
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    /**
     * {@inheritdoc}
     */
    public function display(array $context, array $blocks = array())
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    /**
     * {@inheritdoc}
     */
    public function render(array $context)
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
{
    public function __construct(Twig_Environment $env)
    {
        parent::__construct($env);
 
        // line 1
        $this->parent = $this->loadTemplate("@nucleus/page.html.twig", "partials/page.html.twig", 1);
        $this->blocks = array(
            'page_footer' => array($this, 'block_page_footer'),
        );
    }
 
    protected function doGetParent(array $context)
    {
        return "@nucleus/page.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = array())
    {
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_page_footer($context, array $blocks = array())
    {
        // line 4
        echo "    ";
        $this->displayParentBlock("page_footer", $context, $blocks);
        echo "
    <jdoc:include type=\"modules\" name=\"debug\" />
";
    }
 
    public function getTemplateName()
    {
        return "partials/page.html.twig";
    }
 
    public function isTraitable()
    {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = array())
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Twig_Error $e) {
            if (!$e->getTemplateName()) {
                $e->setTemplateName($this->getTemplateName());
            }
 
            // this is mostly useful for Twig_Error_Loader exceptions
            // see Twig_Error_Loader
            if (false === $e->getTemplateLine()) {
                $e->setTemplateLine(-1);
                $e->guess();
            }
 
            throw $e;
        } catch (Exception $e) {
            throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getTemplateName(), $e);
        }
    }
 
    /**
     * Auto-generated method to display the template with the given context.
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     *
     * @see hasBlock
     *
     * @internal
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    /**
     * {@inheritdoc}
     */
    public function display(array $context, array $blocks = array())
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    /**
     * {@inheritdoc}
     */
    public function render(array $context)
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
{
    public function __construct(Twig_Environment $env)
    {
        parent::__construct($env);
 
        // line 1
        $this->parent = $this->loadTemplate("partials/page.html.twig", "index.html.twig", 1);
        $this->blocks = array(
            'content' => array($this, 'block_content'),
        );
    }
 
    protected function doGetParent(array $context)
    {
        return "partials/page.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = array())
    {
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_content($context, array $blocks = array())
    {
        // line 4
        echo "    ";
        echo $this->getAttribute($this->getAttribute((isset($context["gantry"]) ? $context["gantry"] : null), "platform", array()), "displayContent", array(0 => (isset($context["content"]) ? $context["content"] : null)), "method");
        echo "
";
    }
 
    public function getTemplateName()
    {
        return "index.html.twig";
    }
 
    public function isTraitable()
    {
        return false;
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = array())
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Twig_Error $e) {
            if (!$e->getTemplateName()) {
                $e->setTemplateName($this->getTemplateName());
            }
 
            // this is mostly useful for Twig_Error_Loader exceptions
            // see Twig_Error_Loader
            if (false === $e->getTemplateLine()) {
                $e->setTemplateLine(-1);
                $e->guess();
            }
 
            throw $e;
        } catch (Exception $e) {
            throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getTemplateName(), $e);
        }
    }
 
    /**
     * Auto-generated method to display the template with the given context.
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     *
     * @see hasBlock
     *
     * @internal
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    /**
     * {@inheritdoc}
     */
    public function display(array $context, array $blocks = array())
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    /**
     * {@inheritdoc}
     */
    public function render(array $context)
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
        return $this->blocks;
    }
 
    /**
     * {@inheritdoc}
     */
    public function display(array $context, array $blocks = array())
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    /**
     * {@inheritdoc}
     */
    public function render(array $context)
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = array())
    {
        try {
        @trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
 
        return $this->templateClassPrefix;
    }
 
    /**
     * Renders a template.
     *
     * @param string $name    The template name
     * @param array  $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     *
     * @throws Twig_Error_Loader  When the template cannot be found
     * @throws Twig_Error_Syntax  When an error occurred during compilation
     * @throws Twig_Error_Runtime When an error occurred during rendering
     */
    public function render($name, array $context = array())
    {
        return $this->loadTemplate($name)->render($context);
    }
 
    /**
     * Displays a template.
     *
     * @param string $name    The template name
     * @param array  $context An array of parameters to pass to the template
     *
     * @throws Twig_Error_Loader  When the template cannot be found
     * @throws Twig_Error_Syntax  When an error occurred during compilation
     * @throws Twig_Error_Runtime When an error occurred during rendering
     */
    public function display($name, array $context = array())
    {
        $this->loadTemplate($name)->display($context);
    }
 
    /**
     * Loads a template by name.
     *
 
            $this->renderer = $this->extendTwig($twig, $loader);
        }
 
        return $this->renderer;
    }
 
    /**
     * Render a template file by using given context.
     *
     * @param string $file
     * @param array $context
     * @return string
     */
    public function render($file, array $context = [])
    {
        // Include Gantry specific things to the context.
        $context = $this->getContext($context);
 
        return $this->renderer()->render($file, $context);
    }
 
    /**
     * Compile and render twig string.
     *
     * @param string $string
     * @param array $context
     * @return string
     */
    public function compile($string, array $context = [])
    {
        $renderer = $this->renderer();
        $template = $renderer->createTemplate($string);
 
        // Include Gantry specific things to the context.
        $context = $this->getContext($context);
 
        return $template->render($context);
    }
 
 * @copyright Copyright (C) 2007 - 2015 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */
 
defined('_JEXEC') or die;
 
// Bootstrap Gantry framework or fail gracefully (inside included file).
$gantry = include __DIR__ . '/includes/gantry.php';
 
/** @var \Gantry\Framework\Theme $theme */
$theme = $gantry['theme'];
 
/** @var \Gantry\Framework\Configurations $configurations */
$configurations = $gantry['configurations'];
 
// Render the page.
echo $theme
    ->render('index.html.twig');
 
	 * @param   string  $directory  The name of the template
	 * @param   string  $filename   The actual filename
	 *
	 * @return  string  The contents of the template
	 *
	 * @since   11.1
	 */
	protected function _loadTemplate($directory, $filename)
	{
		$contents = '';
 
		// Check to see if we have a valid template file
		if (file_exists($directory . '/' . $filename))
		{
			// Store the file path
			$this->_file = $directory . '/' . $filename;
 
			// Get the file content
			ob_start();
			require $directory . '/' . $filename;
			$contents = ob_get_contents();
			ob_end_clean();
		}
 
		// Try to find a favicon by checking the template and root folder
		$icon = '/favicon.ico';
 
		foreach (array($directory, JPATH_BASE) as $dir)
		{
			if (file_exists($dir . $icon))
			{
				$path = str_replace(JPATH_BASE, '', $dir);
				$path = str_replace('\\', '/', $path);
				$this->addFavicon(JUri::base(true) . $path . $icon);
				break;
			}
		}
 
		return $contents;
	}
 
		if (!file_exists($directory . '/' . $template . '/' . $file))
		{
			$file = 'index.php';
		}
 
		// Load the language file for the template
		$lang = JFactory::getLanguage();
 
		// 1.5 or core then 1.6
		$lang->load('tpl_' . $template, JPATH_BASE, null, false, true)
			|| $lang->load('tpl_' . $template, $directory . '/' . $template, null, false, true);
 
		// Assign the variables
		$this->template = $template;
		$this->baseurl = JUri::base(true);
		$this->params = isset($params['params']) ? $params['params'] : new Registry;
 
		// Load
		$this->_template = $this->_loadTemplate($directory . '/' . $template, $file);
 
		return $this;
	}
 
	/**
	 * Parse a document template
	 *
	 * @return  JDocumentHTML  instance of $this to allow chaining
	 *
	 * @since   11.1
	 */
	protected function _parseTemplate()
	{
		$matches = array();
 
		if (preg_match_all('#<jdoc:include\ type="([^"]+)"(.*)\/>#iU', $this->_template, $matches))
		{
			$template_tags_first = array();
			$template_tags_last = array();
 
			$options['title'] = (isset($args[3])) ? $args[3] : null;
		}
 
		parent::$_buffer[$options['type']][$options['name']][$options['title']] = $content;
 
		return $this;
	}
 
	/**
	 * Parses the template and populates the buffer
	 *
	 * @param   array  $params  Parameters for fetching the template
	 *
	 * @return  JDocumentHTML instance of $this to allow chaining
	 *
	 * @since   11.1
	 */
	public function parse($params = array())
	{
		return $this->_fetchTemplate($params)->_parseTemplate();
	}
 
	/**
	 * Outputs the template to the browser.
	 *
	 * @param   boolean  $caching  If true, cache the output
	 * @param   array    $params   Associative array of attributes
	 *
	 * @return  string The rendered data
	 *
	 * @since   11.1
	 */
	public function render($caching = false, $params = array())
	{
		$this->_caching = $caching;
 
		if (empty($this->_template))
		{
			$this->parse($params);
		}
	 */
	protected function render()
	{
		// Setup the document options.
		$this->docOptions['template'] = $this->get('theme');
		$this->docOptions['file']     = $this->get('themeFile', 'index.php');
		$this->docOptions['params']   = $this->get('themeParams');
 
		if ($this->get('themes.base'))
		{
			$this->docOptions['directory'] = $this->get('themes.base');
		}
		// Fall back to constants.
		else
		{
			$this->docOptions['directory'] = defined('JPATH_THEMES') ? JPATH_THEMES : (defined('JPATH_BASE') ? JPATH_BASE : __DIR__) . '/themes';
		}
 
		// Parse the document.
		$this->document->parse($this->docOptions);
 
		// Trigger the onBeforeRender event.
		JPluginHelper::importPlugin('system');
		$this->triggerEvent('onBeforeRender');
 
		$caching = false;
 
		if ($this->isSite() && $this->get('caching') && $this->get('caching', 2) == 2 && !JFactory::getUser()->get('id'))
		{
			$caching = true;
		}
 
		// Render the document.
		$data = $this->document->render($caching, $this->docOptions);
 
		// Set the application output data.
		$this->setBody($data);
 
		// Trigger the onAfterRender event.
		$this->triggerEvent('onAfterRender');
					$this->setUserState('users.login.form.data', array('return' => JUri::getInstance()->toString()));
					$this->set('themeFile', 'offline.php');
					$this->setHeader('Status', '503 Service Temporarily Unavailable', 'true');
				}
 
				if (!is_dir(JPATH_THEMES . '/' . $template->template) && !$this->get('offline'))
				{
					$this->set('themeFile', 'component.php');
				}
 
				// Ensure themeFile is set by now
				if ($this->get('themeFile') == '')
				{
					$this->set('themeFile', $file . '.php');
				}
 
				break;
		}
 
		parent::render();
	}
 
	/**
	 * Route the application.
	 *
	 * Routing is the process of examining the request environment to determine which
	 * component should receive the request. The component optional parameters
	 * are then set in the request object to be processed when the application is being
	 * dispatched.
	 *
	 * @return  void
	 *
	 * @since   3.2
	 */
	protected function route()
	{
		// Execute the parent method
		parent::route();
 
		$Itemid = $this->input->getInt('Itemid', null);
		}
	}
 
	/**
	 * Execute the application.
	 *
	 * @return  void
	 *
	 * @since   3.2
	 */
	public function execute()
	{
		// Perform application routines.
		$this->doExecute();
 
		// If we have an application document object, render it.
		if ($this->document instanceof JDocument)
		{
			// Render the application output.
			$this->render();
		}
 
		// If gzip compression is enabled in configuration and the server is compliant, compress the output.
		if ($this->get('gzip') && !ini_get('zlib.output_compression') && (ini_get('output_handler') != 'ob_gzhandler'))
		{
			$this->compress();
 
			// Trigger the onAfterCompress event.
			$this->triggerEvent('onAfterCompress');
		}
 
		// Send the application response.
		$this->respond();
 
		// Trigger the onAfterRespond event.
		$this->triggerEvent('onAfterRespond');
	}
 
	/**
	 * Check if the user is required to reset their password.
{
	include_once __DIR__ . '/defines.php';
}
 
if (!defined('_JDEFINES'))
{
	define('JPATH_BASE', __DIR__);
	require_once JPATH_BASE . '/includes/defines.php';
}
 
require_once JPATH_BASE . '/includes/framework.php';
 
// Set profiler start time and memory usage and mark afterLoad in the profiler.
JDEBUG ? JProfiler::getInstance('Application')->setStart($startTime, $startMem)->mark('afterLoad') : null;
 
// Instantiate the application.
$app = JFactory::getApplication('site');
 
// Execute the application.
$app->execute();
 

Environment & details:

empty
empty
empty
empty
empty
Key Value
REDIRECT_REDIRECT_SCRIPT_URL /rozklad-jazdy/coming-soon
REDIRECT_REDIRECT_UNIQUE_ID ZgWjuVIISG6FjHW7hnylNQAAACc
SERVER_SIGNATURE
HTTP_X_HTTPS 1
REDIRECT_REDIRECT_SCRIPT_URI https://galicjaexpress.pl/rozklad-jazdy/coming-soon
SSL_TLS_SNI galicjaexpress.pl
UNIQUE_ID ZgWjuVIISG6FjHW7hnylNQAAACc
REDIRECT_SCRIPT_URL /rozklad-jazdy/coming-soon
REDIRECT_REDIRECT_SSL_TLS_SNI galicjaexpress.pl
HTTP_USER_AGENT claudebot
REDIRECT_REDIRECT_STATUS 200
SERVER_PORT 443
HTTP_HOST galicjaexpress.pl
REDIRECT_SCRIPT_URI https://galicjaexpress.pl/rozklad-jazdy/coming-soon
PHP_INI_SCAN_DIR /opt/cpanel/ea-php72/root/etc/php.d/:/etc/php7.2/1098/
REDIRECT_HANDLER application/x-httpd-ea-php72
DOCUMENT_ROOT /home/jedrej/public_html
SCRIPT_FILENAME /home/jedrej/public_html/index.php
HTTPS on
REQUEST_URI /rozklad-jazdy/coming-soon
SCRIPT_NAME /index.php
SCRIPT_URI https://galicjaexpress.pl/rozklad-jazdy/coming-soon
REMOTE_PORT 51980
PATH /usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin:/opt/bin
SCRIPT_URL /rozklad-jazdy/coming-soon
CONTEXT_PREFIX /cgi-sys
REDIRECT_REDIRECT_HTTP_AUTHORIZATION
PWD /usr/local/cpanel/cgi-sys
SERVER_ADMIN webmaster@galicjaexpress.pl
REDIRECT_REDIRECT_HTTPS on
REDIRECT_UNIQUE_ID ZgWjuVIISG6FjHW7hnylNQAAACc
REQUEST_SCHEME https
REDIRECT_SSL_TLS_SNI galicjaexpress.pl
REDIRECT_STATUS 200
REDIRECT_HTTP_AUTHORIZATION
REDIRECT_HTTPS on
TZ Europe/Warsaw
HTTP_ACCEPT */*
REMOTE_ADDR 44.222.116.199
SHLVL 0
SERVER_NAME galicjaexpress.pl
SERVER_SOFTWARE Apache
QUERY_STRING
SERVER_ADDR 91.200.32.231
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REDIRECT_URL /index.php
REQUEST_METHOD GET
CONTEXT_DOCUMENT_ROOT /usr/local/cpanel/cgi-sys/
ORIG_SCRIPT_FILENAME /usr/local/cpanel/cgi-sys/php72-ini
ORIG_PATH_INFO /index.php
ORIG_PATH_TRANSLATED /home/jedrej/public_html/index.php
ORIG_SCRIPT_NAME /cgi-sys/php72-ini
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1711645625.1447
REQUEST_TIME 1711645625
empty
0. Whoops\Handler\PrettyPageHandler