Twig \ Error \ RuntimeError
An exception has been thrown during the rendering of a template ("Creation of dynamic property Leafo\ScssPhp\Block::$name is deprecated").
Previous exceptions
  • Creation of dynamic property Leafo\ScssPhp\Block::$name is deprecated (8192)
  • An exception has been thrown during the rendering of a template ("Creation of dynamic property Leafo\ScssPhp\Block::$name is deprecated"). (0)
  • Creation of dynamic property Leafo\ScssPhp\Block::$name is deprecated (8192)
Twig\Error\RuntimeError thrown with message "An exception has been thrown during the rendering of a template ("Creation of dynamic property Leafo\ScssPhp\Block::$name is deprecated")." Stacktrace: #142 Twig\Error\RuntimeError in /data/web/e65384/html/fluhm-at405/media/gantry5/engines/nucleus/twig/partials/error_head.html.twig:9 #141 Twig\Template:displayBlock in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/ad/adf1f5273e55b9097f97b202419a40ddc54031ed4a18ac9c3e5f87ab68effd95.php:89 #140 __TwigTemplate_98f9e5bc8a99a8299116c51fd311f1f35e9136db6c6701076f95ad042308546f:doDisplay in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:453 #139 Twig\Template:displayWithErrorHandling in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:420 #138 Twig\Template:display in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/8c/8c74c62cd3f0713caaa816c9583e92ef45c691d41d638a27358915acd470b74c.php:38 #137 __TwigTemplate_93bca076f7dc6d42a79c348b02fa10015b2dca8ae41de855b1923047f43ecbd0:doDisplay in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:453 #136 Twig\Template:displayWithErrorHandling in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:420 #135 Twig\Template:display in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/2e/2e593f299d94ad3e77cffaecdcb71cab30ee8768082590b90ab10f252f9ad714.php:35 #134 __TwigTemplate_a766e2666b0a0398a57c74f3de447a4d8e48101c72f2d588e09b37fc636bbb0c:doDisplay in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:453 #133 Twig\Template:displayWithErrorHandling in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:420 #132 Twig\Template:display in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/61/6187c77438ac4e6dc605180ab3b039da5e827ab0a710caf5e2689998b69ad6b9.php:43 #131 Twig\Template:displayBlock in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/ba/ba74266590772a4e71c473b243bb405d964e00d88942be0af53017629587dafc.php:146 #130 __TwigTemplate_e77a93e0117191f68b71745017324846af6bfef58b8d611e49b3068f374b3fcb:doDisplay in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:453 #129 Twig\Template:displayWithErrorHandling in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:420 #128 Twig\Template:display in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/b8/b87eadc7cf32ef06f192d9c509853e449ba938324df61983fbee71ec77735330.php:35 #127 Twig\Template:display in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/61/6187c77438ac4e6dc605180ab3b039da5e827ab0a710caf5e2689998b69ad6b9.php:36 #126 Twig\Template:display in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:432 #125 Twig\Template:render in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/TemplateWrapper.php:47 #124 Twig\TemplateWrapper:render in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Environment.php:384 #123 Twig\Environment:render in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Theme/AbstractTheme.php:176 #122 Gantry\Component\Theme\AbstractTheme:render in /data/web/e65384/html/fluhm-at405/templates/g5_myriad/error.php:32 #121 require in /data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php:721 #120 Joomla\CMS\Document\HtmlDocument:_loadTemplate in /data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php:776 #119 Joomla\CMS\Document\HtmlDocument:_fetchTemplate in /data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php:612 #118 Joomla\CMS\Document\HtmlDocument:parse in /data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php:630 #117 Joomla\CMS\Document\HtmlDocument:render in /data/web/e65384/html/fluhm-at405/libraries/src/Document/ErrorDocument.php:139 #116 Joomla\CMS\Document\ErrorDocument:render in /data/web/e65384/html/fluhm-at405/libraries/src/Error/Renderer/HtmlRenderer.php:70 #115 Joomla\CMS\Error\Renderer\HtmlRenderer:render in /data/web/e65384/html/fluhm-at405/libraries/src/Exception/ExceptionHandler.php:126 #114 Joomla\CMS\Exception\ExceptionHandler:render in /data/web/e65384/html/fluhm-at405/libraries/src/Exception/ExceptionHandler.php:72 #113 Joomla\CMS\Exception\ExceptionHandler:handleException in /data/web/e65384/html/fluhm-at405/libraries/src/Application/CMSApplication.php:322 #112 Whoops\Exception\ErrorException in /data/web/e65384/html/fluhm-at405/libraries/gantry5/vendor/leafo/scssphp/src/Parser.php:342 #111 Gantry\Component\Whoops\SystemFacade:handleError in /data/web/e65384/html/fluhm-at405/libraries/gantry5/vendor/leafo/scssphp/src/Parser.php:342 #110 Leafo\ScssPhp\Parser:parseChunk in /data/web/e65384/html/fluhm-at405/libraries/gantry5/vendor/leafo/scssphp/src/Parser.php:189 #109 Leafo\ScssPhp\Parser:parse in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Stylesheet/Scss/LegacyCompiler.php:425 #108 Gantry\Component\Stylesheet\Scss\LegacyCompiler:importFile in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:2009 #107 Leafo\ScssPhp\Compiler:compileImport in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:2080 #106 Leafo\ScssPhp\Compiler:compileChild in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:1690 #105 Leafo\ScssPhp\Compiler:compileChildrenNoReturn in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Stylesheet/Scss/LegacyCompiler.php:432 #104 Gantry\Component\Stylesheet\Scss\LegacyCompiler:importFile in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:2009 #103 Leafo\ScssPhp\Compiler:compileImport in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:2080 #102 Leafo\ScssPhp\Compiler:compileChild in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:1690 #101 Leafo\ScssPhp\Compiler:compileChildrenNoReturn in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Stylesheet/Scss/LegacyCompiler.php:432 #100 Gantry\Component\Stylesheet\Scss\LegacyCompiler:importFile in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:2009 #99 Leafo\ScssPhp\Compiler:compileImport in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:2080 #98 Leafo\ScssPhp\Compiler:compileChild in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:1690 #97 Leafo\ScssPhp\Compiler:compileChildrenNoReturn in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:399 #96 Leafo\ScssPhp\Compiler:compileRoot in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:253 #95 Leafo\ScssPhp\Compiler:compile in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Stylesheet/ScssCompiler.php:310 #94 Gantry\Component\Stylesheet\ScssCompiler:compileLegacyFile in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Stylesheet/ScssCompiler.php:189 #93 Gantry\Component\Stylesheet\ScssCompiler:compileFile in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Theme/ThemeTrait.php:271 #92 Gantry\Framework\Theme:css in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Content/Block/HtmlBlock.php:86 #91 Gantry\Component\Content\Block\HtmlBlock:getStyles in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Content/Document/HtmlDocument.php:221 #90 Gantry\Component\Content\Document\HtmlDocument:getStyles in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Framework/Base/Gantry.php:119 #89 Gantry\Framework\Base\Gantry:styles in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Framework/Gantry.php:50 #88 Gantry\Framework\Gantry:styles in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:702 #87 Twig\Template:getAttribute in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/2e/2e593f299d94ad3e77cffaecdcb71cab30ee8768082590b90ab10f252f9ad714.php:56 #86 __TwigTemplate_a766e2666b0a0398a57c74f3de447a4d8e48101c72f2d588e09b37fc636bbb0c:block_head_application in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:214 #85 Twig\Template:displayBlock in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/ad/adf1f5273e55b9097f97b202419a40ddc54031ed4a18ac9c3e5f87ab68effd95.php:89 #84 __TwigTemplate_98f9e5bc8a99a8299116c51fd311f1f35e9136db6c6701076f95ad042308546f:doDisplay in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:453 #83 Twig\Template:displayWithErrorHandling in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:420 #82 Twig\Template:display in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/8c/8c74c62cd3f0713caaa816c9583e92ef45c691d41d638a27358915acd470b74c.php:38 #81 __TwigTemplate_93bca076f7dc6d42a79c348b02fa10015b2dca8ae41de855b1923047f43ecbd0:doDisplay in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:453 #80 Twig\Template:displayWithErrorHandling in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:420 #79 Twig\Template:display in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/2e/2e593f299d94ad3e77cffaecdcb71cab30ee8768082590b90ab10f252f9ad714.php:35 #78 __TwigTemplate_a766e2666b0a0398a57c74f3de447a4d8e48101c72f2d588e09b37fc636bbb0c:doDisplay in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:453 #77 Twig\Template:displayWithErrorHandling in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:420 #76 Twig\Template:display in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/61/6187c77438ac4e6dc605180ab3b039da5e827ab0a710caf5e2689998b69ad6b9.php:43 #75 Twig\Template:displayBlock in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/ba/ba74266590772a4e71c473b243bb405d964e00d88942be0af53017629587dafc.php:146 #74 __TwigTemplate_e77a93e0117191f68b71745017324846af6bfef58b8d611e49b3068f374b3fcb:doDisplay in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:453 #73 Twig\Template:displayWithErrorHandling in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:420 #72 Twig\Template:display in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/b8/b87eadc7cf32ef06f192d9c509853e449ba938324df61983fbee71ec77735330.php:35 #71 Twig\Template:display in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/61/6187c77438ac4e6dc605180ab3b039da5e827ab0a710caf5e2689998b69ad6b9.php:36 #70 Twig\Template:display in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:432 #69 Twig\Template:render in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/TemplateWrapper.php:47 #68 Twig\TemplateWrapper:render in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Environment.php:384 #67 Twig\Environment:render in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Theme/AbstractTheme.php:176 #66 Gantry\Component\Theme\AbstractTheme:render in /data/web/e65384/html/fluhm-at405/templates/g5_myriad/error.php:32 #65 require in /data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php:721 #64 Joomla\CMS\Document\HtmlDocument:_loadTemplate in /data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php:776 #63 Joomla\CMS\Document\HtmlDocument:_fetchTemplate in /data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php:612 #62 Joomla\CMS\Document\HtmlDocument:parse in /data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php:630 #61 Joomla\CMS\Document\HtmlDocument:render in /data/web/e65384/html/fluhm-at405/libraries/src/Document/ErrorDocument.php:139 #60 Joomla\CMS\Document\ErrorDocument:render in /data/web/e65384/html/fluhm-at405/libraries/src/Error/Renderer/HtmlRenderer.php:70 #59 Joomla\CMS\Error\Renderer\HtmlRenderer:render in /data/web/e65384/html/fluhm-at405/libraries/src/Exception/ExceptionHandler.php:126 #58 Joomla\CMS\Exception\ExceptionHandler:render in /data/web/e65384/html/fluhm-at405/libraries/src/Exception/ExceptionHandler.php:72 #57 Joomla\CMS\Exception\ExceptionHandler:handleException in /data/web/e65384/html/fluhm-at405/libraries/src/Application/CMSApplication.php:322 #56 Twig\Error\RuntimeError in /data/web/e65384/html/fluhm-at405/media/gantry5/engines/nucleus/templates/page.html.twig:77 #55 Whoops\Exception\ErrorException in /data/web/e65384/html/fluhm-at405/libraries/gantry5/vendor/leafo/scssphp/src/Parser.php:342 #54 Gantry\Component\Whoops\SystemFacade:handleError in /data/web/e65384/html/fluhm-at405/libraries/gantry5/vendor/leafo/scssphp/src/Parser.php:342 #53 Leafo\ScssPhp\Parser:parseChunk in /data/web/e65384/html/fluhm-at405/libraries/gantry5/vendor/leafo/scssphp/src/Parser.php:189 #52 Leafo\ScssPhp\Parser:parse in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Stylesheet/Scss/LegacyCompiler.php:425 #51 Gantry\Component\Stylesheet\Scss\LegacyCompiler:importFile in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:2009 #50 Leafo\ScssPhp\Compiler:compileImport in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:2080 #49 Leafo\ScssPhp\Compiler:compileChild in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:1690 #48 Leafo\ScssPhp\Compiler:compileChildrenNoReturn in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Stylesheet/Scss/LegacyCompiler.php:432 #47 Gantry\Component\Stylesheet\Scss\LegacyCompiler:importFile in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:2009 #46 Leafo\ScssPhp\Compiler:compileImport in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:2080 #45 Leafo\ScssPhp\Compiler:compileChild in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:1690 #44 Leafo\ScssPhp\Compiler:compileChildrenNoReturn in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Stylesheet/Scss/LegacyCompiler.php:432 #43 Gantry\Component\Stylesheet\Scss\LegacyCompiler:importFile in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:2009 #42 Leafo\ScssPhp\Compiler:compileImport in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:2080 #41 Leafo\ScssPhp\Compiler:compileChild in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:1690 #40 Leafo\ScssPhp\Compiler:compileChildrenNoReturn in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Stylesheet/Scss/LegacyCompiler.php:432 #39 Gantry\Component\Stylesheet\Scss\LegacyCompiler:importFile in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:2009 #38 Leafo\ScssPhp\Compiler:compileImport in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:2080 #37 Leafo\ScssPhp\Compiler:compileChild in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:1690 #36 Leafo\ScssPhp\Compiler:compileChildrenNoReturn in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:399 #35 Leafo\ScssPhp\Compiler:compileRoot in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Leafo/ScssPhp/Compiler.php:253 #34 Leafo\ScssPhp\Compiler:compile in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Stylesheet/ScssCompiler.php:310 #33 Gantry\Component\Stylesheet\ScssCompiler:compileLegacyFile in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Stylesheet/ScssCompiler.php:189 #32 Gantry\Component\Stylesheet\ScssCompiler:compileFile in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Theme/ThemeTrait.php:271 #31 Gantry\Framework\Theme:css in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Content/Block/HtmlBlock.php:86 #30 Gantry\Component\Content\Block\HtmlBlock:getStyles in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Framework/Document.php:131 #29 Gantry\Framework\Document:registerStyles in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Framework/Document.php:76 #28 Gantry\Framework\Document:registerAssets in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Framework/Base/Platform.php:277 #27 Gantry\Framework\Base\Platform:finalize in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:700 #26 Twig\Template:getAttribute in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/ba/ba74266590772a4e71c473b243bb405d964e00d88942be0af53017629587dafc.php:274 #25 __TwigTemplate_e77a93e0117191f68b71745017324846af6bfef58b8d611e49b3068f374b3fcb:block_page_footer in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:214 #24 Twig\Template:displayBlock in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:175 #23 Twig\Template:displayParentBlock in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/b8/b87eadc7cf32ef06f192d9c509853e449ba938324df61983fbee71ec77735330.php:43 #22 __TwigTemplate_ab3424eee1af98a2d8430b6e051b4ced3ba2f0da28c81c269a5dcca16b017132:block_page_footer in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:214 #21 Twig\Template:displayBlock in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/ba/ba74266590772a4e71c473b243bb405d964e00d88942be0af53017629587dafc.php:152 #20 __TwigTemplate_e77a93e0117191f68b71745017324846af6bfef58b8d611e49b3068f374b3fcb:doDisplay in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:453 #19 Twig\Template:displayWithErrorHandling in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:420 #18 Twig\Template:display in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/b8/b87eadc7cf32ef06f192d9c509853e449ba938324df61983fbee71ec77735330.php:35 #17 __TwigTemplate_ab3424eee1af98a2d8430b6e051b4ced3ba2f0da28c81c269a5dcca16b017132:doDisplay in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:453 #16 Twig\Template:displayWithErrorHandling in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:420 #15 Twig\Template:display in /data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/66/6641642a41ea2c7d8fe493111006c9e2d989a02ef877759688b21f086796becf.php:35 #14 __TwigTemplate_4e84c7ff66875716934cfc537f5ad4096df5d910f42cc579ef05bebc60907762:doDisplay in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:453 #13 Twig\Template:displayWithErrorHandling in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:420 #12 Twig\Template:display in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Template.php:432 #11 Twig\Template:render in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/TemplateWrapper.php:47 #10 Twig\TemplateWrapper:render in /data/web/e65384/html/fluhm-at405/libraries/gantry5/compat/vendor/twig/twig/src/Environment.php:384 #9 Twig\Environment:render in /data/web/e65384/html/fluhm-at405/libraries/gantry5/src/classes/Gantry/Component/Theme/AbstractTheme.php:176 #8 Gantry\Component\Theme\AbstractTheme:render in /data/web/e65384/html/fluhm-at405/templates/g5_myriad/index.php:23 #7 require in /data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php:721 #6 Joomla\CMS\Document\HtmlDocument:_loadTemplate in /data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php:776 #5 Joomla\CMS\Document\HtmlDocument:_fetchTemplate in /data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php:612 #4 Joomla\CMS\Document\HtmlDocument:parse in /data/web/e65384/html/fluhm-at405/libraries/src/Application/CMSApplication.php:1012 #3 Joomla\CMS\Application\CMSApplication:render in /data/web/e65384/html/fluhm-at405/libraries/src/Application/SiteApplication.php:724 #2 Joomla\CMS\Application\SiteApplication:render in /data/web/e65384/html/fluhm-at405/libraries/src/Application/CMSApplication.php:298 #1 Joomla\CMS\Application\CMSApplication:execute in /data/web/e65384/html/fluhm-at405/includes/app.php:61 #0 require_once in /data/web/e65384/html/fluhm-at405/index.php:32
Stack frames (143)
142
Twig\Error\RuntimeError
/data/web/e65384/html/fluhm-at405/media/gantry5/engines/nucleus/twig/partials/error_head.html.twig9
141
Twig\Template displayBlock
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/ad/adf1f5273e55b9097f97b202419a40ddc54031ed4a18ac9c3e5f87ab68effd95.php89
140
__TwigTemplate_98f9e5bc8a99a8299116c51fd311f1f35e9136db6c6701076f95ad042308546f doDisplay
/compat/vendor/twig/twig/src/Template.php453
139
Twig\Template displayWithErrorHandling
/compat/vendor/twig/twig/src/Template.php420
138
Twig\Template display
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/8c/8c74c62cd3f0713caaa816c9583e92ef45c691d41d638a27358915acd470b74c.php38
137
__TwigTemplate_93bca076f7dc6d42a79c348b02fa10015b2dca8ae41de855b1923047f43ecbd0 doDisplay
/compat/vendor/twig/twig/src/Template.php453
136
Twig\Template displayWithErrorHandling
/compat/vendor/twig/twig/src/Template.php420
135
Twig\Template display
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/2e/2e593f299d94ad3e77cffaecdcb71cab30ee8768082590b90ab10f252f9ad714.php35
134
__TwigTemplate_a766e2666b0a0398a57c74f3de447a4d8e48101c72f2d588e09b37fc636bbb0c doDisplay
/compat/vendor/twig/twig/src/Template.php453
133
Twig\Template displayWithErrorHandling
/compat/vendor/twig/twig/src/Template.php420
132
Twig\Template display
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/61/6187c77438ac4e6dc605180ab3b039da5e827ab0a710caf5e2689998b69ad6b9.php43
131
Twig\Template displayBlock
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/ba/ba74266590772a4e71c473b243bb405d964e00d88942be0af53017629587dafc.php146
130
__TwigTemplate_e77a93e0117191f68b71745017324846af6bfef58b8d611e49b3068f374b3fcb doDisplay
/compat/vendor/twig/twig/src/Template.php453
129
Twig\Template displayWithErrorHandling
/compat/vendor/twig/twig/src/Template.php420
128
Twig\Template display
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/b8/b87eadc7cf32ef06f192d9c509853e449ba938324df61983fbee71ec77735330.php35
127
Twig\Template display
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/61/6187c77438ac4e6dc605180ab3b039da5e827ab0a710caf5e2689998b69ad6b9.php36
126
Twig\Template display
/compat/vendor/twig/twig/src/Template.php432
125
Twig\Template render
/compat/vendor/twig/twig/src/TemplateWrapper.php47
124
Twig\TemplateWrapper render
/compat/vendor/twig/twig/src/Environment.php384
123
Twig\Environment render
/src/classes/Gantry/Component/Theme/AbstractTheme.php176
122
Gantry\Component\Theme\AbstractTheme render
/data/web/e65384/html/fluhm-at405/templates/g5_myriad/error.php32
121
require
/data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php721
120
Joomla\CMS\Document\HtmlDocument _loadTemplate
/data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php776
119
Joomla\CMS\Document\HtmlDocument _fetchTemplate
/data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php612
118
Joomla\CMS\Document\HtmlDocument parse
/data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php630
117
Joomla\CMS\Document\HtmlDocument render
/data/web/e65384/html/fluhm-at405/libraries/src/Document/ErrorDocument.php139
116
Joomla\CMS\Document\ErrorDocument render
/data/web/e65384/html/fluhm-at405/libraries/src/Error/Renderer/HtmlRenderer.php70
115
Joomla\CMS\Error\Renderer\HtmlRenderer render
/data/web/e65384/html/fluhm-at405/libraries/src/Exception/ExceptionHandler.php126
114
Joomla\CMS\Exception\ExceptionHandler render
/data/web/e65384/html/fluhm-at405/libraries/src/Exception/ExceptionHandler.php72
113
Joomla\CMS\Exception\ExceptionHandler handleException
/data/web/e65384/html/fluhm-at405/libraries/src/Application/CMSApplication.php322
112
Whoops\Exception\ErrorException
/vendor/leafo/scssphp/src/Parser.php342
111
Gantry\Component\Whoops\SystemFacade handleError
/vendor/leafo/scssphp/src/Parser.php342
110
Leafo\ScssPhp\Parser parseChunk
/vendor/leafo/scssphp/src/Parser.php189
109
Leafo\ScssPhp\Parser parse
/src/classes/Gantry/Component/Stylesheet/Scss/LegacyCompiler.php425
108
Gantry\Component\Stylesheet\Scss\LegacyCompiler importFile
/src/classes/Leafo/ScssPhp/Compiler.php2009
107
Leafo\ScssPhp\Compiler compileImport
/src/classes/Leafo/ScssPhp/Compiler.php2080
106
Leafo\ScssPhp\Compiler compileChild
/src/classes/Leafo/ScssPhp/Compiler.php1690
105
Leafo\ScssPhp\Compiler compileChildrenNoReturn
/src/classes/Gantry/Component/Stylesheet/Scss/LegacyCompiler.php432
104
Gantry\Component\Stylesheet\Scss\LegacyCompiler importFile
/src/classes/Leafo/ScssPhp/Compiler.php2009
103
Leafo\ScssPhp\Compiler compileImport
/src/classes/Leafo/ScssPhp/Compiler.php2080
102
Leafo\ScssPhp\Compiler compileChild
/src/classes/Leafo/ScssPhp/Compiler.php1690
101
Leafo\ScssPhp\Compiler compileChildrenNoReturn
/src/classes/Gantry/Component/Stylesheet/Scss/LegacyCompiler.php432
100
Gantry\Component\Stylesheet\Scss\LegacyCompiler importFile
/src/classes/Leafo/ScssPhp/Compiler.php2009
99
Leafo\ScssPhp\Compiler compileImport
/src/classes/Leafo/ScssPhp/Compiler.php2080
98
Leafo\ScssPhp\Compiler compileChild
/src/classes/Leafo/ScssPhp/Compiler.php1690
97
Leafo\ScssPhp\Compiler compileChildrenNoReturn
/src/classes/Leafo/ScssPhp/Compiler.php399
96
Leafo\ScssPhp\Compiler compileRoot
/src/classes/Leafo/ScssPhp/Compiler.php253
95
Leafo\ScssPhp\Compiler compile
/src/classes/Gantry/Component/Stylesheet/ScssCompiler.php310
94
Gantry\Component\Stylesheet\ScssCompiler compileLegacyFile
/src/classes/Gantry/Component/Stylesheet/ScssCompiler.php189
93
Gantry\Component\Stylesheet\ScssCompiler compileFile
/src/classes/Gantry/Component/Theme/ThemeTrait.php271
92
Gantry\Framework\Theme css
/src/classes/Gantry/Component/Content/Block/HtmlBlock.php86
91
Gantry\Component\Content\Block\HtmlBlock getStyles
/src/classes/Gantry/Component/Content/Document/HtmlDocument.php221
90
Gantry\Component\Content\Document\HtmlDocument getStyles
/src/classes/Gantry/Framework/Base/Gantry.php119
89
Gantry\Framework\Base\Gantry styles
/src/classes/Gantry/Framework/Gantry.php50
88
Gantry\Framework\Gantry styles
/compat/vendor/twig/twig/src/Template.php702
87
Twig\Template getAttribute
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/2e/2e593f299d94ad3e77cffaecdcb71cab30ee8768082590b90ab10f252f9ad714.php56
86
__TwigTemplate_a766e2666b0a0398a57c74f3de447a4d8e48101c72f2d588e09b37fc636bbb0c block_head_application
/compat/vendor/twig/twig/src/Template.php214
85
Twig\Template displayBlock
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/ad/adf1f5273e55b9097f97b202419a40ddc54031ed4a18ac9c3e5f87ab68effd95.php89
84
__TwigTemplate_98f9e5bc8a99a8299116c51fd311f1f35e9136db6c6701076f95ad042308546f doDisplay
/compat/vendor/twig/twig/src/Template.php453
83
Twig\Template displayWithErrorHandling
/compat/vendor/twig/twig/src/Template.php420
82
Twig\Template display
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/8c/8c74c62cd3f0713caaa816c9583e92ef45c691d41d638a27358915acd470b74c.php38
81
__TwigTemplate_93bca076f7dc6d42a79c348b02fa10015b2dca8ae41de855b1923047f43ecbd0 doDisplay
/compat/vendor/twig/twig/src/Template.php453
80
Twig\Template displayWithErrorHandling
/compat/vendor/twig/twig/src/Template.php420
79
Twig\Template display
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/2e/2e593f299d94ad3e77cffaecdcb71cab30ee8768082590b90ab10f252f9ad714.php35
78
__TwigTemplate_a766e2666b0a0398a57c74f3de447a4d8e48101c72f2d588e09b37fc636bbb0c doDisplay
/compat/vendor/twig/twig/src/Template.php453
77
Twig\Template displayWithErrorHandling
/compat/vendor/twig/twig/src/Template.php420
76
Twig\Template display
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/61/6187c77438ac4e6dc605180ab3b039da5e827ab0a710caf5e2689998b69ad6b9.php43
75
Twig\Template displayBlock
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/ba/ba74266590772a4e71c473b243bb405d964e00d88942be0af53017629587dafc.php146
74
__TwigTemplate_e77a93e0117191f68b71745017324846af6bfef58b8d611e49b3068f374b3fcb doDisplay
/compat/vendor/twig/twig/src/Template.php453
73
Twig\Template displayWithErrorHandling
/compat/vendor/twig/twig/src/Template.php420
72
Twig\Template display
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/b8/b87eadc7cf32ef06f192d9c509853e449ba938324df61983fbee71ec77735330.php35
71
Twig\Template display
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/61/6187c77438ac4e6dc605180ab3b039da5e827ab0a710caf5e2689998b69ad6b9.php36
70
Twig\Template display
/compat/vendor/twig/twig/src/Template.php432
69
Twig\Template render
/compat/vendor/twig/twig/src/TemplateWrapper.php47
68
Twig\TemplateWrapper render
/compat/vendor/twig/twig/src/Environment.php384
67
Twig\Environment render
/src/classes/Gantry/Component/Theme/AbstractTheme.php176
66
Gantry\Component\Theme\AbstractTheme render
/data/web/e65384/html/fluhm-at405/templates/g5_myriad/error.php32
65
require
/data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php721
64
Joomla\CMS\Document\HtmlDocument _loadTemplate
/data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php776
63
Joomla\CMS\Document\HtmlDocument _fetchTemplate
/data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php612
62
Joomla\CMS\Document\HtmlDocument parse
/data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php630
61
Joomla\CMS\Document\HtmlDocument render
/data/web/e65384/html/fluhm-at405/libraries/src/Document/ErrorDocument.php139
60
Joomla\CMS\Document\ErrorDocument render
/data/web/e65384/html/fluhm-at405/libraries/src/Error/Renderer/HtmlRenderer.php70
59
Joomla\CMS\Error\Renderer\HtmlRenderer render
/data/web/e65384/html/fluhm-at405/libraries/src/Exception/ExceptionHandler.php126
58
Joomla\CMS\Exception\ExceptionHandler render
/data/web/e65384/html/fluhm-at405/libraries/src/Exception/ExceptionHandler.php72
57
Joomla\CMS\Exception\ExceptionHandler handleException
/data/web/e65384/html/fluhm-at405/libraries/src/Application/CMSApplication.php322
56
Twig\Error\RuntimeError
/data/web/e65384/html/fluhm-at405/media/gantry5/engines/nucleus/templates/page.html.twig77
55
Whoops\Exception\ErrorException
/vendor/leafo/scssphp/src/Parser.php342
54
Gantry\Component\Whoops\SystemFacade handleError
/vendor/leafo/scssphp/src/Parser.php342
53
Leafo\ScssPhp\Parser parseChunk
/vendor/leafo/scssphp/src/Parser.php189
52
Leafo\ScssPhp\Parser parse
/src/classes/Gantry/Component/Stylesheet/Scss/LegacyCompiler.php425
51
Gantry\Component\Stylesheet\Scss\LegacyCompiler importFile
/src/classes/Leafo/ScssPhp/Compiler.php2009
50
Leafo\ScssPhp\Compiler compileImport
/src/classes/Leafo/ScssPhp/Compiler.php2080
49
Leafo\ScssPhp\Compiler compileChild
/src/classes/Leafo/ScssPhp/Compiler.php1690
48
Leafo\ScssPhp\Compiler compileChildrenNoReturn
/src/classes/Gantry/Component/Stylesheet/Scss/LegacyCompiler.php432
47
Gantry\Component\Stylesheet\Scss\LegacyCompiler importFile
/src/classes/Leafo/ScssPhp/Compiler.php2009
46
Leafo\ScssPhp\Compiler compileImport
/src/classes/Leafo/ScssPhp/Compiler.php2080
45
Leafo\ScssPhp\Compiler compileChild
/src/classes/Leafo/ScssPhp/Compiler.php1690
44
Leafo\ScssPhp\Compiler compileChildrenNoReturn
/src/classes/Gantry/Component/Stylesheet/Scss/LegacyCompiler.php432
43
Gantry\Component\Stylesheet\Scss\LegacyCompiler importFile
/src/classes/Leafo/ScssPhp/Compiler.php2009
42
Leafo\ScssPhp\Compiler compileImport
/src/classes/Leafo/ScssPhp/Compiler.php2080
41
Leafo\ScssPhp\Compiler compileChild
/src/classes/Leafo/ScssPhp/Compiler.php1690
40
Leafo\ScssPhp\Compiler compileChildrenNoReturn
/src/classes/Gantry/Component/Stylesheet/Scss/LegacyCompiler.php432
39
Gantry\Component\Stylesheet\Scss\LegacyCompiler importFile
/src/classes/Leafo/ScssPhp/Compiler.php2009
38
Leafo\ScssPhp\Compiler compileImport
/src/classes/Leafo/ScssPhp/Compiler.php2080
37
Leafo\ScssPhp\Compiler compileChild
/src/classes/Leafo/ScssPhp/Compiler.php1690
36
Leafo\ScssPhp\Compiler compileChildrenNoReturn
/src/classes/Leafo/ScssPhp/Compiler.php399
35
Leafo\ScssPhp\Compiler compileRoot
/src/classes/Leafo/ScssPhp/Compiler.php253
34
Leafo\ScssPhp\Compiler compile
/src/classes/Gantry/Component/Stylesheet/ScssCompiler.php310
33
Gantry\Component\Stylesheet\ScssCompiler compileLegacyFile
/src/classes/Gantry/Component/Stylesheet/ScssCompiler.php189
32
Gantry\Component\Stylesheet\ScssCompiler compileFile
/src/classes/Gantry/Component/Theme/ThemeTrait.php271
31
Gantry\Framework\Theme css
/src/classes/Gantry/Component/Content/Block/HtmlBlock.php86
30
Gantry\Component\Content\Block\HtmlBlock getStyles
/src/classes/Gantry/Framework/Document.php131
29
Gantry\Framework\Document registerStyles
/src/classes/Gantry/Framework/Document.php76
28
Gantry\Framework\Document registerAssets
/src/classes/Gantry/Framework/Base/Platform.php277
27
Gantry\Framework\Base\Platform finalize
/compat/vendor/twig/twig/src/Template.php700
26
Twig\Template getAttribute
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/ba/ba74266590772a4e71c473b243bb405d964e00d88942be0af53017629587dafc.php274
25
__TwigTemplate_e77a93e0117191f68b71745017324846af6bfef58b8d611e49b3068f374b3fcb block_page_footer
/compat/vendor/twig/twig/src/Template.php214
24
Twig\Template displayBlock
/compat/vendor/twig/twig/src/Template.php175
23
Twig\Template displayParentBlock
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/b8/b87eadc7cf32ef06f192d9c509853e449ba938324df61983fbee71ec77735330.php43
22
__TwigTemplate_ab3424eee1af98a2d8430b6e051b4ced3ba2f0da28c81c269a5dcca16b017132 block_page_footer
/compat/vendor/twig/twig/src/Template.php214
21
Twig\Template displayBlock
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/ba/ba74266590772a4e71c473b243bb405d964e00d88942be0af53017629587dafc.php152
20
__TwigTemplate_e77a93e0117191f68b71745017324846af6bfef58b8d611e49b3068f374b3fcb doDisplay
/compat/vendor/twig/twig/src/Template.php453
19
Twig\Template displayWithErrorHandling
/compat/vendor/twig/twig/src/Template.php420
18
Twig\Template display
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/b8/b87eadc7cf32ef06f192d9c509853e449ba938324df61983fbee71ec77735330.php35
17
__TwigTemplate_ab3424eee1af98a2d8430b6e051b4ced3ba2f0da28c81c269a5dcca16b017132 doDisplay
/compat/vendor/twig/twig/src/Template.php453
16
Twig\Template displayWithErrorHandling
/compat/vendor/twig/twig/src/Template.php420
15
Twig\Template display
/data/web/e65384/html/fluhm-at405/cache/gantry5/g5_myriad/twig/66/6641642a41ea2c7d8fe493111006c9e2d989a02ef877759688b21f086796becf.php35
14
__TwigTemplate_4e84c7ff66875716934cfc537f5ad4096df5d910f42cc579ef05bebc60907762 doDisplay
/compat/vendor/twig/twig/src/Template.php453
13
Twig\Template displayWithErrorHandling
/compat/vendor/twig/twig/src/Template.php420
12
Twig\Template display
/compat/vendor/twig/twig/src/Template.php432
11
Twig\Template render
/compat/vendor/twig/twig/src/TemplateWrapper.php47
10
Twig\TemplateWrapper render
/compat/vendor/twig/twig/src/Environment.php384
9
Twig\Environment render
/src/classes/Gantry/Component/Theme/AbstractTheme.php176
8
Gantry\Component\Theme\AbstractTheme render
/data/web/e65384/html/fluhm-at405/templates/g5_myriad/index.php23
7
require
/data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php721
6
Joomla\CMS\Document\HtmlDocument _loadTemplate
/data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php776
5
Joomla\CMS\Document\HtmlDocument _fetchTemplate
/data/web/e65384/html/fluhm-at405/libraries/src/Document/HtmlDocument.php612
4
Joomla\CMS\Document\HtmlDocument parse
/data/web/e65384/html/fluhm-at405/libraries/src/Application/CMSApplication.php1012
3
Joomla\CMS\Application\CMSApplication render
/data/web/e65384/html/fluhm-at405/libraries/src/Application/SiteApplication.php724
2
Joomla\CMS\Application\SiteApplication render
/data/web/e65384/html/fluhm-at405/libraries/src/Application/CMSApplication.php298
1
Joomla\CMS\Application\CMSApplication execute
/data/web/e65384/html/fluhm-at405/includes/app.php61
0
require_once
/data/web/e65384/html/fluhm-at405/index.php32
{% extends "partials/page_head.html.twig" %}
 
{% block head_application -%}
    <meta charset="utf-8" />
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>{{ errorcode|default(500) }} {{ error|default('GANTRY5_ENGINE_UNKNOWN_ERROR'|trans) }}</title>
    {% do gantry.document.errorPage(true) -%}
    {% do gantry.platform.finalize() -%}
    {{ gantry.styles('head', true)|join("\n    ")|raw }}
    {{ gantry.scripts('head', true)|join("\n    ")|raw }}
{%- endblock %}
 
Arguments
  1. "An exception has been thrown during the rendering of a template ("Creation of dynamic property Leafo\ScssPhp\Block::$name is deprecated")."
    
        $this->displayBlock('head_overrides', $context, $blocks);
        $content = ob_get_clean();
        $assetFunction($content, $location, $priority);
        // line 50
        echo "<head>
    ";
        // line 51
        echo twig_join_filter($this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "document", []), "getHtml", [0 => "head_top"], "method"), "
    ");
        echo "
    ";
        // line 52
        $this->displayBlock('head_meta', $context, $blocks);
        // line 78
        $this->displayBlock('head_title', $context, $blocks);
        // line 82
        echo "
    ";
        // line 83
        $this->displayBlock('head_application', $context, $blocks);
        // line 87
        echo "
    ";
        // line 88
        $this->displayBlock('head_ie_stylesheets', $context, $blocks);
        // line 91
        $this->displayBlock('head', $context, $blocks);
        // line 92
        $this->displayBlock('head_custom', $context, $blocks);
        // line 97
        echo twig_join_filter($this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "document", []), "getHtml", [0 => "head_bottom"], "method"), "
    ");
        echo "
</head>
";
    }
 
    // line 7
    public function block_head_stylesheets($context, array $blocks = [])
    {
            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 = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        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) {
        parent::__construct($env);
 
        $this->blocks = [
            'head_title' => [$this, 'block_head_title'],
            'head_application' => [$this, 'block_head_application'],
            'head_platform' => [$this, 'block_head_platform'],
            'head' => [$this, 'block_head'],
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "@nucleus/page_head.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("@nucleus/page_head.html.twig", "partials/page_head.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_head_title($context, array $blocks = [])
    {
    }
 
    // line 6
    public function block_head_application($context, array $blocks = [])
    {
        // line 7
        if ($this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "platform", []), "checkVersion", [0 => 4], "method")) {
            echo " ";
            // line 8
            echo "    <jdoc:include type=\"metas\" />
    <jdoc:include type=\"styles\" />
    <jdoc:include type=\"scripts\" />
    ";
        } elseif ($this->getAttribute($this->getAttribute(        // line 11
($context["gantry"] ?? null), "platform", []), "checkVersion", [0 => 3], "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 = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        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) {
{
    public function __construct(Environment $env)
    {
        parent::__construct($env);
 
        $this->blocks = [
            'head_application' => [$this, 'block_head_application'],
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "partials/page_head.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("partials/page_head.html.twig", "partials/error_head.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_head_application($context, array $blocks = [])
    {
        // line 4
        echo "<meta charset=\"utf-8\" />
    <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />
    <title>";
        // line 6
        echo twig_escape_filter($this->env, ((array_key_exists("errorcode", $context)) ? (_twig_default_filter(($context["errorcode"] ?? null), 500)) : (500)), "html", null, true);
        echo " ";
        echo twig_escape_filter($this->env, ((array_key_exists("error", $context)) ? (_twig_default_filter(($context["error"] ?? null), $this->env->getExtension('Gantry\Component\Twig\TwigExtension')->transFilter("GANTRY5_ENGINE_UNKNOWN_ERROR"))) : ($this->env->getExtension('Gantry\Component\Twig\TwigExtension')->transFilter("GANTRY5_ENGINE_UNKNOWN_ERROR"))), "html", null, true);
        echo "</title>
    ";
        // line 7
        $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "document", []), "errorPage", [0 => true], "method");
        // line 8
        $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "platform", []), "finalize", [], "method");
        // line 9
            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 = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        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) {
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "partials/page.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("partials/page.html.twig", "error.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_page_head($context, array $blocks = [])
    {
        // line 4
        $this->loadTemplate("partials/error_head.html.twig", "error.html.twig", 4)->display($context);
    }
 
    // line 7
    public function block_content($context, array $blocks = [])
    {
        // line 8
        echo "    <h1>";
        echo twig_escape_filter($this->env, ((array_key_exists("errorcode", $context)) ? (_twig_default_filter(($context["errorcode"] ?? null), 500)) : (500)), "html", null, true);
        echo " ";
        echo twig_escape_filter($this->env, ((array_key_exists("error", $context)) ? (_twig_default_filter(($context["error"] ?? null), "Unknown Error")) : ("Unknown Error")), "html", null, true);
        echo "</h1>
    ";
        // line 9
        echo ($context["backtrace"] ?? null);
        echo "
";
    }
 
    public function getTemplateName()
    {
        $context["body_top"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
        // line 59
        ob_start(function () { return ''; });
        // line 60
        echo "    ";
        $this->displayBlock('body_bottom', $context, $blocks);
        // line 62
        echo "    ";
        echo twig_join_filter($this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "document", []), "getHtml", [0 => "body_bottom"], "method"), "
    ");
        echo "
";
        $context["body_bottom"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
        // line 65
        $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "document", []), "addScript", [0 => $this->env->getExtension('Gantry\Component\Twig\TwigExtension')->urlFunc("gantry-assets://js/main.js"), 1 => 11, 2 => "footer"], "method");
        // line 69
        ob_start(function () { return ''; });
        // line 70
        echo "    ";
        $this->displayBlock('page_head', $context, $blocks);
        $context["page_head"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
        // line 75
        ob_start(function () { return ''; });
        // line 76
        echo "    ";
        $this->displayBlock('page_footer', $context, $blocks);
        // line 80
        echo "
    ";
        // line 81
        echo $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "debugger", []), "render", [], "method");
        echo "
";
        $context["page_footer"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
        // line 84
        $this->displayBlock('page', $context, $blocks);
    }
 
    // line 8
    public function block_content($context, array $blocks = [])
            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 = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        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) {
{
    public function __construct(Environment $env)
    {
        parent::__construct($env);
 
        $this->blocks = [
            'page_footer' => [$this, 'block_page_footer'],
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "@nucleus/page.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("@nucleus/page.html.twig", "partials/page.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_page_footer($context, array $blocks = [])
    {
        // 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()
    {
    public function __construct(Environment $env)
    {
        parent::__construct($env);
 
        $this->blocks = [
            'page_head' => [$this, 'block_page_head'],
            'content' => [$this, 'block_content'],
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "partials/page.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("partials/page.html.twig", "error.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_page_head($context, array $blocks = [])
    {
        // line 4
        $this->loadTemplate("partials/error_head.html.twig", "error.html.twig", 4)->display($context);
    }
 
    // line 7
    public function block_content($context, array $blocks = [])
    {
        // line 8
        echo "    <h1>";
        echo twig_escape_filter($this->env, ((array_key_exists("errorcode", $context)) ? (_twig_default_filter(($context["errorcode"] ?? null), 500)) : (500)), "html", null, true);
        echo " ";
        echo twig_escape_filter($this->env, ((array_key_exists("error", $context)) ? (_twig_default_filter(($context["error"] ?? null), "Unknown Error")) : ("Unknown Error")), "html", null, true);
        echo "</h1>
    ";
        // line 9
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        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 = [])
    {
        try {
     * @internal
     */
    public function __construct(Environment $env, Template $template)
    {
        $this->env = $env;
        $this->template = $template;
    }
 
    /**
     * Renders the template.
     *
     * @param array $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     */
    public function render($context = [])
    {
        // using func_get_args() allows to not expose the blocks argument
        // as it should only be used by internal code
        return $this->template->render($context, \func_num_args() > 1 ? func_get_arg(1) : []);
    }
 
    /**
     * Displays the template.
     *
     * @param array $context An array of parameters to pass to the template
     */
    public function display($context = [])
    {
        // using func_get_args() allows to not expose the blocks argument
        // as it should only be used by internal code
        $this->template->display($context, \func_num_args() > 1 ? func_get_arg(1) : []);
    }
 
    /**
     * Checks if a block is defined.
     *
     * @param string $name    The block name
     * @param array  $context An array of parameters to pass to the template
     *
        @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|TemplateWrapper $name    The template name
     * @param array                  $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     *
     * @throws LoaderError  When the template cannot be found
     * @throws SyntaxError  When an error occurred during compilation
     * @throws RuntimeError When an error occurred during rendering
     */
    public function render($name, array $context = [])
    {
        return $this->load($name)->render($context);
    }
 
    /**
     * Displays a template.
     *
     * @param string|TemplateWrapper $name    The template name
     * @param array                  $context An array of parameters to pass to the template
     *
     * @throws LoaderError  When the template cannot be found
     * @throws SyntaxError  When an error occurred during compilation
     * @throws RuntimeError When an error occurred during rendering
     */
    public function display($name, array $context = [])
    {
        $this->load($name)->display($context);
    }
 
    /**
     * Loads a template.
     *
 
            $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);
    }
 
// Bootstrap Gantry framework or fail gracefully (inside included file).
$gantry = include __DIR__ . '/includes/gantry.php';

/** @var \Gantry\Framework\Theme $theme */
$theme = $gantry['theme'];

$context = array(
    'errorcode' => isset($this->error) ? $this->error->getCode() : null,
    'error' => isset($this->error) ? $this->error->getMessage() : null,
    'debug' => $app->get('debug_lang', '0') == '1' || $app->get('debug', '0') == '1',
    'backtrace' => $this->debug ? $this->renderBacktrace() : null
);

// Reset used outline configuration.
unset($gantry['configuration']);

// Render the page.
echo $theme
    ->setLayout('_error', true)
    ->render('error.html.twig', $context);
 
     *
     * @param   string  $directory  The name of the template
     * @param   string  $filename   The actual filename
     *
     * @return  string  The contents of the template
     *
     * @since   1.7.0
     */
    protected function _loadTemplate($directory, $filename)
    {
        $contents = '';
 
        // Check to see if we have a valid template file
        if (is_file($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();
        }
 
        return $contents;
    }
 
    /**
     * Fetch the template, and initialise the params
     *
     * @param   array  $params  Parameters to determine the template
     *
     * @return  HtmlDocument instance of $this to allow chaining
     *
     * @since   1.7.0
     */
    protected function _fetchTemplate($params = [])
    {
        // Check
        $directory = $params['directory'] ?? 'templates';
Arguments
  1. "/data/web/e65384/html/fluhm-at405/templates/g5_myriad/error.php"
    
                }
            }
        }
 
        // Load the language file for the template
        $lang = CmsFactory::getLanguage();
 
        // 1.5 or core then 1.6
        $lang->load('tpl_' . $template, JPATH_BASE)
            || ($inherits !== '' && $lang->load('tpl_' . $inherits, JPATH_BASE))
            || $lang->load('tpl_' . $template, $directory . '/' . $template)
            || ($inherits !== '' && $lang->load('tpl_' . $inherits, $directory . '/' . $inherits));
 
        // Assign the variables
        $this->baseurl  = Uri::base(true);
        $this->params   = $params['params'] ?? new Registry();
        $this->template = $template;
 
        // Load
        $this->_template = $this->_loadTemplate($baseDir, $file);
 
        return $this;
    }
 
    /**
     * Parse a document template
     *
     * @return  HtmlDocument  instance of $this to allow chaining
     *
     * @since   1.7.0
     */
    protected function _parseTemplate()
    {
        $matches = [];
 
        if (preg_match_all('#<jdoc:include\ type="([^"]+)"(.*)\/>#iU', $this->_template, $matches)) {
            $messages            = [];
            $template_tags_first = [];
            $template_tags_last  = [];
 
        $name  = $options['name'] ?? '';
        $title = $options['title'] ?? '';
 
        parent::$_buffer[$type][$name][$title] = $content;
 
        return $this;
    }
 
    /**
     * Parses the template and populates the buffer
     *
     * @param   array  $params  Parameters for fetching the template
     *
     * @return  HtmlDocument instance of $this to allow chaining
     *
     * @since   1.7.0
     */
    public function parse($params = [])
    {
        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   1.7.0
     */
    public function render($caching = false, $params = [])
    {
        $this->_caching = $caching;
 
        if (empty($this->_template)) {
            $this->parse($params);
        }
 
    {
        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   1.7.0
     */
    public function render($caching = false, $params = [])
    {
        $this->_caching = $caching;
 
        if (empty($this->_template)) {
            $this->parse($params);
        }
 
        if (\array_key_exists('csp_nonce', $params) && $params['csp_nonce'] !== null) {
            $this->cspNonce = $params['csp_nonce'];
        }
 
        $data = $this->_renderTemplate();
        parent::render($caching, $params);
 
        return $data;
    }
 
    /**
     * Count the modules in the given position
     *
     * @param   string   $positionName     The position to use
     * @param   boolean  $withContentOnly  Count only a modules which actually has a content
     *
     * @return  integer  Number of modules found
     *
 
        if ($status < 400 || $status > 599) {
            $status = 500;
        }
 
        $errorReporting = CmsFactory::getApplication()->get('error_reporting');
 
        if ($errorReporting === "development" || $errorReporting === "maximum") {
            $status .= ' ' . str_replace("\n", ' ', $this->_error->getMessage());
        }
 
        CmsFactory::getApplication()->setHeader('status', $status);
 
        // Set variables
        $this->debug = $params['debug'] ?? false;
        $this->error = $this->_error;
 
        $params['file'] = 'error.php';
 
        return parent::render($cache, $params);
    }
 
    /**
     * Render the backtrace
     *
     * @return  string  The contents of the backtrace
     *
     * @since   1.7.0
     */
    public function renderBacktrace()
    {
        // If no error object is set return null
        if (!isset($this->_error)) {
            return;
        }
 
        // The back trace
        $backtrace = $this->_error->getTrace();
 
        // Add the position of the actual file
 
        // Push the error object into the document
        $this->getDocument()->setError($error);
 
        // Add registry file for the template asset
        $wa = $this->getDocument()->getWebAssetManager()->getRegistry();
 
        $wa->addTemplateRegistryFile($template->template, $app->getClientId());
 
        if (!empty($template->parent)) {
            $wa->addTemplateRegistryFile($template->parent, $app->getClientId());
        }
 
        if (ob_get_contents()) {
            ob_end_clean();
        }
 
        $this->getDocument()->setTitle(Text::_('Error') . ': ' . $error->getCode());
 
        return $this->getDocument()->render(
            false,
            [
                'template'         => $template->template,
                'directory'        => JPATH_THEMES,
                'debug'            => JDEBUG,
                'csp_nonce'        => $app->get('csp_nonce'),
                'templateInherits' => $template->parent,
                'params'           => $template->params,
            ]
        );
    }
}
 
             * Lastly, if all else fails, we default onto the HTML format to at least render something
             */
            if (Factory::$document) {
                $format = Factory::$document->getType();
            } else {
                $format = $app->getInput()->getString('format', 'html');
            }
 
            try {
                $renderer = AbstractRenderer::getRenderer($format);
            } catch (\InvalidArgumentException $e) {
                // Default to the HTML renderer
                $renderer = AbstractRenderer::getRenderer('html');
            }
 
            // Reset the document object in the factory, this gives us a clean slate and lets everything render properly
            Factory::$document = $renderer->getDocument();
            Factory::getApplication()->loadDocument(Factory::$document);
 
            $data = $renderer->render($error);
 
            // If nothing was rendered, just use the message from the Exception
            if (empty($data)) {
                $data = $error->getMessage();
            }
 
            if ($isCli) {
                echo $data;
            } else {
                /** @var CMSApplication $app */
 
                // Do not allow cache
                $app->allowCache(false);
 
                $app->setBody($data);
            }
 
            // This return is needed to ensure the test suite does not trigger the non-Exception handling below
            return;
        } catch (\Throwable $errorRendererError) {
            }
        }
 
        // Always return false, this will tell PHP to handle the error internally
        return false;
    }
 
    /**
     * Handles exceptions: logs errors and renders error page.
     *
     * @param   \Exception|\Throwable  $error  An Exception or Throwable (PHP 7+) object for which to render the error page.
     *
     * @return  void
     *
     * @since   3.10.0
     */
    public static function handleException(\Throwable $error)
    {
        static::logException($error);
        static::render($error);
    }
 
    /**
     * Render the error page based on an exception.
     *
     * @param   \Throwable  $error  An Exception or Throwable (PHP 7+) object for which to render the error page.
     *
     * @return  void
     *
     * @since   3.0
     */
    public static function render(\Throwable $error)
    {
        try {
            $app = Factory::getApplication();
 
            // Flag if we are on cli
            $isCli = $app->isClient('cli');
 
            // If site is offline and it's a 404 error, just go to index (to see offline message, instead of 404)
                $this->compress();
 
                // Trigger the onAfterCompress event.
                $this->triggerEvent('onAfterCompress');
            }
        } catch (\Throwable $throwable) {
            /** @var ErrorEvent $event */
            $event = AbstractEvent::create(
                'onError',
                [
                    'subject'     => $throwable,
                    'eventClass'  => ErrorEvent::class,
                    'application' => $this,
                ]
            );
 
            // Trigger the onError event.
            $this->triggerEvent('onError', $event);
 
            ExceptionHandler::handleException($event->getError());
        }
 
        // Trigger the onBeforeRespond event.
        $this->getDispatcher()->dispatch('onBeforeRespond');
 
        // Send the application response.
        $this->respond();
 
        // Trigger the onAfterRespond event.
        $this->getDispatcher()->dispatch('onAfterRespond');
    }
 
    /**
     * Check if the user is required to reset their password.
     *
     * If the user is required to reset their password will be redirected to the page that manage the password reset.
     *
     * @param   string  $option  The option that manage the password reset
     * @param   string  $view    The view that manage the password reset
     * @param   string  $layout  The layout of the view that manage the password reset
            }
 
            $this->seek($s);
 
            if ($this->literal('@media', 6) && $this->mediaQueryList($mediaQueryList) && $this->matchChar('{')) {
                $media = $this->pushSpecialBlock(Type::T_MEDIA, $s);
                $media->queryList = $mediaQueryList[2];
 
                return true;
            }
 
            $this->seek($s);
 
            if ($this->literal('@mixin', 6) &&
                $this->keyword($mixinName) &&
                ($this->argumentDef($args) || true) &&
                $this->matchChar('{')
            ) {
                $mixin = $this->pushSpecialBlock(Type::T_MIXIN, $s);
                $mixin->name = $mixinName;
                $mixin->args = $args;
 
                return true;
            }
 
            $this->seek($s);
 
            if ($this->literal('@include', 8) &&
                $this->keyword($mixinName) &&
                ($this->matchChar('(') &&
                    ($this->argValues($argValues) || true) &&
                    $this->matchChar(')') || true) &&
                ($this->end() ||
                    $this->matchChar('{') && $hasBlock = true)
            ) {
                $child = [Type::T_INCLUDE, $mixinName, isset($argValues) ? $argValues : null, null];
 
                if (! empty($hasBlock)) {
                    $include = $this->pushSpecialBlock(Type::T_INCLUDE, $s);
                    $include->child = $child;
Arguments
  1. "Creation of dynamic property Leafo\ScssPhp\Block::$name is deprecated"
    
Exception message: Creation of dynamic property Leafo\ScssPhp\Block::$name is deprecated
            }
 
            $this->seek($s);
 
            if ($this->literal('@media', 6) && $this->mediaQueryList($mediaQueryList) && $this->matchChar('{')) {
                $media = $this->pushSpecialBlock(Type::T_MEDIA, $s);
                $media->queryList = $mediaQueryList[2];
 
                return true;
            }
 
            $this->seek($s);
 
            if ($this->literal('@mixin', 6) &&
                $this->keyword($mixinName) &&
                ($this->argumentDef($args) || true) &&
                $this->matchChar('{')
            ) {
                $mixin = $this->pushSpecialBlock(Type::T_MIXIN, $s);
                $mixin->name = $mixinName;
                $mixin->args = $args;
 
                return true;
            }
 
            $this->seek($s);
 
            if ($this->literal('@include', 8) &&
                $this->keyword($mixinName) &&
                ($this->matchChar('(') &&
                    ($this->argValues($argValues) || true) &&
                    $this->matchChar(')') || true) &&
                ($this->end() ||
                    $this->matchChar('{') && $hasBlock = true)
            ) {
                $child = [Type::T_INCLUDE, $mixinName, isset($argValues) ? $argValues : null, null];
 
                if (! empty($hasBlock)) {
                    $include = $this->pushSpecialBlock(Type::T_INCLUDE, $s);
                    $include->child = $child;
        // strip BOM (byte order marker)
        if (substr($buffer, 0, 3) === "\xef\xbb\xbf") {
            $buffer = substr($buffer, 3);
        }
 
        $this->buffer          = rtrim($buffer, "\x00..\x1f");
        $this->count           = 0;
        $this->env             = null;
        $this->inParens        = false;
        $this->eatWhiteDefault = true;
 
        $this->saveEncoding();
        $this->extractLineNumbers($buffer);
 
        $this->pushBlock(null); // root block
        $this->whitespace();
        $this->pushBlock(null);
        $this->popBlock();
 
        while ($this->parseChunk()) {
            ;
        }
 
        if ($this->count !== strlen($this->buffer)) {
            $this->throwParseError();
        }
 
        if (! empty($this->env->parent)) {
            $this->throwParseError('unclosed block');
        }
 
        if ($this->charset) {
            array_unshift($this->env->children, $this->charset);
        }
 
        $this->restoreEncoding();
 
        if ($this->cache) {
            $this->cache->setCache("parse", $cacheKey, $this->env, $parseOptions);
        }
        /** @var UniformResourceLocator $locator */
        $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);
 
            // Work around a bug in the compiler.
            if (strpos($realPath, '/_bourbon-deprecate.scss') !== false) {
                $code = preg_replace('/@content;/u', '', $code);
            }
 
            $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 \Leafo\ScssPhp\Formatter\OutputBlock $out
     * @param boolean                              $once
     *
     * @return boolean
     */
    protected function compileImport($rawPath, OutputBlock $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->sourceIndex = array_search($out->sourceName, $this->sourceNames);
 
            if ($this->sourceIndex === false) {
                $this->sourceIndex = null;
            }
        }
 
        switch ($child[0]) {
            case Type::T_SCSSPHP_IMPORT_ONCE:
                $rawPath = $this->reduce($child[1]);
 
                if (! $this->compileImport($rawPath, $out, true)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_IMPORT:
                $rawPath = $this->reduce($child[1]);
 
                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;
 
     * @param \Leafo\ScssPhp\Block                 $selfParent
     * @param string                               $traceName
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out, $selfParent = null, $traceName = '')
    {
        $this->pushCallStack($traceName);
 
        foreach ($stms as $stm) {
            if ($selfParent && isset($stm[1]) && is_object($stm[1]) && $stm[1] instanceof Block) {
                $stm[1]->selfParent = $selfParent;
                $ret = $this->compileChild($stm, $out);
                $stm[1]->selfParent = null;
            } elseif ($selfParent && $stm[0] === TYPE::T_INCLUDE) {
                $stm['selfParent'] = $selfParent;
                $ret = $this->compileChild($stm, $out);
                unset($stm['selfParent']);
            } else {
                $ret = $this->compileChild($stm, $out);
            }
 
            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');
 
                return;
            }
        }
 
        $this->popCallStack();
    }
 
 
    /**
     * evaluate media query : compile internal value keeping the structure inchanged
     *
     * @param array $queryList
     *
     * @return array
     */
            $this->handleImportLoop($realPath);
 
            $tree = $this->importCache[$realPath];
        } else {
            $code   = file_get_contents($realPath);
 
            // Work around a bug in the compiler.
            if (strpos($realPath, '/_bourbon-deprecate.scss') !== false) {
                $code = preg_replace('/@content;/u', '', $code);
            }
 
            $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 \Leafo\ScssPhp\Formatter\OutputBlock $out
     * @param boolean                              $once
     *
     * @return boolean
     */
    protected function compileImport($rawPath, OutputBlock $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->sourceIndex = array_search($out->sourceName, $this->sourceNames);
 
            if ($this->sourceIndex === false) {
                $this->sourceIndex = null;
            }
        }
 
        switch ($child[0]) {
            case Type::T_SCSSPHP_IMPORT_ONCE:
                $rawPath = $this->reduce($child[1]);
 
                if (! $this->compileImport($rawPath, $out, true)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_IMPORT:
                $rawPath = $this->reduce($child[1]);
 
                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;
 
     * @param \Leafo\ScssPhp\Block                 $selfParent
     * @param string                               $traceName
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out, $selfParent = null, $traceName = '')
    {
        $this->pushCallStack($traceName);
 
        foreach ($stms as $stm) {
            if ($selfParent && isset($stm[1]) && is_object($stm[1]) && $stm[1] instanceof Block) {
                $stm[1]->selfParent = $selfParent;
                $ret = $this->compileChild($stm, $out);
                $stm[1]->selfParent = null;
            } elseif ($selfParent && $stm[0] === TYPE::T_INCLUDE) {
                $stm['selfParent'] = $selfParent;
                $ret = $this->compileChild($stm, $out);
                unset($stm['selfParent']);
            } else {
                $ret = $this->compileChild($stm, $out);
            }
 
            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');
 
                return;
            }
        }
 
        $this->popCallStack();
    }
 
 
    /**
     * evaluate media query : compile internal value keeping the structure inchanged
     *
     * @param array $queryList
     *
     * @return array
     */
            $this->handleImportLoop($realPath);
 
            $tree = $this->importCache[$realPath];
        } else {
            $code   = file_get_contents($realPath);
 
            // Work around a bug in the compiler.
            if (strpos($realPath, '/_bourbon-deprecate.scss') !== false) {
                $code = preg_replace('/@content;/u', '', $code);
            }
 
            $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 \Leafo\ScssPhp\Formatter\OutputBlock $out
     * @param boolean                              $once
     *
     * @return boolean
     */
    protected function compileImport($rawPath, OutputBlock $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->sourceIndex = array_search($out->sourceName, $this->sourceNames);
 
            if ($this->sourceIndex === false) {
                $this->sourceIndex = null;
            }
        }
 
        switch ($child[0]) {
            case Type::T_SCSSPHP_IMPORT_ONCE:
                $rawPath = $this->reduce($child[1]);
 
                if (! $this->compileImport($rawPath, $out, true)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_IMPORT:
                $rawPath = $this->reduce($child[1]);
 
                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;
 
     * @param \Leafo\ScssPhp\Block                 $selfParent
     * @param string                               $traceName
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out, $selfParent = null, $traceName = '')
    {
        $this->pushCallStack($traceName);
 
        foreach ($stms as $stm) {
            if ($selfParent && isset($stm[1]) && is_object($stm[1]) && $stm[1] instanceof Block) {
                $stm[1]->selfParent = $selfParent;
                $ret = $this->compileChild($stm, $out);
                $stm[1]->selfParent = null;
            } elseif ($selfParent && $stm[0] === TYPE::T_INCLUDE) {
                $stm['selfParent'] = $selfParent;
                $ret = $this->compileChild($stm, $out);
                unset($stm['selfParent']);
            } else {
                $ret = $this->compileChild($stm, $out);
            }
 
            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');
 
                return;
            }
        }
 
        $this->popCallStack();
    }
 
 
    /**
     * evaluate media query : compile internal value keeping the structure inchanged
     *
     * @param array $queryList
     *
     * @return array
     */
            $out->sourceColumn = $this->env->block->sourceColumn;
        } else {
            $out->sourceName   = null;
            $out->sourceLine   = null;
            $out->sourceColumn = null;
        }
 
        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();
 
        $sourceMapGenerator = null;
 
        if ($this->sourceMap) {
            if (is_object($this->sourceMap) && $this->sourceMap instanceof SourceMapGenerator) {
                $sourceMapGenerator = $this->sourceMap;
                $this->sourceMap = self::SOURCE_MAP_FILE;
            } elseif ($this->sourceMap !== self::SOURCE_MAP_NONE) {
                $sourceMapGenerator = new SourceMapGenerator($this->sourceMapOptions);
            }
        }
 
        $out = $this->formatter->format($this->scope, $sourceMapGenerator);
 
        if (! empty($out) && $this->sourceMap && $this->sourceMap !== self::SOURCE_MAP_NONE) {
            $sourceMap    = $sourceMapGenerator->generateJson();
            $sourceMapUrl = null;
 
            switch ($this->sourceMap) {
            $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.
        $compiler = $this->getLegacyCompiler();
        $compiler->setBasePath($path);
        $compiler->setImportPaths([[$this, 'findLegacyImport']]);
 
        // Run the compiler.
        $compiler->setVariables($this->getVariables());
        $scss = '@import "' . $in . '.scss"';
        try {
            $css = $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 . ' */';
        }
 
        // Extract map from css and save it as separate file.
        if ($pos = strrpos($css, '/*# sourceMappingURL=')) {
            $map = json_decode(urldecode(substr($css, $pos + 43, -3)), true);
 
            /** @var Document $document */
            $document = $gantry['document'];
 
            foreach ($map['sources'] as &$source) {
                $source = $document->url($source, false, -1);
            }
            unset($source);
 
            $mapFile = JsonFile::instance($path . '.map');
        $compiler = $this->getCompiler();
        $compiler->setLogger($logger);
 
        // Set the lookup paths.
        $this->functions->setBasePath($path);
        $compiler->setImportPaths([[$this, 'findImport']]);
 
        // Run the compiler.
        $compiler->addVariables($this->getVariables(true));
        $scss = '$output-bourbon-deprecation-warnings: false;' . "\n" . '@import "' . $in . '.scss"';
        try {
            $this->result = $compiler->compileString($scss);
            $css = $this->result->getCss();
        } catch (CompilerException $e) {
            if (version_compare(static::$options['compatibility'], '5.5', '<')) {
                static::$options['legacy'][$in] = true;
                $this->warnings['__TITLE__'] = 'Please update your theme!';
                $this->warnings[$in] = ['WARNING: ' . $e->getMessage()];
 
                return $this->compileLegacyFile($in);
            }
 
            throw new \RuntimeException("ERROR: CSS Compilation on file '{$in}.scss' failed on error: {$e->getMessage()}", 500, $e);
        } catch (\Exception $e) {
            throw new \RuntimeException("ERROR: CSS Compilation on file '{$in}.scss' failed on fatal error: {$e->getMessage()}", 500, $e);
        }
        if (strpos($css, $scss) === 0) {
            $css = '/* ' . $scss . ' */';
        }
 
        // Extract map from css and save it as separate file.
        $pos = strrpos($css, '/*# sourceMappingURL=');
        if ($pos !== false) {
            $map = json_decode(urldecode(substr($css, $pos + 43, -3)), true);
 
            /** @var Document $document */
            $document = $gantry['document'];
 
            foreach ($map['sources'] as &$source) {
                $source = $document::url($source, false, -1);
    /**
     * 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'])) {
                if (\GANTRY_DEBUGGER) {
                    Debugger::startTimer("css-{$name}", "Compiling CSS: {$name}");
                    Debugger::addMessage("Compiling CSS: {$name}");
                }
 
                $compiler->compileFile($name);
 
                if (\GANTRY_DEBUGGER) {
                    Debugger::stopTimer("css-{$name}");
                }
            }
 
            $this->cssCache[$name] = $compiler->getCssUrl($name);
        }
 
        return $this->cssCache[$name];
    }
 
    /**
     * @return array
     */
    public function getCssVariables()
    {
        if ($this->preset) {
            $variables = $this->presets()->flatten($this->preset . '.styles', '-');
        } else {
        $styles = $this->getAssetsInLocation('styles', $location);
 
        if (!$styles) {
            return [];
        }
 
        $gantry = Gantry::instance();
 
        /** @var Theme|null $theme */
        $theme = isset($gantry['theme']) ? $gantry['theme'] : null;
 
        /** @var Document $document */
        $document = $gantry['document'];
 
        foreach ($styles as $key => $style) {
            if (isset($style['href'])) {
                $url = $style['href'];
                if ($theme && preg_match('|\.scss$|', $url)) {
                    // Compile SCSS files.
                    $url = $theme->css(Gantry::basename($url, '.scss'));
                }
                // Deal with streams and relative paths.
                $url = $document::url($url, null, null, false);
 
                $styles[$key]['href'] = $url;
            }
        }
 
        return $styles;
    }
 
    /**
     * @param string $location
     * @return array
     * @since 5.4.3
     */
    public function getScripts($location = 'head')
    {
        $scripts = $this->getAssetsInLocation('scripts', $location);
 
                if (!empty($element['src'])) {
                    $success = static::addScript($element, $priority, $location);
                } elseif (!empty($element['content'])) {
                    $success = static::addInlineScript($element, $priority, $location);
                }
 
                break;
        }
 
        return $success;
    }
 
    /**
     * @param string $location
     * @return array
     */
    public static function getStyles($location = 'head')
    {
        static::getObject();
        $styles = static::$stack[0]->getStyles($location);
 
        $output = [];
 
        foreach ($styles as $style) {
            switch ($style[':type']) {
                case 'file':
                    $attribs = '';
                    if ($style['media']) {
                        $attribs .= ' media="' . static::escape($style['media']) . '"';
                    }
                    $output[] = sprintf(
                        '<link rel="stylesheet" href="%s" type="%s"%s />',
                        static::escape($style['href']),
                        static::escape($style['type']),
                        $attribs
                    );
                    break;
                case 'inline':
                    $attribs = '';
                    if ($style['type'] !== 'text/css') {
     * @return string
     */
    public function siteUrl()
    {
        /** @var Document $document */
        $document = $this['document'];
 
        return $document::siteUrl();
    }
 
    /**
     * @param string $location
     * @return array
     */
    public function styles($location = 'head')
    {
        /** @var Document $document */
        $document = $this['document'];
 
        return $document::getStyles($location);
    }
 
    /**
     * @param string $location
     * @return array
     */
    public function scripts($location = 'head')
    {
        /** @var Document $document */
        $document = $this['document'];
 
        return $document::getScripts($location);
    }
 
    /**
     * Load Javascript framework / extension in platform independent way.
     *
     * @param string $framework
     * @return bool
     */
    /**
     * @return bool
     */
    public function admin()
    {
        /** @var CMSApplication $application */
        $app = Factory::getApplication();
 
        return $app->isClient('administrator');
    }
 
    /**
     * @param string $location
     * @param bool   $force
     * @return array
     */
    public function styles($location = 'head', $force = false)
    {
        // Do not display head, Joomla will take care of it (most of the time).
        return (!$force && $location === 'head') ? [] : parent::styles($location);
    }
 
    /**
     * @param string $location
     * @param bool $force
     * @return array
     */
    public function scripts($location = 'head', $force = false)
    {
        // Do not display head, Joomla will take care of it (most of the time).
        return (!$force && $location === 'head') ? [] : parent::scripts($location);
    }
 
    /**
     * @return array
     */
    protected function loadGlobal()
    {
        $global = null;
 
            }
 
            throw new RuntimeError(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, $class), -1, $this->getSourceContext());
        }
 
        if ($isDefinedTest) {
            return true;
        }
 
        if ($this->env->hasExtension('\Twig\Extension\SandboxExtension')) {
            $this->env->getExtension('\Twig\Extension\SandboxExtension')->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 {
            if (!$arguments) {
                $ret = $object->$method();
            } else {
                $ret = \call_user_func_array([$object, $method], $arguments);
            }
        } catch (\BadMethodCallException $e) {
            if ($call && ($ignoreStrictCheck || !$this->env->isStrictVariables())) {
                return;
            }
            throw $e;
        }
 
        // @deprecated in 1.28
        if ($object instanceof \Twig_TemplateInterface) {
            $self = $object->getTemplateName() === $this->getTemplateName();
            $message = sprintf('Calling "%s" on template "%s" from template "%s" is deprecated since version 1.28 and won\'t be supported anymore in 2.0.', $item, $object->getTemplateName(), $this->getTemplateName());
            if ('renderBlock' === $method || 'displayBlock' === $method) {
                $message .= sprintf(' Use block("%s"%s) instead).', $arguments[0], $self ? '' : ', template');
            } elseif ('hasBlock' === $method) {
                $message .= sprintf(' Use "block("%s"%s) is defined" instead).', $arguments[0], $self ? '' : ', template');
            } elseif ('render' === $method || 'display' === $method) {
                $message .= sprintf(' Use include("%s") instead).', $object->getTemplateName());
            }
            @trigger_error($message, \E_USER_DEPRECATED);
 
    // line 3
    public function block_head_application($context, array $blocks = [])
    {
        // line 4
        echo "<meta charset=\"utf-8\" />
    <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />
    <title>";
        // line 6
        echo twig_escape_filter($this->env, ((array_key_exists("errorcode", $context)) ? (_twig_default_filter(($context["errorcode"] ?? null), 500)) : (500)), "html", null, true);
        echo " ";
        echo twig_escape_filter($this->env, ((array_key_exists("error", $context)) ? (_twig_default_filter(($context["error"] ?? null), $this->env->getExtension('Gantry\Component\Twig\TwigExtension')->transFilter("GANTRY5_ENGINE_UNKNOWN_ERROR"))) : ($this->env->getExtension('Gantry\Component\Twig\TwigExtension')->transFilter("GANTRY5_ENGINE_UNKNOWN_ERROR"))), "html", null, true);
        echo "</title>
    ";
        // line 7
        $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "document", []), "errorPage", [0 => true], "method");
        // line 8
        $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "platform", []), "finalize", [], "method");
        // line 9
        echo twig_join_filter($this->getAttribute(($context["gantry"] ?? null), "styles", [0 => "head", 1 => true], "method"), "
    ");
        echo "
    ";
        // line 10
        echo twig_join_filter($this->getAttribute(($context["gantry"] ?? null), "scripts", [0 => "head", 1 => true], "method"), "
    ");
    }
 
    public function getTemplateName()
    {
        return "partials/error_head.html.twig";
    }
 
    public function isTraitable()
    {
        return false;
    }
 
    public function getDebugInfo()
    {
 
        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;
        }
 
        // avoid RCEs when sandbox is enabled
        if (null !== $template && !$template instanceof self) {
            throw new \LogicException('A block must be a method on a \Twig\Template instance.');
        }
 
        if (null !== $template) {
            try {
                $template->$block($context, $blocks);
            } catch (Error $e) {
                if (!$e->getSourceContext()) {
                    $e->setSourceContext($template->getSourceContext());
                }
 
                // this is mostly useful for \Twig\Error\LoaderError exceptions
                // see \Twig\Error\LoaderError
                if (-1 === $e->getTemplateLine()) {
                    $e->guess();
                }
 
                throw $e;
            } catch (\Exception $e) {
                $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getSourceContext(), $e);
                $e->guess();
 
                throw $e;
            }
        } elseif (false !== $parent = $this->getParent($context)) {
            $parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
        $this->displayBlock('head_overrides', $context, $blocks);
        $content = ob_get_clean();
        $assetFunction($content, $location, $priority);
        // line 50
        echo "<head>
    ";
        // line 51
        echo twig_join_filter($this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "document", []), "getHtml", [0 => "head_top"], "method"), "
    ");
        echo "
    ";
        // line 52
        $this->displayBlock('head_meta', $context, $blocks);
        // line 78
        $this->displayBlock('head_title', $context, $blocks);
        // line 82
        echo "
    ";
        // line 83
        $this->displayBlock('head_application', $context, $blocks);
        // line 87
        echo "
    ";
        // line 88
        $this->displayBlock('head_ie_stylesheets', $context, $blocks);
        // line 91
        $this->displayBlock('head', $context, $blocks);
        // line 92
        $this->displayBlock('head_custom', $context, $blocks);
        // line 97
        echo twig_join_filter($this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "document", []), "getHtml", [0 => "head_bottom"], "method"), "
    ");
        echo "
</head>
";
    }
 
    // line 7
    public function block_head_stylesheets($context, array $blocks = [])
    {
            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 = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        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) {
        parent::__construct($env);
 
        $this->blocks = [
            'head_title' => [$this, 'block_head_title'],
            'head_application' => [$this, 'block_head_application'],
            'head_platform' => [$this, 'block_head_platform'],
            'head' => [$this, 'block_head'],
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "@nucleus/page_head.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("@nucleus/page_head.html.twig", "partials/page_head.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_head_title($context, array $blocks = [])
    {
    }
 
    // line 6
    public function block_head_application($context, array $blocks = [])
    {
        // line 7
        if ($this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "platform", []), "checkVersion", [0 => 4], "method")) {
            echo " ";
            // line 8
            echo "    <jdoc:include type=\"metas\" />
    <jdoc:include type=\"styles\" />
    <jdoc:include type=\"scripts\" />
    ";
        } elseif ($this->getAttribute($this->getAttribute(        // line 11
($context["gantry"] ?? null), "platform", []), "checkVersion", [0 => 3], "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 = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        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) {
{
    public function __construct(Environment $env)
    {
        parent::__construct($env);
 
        $this->blocks = [
            'head_application' => [$this, 'block_head_application'],
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "partials/page_head.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("partials/page_head.html.twig", "partials/error_head.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_head_application($context, array $blocks = [])
    {
        // line 4
        echo "<meta charset=\"utf-8\" />
    <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />
    <title>";
        // line 6
        echo twig_escape_filter($this->env, ((array_key_exists("errorcode", $context)) ? (_twig_default_filter(($context["errorcode"] ?? null), 500)) : (500)), "html", null, true);
        echo " ";
        echo twig_escape_filter($this->env, ((array_key_exists("error", $context)) ? (_twig_default_filter(($context["error"] ?? null), $this->env->getExtension('Gantry\Component\Twig\TwigExtension')->transFilter("GANTRY5_ENGINE_UNKNOWN_ERROR"))) : ($this->env->getExtension('Gantry\Component\Twig\TwigExtension')->transFilter("GANTRY5_ENGINE_UNKNOWN_ERROR"))), "html", null, true);
        echo "</title>
    ";
        // line 7
        $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "document", []), "errorPage", [0 => true], "method");
        // line 8
        $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "platform", []), "finalize", [], "method");
        // line 9
            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 = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        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) {
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "partials/page.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("partials/page.html.twig", "error.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_page_head($context, array $blocks = [])
    {
        // line 4
        $this->loadTemplate("partials/error_head.html.twig", "error.html.twig", 4)->display($context);
    }
 
    // line 7
    public function block_content($context, array $blocks = [])
    {
        // line 8
        echo "    <h1>";
        echo twig_escape_filter($this->env, ((array_key_exists("errorcode", $context)) ? (_twig_default_filter(($context["errorcode"] ?? null), 500)) : (500)), "html", null, true);
        echo " ";
        echo twig_escape_filter($this->env, ((array_key_exists("error", $context)) ? (_twig_default_filter(($context["error"] ?? null), "Unknown Error")) : ("Unknown Error")), "html", null, true);
        echo "</h1>
    ";
        // line 9
        echo ($context["backtrace"] ?? null);
        echo "
";
    }
 
    public function getTemplateName()
    {
        $context["body_top"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
        // line 59
        ob_start(function () { return ''; });
        // line 60
        echo "    ";
        $this->displayBlock('body_bottom', $context, $blocks);
        // line 62
        echo "    ";
        echo twig_join_filter($this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "document", []), "getHtml", [0 => "body_bottom"], "method"), "
    ");
        echo "
";
        $context["body_bottom"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
        // line 65
        $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "document", []), "addScript", [0 => $this->env->getExtension('Gantry\Component\Twig\TwigExtension')->urlFunc("gantry-assets://js/main.js"), 1 => 11, 2 => "footer"], "method");
        // line 69
        ob_start(function () { return ''; });
        // line 70
        echo "    ";
        $this->displayBlock('page_head', $context, $blocks);
        $context["page_head"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
        // line 75
        ob_start(function () { return ''; });
        // line 76
        echo "    ";
        $this->displayBlock('page_footer', $context, $blocks);
        // line 80
        echo "
    ";
        // line 81
        echo $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "debugger", []), "render", [], "method");
        echo "
";
        $context["page_footer"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
        // line 84
        $this->displayBlock('page', $context, $blocks);
    }
 
    // line 8
    public function block_content($context, array $blocks = [])
            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 = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        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) {
{
    public function __construct(Environment $env)
    {
        parent::__construct($env);
 
        $this->blocks = [
            'page_footer' => [$this, 'block_page_footer'],
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "@nucleus/page.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("@nucleus/page.html.twig", "partials/page.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_page_footer($context, array $blocks = [])
    {
        // 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()
    {
    public function __construct(Environment $env)
    {
        parent::__construct($env);
 
        $this->blocks = [
            'page_head' => [$this, 'block_page_head'],
            'content' => [$this, 'block_content'],
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "partials/page.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("partials/page.html.twig", "error.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_page_head($context, array $blocks = [])
    {
        // line 4
        $this->loadTemplate("partials/error_head.html.twig", "error.html.twig", 4)->display($context);
    }
 
    // line 7
    public function block_content($context, array $blocks = [])
    {
        // line 8
        echo "    <h1>";
        echo twig_escape_filter($this->env, ((array_key_exists("errorcode", $context)) ? (_twig_default_filter(($context["errorcode"] ?? null), 500)) : (500)), "html", null, true);
        echo " ";
        echo twig_escape_filter($this->env, ((array_key_exists("error", $context)) ? (_twig_default_filter(($context["error"] ?? null), "Unknown Error")) : ("Unknown Error")), "html", null, true);
        echo "</h1>
    ";
        // line 9
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        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 = [])
    {
        try {
     * @internal
     */
    public function __construct(Environment $env, Template $template)
    {
        $this->env = $env;
        $this->template = $template;
    }
 
    /**
     * Renders the template.
     *
     * @param array $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     */
    public function render($context = [])
    {
        // using func_get_args() allows to not expose the blocks argument
        // as it should only be used by internal code
        return $this->template->render($context, \func_num_args() > 1 ? func_get_arg(1) : []);
    }
 
    /**
     * Displays the template.
     *
     * @param array $context An array of parameters to pass to the template
     */
    public function display($context = [])
    {
        // using func_get_args() allows to not expose the blocks argument
        // as it should only be used by internal code
        $this->template->display($context, \func_num_args() > 1 ? func_get_arg(1) : []);
    }
 
    /**
     * Checks if a block is defined.
     *
     * @param string $name    The block name
     * @param array  $context An array of parameters to pass to the template
     *
        @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|TemplateWrapper $name    The template name
     * @param array                  $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     *
     * @throws LoaderError  When the template cannot be found
     * @throws SyntaxError  When an error occurred during compilation
     * @throws RuntimeError When an error occurred during rendering
     */
    public function render($name, array $context = [])
    {
        return $this->load($name)->render($context);
    }
 
    /**
     * Displays a template.
     *
     * @param string|TemplateWrapper $name    The template name
     * @param array                  $context An array of parameters to pass to the template
     *
     * @throws LoaderError  When the template cannot be found
     * @throws SyntaxError  When an error occurred during compilation
     * @throws RuntimeError When an error occurred during rendering
     */
    public function display($name, array $context = [])
    {
        $this->load($name)->display($context);
    }
 
    /**
     * Loads a template.
     *
 
            $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);
    }
 
// Bootstrap Gantry framework or fail gracefully (inside included file).
$gantry = include __DIR__ . '/includes/gantry.php';

/** @var \Gantry\Framework\Theme $theme */
$theme = $gantry['theme'];

$context = array(
    'errorcode' => isset($this->error) ? $this->error->getCode() : null,
    'error' => isset($this->error) ? $this->error->getMessage() : null,
    'debug' => $app->get('debug_lang', '0') == '1' || $app->get('debug', '0') == '1',
    'backtrace' => $this->debug ? $this->renderBacktrace() : null
);

// Reset used outline configuration.
unset($gantry['configuration']);

// Render the page.
echo $theme
    ->setLayout('_error', true)
    ->render('error.html.twig', $context);
 
     *
     * @param   string  $directory  The name of the template
     * @param   string  $filename   The actual filename
     *
     * @return  string  The contents of the template
     *
     * @since   1.7.0
     */
    protected function _loadTemplate($directory, $filename)
    {
        $contents = '';
 
        // Check to see if we have a valid template file
        if (is_file($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();
        }
 
        return $contents;
    }
 
    /**
     * Fetch the template, and initialise the params
     *
     * @param   array  $params  Parameters to determine the template
     *
     * @return  HtmlDocument instance of $this to allow chaining
     *
     * @since   1.7.0
     */
    protected function _fetchTemplate($params = [])
    {
        // Check
        $directory = $params['directory'] ?? 'templates';
Arguments
  1. "/data/web/e65384/html/fluhm-at405/templates/g5_myriad/error.php"
    
                }
            }
        }
 
        // Load the language file for the template
        $lang = CmsFactory::getLanguage();
 
        // 1.5 or core then 1.6
        $lang->load('tpl_' . $template, JPATH_BASE)
            || ($inherits !== '' && $lang->load('tpl_' . $inherits, JPATH_BASE))
            || $lang->load('tpl_' . $template, $directory . '/' . $template)
            || ($inherits !== '' && $lang->load('tpl_' . $inherits, $directory . '/' . $inherits));
 
        // Assign the variables
        $this->baseurl  = Uri::base(true);
        $this->params   = $params['params'] ?? new Registry();
        $this->template = $template;
 
        // Load
        $this->_template = $this->_loadTemplate($baseDir, $file);
 
        return $this;
    }
 
    /**
     * Parse a document template
     *
     * @return  HtmlDocument  instance of $this to allow chaining
     *
     * @since   1.7.0
     */
    protected function _parseTemplate()
    {
        $matches = [];
 
        if (preg_match_all('#<jdoc:include\ type="([^"]+)"(.*)\/>#iU', $this->_template, $matches)) {
            $messages            = [];
            $template_tags_first = [];
            $template_tags_last  = [];
 
        $name  = $options['name'] ?? '';
        $title = $options['title'] ?? '';
 
        parent::$_buffer[$type][$name][$title] = $content;
 
        return $this;
    }
 
    /**
     * Parses the template and populates the buffer
     *
     * @param   array  $params  Parameters for fetching the template
     *
     * @return  HtmlDocument instance of $this to allow chaining
     *
     * @since   1.7.0
     */
    public function parse($params = [])
    {
        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   1.7.0
     */
    public function render($caching = false, $params = [])
    {
        $this->_caching = $caching;
 
        if (empty($this->_template)) {
            $this->parse($params);
        }
 
    {
        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   1.7.0
     */
    public function render($caching = false, $params = [])
    {
        $this->_caching = $caching;
 
        if (empty($this->_template)) {
            $this->parse($params);
        }
 
        if (\array_key_exists('csp_nonce', $params) && $params['csp_nonce'] !== null) {
            $this->cspNonce = $params['csp_nonce'];
        }
 
        $data = $this->_renderTemplate();
        parent::render($caching, $params);
 
        return $data;
    }
 
    /**
     * Count the modules in the given position
     *
     * @param   string   $positionName     The position to use
     * @param   boolean  $withContentOnly  Count only a modules which actually has a content
     *
     * @return  integer  Number of modules found
     *
 
        if ($status < 400 || $status > 599) {
            $status = 500;
        }
 
        $errorReporting = CmsFactory::getApplication()->get('error_reporting');
 
        if ($errorReporting === "development" || $errorReporting === "maximum") {
            $status .= ' ' . str_replace("\n", ' ', $this->_error->getMessage());
        }
 
        CmsFactory::getApplication()->setHeader('status', $status);
 
        // Set variables
        $this->debug = $params['debug'] ?? false;
        $this->error = $this->_error;
 
        $params['file'] = 'error.php';
 
        return parent::render($cache, $params);
    }
 
    /**
     * Render the backtrace
     *
     * @return  string  The contents of the backtrace
     *
     * @since   1.7.0
     */
    public function renderBacktrace()
    {
        // If no error object is set return null
        if (!isset($this->_error)) {
            return;
        }
 
        // The back trace
        $backtrace = $this->_error->getTrace();
 
        // Add the position of the actual file
 
        // Push the error object into the document
        $this->getDocument()->setError($error);
 
        // Add registry file for the template asset
        $wa = $this->getDocument()->getWebAssetManager()->getRegistry();
 
        $wa->addTemplateRegistryFile($template->template, $app->getClientId());
 
        if (!empty($template->parent)) {
            $wa->addTemplateRegistryFile($template->parent, $app->getClientId());
        }
 
        if (ob_get_contents()) {
            ob_end_clean();
        }
 
        $this->getDocument()->setTitle(Text::_('Error') . ': ' . $error->getCode());
 
        return $this->getDocument()->render(
            false,
            [
                'template'         => $template->template,
                'directory'        => JPATH_THEMES,
                'debug'            => JDEBUG,
                'csp_nonce'        => $app->get('csp_nonce'),
                'templateInherits' => $template->parent,
                'params'           => $template->params,
            ]
        );
    }
}
 
             * Lastly, if all else fails, we default onto the HTML format to at least render something
             */
            if (Factory::$document) {
                $format = Factory::$document->getType();
            } else {
                $format = $app->getInput()->getString('format', 'html');
            }
 
            try {
                $renderer = AbstractRenderer::getRenderer($format);
            } catch (\InvalidArgumentException $e) {
                // Default to the HTML renderer
                $renderer = AbstractRenderer::getRenderer('html');
            }
 
            // Reset the document object in the factory, this gives us a clean slate and lets everything render properly
            Factory::$document = $renderer->getDocument();
            Factory::getApplication()->loadDocument(Factory::$document);
 
            $data = $renderer->render($error);
 
            // If nothing was rendered, just use the message from the Exception
            if (empty($data)) {
                $data = $error->getMessage();
            }
 
            if ($isCli) {
                echo $data;
            } else {
                /** @var CMSApplication $app */
 
                // Do not allow cache
                $app->allowCache(false);
 
                $app->setBody($data);
            }
 
            // This return is needed to ensure the test suite does not trigger the non-Exception handling below
            return;
        } catch (\Throwable $errorRendererError) {
            }
        }
 
        // Always return false, this will tell PHP to handle the error internally
        return false;
    }
 
    /**
     * Handles exceptions: logs errors and renders error page.
     *
     * @param   \Exception|\Throwable  $error  An Exception or Throwable (PHP 7+) object for which to render the error page.
     *
     * @return  void
     *
     * @since   3.10.0
     */
    public static function handleException(\Throwable $error)
    {
        static::logException($error);
        static::render($error);
    }
 
    /**
     * Render the error page based on an exception.
     *
     * @param   \Throwable  $error  An Exception or Throwable (PHP 7+) object for which to render the error page.
     *
     * @return  void
     *
     * @since   3.0
     */
    public static function render(\Throwable $error)
    {
        try {
            $app = Factory::getApplication();
 
            // Flag if we are on cli
            $isCli = $app->isClient('cli');
 
            // If site is offline and it's a 404 error, just go to index (to see offline message, instead of 404)
                $this->compress();
 
                // Trigger the onAfterCompress event.
                $this->triggerEvent('onAfterCompress');
            }
        } catch (\Throwable $throwable) {
            /** @var ErrorEvent $event */
            $event = AbstractEvent::create(
                'onError',
                [
                    'subject'     => $throwable,
                    'eventClass'  => ErrorEvent::class,
                    'application' => $this,
                ]
            );
 
            // Trigger the onError event.
            $this->triggerEvent('onError', $event);
 
            ExceptionHandler::handleException($event->getError());
        }
 
        // Trigger the onBeforeRespond event.
        $this->getDispatcher()->dispatch('onBeforeRespond');
 
        // Send the application response.
        $this->respond();
 
        // Trigger the onAfterRespond event.
        $this->getDispatcher()->dispatch('onAfterRespond');
    }
 
    /**
     * Check if the user is required to reset their password.
     *
     * If the user is required to reset their password will be redirected to the page that manage the password reset.
     *
     * @param   string  $option  The option that manage the password reset
     * @param   string  $view    The view that manage the password reset
     * @param   string  $layout  The layout of the view that manage the password reset
 
{%- set body_bottom %}
    {% block body_bottom %}
    {% endblock %}
    {{ gantry.document.getHtml('body_bottom')|join("\n    ")|raw }}
{% endset -%}
 
{%- do gantry.document.addScript(url('gantry-assets://js/main.js'), 11, 'footer') -%}
 
{# Head and footer needs to come last because of any of the above blocks may have CSS or JavaScript in them #}
 
{%- set page_head %}
    {% block page_head -%}
        {% include 'partials/page_head.html.twig' %}
    {%- endblock %}
{% endset -%}
 
{%- set page_footer %}
    {% block page_footer %}
        {% do gantry.platform.finalize() -%}
        {{ gantry.scripts('footer')|join("\n    ")|raw -}}
    {% endblock %}
 
    {{ gantry.debugger.render()|raw }}
{% endset -%}
 
{%- block page -%}
<!DOCTYPE {{ gantry.config.page.doctype|default('html')|raw }}>
<html{{ gantry.page.htmlAttributes|raw }}>
    {{ page_head|raw }}
    {% block page_body -%}
    <body{{ gantry.page.bodyAttributes({'class': [offcanvas_position, gantry.page.preset, 'g-style-' ~ gantry.theme.preset]})|raw }}>
        {{ gantry.config.page.body.body_top|raw }}
        {{ body_top|raw }}
        {{ page_offcanvas|raw }}
        <div id="g-page-surround">
            {% if page_offcanvas|trim -%}
            <div class="g-offcanvas-hide g-offcanvas-toggle" role="navigation" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div>
            {%- endif %}
            {{ page_top|raw }}
Arguments
  1. "An exception has been thrown during the rendering of a template ("Creation of dynamic property Leafo\ScssPhp\Block::$name is deprecated")."
    
Exception message: An exception has been thrown during the rendering of a template ("Creation of dynamic property Leafo\ScssPhp\Block::$name is deprecated").
            }
 
            $this->seek($s);
 
            if ($this->literal('@media', 6) && $this->mediaQueryList($mediaQueryList) && $this->matchChar('{')) {
                $media = $this->pushSpecialBlock(Type::T_MEDIA, $s);
                $media->queryList = $mediaQueryList[2];
 
                return true;
            }
 
            $this->seek($s);
 
            if ($this->literal('@mixin', 6) &&
                $this->keyword($mixinName) &&
                ($this->argumentDef($args) || true) &&
                $this->matchChar('{')
            ) {
                $mixin = $this->pushSpecialBlock(Type::T_MIXIN, $s);
                $mixin->name = $mixinName;
                $mixin->args = $args;
 
                return true;
            }
 
            $this->seek($s);
 
            if ($this->literal('@include', 8) &&
                $this->keyword($mixinName) &&
                ($this->matchChar('(') &&
                    ($this->argValues($argValues) || true) &&
                    $this->matchChar(')') || true) &&
                ($this->end() ||
                    $this->matchChar('{') && $hasBlock = true)
            ) {
                $child = [Type::T_INCLUDE, $mixinName, isset($argValues) ? $argValues : null, null];
 
                if (! empty($hasBlock)) {
                    $include = $this->pushSpecialBlock(Type::T_INCLUDE, $s);
                    $include->child = $child;
Arguments
  1. "Creation of dynamic property Leafo\ScssPhp\Block::$name is deprecated"
    
Exception message: Creation of dynamic property Leafo\ScssPhp\Block::$name is deprecated
            }
 
            $this->seek($s);
 
            if ($this->literal('@media', 6) && $this->mediaQueryList($mediaQueryList) && $this->matchChar('{')) {
                $media = $this->pushSpecialBlock(Type::T_MEDIA, $s);
                $media->queryList = $mediaQueryList[2];
 
                return true;
            }
 
            $this->seek($s);
 
            if ($this->literal('@mixin', 6) &&
                $this->keyword($mixinName) &&
                ($this->argumentDef($args) || true) &&
                $this->matchChar('{')
            ) {
                $mixin = $this->pushSpecialBlock(Type::T_MIXIN, $s);
                $mixin->name = $mixinName;
                $mixin->args = $args;
 
                return true;
            }
 
            $this->seek($s);
 
            if ($this->literal('@include', 8) &&
                $this->keyword($mixinName) &&
                ($this->matchChar('(') &&
                    ($this->argValues($argValues) || true) &&
                    $this->matchChar(')') || true) &&
                ($this->end() ||
                    $this->matchChar('{') && $hasBlock = true)
            ) {
                $child = [Type::T_INCLUDE, $mixinName, isset($argValues) ? $argValues : null, null];
 
                if (! empty($hasBlock)) {
                    $include = $this->pushSpecialBlock(Type::T_INCLUDE, $s);
                    $include->child = $child;
        // strip BOM (byte order marker)
        if (substr($buffer, 0, 3) === "\xef\xbb\xbf") {
            $buffer = substr($buffer, 3);
        }
 
        $this->buffer          = rtrim($buffer, "\x00..\x1f");
        $this->count           = 0;
        $this->env             = null;
        $this->inParens        = false;
        $this->eatWhiteDefault = true;
 
        $this->saveEncoding();
        $this->extractLineNumbers($buffer);
 
        $this->pushBlock(null); // root block
        $this->whitespace();
        $this->pushBlock(null);
        $this->popBlock();
 
        while ($this->parseChunk()) {
            ;
        }
 
        if ($this->count !== strlen($this->buffer)) {
            $this->throwParseError();
        }
 
        if (! empty($this->env->parent)) {
            $this->throwParseError('unclosed block');
        }
 
        if ($this->charset) {
            array_unshift($this->env->children, $this->charset);
        }
 
        $this->restoreEncoding();
 
        if ($this->cache) {
            $this->cache->setCache("parse", $cacheKey, $this->env, $parseOptions);
        }
        /** @var UniformResourceLocator $locator */
        $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);
 
            // Work around a bug in the compiler.
            if (strpos($realPath, '/_bourbon-deprecate.scss') !== false) {
                $code = preg_replace('/@content;/u', '', $code);
            }
 
            $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 \Leafo\ScssPhp\Formatter\OutputBlock $out
     * @param boolean                              $once
     *
     * @return boolean
     */
    protected function compileImport($rawPath, OutputBlock $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->sourceIndex = array_search($out->sourceName, $this->sourceNames);
 
            if ($this->sourceIndex === false) {
                $this->sourceIndex = null;
            }
        }
 
        switch ($child[0]) {
            case Type::T_SCSSPHP_IMPORT_ONCE:
                $rawPath = $this->reduce($child[1]);
 
                if (! $this->compileImport($rawPath, $out, true)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_IMPORT:
                $rawPath = $this->reduce($child[1]);
 
                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;
 
     * @param \Leafo\ScssPhp\Block                 $selfParent
     * @param string                               $traceName
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out, $selfParent = null, $traceName = '')
    {
        $this->pushCallStack($traceName);
 
        foreach ($stms as $stm) {
            if ($selfParent && isset($stm[1]) && is_object($stm[1]) && $stm[1] instanceof Block) {
                $stm[1]->selfParent = $selfParent;
                $ret = $this->compileChild($stm, $out);
                $stm[1]->selfParent = null;
            } elseif ($selfParent && $stm[0] === TYPE::T_INCLUDE) {
                $stm['selfParent'] = $selfParent;
                $ret = $this->compileChild($stm, $out);
                unset($stm['selfParent']);
            } else {
                $ret = $this->compileChild($stm, $out);
            }
 
            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');
 
                return;
            }
        }
 
        $this->popCallStack();
    }
 
 
    /**
     * evaluate media query : compile internal value keeping the structure inchanged
     *
     * @param array $queryList
     *
     * @return array
     */
            $this->handleImportLoop($realPath);
 
            $tree = $this->importCache[$realPath];
        } else {
            $code   = file_get_contents($realPath);
 
            // Work around a bug in the compiler.
            if (strpos($realPath, '/_bourbon-deprecate.scss') !== false) {
                $code = preg_replace('/@content;/u', '', $code);
            }
 
            $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 \Leafo\ScssPhp\Formatter\OutputBlock $out
     * @param boolean                              $once
     *
     * @return boolean
     */
    protected function compileImport($rawPath, OutputBlock $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->sourceIndex = array_search($out->sourceName, $this->sourceNames);
 
            if ($this->sourceIndex === false) {
                $this->sourceIndex = null;
            }
        }
 
        switch ($child[0]) {
            case Type::T_SCSSPHP_IMPORT_ONCE:
                $rawPath = $this->reduce($child[1]);
 
                if (! $this->compileImport($rawPath, $out, true)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_IMPORT:
                $rawPath = $this->reduce($child[1]);
 
                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;
 
     * @param \Leafo\ScssPhp\Block                 $selfParent
     * @param string                               $traceName
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out, $selfParent = null, $traceName = '')
    {
        $this->pushCallStack($traceName);
 
        foreach ($stms as $stm) {
            if ($selfParent && isset($stm[1]) && is_object($stm[1]) && $stm[1] instanceof Block) {
                $stm[1]->selfParent = $selfParent;
                $ret = $this->compileChild($stm, $out);
                $stm[1]->selfParent = null;
            } elseif ($selfParent && $stm[0] === TYPE::T_INCLUDE) {
                $stm['selfParent'] = $selfParent;
                $ret = $this->compileChild($stm, $out);
                unset($stm['selfParent']);
            } else {
                $ret = $this->compileChild($stm, $out);
            }
 
            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');
 
                return;
            }
        }
 
        $this->popCallStack();
    }
 
 
    /**
     * evaluate media query : compile internal value keeping the structure inchanged
     *
     * @param array $queryList
     *
     * @return array
     */
            $this->handleImportLoop($realPath);
 
            $tree = $this->importCache[$realPath];
        } else {
            $code   = file_get_contents($realPath);
 
            // Work around a bug in the compiler.
            if (strpos($realPath, '/_bourbon-deprecate.scss') !== false) {
                $code = preg_replace('/@content;/u', '', $code);
            }
 
            $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 \Leafo\ScssPhp\Formatter\OutputBlock $out
     * @param boolean                              $once
     *
     * @return boolean
     */
    protected function compileImport($rawPath, OutputBlock $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->sourceIndex = array_search($out->sourceName, $this->sourceNames);
 
            if ($this->sourceIndex === false) {
                $this->sourceIndex = null;
            }
        }
 
        switch ($child[0]) {
            case Type::T_SCSSPHP_IMPORT_ONCE:
                $rawPath = $this->reduce($child[1]);
 
                if (! $this->compileImport($rawPath, $out, true)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_IMPORT:
                $rawPath = $this->reduce($child[1]);
 
                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;
 
     * @param \Leafo\ScssPhp\Block                 $selfParent
     * @param string                               $traceName
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out, $selfParent = null, $traceName = '')
    {
        $this->pushCallStack($traceName);
 
        foreach ($stms as $stm) {
            if ($selfParent && isset($stm[1]) && is_object($stm[1]) && $stm[1] instanceof Block) {
                $stm[1]->selfParent = $selfParent;
                $ret = $this->compileChild($stm, $out);
                $stm[1]->selfParent = null;
            } elseif ($selfParent && $stm[0] === TYPE::T_INCLUDE) {
                $stm['selfParent'] = $selfParent;
                $ret = $this->compileChild($stm, $out);
                unset($stm['selfParent']);
            } else {
                $ret = $this->compileChild($stm, $out);
            }
 
            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');
 
                return;
            }
        }
 
        $this->popCallStack();
    }
 
 
    /**
     * evaluate media query : compile internal value keeping the structure inchanged
     *
     * @param array $queryList
     *
     * @return array
     */
            $this->handleImportLoop($realPath);
 
            $tree = $this->importCache[$realPath];
        } else {
            $code   = file_get_contents($realPath);
 
            // Work around a bug in the compiler.
            if (strpos($realPath, '/_bourbon-deprecate.scss') !== false) {
                $code = preg_replace('/@content;/u', '', $code);
            }
 
            $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 \Leafo\ScssPhp\Formatter\OutputBlock $out
     * @param boolean                              $once
     *
     * @return boolean
     */
    protected function compileImport($rawPath, OutputBlock $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->sourceIndex = array_search($out->sourceName, $this->sourceNames);
 
            if ($this->sourceIndex === false) {
                $this->sourceIndex = null;
            }
        }
 
        switch ($child[0]) {
            case Type::T_SCSSPHP_IMPORT_ONCE:
                $rawPath = $this->reduce($child[1]);
 
                if (! $this->compileImport($rawPath, $out, true)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;
 
            case Type::T_IMPORT:
                $rawPath = $this->reduce($child[1]);
 
                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;
 
     * @param \Leafo\ScssPhp\Block                 $selfParent
     * @param string                               $traceName
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out, $selfParent = null, $traceName = '')
    {
        $this->pushCallStack($traceName);
 
        foreach ($stms as $stm) {
            if ($selfParent && isset($stm[1]) && is_object($stm[1]) && $stm[1] instanceof Block) {
                $stm[1]->selfParent = $selfParent;
                $ret = $this->compileChild($stm, $out);
                $stm[1]->selfParent = null;
            } elseif ($selfParent && $stm[0] === TYPE::T_INCLUDE) {
                $stm['selfParent'] = $selfParent;
                $ret = $this->compileChild($stm, $out);
                unset($stm['selfParent']);
            } else {
                $ret = $this->compileChild($stm, $out);
            }
 
            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');
 
                return;
            }
        }
 
        $this->popCallStack();
    }
 
 
    /**
     * evaluate media query : compile internal value keeping the structure inchanged
     *
     * @param array $queryList
     *
     * @return array
     */
            $out->sourceColumn = $this->env->block->sourceColumn;
        } else {
            $out->sourceName   = null;
            $out->sourceLine   = null;
            $out->sourceColumn = null;
        }
 
        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();
 
        $sourceMapGenerator = null;
 
        if ($this->sourceMap) {
            if (is_object($this->sourceMap) && $this->sourceMap instanceof SourceMapGenerator) {
                $sourceMapGenerator = $this->sourceMap;
                $this->sourceMap = self::SOURCE_MAP_FILE;
            } elseif ($this->sourceMap !== self::SOURCE_MAP_NONE) {
                $sourceMapGenerator = new SourceMapGenerator($this->sourceMapOptions);
            }
        }
 
        $out = $this->formatter->format($this->scope, $sourceMapGenerator);
 
        if (! empty($out) && $this->sourceMap && $this->sourceMap !== self::SOURCE_MAP_NONE) {
            $sourceMap    = $sourceMapGenerator->generateJson();
            $sourceMapUrl = null;
 
            switch ($this->sourceMap) {
            $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.
        $compiler = $this->getLegacyCompiler();
        $compiler->setBasePath($path);
        $compiler->setImportPaths([[$this, 'findLegacyImport']]);
 
        // Run the compiler.
        $compiler->setVariables($this->getVariables());
        $scss = '@import "' . $in . '.scss"';
        try {
            $css = $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 . ' */';
        }
 
        // Extract map from css and save it as separate file.
        if ($pos = strrpos($css, '/*# sourceMappingURL=')) {
            $map = json_decode(urldecode(substr($css, $pos + 43, -3)), true);
 
            /** @var Document $document */
            $document = $gantry['document'];
 
            foreach ($map['sources'] as &$source) {
                $source = $document->url($source, false, -1);
            }
            unset($source);
 
            $mapFile = JsonFile::instance($path . '.map');
        $compiler = $this->getCompiler();
        $compiler->setLogger($logger);
 
        // Set the lookup paths.
        $this->functions->setBasePath($path);
        $compiler->setImportPaths([[$this, 'findImport']]);
 
        // Run the compiler.
        $compiler->addVariables($this->getVariables(true));
        $scss = '$output-bourbon-deprecation-warnings: false;' . "\n" . '@import "' . $in . '.scss"';
        try {
            $this->result = $compiler->compileString($scss);
            $css = $this->result->getCss();
        } catch (CompilerException $e) {
            if (version_compare(static::$options['compatibility'], '5.5', '<')) {
                static::$options['legacy'][$in] = true;
                $this->warnings['__TITLE__'] = 'Please update your theme!';
                $this->warnings[$in] = ['WARNING: ' . $e->getMessage()];
 
                return $this->compileLegacyFile($in);
            }
 
            throw new \RuntimeException("ERROR: CSS Compilation on file '{$in}.scss' failed on error: {$e->getMessage()}", 500, $e);
        } catch (\Exception $e) {
            throw new \RuntimeException("ERROR: CSS Compilation on file '{$in}.scss' failed on fatal error: {$e->getMessage()}", 500, $e);
        }
        if (strpos($css, $scss) === 0) {
            $css = '/* ' . $scss . ' */';
        }
 
        // Extract map from css and save it as separate file.
        $pos = strrpos($css, '/*# sourceMappingURL=');
        if ($pos !== false) {
            $map = json_decode(urldecode(substr($css, $pos + 43, -3)), true);
 
            /** @var Document $document */
            $document = $gantry['document'];
 
            foreach ($map['sources'] as &$source) {
                $source = $document::url($source, false, -1);
    /**
     * 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'])) {
                if (\GANTRY_DEBUGGER) {
                    Debugger::startTimer("css-{$name}", "Compiling CSS: {$name}");
                    Debugger::addMessage("Compiling CSS: {$name}");
                }
 
                $compiler->compileFile($name);
 
                if (\GANTRY_DEBUGGER) {
                    Debugger::stopTimer("css-{$name}");
                }
            }
 
            $this->cssCache[$name] = $compiler->getCssUrl($name);
        }
 
        return $this->cssCache[$name];
    }
 
    /**
     * @return array
     */
    public function getCssVariables()
    {
        if ($this->preset) {
            $variables = $this->presets()->flatten($this->preset . '.styles', '-');
        } else {
        $styles = $this->getAssetsInLocation('styles', $location);
 
        if (!$styles) {
            return [];
        }
 
        $gantry = Gantry::instance();
 
        /** @var Theme|null $theme */
        $theme = isset($gantry['theme']) ? $gantry['theme'] : null;
 
        /** @var Document $document */
        $document = $gantry['document'];
 
        foreach ($styles as $key => $style) {
            if (isset($style['href'])) {
                $url = $style['href'];
                if ($theme && preg_match('|\.scss$|', $url)) {
                    // Compile SCSS files.
                    $url = $theme->css(Gantry::basename($url, '.scss'));
                }
                // Deal with streams and relative paths.
                $url = $document::url($url, null, null, false);
 
                $styles[$key]['href'] = $url;
            }
        }
 
        return $styles;
    }
 
    /**
     * @param string $location
     * @return array
     * @since 5.4.3
     */
    public function getScripts($location = 'head')
    {
        $scripts = $this->getAssetsInLocation('scripts', $location);
 
        static $error = false;
 
        if (isset($new)) {
            $error = (bool) $new;
        }
 
        return $error;
    }
 
    protected static function registerStyles()
    {
        if (static::errorPage()) {
            return;
        }
 
        /** @var CMSApplication $application */
        $application = Factory::getApplication();
        $doc = $application->getDocument();
 
        $styles = static::$stack[0]->getStyles();
 
        foreach ($styles as $style) {
            switch ($style[':type']) {
                case 'file':
                    $attribs = array_replace(['type' => $style['type'], 'media' => $style['media']], $style['element']);
                    $attribs = array_filter($attribs, static function($arg) { return null !== $arg; });
                    $doc->addStyleSheet($style['href'], [], $attribs);
                    break;
                case 'inline':
                    $doc->addStyleDeclaration($style['content'], $style['type']);
                    break;
            }
        }
    }
 
    protected static function registerScripts()
    {
        if (static::errorPage()) {
            return;
        }
        if (
            $framework === 'bootstrap'
            || ($framework === 'bootstrap.2' && JVersion::MAJOR_VERSION === 3)
            || ($framework === 'bootstrap.5' && JVersion::MAJOR_VERSION >= 4)
        ) {
            /** @var Theme $theme */
            $theme = Gantry::instance()['theme'];
            $theme->joomla = true;
        }
 
        return true;
    }
 
    /**
     *
     */
    public static function registerAssets()
    {
        static::registerFrameworks();
        static::registerStyles();
        static::registerScripts();
    }
 
    /**
     * NOTE: In PHP this function can be called either from Gantry DI container or statically.
     *
     * @param bool|null $addDomain
     * @return string
     */
    public static function domain($addDomain = null)
    {
        if (!$addDomain) {
            return '';
        }
 
        $absolute = Uri::root(false);
        $relative = Uri::root(true);
 
        return substr($absolute, 0, -strlen($relative));
    }
    {
        return null;
    }
 
    /**
     * @param string $text
     * @return string
     */
    public function filter($text)
    {
        return $text;
    }
 
    public function finalize()
    {
        $gantry = Gantry::instance();
        /** @var Document $document */
        $document = $gantry['document'];
 
        $document::registerAssets();
    }
 
    /**
     * @return mixed|null
     */
    public function call()
    {
        $args = func_get_args();
        $callable = array_shift($args);
        return is_callable($callable) ? call_user_func_array($callable, $args) : null;
    }
 
    /**
     * @param string $action
     * @param int|string|null $id
     * @return bool
     */
    public function authorize($action, $id = null)
    {
        return true;
            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
                return;
            }
 
            throw new RuntimeError(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, $class), -1, $this->getSourceContext());
        }
 
        if ($isDefinedTest) {
            return true;
        }
 
        if ($this->env->hasExtension('\Twig\Extension\SandboxExtension')) {
            $this->env->getExtension('\Twig\Extension\SandboxExtension')->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 {
            if (!$arguments) {
                $ret = $object->$method();
            } else {
                $ret = \call_user_func_array([$object, $method], $arguments);
            }
        } catch (\BadMethodCallException $e) {
            if ($call && ($ignoreStrictCheck || !$this->env->isStrictVariables())) {
                return;
            }
            throw $e;
        }
 
        // @deprecated in 1.28
        if ($object instanceof \Twig_TemplateInterface) {
            $self = $object->getTemplateName() === $this->getTemplateName();
            $message = sprintf('Calling "%s" on template "%s" from template "%s" is deprecated since version 1.28 and won\'t be supported anymore in 2.0.', $item, $object->getTemplateName(), $this->getTemplateName());
            if ('renderBlock' === $method || 'displayBlock' === $method) {
                $message .= sprintf(' Use block("%s"%s) instead).', $arguments[0], $self ? '' : ', template');
            } elseif ('hasBlock' === $method) {
                $message .= sprintf(' Use "block("%s"%s) is defined" instead).', $arguments[0], $self ? '' : ', template');
            } elseif ('render' === $method || 'display' === $method) {
                $message .= sprintf(' Use include("%s") instead).', $object->getTemplateName());
    // line 60
    public function block_body_bottom($context, array $blocks = [])
    {
        // line 61
        echo "    ";
    }
 
    // line 70
    public function block_page_head($context, array $blocks = [])
    {
        // line 71
        $this->loadTemplate("partials/page_head.html.twig", "@nucleus/page.html.twig", 71)->display($context);
    }
 
    // line 76
    public function block_page_footer($context, array $blocks = [])
    {
        // line 77
        echo "        ";
        $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "platform", []), "finalize", [], "method");
        // line 78
        echo twig_join_filter($this->getAttribute(($context["gantry"] ?? null), "scripts", [0 => "footer"], "method"), "
    ");
    }
 
    // line 84
    public function block_page($context, array $blocks = [])
    {
        // line 85
        echo "<!DOCTYPE ";
        echo (($this->getAttribute($this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "config", [], "any", false, true), "page", [], "any", false, true), "doctype", [], "any", true, true)) ? (_twig_default_filter($this->getAttribute($this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "config", [], "any", false, true), "page", [], "any", false, true), "doctype", []), "html")) : ("html"));
        echo ">
<html";
        // line 86
        echo $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "page", []), "htmlAttributes", []);
        echo ">
    ";
        // line 87
        echo ($context["page_head"] ?? null);
        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;
        }
 
        // avoid RCEs when sandbox is enabled
        if (null !== $template && !$template instanceof self) {
            throw new \LogicException('A block must be a method on a \Twig\Template instance.');
        }
 
        if (null !== $template) {
            try {
                $template->$block($context, $blocks);
            } catch (Error $e) {
                if (!$e->getSourceContext()) {
                    $e->setSourceContext($template->getSourceContext());
                }
 
                // this is mostly useful for \Twig\Error\LoaderError exceptions
                // see \Twig\Error\LoaderError
                if (-1 === $e->getTemplateLine()) {
                    $e->guess();
                }
 
                throw $e;
            } catch (\Exception $e) {
                $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getSourceContext(), $e);
                $e->guess();
 
                throw $e;
            }
        } elseif (false !== $parent = $this->getParent($context)) {
            $parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
    }
 
    /**
     * Displays a parent block.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param string $name    The block name to display from the parent
     * @param array  $context The context
     * @param array  $blocks  The current set of blocks
     */
    public function displayParentBlock($name, array $context, array $blocks = [])
    {
        $name = (string) $name;
 
        if (isset($this->traits[$name])) {
            $this->traits[$name][0]->displayBlock($name, $context, $blocks, false);
        } elseif (false !== $parent = $this->getParent($context)) {
            $parent->displayBlock($name, $context, $blocks, false);
        } else {
            throw new RuntimeError(sprintf('The template has no parent and no traits defining the "%s" block.', $name), -1, $this->getSourceContext());
        }
    }
 
    /**
     * Displays a block.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param string $name      The block name to display
     * @param array  $context   The context
     * @param array  $blocks    The current set of blocks
     * @param bool   $useBlocks Whether to use the current set of blocks
     */
    public function displayBlock($name, array $context, array $blocks = [], $useBlocks = true)
    {
        $name = (string) $name;
 
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "@nucleus/page.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("@nucleus/page.html.twig", "partials/page.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_page_footer($context, array $blocks = [])
    {
        // 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()
    {
        return false;
    }
 
    public function getDebugInfo()
    {
        return array (  42 => 4,  39 => 3,  29 => 1,);
    }
 
 
        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;
        }
 
        // avoid RCEs when sandbox is enabled
        if (null !== $template && !$template instanceof self) {
            throw new \LogicException('A block must be a method on a \Twig\Template instance.');
        }
 
        if (null !== $template) {
            try {
                $template->$block($context, $blocks);
            } catch (Error $e) {
                if (!$e->getSourceContext()) {
                    $e->setSourceContext($template->getSourceContext());
                }
 
                // this is mostly useful for \Twig\Error\LoaderError exceptions
                // see \Twig\Error\LoaderError
                if (-1 === $e->getTemplateLine()) {
                    $e->guess();
                }
 
                throw $e;
            } catch (\Exception $e) {
                $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getSourceContext(), $e);
                $e->guess();
 
                throw $e;
            }
        } elseif (false !== $parent = $this->getParent($context)) {
            $parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
        // line 62
        echo "    ";
        echo twig_join_filter($this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "document", []), "getHtml", [0 => "body_bottom"], "method"), "
    ");
        echo "
";
        $context["body_bottom"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
        // line 65
        $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "document", []), "addScript", [0 => $this->env->getExtension('Gantry\Component\Twig\TwigExtension')->urlFunc("gantry-assets://js/main.js"), 1 => 11, 2 => "footer"], "method");
        // line 69
        ob_start(function () { return ''; });
        // line 70
        echo "    ";
        $this->displayBlock('page_head', $context, $blocks);
        $context["page_head"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
        // line 75
        ob_start(function () { return ''; });
        // line 76
        echo "    ";
        $this->displayBlock('page_footer', $context, $blocks);
        // line 80
        echo "
    ";
        // line 81
        echo $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "debugger", []), "render", [], "method");
        echo "
";
        $context["page_footer"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
        // line 84
        $this->displayBlock('page', $context, $blocks);
    }
 
    // line 8
    public function block_content($context, array $blocks = [])
    {
        // line 9
        echo "        ";
    }
 
    // line 21
            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 = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        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) {
{
    public function __construct(Environment $env)
    {
        parent::__construct($env);
 
        $this->blocks = [
            'page_footer' => [$this, 'block_page_footer'],
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "@nucleus/page.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("@nucleus/page.html.twig", "partials/page.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_page_footer($context, array $blocks = [])
    {
        // 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 = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        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) {
{
    public function __construct(Environment $env)
    {
        parent::__construct($env);
 
        $this->blocks = [
            'content' => [$this, 'block_content'],
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "partials/page.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("partials/page.html.twig", "index.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_content($context, array $blocks = [])
    {
        // line 4
        echo "    ";
        echo $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "platform", []), "displayContent", [0 => ($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 = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        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) {
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        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 = [])
    {
        try {
     * @internal
     */
    public function __construct(Environment $env, Template $template)
    {
        $this->env = $env;
        $this->template = $template;
    }
 
    /**
     * Renders the template.
     *
     * @param array $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     */
    public function render($context = [])
    {
        // using func_get_args() allows to not expose the blocks argument
        // as it should only be used by internal code
        return $this->template->render($context, \func_num_args() > 1 ? func_get_arg(1) : []);
    }
 
    /**
     * Displays the template.
     *
     * @param array $context An array of parameters to pass to the template
     */
    public function display($context = [])
    {
        // using func_get_args() allows to not expose the blocks argument
        // as it should only be used by internal code
        $this->template->display($context, \func_num_args() > 1 ? func_get_arg(1) : []);
    }
 
    /**
     * Checks if a block is defined.
     *
     * @param string $name    The block name
     * @param array  $context An array of parameters to pass to the template
     *
        @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|TemplateWrapper $name    The template name
     * @param array                  $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     *
     * @throws LoaderError  When the template cannot be found
     * @throws SyntaxError  When an error occurred during compilation
     * @throws RuntimeError When an error occurred during rendering
     */
    public function render($name, array $context = [])
    {
        return $this->load($name)->render($context);
    }
 
    /**
     * Displays a template.
     *
     * @param string|TemplateWrapper $name    The template name
     * @param array                  $context An array of parameters to pass to the template
     *
     * @throws LoaderError  When the template cannot be found
     * @throws SyntaxError  When an error occurred during compilation
     * @throws RuntimeError When an error occurred during rendering
     */
    public function display($name, array $context = [])
    {
        $this->load($name)->display($context);
    }
 
    /**
     * Loads a template.
     *
 
            $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);
    }
 
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2020 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'];

// All the custom twig variables can be defined in here:
$context = array();

// Render the page.
echo $theme->render('index.html.twig', $context);
 
     *
     * @param   string  $directory  The name of the template
     * @param   string  $filename   The actual filename
     *
     * @return  string  The contents of the template
     *
     * @since   1.7.0
     */
    protected function _loadTemplate($directory, $filename)
    {
        $contents = '';
 
        // Check to see if we have a valid template file
        if (is_file($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();
        }
 
        return $contents;
    }
 
    /**
     * Fetch the template, and initialise the params
     *
     * @param   array  $params  Parameters to determine the template
     *
     * @return  HtmlDocument instance of $this to allow chaining
     *
     * @since   1.7.0
     */
    protected function _fetchTemplate($params = [])
    {
        // Check
        $directory = $params['directory'] ?? 'templates';
Arguments
  1. "/data/web/e65384/html/fluhm-at405/templates/g5_myriad/index.php"
    
                }
            }
        }
 
        // Load the language file for the template
        $lang = CmsFactory::getLanguage();
 
        // 1.5 or core then 1.6
        $lang->load('tpl_' . $template, JPATH_BASE)
            || ($inherits !== '' && $lang->load('tpl_' . $inherits, JPATH_BASE))
            || $lang->load('tpl_' . $template, $directory . '/' . $template)
            || ($inherits !== '' && $lang->load('tpl_' . $inherits, $directory . '/' . $inherits));
 
        // Assign the variables
        $this->baseurl  = Uri::base(true);
        $this->params   = $params['params'] ?? new Registry();
        $this->template = $template;
 
        // Load
        $this->_template = $this->_loadTemplate($baseDir, $file);
 
        return $this;
    }
 
    /**
     * Parse a document template
     *
     * @return  HtmlDocument  instance of $this to allow chaining
     *
     * @since   1.7.0
     */
    protected function _parseTemplate()
    {
        $matches = [];
 
        if (preg_match_all('#<jdoc:include\ type="([^"]+)"(.*)\/>#iU', $this->_template, $matches)) {
            $messages            = [];
            $template_tags_first = [];
            $template_tags_last  = [];
 
        $name  = $options['name'] ?? '';
        $title = $options['title'] ?? '';
 
        parent::$_buffer[$type][$name][$title] = $content;
 
        return $this;
    }
 
    /**
     * Parses the template and populates the buffer
     *
     * @param   array  $params  Parameters for fetching the template
     *
     * @return  HtmlDocument instance of $this to allow chaining
     *
     * @since   1.7.0
     */
    public function parse($params = [])
    {
        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   1.7.0
     */
    public function render($caching = false, $params = [])
    {
        $this->_caching = $caching;
 
        if (empty($this->_template)) {
            $this->parse($params);
        }
 
     * @since   3.2
     */
    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');
        $this->docOptions['csp_nonce']        = $this->get('csp_nonce');
        $this->docOptions['templateInherits'] = $this->get('themeInherits');
 
        if ($this->get('themes.base')) {
            $this->docOptions['directory'] = $this->get('themes.base');
        } else {
            // Fall back to constants.
            $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.
        PluginHelper::importPlugin('system');
        $this->triggerEvent('onBeforeRender');
 
        $caching = false;
 
        if ($this->isClient('site') && $this->get('caching') && $this->get('caching', 2) == 2 && !Factory::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->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');
                }
 
                // Pass the parent template to the state
                $this->set('themeInherits', $template->parent);
 
                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()
    {
        // Get the full request URI.
        $uri = clone Uri::getInstance();
 
        // It is not possible to inject the SiteRouter as it requires a SiteApplication
     * Execute the application.
     *
     * @return  void
     *
     * @since   3.2
     */
    public function execute()
    {
        try {
            $this->sanityCheckSystemVariables();
            $this->setupLogging();
            $this->createExtensionNamespaceMap();
 
            // Perform application routines.
            $this->doExecute();
 
            // If we have an application document object, render it.
            if ($this->document instanceof \Joomla\CMS\Document\Document) {
                // 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');
            }
        } catch (\Throwable $throwable) {
            /** @var ErrorEvent $event */
            $event = AbstractEvent::create(
                'onError',
                [
                    'subject'     => $throwable,
                    'eventClass'  => ErrorEvent::class,
                    'application' => $this,
                ]
            );
 
 *
 * In addition to aliasing "common" service keys, we also create aliases for the PHP classes to ensure autowiring objects
 * is supported.  This includes aliases for aliased class names, and the keys for aliased class names should be considered
 * deprecated to be removed when the class name alias is removed as well.
 */
$container->alias('session.web', 'session.web.site')
    ->alias('session', 'session.web.site')
    ->alias('JSession', 'session.web.site')
    ->alias(\Joomla\CMS\Session\Session::class, 'session.web.site')
    ->alias(\Joomla\Session\Session::class, 'session.web.site')
    ->alias(\Joomla\Session\SessionInterface::class, 'session.web.site');
 
// Instantiate the application.
$app = $container->get(\Joomla\CMS\Application\SiteApplication::class);
 
// Set the application as global app
\Joomla\CMS\Factory::$application = $app;
 
// Execute the application.
$app->execute();
 
define('JOOMLA_MINIMUM_PHP', '7.2.5');
 
if (version_compare(PHP_VERSION, JOOMLA_MINIMUM_PHP, '<')) {
    die(
        str_replace(
            '{{phpversion}}',
            JOOMLA_MINIMUM_PHP,
            file_get_contents(dirname(__FILE__) . '/templates/system/incompatible.html')
        )
    );
}
 
/**
 * Constant that is checked in included files to prevent direct access.
 * define() is used rather than "const" to not error for PHP 5.2 and lower
 */
define('_JEXEC', 1);
 
// Run the application - All executable code should be triggered through this file
require_once dirname(__FILE__) . '/includes/app.php';
 
Arguments
  1. "/data/web/e65384/html/fluhm-at405/includes/app.php"
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
TEMP
"/data/web/e65384/phptmp"
TMPDIR
"/data/web/e65384/phptmp"
TMP
"/data/web/e65384/phptmp"
USER
"e65384"
HOME
"/data/web/e65384"
PATH_TRANSLATED
"redirect:/index.php/wort-gottes-kalender"
PATH_INFO
"/infos/wort-gottes-kalender"
SCRIPT_NAME
"/index.php"
REQUEST_URI
"/index.php/infos/wort-gottes-kalender"
QUERY_STRING
""
REQUEST_METHOD
"GET"
SERVER_PROTOCOL
"HTTP/1.1"
GATEWAY_INTERFACE
"CGI/1.1"
REMOTE_PORT
"13362"
SCRIPT_FILENAME
"/data/web/e65384/html/fluhm-at405/index.php"
SERVER_ADMIN
"[no address given]"
CONTEXT_DOCUMENT_ROOT
"/data/web/e65384/html/fluhm-at405"
CONTEXT_PREFIX
""
REQUEST_SCHEME
"http"
DOCUMENT_ROOT
"/data/web/e65384/html/fluhm-at405"
REMOTE_ADDR
"54.81.185.66"
SERVER_PORT
"443"
SERVER_ADDR
"10.128.255.11"
SERVER_NAME
"samariter.fluhm.at"
SERVER_SOFTWARE
"Apache"
SERVER_SIGNATURE
""
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
HTTP_X_VARNISH
"81791397"
HTTP_ACCEPT_ENCODING
"gzip"
HTTP_SURROGATE_CAPABILITY
"key=ESI/1.0"
HTTP_X_REMOTE_IP
"54.81.185.66"
HTTP_X_FORWARDED_PORT
"443"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_USER_AGENT
"claudebot"
HTTP_ACCEPT
"*/*"
HTTP_HOST
"samariter.fluhm.at"
HTTP_AUTHORIZATION
""
PHP_ADMIN_VALUE
"open_basedir=/data/web/e65384/html/fluhm-at405:/data/web/e65384/phpsession:/data/web/e65384/phptmp:/tmp:/usr/bin"
SCRIPT_URI
"http://samariter.fluhm.at:443/index.php/infos/wort-gottes-kalender"
SCRIPT_URL
"/index.php/infos/wort-gottes-kalender"
HTTPS
"on"
QS_ConnectionId
"171081387798920648117983"
QS_AllConn
"23"
QS_SrvConn
"23"
UNIQUE_ID
"ZfjytZhMS1ZWMdy02P9iCgAAAVw"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php/infos/wort-gottes-kalender"
REQUEST_TIME_FLOAT
1710813878.01971
REQUEST_TIME
1710813878
empty
0. Whoops\Handler\PrettyPageHandler