Twig \ Error \ RuntimeError
An exception has been thrown during the rendering of a template ("Failed to write cache file "/nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/73/7377af7a14b500012fcf0badaceeadb5742f42738310928eb8dd2684f9132d49.php".").
Previous exceptions
  • Failed to write cache file "/nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/73/7377af7a14b500012fcf0badaceeadb5742f42738310928eb8dd2684f9132d49.php". (0)
Twig\Error\RuntimeError thrown with message "An exception has been thrown during the rendering of a template ("Failed to write cache file "/nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/73/7377af7a14b500012fcf0badaceeadb5742f42738310928eb8dd2684f9132d49.php".")." Stacktrace: #54 Twig\Error\RuntimeError in /nas/content/live/midhudsonaddic/wp-content/themes/uranium/views/partials/content-single.html.twig:45 #53 RuntimeException in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Cache/FilesystemCache.php:80 #52 Twig\Cache\FilesystemCache:write in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Environment.php:487 #51 Twig\Environment:loadClass in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Environment.php:445 #50 Twig\Environment:loadTemplate in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Environment.php:423 #49 Twig\Environment:load in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/timber/timber/lib/Loader.php:78 #48 Timber\Loader:render in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/timber/timber/lib/Timber.php:334 #47 Timber\Timber:compile in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/timber/timber/lib/Timber.php:383 #46 Timber\Timber:fetch in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/timber/timber/lib/Timber.php:410 #45 Timber\Timber:render in /nas/content/live/midhudsonaddic/wp-content/themes/uranium/comments.php:28 #44 require in /nas/content/live/midhudsonaddic/wp-includes/comment-template.php:1627 #43 comments_template in /nas/content/live/midhudsonaddic/wp-content/plugins/elementor-pro/modules/theme-elements/widgets/post-comments.php:114 #42 ElementorPro\Modules\ThemeElements\Widgets\Post_Comments:render in /nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/controls-stack.php:2221 #41 Elementor\Controls_Stack:render_by_mode in /nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/widget-base.php:609 #40 Elementor\Widget_Base:render_content in /nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/widget-base.php:750 #39 Elementor\Widget_Base:print_content in /nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/element-base.php:447 #38 Elementor\Element_Base:print_element in /nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/element-base.php:767 #37 Elementor\Element_Base:print_content in /nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/element-base.php:447 #36 Elementor\Element_Base:print_element in /nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/element-base.php:767 #35 Elementor\Element_Base:print_content in /nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/element-base.php:447 #34 Elementor\Element_Base:print_element in /nas/content/live/midhudsonaddic/wp-content/plugins/elementor/core/base/document.php:1565 #33 Elementor\Core\Base\Document:print_elements in /nas/content/live/midhudsonaddic/wp-content/plugins/elementor/core/base/document.php:1016 #32 Elementor\Core\Base\Document:print_elements_with_wrapper in /nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/frontend.php:1092 #31 Elementor\Frontend:get_builder_content in /nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/frontend.php:1006 #30 Elementor\Frontend:apply_builder_in_content in /nas/content/live/midhudsonaddic/wp-includes/class-wp-hook.php:341 #29 WP_Hook:apply_filters in /nas/content/live/midhudsonaddic/wp-includes/plugin.php:205 #28 apply_filters in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/timber/timber/lib/Post.php:1228 #27 Timber\Post:content in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/timber/timber/lib/Post.php:1256 #26 Timber\Post:paged_content in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Template.php:702 #25 Twig\Template:getAttribute in /nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/5f/5f2682a58ea20b6c00c944468209d0e0ca7df31c943d0cf275fba2da30191141.php:147 #24 __TwigTemplate_32dbdb8b90913be5605884560f64f5f9971f9a4b8f5c2200bcbca54ecddf9950:block_content in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Template.php:216 #23 Twig\Template:displayBlock in /nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/5f/5f2682a58ea20b6c00c944468209d0e0ca7df31c943d0cf275fba2da30191141.php:41 #22 __TwigTemplate_32dbdb8b90913be5605884560f64f5f9971f9a4b8f5c2200bcbca54ecddf9950:doDisplay in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Template.php:455 #21 Twig\Template:displayWithErrorHandling in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Template.php:422 #20 Twig\Template:display in /nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/51/51087caac9e607a201ffd55d26aefb0a366289dc4cd23480b2e8be8683ad9c93.php:54 #19 __TwigTemplate_dd8a51ce613e079d9e96f97f550bcb55098661950939393a1ced90e29f8ad617:block_content in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Template.php:216 #18 Twig\Template:displayBlock in /nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/b4/b4105390ca007f6f3bb4cd44cb3a1eeae9a51c2fba5f4c455e11fc8ef1743fdc.php:55 #17 __TwigTemplate_c9dcec21bfac60c1014161812b98c78c90ee7b74c28d99988defc4a553c6f905:doDisplay in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Template.php:455 #16 Twig\Template:displayWithErrorHandling in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Template.php:422 #15 Twig\Template:display in /nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/ed/ede6d1c9f94ec56dbafe6b3e101aabbde0f1f8cb245036c4c30e9378ab033b2a.php:36 #14 __TwigTemplate_f6fd3b679e1b79555526896720d8cfb6f19313c471af28c72fba16425b575be4:doDisplay in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Template.php:455 #13 Twig\Template:displayWithErrorHandling in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Template.php:422 #12 Twig\Template:display in /nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/51/51087caac9e607a201ffd55d26aefb0a366289dc4cd23480b2e8be8683ad9c93.php:40 #11 __TwigTemplate_dd8a51ce613e079d9e96f97f550bcb55098661950939393a1ced90e29f8ad617:doDisplay in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Template.php:455 #10 Twig\Template:displayWithErrorHandling in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Template.php:422 #9 Twig\Template:display in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Template.php:434 #8 Twig\Template:render in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/twig/twig/src/TemplateWrapper.php:47 #7 Twig\TemplateWrapper:render in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/timber/timber/lib/Loader.php:79 #6 Timber\Loader:render in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/timber/timber/lib/Timber.php:334 #5 Timber\Timber:compile in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/timber/timber/lib/Timber.php:383 #4 Timber\Timber:fetch in /nas/content/live/midhudsonaddic/wp-content/plugins/gantry5/src/vendor/timber/timber/lib/Timber.php:410 #3 Timber\Timber:render in /nas/content/live/midhudsonaddic/wp-content/themes/uranium/single.php:31 #2 include in /nas/content/live/midhudsonaddic/wp-includes/template-loader.php:125 #1 require_once in /nas/content/live/midhudsonaddic/wp-blog-header.php:19 #0 require in /nas/content/live/midhudsonaddic/index.php:17
Stack frames (55)
54
Twig\Error\RuntimeError
/nas/content/live/midhudsonaddic/wp-content/themes/uranium/views/partials/content-single.html.twig45
53
RuntimeException
/vendor/twig/twig/src/Cache/FilesystemCache.php80
52
Twig\Cache\FilesystemCache write
/vendor/twig/twig/src/Environment.php487
51
Twig\Environment loadClass
/vendor/twig/twig/src/Environment.php445
50
Twig\Environment loadTemplate
/vendor/twig/twig/src/Environment.php423
49
Twig\Environment load
/vendor/timber/timber/lib/Loader.php78
48
Timber\Loader render
/vendor/timber/timber/lib/Timber.php334
47
Timber\Timber compile
/vendor/timber/timber/lib/Timber.php383
46
Timber\Timber fetch
/vendor/timber/timber/lib/Timber.php410
45
Timber\Timber render
/nas/content/live/midhudsonaddic/wp-content/themes/uranium/comments.php28
44
require
/nas/content/live/midhudsonaddic/wp-includes/comment-template.php1627
43
comments_template
/nas/content/live/midhudsonaddic/wp-content/plugins/elementor-pro/modules/theme-elements/widgets/post-comments.php114
42
ElementorPro\Modules\ThemeElements\Widgets\Post_Comments render
/nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/controls-stack.php2221
41
Elementor\Controls_Stack render_by_mode
/nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/widget-base.php609
40
Elementor\Widget_Base render_content
/nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/widget-base.php750
39
Elementor\Widget_Base print_content
/nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/element-base.php447
38
Elementor\Element_Base print_element
/nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/element-base.php767
37
Elementor\Element_Base print_content
/nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/element-base.php447
36
Elementor\Element_Base print_element
/nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/element-base.php767
35
Elementor\Element_Base print_content
/nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/base/element-base.php447
34
Elementor\Element_Base print_element
/nas/content/live/midhudsonaddic/wp-content/plugins/elementor/core/base/document.php1565
33
Elementor\Core\Base\Document print_elements
/nas/content/live/midhudsonaddic/wp-content/plugins/elementor/core/base/document.php1016
32
Elementor\Core\Base\Document print_elements_with_wrapper
/nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/frontend.php1092
31
Elementor\Frontend get_builder_content
/nas/content/live/midhudsonaddic/wp-content/plugins/elementor/includes/frontend.php1006
30
Elementor\Frontend apply_builder_in_content
/nas/content/live/midhudsonaddic/wp-includes/class-wp-hook.php341
29
WP_Hook apply_filters
/nas/content/live/midhudsonaddic/wp-includes/plugin.php205
28
apply_filters
/vendor/timber/timber/lib/Post.php1228
27
Timber\Post content
/vendor/timber/timber/lib/Post.php1256
26
Timber\Post paged_content
/vendor/twig/twig/src/Template.php702
25
Twig\Template getAttribute
/nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/5f/5f2682a58ea20b6c00c944468209d0e0ca7df31c943d0cf275fba2da30191141.php147
24
__TwigTemplate_32dbdb8b90913be5605884560f64f5f9971f9a4b8f5c2200bcbca54ecddf9950 block_content
/vendor/twig/twig/src/Template.php216
23
Twig\Template displayBlock
/nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/5f/5f2682a58ea20b6c00c944468209d0e0ca7df31c943d0cf275fba2da30191141.php41
22
__TwigTemplate_32dbdb8b90913be5605884560f64f5f9971f9a4b8f5c2200bcbca54ecddf9950 doDisplay
/vendor/twig/twig/src/Template.php455
21
Twig\Template displayWithErrorHandling
/vendor/twig/twig/src/Template.php422
20
Twig\Template display
/nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/51/51087caac9e607a201ffd55d26aefb0a366289dc4cd23480b2e8be8683ad9c93.php54
19
__TwigTemplate_dd8a51ce613e079d9e96f97f550bcb55098661950939393a1ced90e29f8ad617 block_content
/vendor/twig/twig/src/Template.php216
18
Twig\Template displayBlock
/nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/b4/b4105390ca007f6f3bb4cd44cb3a1eeae9a51c2fba5f4c455e11fc8ef1743fdc.php55
17
__TwigTemplate_c9dcec21bfac60c1014161812b98c78c90ee7b74c28d99988defc4a553c6f905 doDisplay
/vendor/twig/twig/src/Template.php455
16
Twig\Template displayWithErrorHandling
/vendor/twig/twig/src/Template.php422
15
Twig\Template display
/nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/ed/ede6d1c9f94ec56dbafe6b3e101aabbde0f1f8cb245036c4c30e9378ab033b2a.php36
14
__TwigTemplate_f6fd3b679e1b79555526896720d8cfb6f19313c471af28c72fba16425b575be4 doDisplay
/vendor/twig/twig/src/Template.php455
13
Twig\Template displayWithErrorHandling
/vendor/twig/twig/src/Template.php422
12
Twig\Template display
/nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/51/51087caac9e607a201ffd55d26aefb0a366289dc4cd23480b2e8be8683ad9c93.php40
11
__TwigTemplate_dd8a51ce613e079d9e96f97f550bcb55098661950939393a1ced90e29f8ad617 doDisplay
/vendor/twig/twig/src/Template.php455
10
Twig\Template displayWithErrorHandling
/vendor/twig/twig/src/Template.php422
9
Twig\Template display
/vendor/twig/twig/src/Template.php434
8
Twig\Template render
/vendor/twig/twig/src/TemplateWrapper.php47
7
Twig\TemplateWrapper render
/vendor/timber/timber/lib/Loader.php79
6
Timber\Loader render
/vendor/timber/timber/lib/Timber.php334
5
Timber\Timber compile
/vendor/timber/timber/lib/Timber.php383
4
Timber\Timber fetch
/vendor/timber/timber/lib/Timber.php410
3
Timber\Timber render
/nas/content/live/midhudsonaddic/wp-content/themes/uranium/single.php31
2
include
/nas/content/live/midhudsonaddic/wp-includes/template-loader.php125
1
require_once
/nas/content/live/midhudsonaddic/wp-blog-header.php19
0
require
/nas/content/live/midhudsonaddic/index.php17
        </section>
        {# End Entry Header #}

        {# Check if post is password protected #}
        {% if not function( 'post_password_required', post.ID ) %}

            {# Begin Entry Content #}
            <section class="entry-content">

                {# Begin Featured Image #}
                {% if gantry.config.get('content.' ~ scope ~ '.featured-image.enabled', '1') and post.thumbnail.src %}
                    {% set position = (gantry.config.get('content.' ~ scope ~ '.featured-image.position', 'none') == 'none') ? '' : 'float-' ~ gantry.config.get('content.' ~ scope ~ '.featured-image.position', 'none') %}
                    <a href="{{ post.link }}" class="post-thumbnail" aria-hidden="true">
                        <img src="{{ post.thumbnail.src|resize(gantry.config.get('content.' ~ scope ~ '.featured-image.width', '1200'), gantry.config.get('content.' ~ scope ~ '.featured-image.height', '350')) }}" class="featured-image tease-featured-image {{ position }}" alt="{{ post.title }}" />
                    </a>
                {% endif %}
                {# End Featured Image #}

                {# Begin Page Content #}
                {{ post.paged_content|raw }}

                {{ function('wp_link_pages', {'before': '<div class="page-links" itemprop="pagination">', 'after': '</div>', 'link_before': '<span class="page-number page-numbers">', 'link_after': '</span>', 'echo': 0}) }}
                {# End Page Content #}

                {# Begin Edit Link #}
                {{ function('edit_post_link', __('Edit', theme.details.configuration.theme.textdomain), '<span class="edit-link">', '</span>') }}
                {# End Edit Link #}

            </section>
            {# End Entry Content #}

            {# Begin Comments #}
            {% if (post.comment_status == 'open' or post.comment_count > 0) and post.post_type != 'product' %}
                {{ function('comments_template')|raw }}
            {% endif %}
            {# End Comments #}

        {% else %}

            {# Begin Password Protected Form #}
            throw new \RuntimeException(sprintf('Unable to write in the cache directory (%s).', $dir));
        }
 
        $tmpFile = tempnam($dir, basename($key));
        if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $key)) {
            @chmod($key, 0666 & ~umask());
 
            if (self::FORCE_BYTECODE_INVALIDATION == ($this->options & self::FORCE_BYTECODE_INVALIDATION)) {
                // Compile cached file into bytecode cache
                if (\function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), FILTER_VALIDATE_BOOLEAN)) {
                    @opcache_invalidate($key, true);
                } elseif (\function_exists('apc_compile_file')) {
                    apc_compile_file($key);
                }
            }
 
            return;
        }
 
        throw new \RuntimeException(sprintf('Failed to write cache file "%s".', $key));
    }
 
    public function getTimestamp($key)
    {
        if (!file_exists($key)) {
            return 0;
        }
 
        return (int) @filemtime($key);
    }
}
 
class_alias('Twig\Cache\FilesystemCache', 'Twig_Cache_Filesystem');
 
Exception message: Failed to write cache file "/nas/content/live/midhudsonaddic/wp-content/cache/gantry5/midhudsonaddictionrecovery/twig/73/7377af7a14b500012fcf0badaceeadb5742f42738310928eb8dd2684f9132d49.php".
 
            if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
                $this->cache->load($key);
            }
 
            $source = null;
            if (!class_exists($cls, false)) {
                $loader = $this->getLoader();
                if (!$loader instanceof SourceContextLoaderInterface) {
                    $source = new Source($loader->getSource($name), $name);
                } else {
                    $source = $loader->getSourceContext($name);
                }
 
                $content = $this->compileSource($source);
 
                if ($this->bcWriteCacheFile) {
                    $this->writeCacheFile($key, $content);
                } else {
                    $this->cache->write($key, $content);
                    $this->cache->load($key);
                }
 
                if (!class_exists($mainCls, false)) {
                    /* Last line of defense if either $this->bcWriteCacheFile was used,
                     * $this->cache is implemented as a no-op or we have a race condition
                     * where the cache was cleared between the above calls to write to and load from
                     * the cache.
                     */
                    eval('?>'.$content);
                }
            }
 
            if (!class_exists($cls, false)) {
                throw new RuntimeError(sprintf('Failed to load Twig template "%s", index "%s": cache might be corrupted.', $name, $index), -1, $source);
            }
        }
 
        if (!$this->runtimeInitialized) {
            $this->initRuntime();
    /**
     * Loads a template internal representation.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param string $name  The template name
     * @param int    $index The index if it is an embedded template
     *
     * @return \Twig_TemplateInterface A template instance representing the given template name
     *
     * @throws LoaderError  When the template cannot be found
     * @throws RuntimeError When a previously generated cache is corrupted
     * @throws SyntaxError  When an error occurred during compilation
     *
     * @internal
     */
    public function loadTemplate($name, $index = null)
    {
        return $this->loadClass($this->getTemplateClass($name), $name, $index);
    }
 
    /**
     * @internal
     */
    public function loadClass($cls, $name, $index = null)
    {
        $mainCls = $cls;
        if (null !== $index) {
            $cls .= '___'.$index;
        }
 
        if (isset($this->loadedTemplates[$cls])) {
            return $this->loadedTemplates[$cls];
        }
 
        if (!class_exists($cls, false)) {
            if ($this->bcGetCacheFilename) {
                $key = $this->getCacheFilename($name);
            } else {
     *
     * @param string|TemplateWrapper|\Twig\Template $name The template name
     *
     * @throws LoaderError  When the template cannot be found
     * @throws RuntimeError When a previously generated cache is corrupted
     * @throws SyntaxError  When an error occurred during compilation
     *
     * @return TemplateWrapper
     */
    public function load($name)
    {
        if ($name instanceof TemplateWrapper) {
            return $name;
        }
 
        if ($name instanceof Template) {
            return new TemplateWrapper($this, $name);
        }
 
        return new TemplateWrapper($this, $this->loadTemplate($name));
    }
 
    /**
     * Loads a template internal representation.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param string $name  The template name
     * @param int    $index The index if it is an embedded template
     *
     * @return \Twig_TemplateInterface A template instance representing the given template name
     *
     * @throws LoaderError  When the template cannot be found
     * @throws RuntimeError When a previously generated cache is corrupted
     * @throws SyntaxError  When an error occurred during compilation
     *
     * @internal
     */
    public function loadTemplate($name, $index = null)
        }
 
        $key = null;
        $output = false;
        if ( false !== $expires ) {
            ksort($data);
            $key = md5($file.json_encode($data));
            $output = $this->get_cache($key, self::CACHEGROUP, $cache_mode);
        }
 
        if ( false === $output || null === $output ) {
            $twig = $this->get_twig();
            if ( strlen($file) ) {
                $loader = $this->get_loader();
                $result = $loader->getCacheKey($file);
                do_action('timber_loader_render_file', $result);
            }
            $data = apply_filters('timber_loader_render_data', $data);
            $data = apply_filters('timber/loader/render_data', $data, $file);
            $template = $twig->load($file);
            $output = $template->render($data);
        }
 
        if ( false !== $output && false !== $expires && null !== $key ) {
            $this->delete_cache();
            $this->set_cache($key, $output, self::CACHEGROUP, $expires, $cache_mode);
        }
        $output = apply_filters('timber_output', $output);
        return apply_filters('timber/output', $output, $data, $file);
    }
 
    protected function delete_cache() {
        Cleaner::delete_transients();
    }
 
    /**
     * Get first existing template.
     *
     * @param array|string $templates  Name(s) of the Twig template(s) to choose from.
     * @return string|bool             Name of chosen template, otherwise false.
        if ( $via_render ) {
            $file = apply_filters('timber_render_file', $file);
        } else {
            $file = apply_filters('timber_compile_file', $file);
        }
 
        $output = false;
 
        if ($file !== false) {
            if ( is_null($data) ) {
                $data = array();
            }
 
            if ( $via_render ) {
                $data = apply_filters('timber_render_data', $data);
            } else {
                $data = apply_filters('timber_compile_data', $data);
            }
 
            $output = $loader->render($file, $data, $expires, $cache_mode);
        } else {
            if ( is_array($filenames) ) {
                $filenames = implode(", ", $filenames);
            }
            Helper::error_log( 'Error loading your template files: '.$filenames.'. Make sure one of these files exists.' );
        }
 
        do_action('timber_compile_done');
        return $output;
    }
 
    /**
     * Compile a string.
     *
     * @api
     * @example
     * ```php
     * $data = array(
     *     'username' => 'Jane Doe',
     * );
        $twig = $dummy_loader->get_twig();
        $template = $twig->createTemplate($string);
        return $template->render($data);
    }
 
    /**
     * Fetch function.
     *
     * @api
     * @param array|string $filenames  Name of the Twig file to render. If this is an array of files, Timber will
     *                                 render the first file that exists.
     * @param array        $data       Optional. An array of data to use in Twig template.
     * @param bool|int     $expires    Optional. In seconds. Use false to disable cache altogether. When passed an
     *                                 array, the first value is used for non-logged in visitors, the second for users.
     *                                 Default false.
     * @param string       $cache_mode Optional. Any of the cache mode constants defined in TimberLoader.
     * @return bool|string The returned output.
     */
    public static function fetch( $filenames, $data = array(), $expires = false, $cache_mode = Loader::CACHE_USE_DEFAULT ) {
        $output = self::compile($filenames, $data, $expires, $cache_mode, true);
        $output = apply_filters('timber_compile_result', $output);
        return $output;
    }
 
    /**
     * Render function.
     *
     * Passes data to a Twig file and echoes the output.
     *
     * @api
     * @example
     * ```php
     * $context = Timber::context();
     *
     * Timber::render( 'index.twig', $context );
     * ```
     * @param array|string $filenames  Name of the Twig file to render. If this is an array of files, Timber will
     *                                 render the first file that exists.
     * @param array        $data       Optional. An array of data to use in Twig template.
     * @param bool|int     $expires    Optional. In seconds. Use false to disable cache altogether. When passed an
     * Passes data to a Twig file and echoes the output.
     *
     * @api
     * @example
     * ```php
     * $context = Timber::context();
     *
     * Timber::render( 'index.twig', $context );
     * ```
     * @param array|string $filenames  Name of the Twig file to render. If this is an array of files, Timber will
     *                                 render the first file that exists.
     * @param array        $data       Optional. An array of data to use in Twig template.
     * @param bool|int     $expires    Optional. In seconds. Use false to disable cache altogether. When passed an
     *                                 array, the first value is used for non-logged in visitors, the second for users.
     *                                 Default false.
     * @param string       $cache_mode Optional. Any of the cache mode constants defined in TimberLoader.
     * @return bool|string The echoed output.
     */
    public static function render( $filenames, $data = array(), $expires = false, $cache_mode = Loader::CACHE_USE_DEFAULT ) {
        $output = self::fetch($filenames, $data, $expires, $cache_mode);
        echo $output;
        return $output;
    }
 
    /**
     * Render a string with Twig variables.
     *
     * @api
     * @example
     * ```php
     * $data = array(
     *     'username' => 'Jane Doe',
     * );
     *
     * Timber::render_string( 'Hi {{ username }}, I’m a string with a custom Twig variable', $data );
     * ```
     * @param string $string A string with Twig variables.
     * @param array  $data   An array of data to use in Twig template.
     * @return bool|string
     */
 */

defined('ABSPATH') or die;

use Timber\Timber;

/*
 * The template for displaying comments
 */

$context = Timber::get_context();

$post            = new \Timber\Post();
$context['post'] = $post;

if (post_password_required($post)) {
    return;
}

Timber::render(['partials/comments-' . $post->ID . '.html.twig', 'partials/comments-' . $post->post_type . '.html.twig', 'partials/comments.html.twig'], $context);
 
 
    if ( ! defined( 'COMMENTS_TEMPLATE' ) ) {
        define( 'COMMENTS_TEMPLATE', true );
    }
 
    $theme_template = trailingslashit( $wp_stylesheet_path ) . $file;
 
    /**
     * Filters the path to the theme template file used for the comments template.
     *
     * @since 1.5.1
     *
     * @param string $theme_template The path to the theme template file.
     */
    $include = apply_filters( 'comments_template', $theme_template );
 
    if ( file_exists( $include ) ) {
        require $include;
    } elseif ( file_exists( trailingslashit( $wp_template_path ) . $file ) ) {
        require trailingslashit( $wp_template_path ) . $file;
    } else { // Backward compat code will be removed in a future release.
        require ABSPATH . WPINC . '/theme-compat/comments.php';
    }
}
 
/**
 * Displays the link to the comments for the current post ID.
 *
 * @since 0.71
 *
 * @param false|string $zero      Optional. String to display when no comments. Default false.
 * @param false|string $one       Optional. String to display when only one comment is available. Default false.
 * @param false|string $more      Optional. String to display when there are more than one comment. Default false.
 * @param string       $css_class Optional. CSS class to use for comments. Default empty.
 * @param false|string $none      Optional. String to display when comments have been turned off. Default false.
 */
function comments_popup_link( $zero = false, $one = false, $more = false, $css_class = '', $none = false ) {
    $post_id         = get_the_ID();
    $post_title      = get_the_title();
    $comments_number = (int) get_comments_number( $post_id );
        $settings = $this->get_settings();
 
        if ( Module::SOURCE_TYPE_CUSTOM === $settings['source_type'] ) {
            $post_id = (int) $settings['source_custom'];
            Plugin::elementor()->db->switch_to_post( $post_id );
        }
 
        if ( ! comments_open() && ( Plugin::elementor()->preview->is_preview_mode() || Plugin::elementor()->editor->is_edit_mode() ) ) :
            ?>
            <div class="elementor-alert elementor-alert-danger" role="alert">
                <span class="elementor-alert-title">
                    <?php esc_html_e( 'Comments are closed.', 'elementor-pro' ); ?>
                </span>
                <span class="elementor-alert-description">
                    <?php esc_html_e( 'Switch on comments from either the discussion box on the WordPress post edit screen or from the WordPress discussion settings.', 'elementor-pro' ); ?>
                </span>
            </div>
            <?php
        else :
            comments_template();
        endif;
 
        if ( Module::SOURCE_TYPE_CUSTOM === $settings['source_type'] ) {
            Plugin::elementor()->db->restore_current_post();
        }
    }
}
 
    /**
     * Render element in static mode.
     *
     * If not inherent will call the base render.
     */
    protected function render_static() {
        $this->render();
    }
 
    /**
     * Determine the render logic.
     */
    protected function render_by_mode() {
        if ( Plugin::$instance->frontend->is_static_render_mode() ) {
            $this->render_static();
 
            return;
        }
 
        $this->render();
    }
 
    /**
     * Print content template.
     *
     * Used to generate the content template on the editor, using a
     * Backbone JavaScript template.
     *
     * @access protected
     * @since 2.0.0
     *
     * @param string $template_content Template content.
     */
    protected function print_template_content( $template_content ) {
        echo $template_content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    }
 
    /**
     * Render element output in the editor.
     *
    public function render_content() {
        /**
         * Before widget render content.
         *
         * Fires before Elementor widget is being rendered.
         *
         * @since 1.0.0
         *
         * @param Widget_Base $this The current widget.
         */
        do_action( 'elementor/widget/before_render_content', $this );
 
        ob_start();
 
        $skin = $this->get_current_skin();
        if ( $skin ) {
            $skin->set_parent( $this );
            $skin->render_by_mode();
        } else {
            $this->render_by_mode();
        }
 
        $widget_content = ob_get_clean();
 
        if ( empty( $widget_content ) ) {
            return;
        }
        ?>
        <div class="elementor-widget-container">
            <?php
            if ( $this->is_widget_first_render( $this->get_group_name() ) ) {
                $this->register_runtime_widget( $this->get_group_name() );
            }
 
            $this->print_widget_css();
 
            // get_name
 
            /**
             * Render widget content.
            ob_start();
 
            $this->render_content();
 
            $data['htmlCache'] = ob_get_clean();
        }
 
        return $data;
    }
 
    /**
     * Print widget content.
     *
     * Output the widget final HTML on the frontend.
     *
     * @since 1.0.0
     * @access protected
     */
    protected function print_content() {
        $this->render_content();
    }
 
    /**
     * Print a setting content without escaping.
     *
     * Script tags are allowed on frontend according to the WP theme securing policy.
     *
     * @param string $setting
     * @param null $repeater_name
     * @param null $index
     */
    final public function print_unescaped_setting( $setting, $repeater_name = null, $index = null ) {
        if ( $repeater_name ) {
            $repeater = $this->get_settings_for_display( $repeater_name );
            $output = $repeater[ $index ][ $setting ];
        } else {
            $output = $this->get_settings_for_display( $setting );
        }
 
        echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
         * Before frontend element render.
         *
         * Fires before Elementor element is rendered in the frontend.
         *
         * The dynamic portion of the hook name, `$element_type`, refers to the element type.
         *
         * @since 1.0.0
         *
         * @param Element_Base $this The element.
         */
        do_action( "elementor/frontend/{$element_type}/before_render", $this );
 
        ob_start();
 
        if ( $this->has_own_method( '_print_content', self::class ) ) {
            Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( '_print_content', '3.1.0', __CLASS__ . '::print_content()' );
 
            $this->_print_content();
        } else {
            $this->print_content();
        }
 
        $content = ob_get_clean();
 
        $should_render = ( ! empty( $content ) || $this->should_print_empty() );
 
        /**
         * Should the element be rendered for frontend
         *
         * Filters if the element should be rendered on frontend.
         *
         * @since 2.3.3
         *
         * @param bool true The element.
         * @param Element_Base $this The element.
         */
        $should_render = apply_filters( "elementor/frontend/{$element_type}/should_render", $should_render, $this );
 
        if ( $should_render ) {
            if ( $this->has_own_method( '_add_render_attributes', self::class ) ) {
     * @since 1.0.0
     * @access protected
     */
    protected function _print_content() {
        Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0', __CLASS__ . '::print_content()' );
 
        $this->print_content();
    }
 
    /**
     * Print element content.
     *
     * Output the element final HTML on the frontend.
     *
     * @since 3.1.0
     * @access protected
     */
    protected function print_content() {
        foreach ( $this->get_children() as $child ) {
            $child->print_element();
        }
    }
 
    /**
     * Get initial config.
     *
     * Retrieve the current element initial configuration.
     *
     * Adds more configuration on top of the controls list and the tabs assigned
     * to the control. This method also adds element name, type, icon and more.
     *
     * @since 2.9.0
     * @access protected
     *
     * @return array The initial config.
     */
    protected function get_initial_config() {
        $config = [
            'name' => $this->get_name(),
            'elType' => $this->get_type(),
         * Before frontend element render.
         *
         * Fires before Elementor element is rendered in the frontend.
         *
         * The dynamic portion of the hook name, `$element_type`, refers to the element type.
         *
         * @since 1.0.0
         *
         * @param Element_Base $this The element.
         */
        do_action( "elementor/frontend/{$element_type}/before_render", $this );
 
        ob_start();
 
        if ( $this->has_own_method( '_print_content', self::class ) ) {
            Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( '_print_content', '3.1.0', __CLASS__ . '::print_content()' );
 
            $this->_print_content();
        } else {
            $this->print_content();
        }
 
        $content = ob_get_clean();
 
        $should_render = ( ! empty( $content ) || $this->should_print_empty() );
 
        /**
         * Should the element be rendered for frontend
         *
         * Filters if the element should be rendered on frontend.
         *
         * @since 2.3.3
         *
         * @param bool true The element.
         * @param Element_Base $this The element.
         */
        $should_render = apply_filters( "elementor/frontend/{$element_type}/should_render", $should_render, $this );
 
        if ( $should_render ) {
            if ( $this->has_own_method( '_add_render_attributes', self::class ) ) {
     * @since 1.0.0
     * @access protected
     */
    protected function _print_content() {
        Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0', __CLASS__ . '::print_content()' );
 
        $this->print_content();
    }
 
    /**
     * Print element content.
     *
     * Output the element final HTML on the frontend.
     *
     * @since 3.1.0
     * @access protected
     */
    protected function print_content() {
        foreach ( $this->get_children() as $child ) {
            $child->print_element();
        }
    }
 
    /**
     * Get initial config.
     *
     * Retrieve the current element initial configuration.
     *
     * Adds more configuration on top of the controls list and the tabs assigned
     * to the control. This method also adds element name, type, icon and more.
     *
     * @since 2.9.0
     * @access protected
     *
     * @return array The initial config.
     */
    protected function get_initial_config() {
        $config = [
            'name' => $this->get_name(),
            'elType' => $this->get_type(),
         * Before frontend element render.
         *
         * Fires before Elementor element is rendered in the frontend.
         *
         * The dynamic portion of the hook name, `$element_type`, refers to the element type.
         *
         * @since 1.0.0
         *
         * @param Element_Base $this The element.
         */
        do_action( "elementor/frontend/{$element_type}/before_render", $this );
 
        ob_start();
 
        if ( $this->has_own_method( '_print_content', self::class ) ) {
            Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( '_print_content', '3.1.0', __CLASS__ . '::print_content()' );
 
            $this->_print_content();
        } else {
            $this->print_content();
        }
 
        $content = ob_get_clean();
 
        $should_render = ( ! empty( $content ) || $this->should_print_empty() );
 
        /**
         * Should the element be rendered for frontend
         *
         * Filters if the element should be rendered on frontend.
         *
         * @since 2.3.3
         *
         * @param bool true The element.
         * @param Element_Base $this The element.
         */
        $should_render = apply_filters( "elementor/frontend/{$element_type}/should_render", $should_render, $this );
 
        if ( $should_render ) {
            if ( $this->has_own_method( '_add_render_attributes', self::class ) ) {
    /**
     * @since 2.1.3
     * @access protected
     */
    protected function print_elements( $elements_data ) {
        // Collect all data updaters that should be updated on runtime.
        $runtime_elements_iteration_actions = $this->get_runtime_elements_iteration_actions();
 
        if ( $runtime_elements_iteration_actions ) {
            $this->iterate_elements( $elements_data, $runtime_elements_iteration_actions, 'render' );
        }
 
        foreach ( $elements_data as $element_data ) {
            $element = Plugin::$instance->elements_manager->create_element_instance( $element_data );
 
            if ( ! $element ) {
                continue;
            }
 
            $element->print_element();
        }
    }
 
    protected function register_document_controls() {
        $this->start_controls_section(
            'document_settings',
            [
                'label' => esc_html__( 'General Settings', 'elementor' ),
                'tab' => Controls_Manager::TAB_SETTINGS,
            ]
        );
 
        $this->add_control(
            'post_title',
            [
                'label' => esc_html__( 'Title', 'elementor' ),
                'type' => Controls_Manager::TEXT,
                'default' => $this->post->post_title,
                'label_block' => true,
            ]
        ];
    }
 
    /**
     * @since 2.1.3
     * @access public
     */
    public function print_elements_with_wrapper( $elements_data = null ) {
        if ( ! $elements_data ) {
            $elements_data = $this->get_elements_data();
        }
 
        $is_dom_optimization_active = Plugin::$instance->experiments->is_feature_active( 'e_dom_optimization' );
        ?>
        <div <?php Utils::print_html_attributes( $this->get_container_attributes() ); ?>>
            <?php if ( ! $is_dom_optimization_active ) : ?>
            <div class="elementor-inner">
                <div class="elementor-section-wrap">
            <?php endif; ?>
                <?php $this->print_elements( $elements_data ); ?>
            <?php if ( ! $is_dom_optimization_active ) : ?>
                </div>
            </div>
            <?php endif; ?>
        </div>
        <?php
    }
 
    /**
     * @since 2.0.0
     * @access public
     */
    public function get_css_wrapper_selector() {
        return '';
    }
 
    /**
     * @since 2.0.0
     * @access public
     */
                $css_file = Post_Preview::create( $document->get_post()->ID );
            } else {
                $css_file = Post_CSS::create( $post_id );
            }
 
            $css_file->enqueue();
        }
 
        ob_start();
 
        // Handle JS and Customizer requests, with CSS inline.
        if ( is_customize_preview() || wp_doing_ajax() ) {
            $with_css = true;
        }
 
        if ( ! empty( $css_file ) && $with_css ) {
            $css_file->print_css();
        }
 
        $document->print_elements_with_wrapper( $data );
 
        $content = ob_get_clean();
 
        $content = $this->process_more_tag( $content );
 
        /**
         * Frontend content.
         *
         * Filters the content in the frontend.
         *
         * @since 1.0.0
         *
         * @param string $content The content.
         */
        $content = apply_filters( 'elementor/frontend/the_content', $content );
 
        if ( ! empty( $content ) ) {
            $this->_has_elementor_in_page = true;
        }
 
     *
     * @since 1.0.0
     * @access public
     *
     * @param string $content The post content.
     *
     * @return string The post content.
     */
    public function apply_builder_in_content( $content ) {
        $this->restore_content_filters();
 
        if ( Plugin::$instance->preview->is_preview_mode() || $this->_is_excerpt ) {
            return $content;
        }
 
        // Remove the filter itself in order to allow other `the_content` in the elements
        $this->remove_content_filter();
 
        $post_id = get_the_ID();
        $builder_content = $this->get_builder_content( $post_id );
 
        if ( ! empty( $builder_content ) ) {
            $content = $builder_content;
            $this->remove_content_filters();
        }
 
        // Add the filter again for other `the_content` calls
        $this->add_content_filter();
 
        return $content;
    }
 
    /**
     * Retrieve builder content.
     *
     * Used to render and return the post content with all the Elementor elements.
     *
     * Note that this method is an internal method, please use `get_builder_content_for_display()`.
     *
     * @since 1.0.0
 
        $this->iterations[ $nesting_level ] = $this->priorities;
 
        $num_args = count( $args );
 
        do {
            $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] );
 
            $priority = $this->current_priority[ $nesting_level ];
 
            foreach ( $this->callbacks[ $priority ] as $the_ ) {
                if ( ! $this->doing_action ) {
                    $args[0] = $value;
                }
 
                // Avoid the array_slice() if possible.
                if ( 0 === $the_['accepted_args'] ) {
                    $value = call_user_func( $the_['function'] );
                } elseif ( $the_['accepted_args'] >= $num_args ) {
                    $value = call_user_func_array( $the_['function'], $args );
                } else {
                    $value = call_user_func_array( $the_['function'], array_slice( $args, 0, $the_['accepted_args'] ) );
                }
            }
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        --$this->nesting_level;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
        $all_args = func_get_args(); // phpcs:ignore PHPCompatibility.FunctionUse.ArgumentFunctionsReportCurrentValue.NeedsInspection
        _wp_call_all_hook( $all_args );
    }
 
    if ( ! isset( $wp_filter[ $hook_name ] ) ) {
        if ( isset( $wp_filter['all'] ) ) {
            array_pop( $wp_current_filter );
        }
 
        return $value;
    }
 
    if ( ! isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $hook_name;
    }
 
    // Pass the value to WP_Hook.
    array_unshift( $args, $value );
 
    $filtered = $wp_filter[ $hook_name ]->apply_filters( $value, $args );
 
    array_pop( $wp_current_filter );
 
    return $filtered;
}
 
/**
 * Calls the callback functions that have been added to a filter hook, specifying arguments in an array.
 *
 * @since 3.0.0
 *
 * @see apply_filters() This function is identical, but the arguments passed to the
 *                      functions hooked to `$hook_name` are supplied using an array.
 *
 * @global WP_Hook[] $wp_filter         Stores all of the filters and actions.
 * @global int[]     $wp_filters        Stores the number of times each filter was triggered.
 * @global string[]  $wp_current_filter Stores the list of current filters with the current one last.
 *
 * @param string $hook_name The name of the filter hook.
 * @param array  $args      The arguments supplied to the functions hooked to `$hook_name`.
        }
        if ( $form = $this->maybe_show_password_form() ) {
            return $form;
        }
        if ( $len == -1 && $page == 0 && $this->___content ) {
            return $this->___content;
        }
        $content = $this->post_content;
        if ( $len > 0 ) {
            $content = wp_trim_words($content, $len);
        }
        if ( $page ) {
            $contents = explode('<!--nextpage-->', $content);
            $page--;
            if ( count($contents) > $page ) {
                $content = $contents[$page];
            }
        }
        $content = $this->content_handle_no_teaser_block( $content );
        $content = apply_filters('the_content', ($content));
        if ( $len == -1 && $page == 0 ) {
            $this->___content = $content;
        }
        return $content;
    }
 
    /**
     * Handles for an circumstance with the Block editor where a "more" block has an option to 
     * "Hide the excerpt on the full content page" which hides everything prior to the inserted 
     * "more" block
     * @ticket #2218
     * @param string $content
     * @return string
     */
    protected function content_handle_no_teaser_block( $content ) {
        if ( strpos($content, 'noTeaser:true') !== false ) {
            $arr = explode('<!--noteaser-->', $content);
            return $arr[1];
        }
        return $content;
     * "Hide the excerpt on the full content page" which hides everything prior to the inserted 
     * "more" block
     * @ticket #2218
     * @param string $content
     * @return string
     */
    protected function content_handle_no_teaser_block( $content ) {
        if ( strpos($content, 'noTeaser:true') !== false ) {
            $arr = explode('<!--noteaser-->', $content);
            return $arr[1];
        }
        return $content;
    }
 
    /**
     * @return string
     */
    public function paged_content() {
        global $page;
        return $this->content($page, -1);
    }
 
    /**
     * Get the date to use in your template!
     * @api
     * @example
     * ```twig
     * Published on {{ post.date }} // Uses WP's formatting set in Admin
     * OR
     * Published on {{ post.date('F jS') }} // Jan 12th
     * ```
     *
     * ```html
     * Published on January 12, 2015
     * OR
     * Published on Jan 12th
     * ```
     * @param string $date_format
     * @return string
     */
            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());
                echo "\" class=\"post-thumbnail\" aria-hidden=\"true\">
                        <img src=\"";
                // line 39
                echo Timber\ImageHelper::resize($this->getAttribute($this->getAttribute(($context["post"] ?? null), "thumbnail", []), "src", []), $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "config", []), "get", [0 => (("content." . ($context["scope"] ?? null)) . ".featured-image.width"), 1 => "1200"], "method"), $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "config", []), "get", [0 => (("content." . ($context["scope"] ?? null)) . ".featured-image.height"), 1 => "350"], "method"));
                echo "\" class=\"featured-image tease-featured-image ";
                echo ($context["position"] ?? null);
                echo "\" alt=\"";
                echo $this->getAttribute(($context["post"] ?? null), "title", []);
                echo "\" />
                    </a>
                ";
            }
            // line 42
            echo "                ";
            // line 43
            echo "
                ";
            // line 45
            echo "                ";
            echo $this->getAttribute(($context["post"] ?? null), "paged_content", []);
            echo "
 
                ";
            // line 47
            echo call_user_func_array($this->env->getFunction('function')->getCallable(), ["wp_link_pages", ["before" => "<div class=\"page-links\" itemprop=\"pagination\">", "after" => "</div>", "link_before" => "<span class=\"page-number page-numbers\">", "link_after" => "</span>", "echo" => 0]]);
            echo "
                ";
            // line 49
            echo "
                ";
            // line 51
            echo "                ";
            echo call_user_func_array($this->env->getFunction('function')->getCallable(), ["edit_post_link", __("Edit", $this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["theme"] ?? null), "details", []), "configuration", []), "theme", []), "textdomain", [])), "<span class=\"edit-link\">", "</span>"]);
            echo "
                ";
            // line 53
            echo "
            </section>
            ";
            // line 56
 
        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->blocks = [
            'content' => [$this, 'block_content'],
        ];
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        // line 1
        echo "<article class=\"post-type-";
        echo $this->getAttribute(($context["post"] ?? null), "post_type", []);
        echo " ";
        echo $this->getAttribute(($context["post"] ?? null), "class", []);
        echo "\" id=\"post-";
        echo $this->getAttribute(($context["post"] ?? null), "ID", []);
        echo "\">
 
    ";
        // line 3
        $this->displayBlock('content', $context, $blocks);
        // line 77
        echo "
</article>
";
    }
 
    // line 3
    public function block_content($context, array $blocks = [])
    {
        // line 4
        echo "
        ";
        // line 6
        echo "        <section class=\"entry-header\">
 
            ";
        // line 9
        echo "            ";
        if ($this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "config", []), "get", [0 => (("content." . ($context["scope"] ?? null)) . ".title.enabled"), 1 => "1"], "method")) {
            // line 10
            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) {
        $context["twigTemplate"] = "single.html.twig";
        // line 3
        $context["scope"] = "single";
        // line 1
        $this->parent = $this->loadTemplate("partials/page.html.twig", "single.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 5
    public function block_content($context, array $blocks = [])
    {
        // line 6
        echo "
    <div class=\"platform-content\">
        <div class=\"content-wrapper\">
            <section class=\"entry\">
 
                ";
        // line 11
        $this->loadTemplate([0 => (("partials/content-" . ($context["scope"] ?? null)) . ".html.twig"), 1 => "partials/content.html.twig"], "single.html.twig", 11)->display($context);
        // line 12
        echo "
            </section>
        </div> <!-- /content-wrapper -->
    </div>
 
";
    }
 
    public function getTemplateName()
    {
        return "single.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);
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        // line 1
        $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "debugger", []), "startTimer", [0 => "render", 1 => "Rendering page"], "method");
        // line 2
        $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "theme", []), "setLayout", [], "method");
        // line 3
        $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "theme", []), "loadAtoms", [], "method");
        // line 4
        $context["segments"] = $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "theme", []), "segments", [], "method");
        // line 6
        ob_start(function () { return ''; });
        // line 7
        echo "    ";
        if ($this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "theme", []), "hasContent", [], "method")) {
            // line 8
            echo "        ";
            $this->displayBlock('content', $context, $blocks);
            // line 10
            echo "    ";
        }
        $context["content"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
        // line 13
        $context["offcanvas"] = null;
        // line 14
        $context['_parent'] = $context;
        $context['_seq'] = twig_ensure_traversable(($context["segments"] ?? null));
        foreach ($context['_seq'] as $context["_key"] => $context["segment"]) {
            if (($this->getAttribute($context["segment"], "type", []) == "offcanvas")) {
                // line 15
                $context["offcanvas"] = $context["segment"];
            }
        }
        $_parent = $context['_parent'];
        unset($context['_seq'], $context['_iterated'], $context['_key'], $context['segment'], $context['_parent'], $context['loop']);
        $context = array_intersect_key($context, $_parent) + $_parent;
        // line 18
        ob_start(function () { return ''; });
            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_head' => [$this, 'block_page_head'],
            '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_head($context, array $blocks = [])
    {
        // line 4
        if (($context["page_head"] ?? null)) {
            // line 5
            echo "        ";
            echo ($context["page_head"] ?? null);
            echo "
    ";
        } else {
            // line 7
            echo "        ";
            $this->displayParentBlock("page_head", $context, $blocks);
            echo "
    ";
        }
    }
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = [])
    {
        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) {
        $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 = [])
    {
        // line 2
        $context["twigTemplate"] = "single.html.twig";
        // line 3
        $context["scope"] = "single";
        // line 1
        $this->parent = $this->loadTemplate("partials/page.html.twig", "single.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 5
    public function block_content($context, array $blocks = [])
    {
        // line 6
        echo "
    <div class=\"platform-content\">
        <div class=\"content-wrapper\">
            <section class=\"entry\">
 
                ";
        // line 11
        $this->loadTemplate([0 => (("partials/content-" . ($context["scope"] ?? null)) . ".html.twig"), 1 => "partials/content.html.twig"], "single.html.twig", 11)->display($context);
        // line 12
        echo "
            </section>
        </div> <!-- /content-wrapper -->
    </div>
 
            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
     *
 
        $key = null;
        $output = false;
        if ( false !== $expires ) {
            ksort($data);
            $key = md5($file.json_encode($data));
            $output = $this->get_cache($key, self::CACHEGROUP, $cache_mode);
        }
 
        if ( false === $output || null === $output ) {
            $twig = $this->get_twig();
            if ( strlen($file) ) {
                $loader = $this->get_loader();
                $result = $loader->getCacheKey($file);
                do_action('timber_loader_render_file', $result);
            }
            $data = apply_filters('timber_loader_render_data', $data);
            $data = apply_filters('timber/loader/render_data', $data, $file);
            $template = $twig->load($file);
            $output = $template->render($data);
        }
 
        if ( false !== $output && false !== $expires && null !== $key ) {
            $this->delete_cache();
            $this->set_cache($key, $output, self::CACHEGROUP, $expires, $cache_mode);
        }
        $output = apply_filters('timber_output', $output);
        return apply_filters('timber/output', $output, $data, $file);
    }
 
    protected function delete_cache() {
        Cleaner::delete_transients();
    }
 
    /**
     * Get first existing template.
     *
     * @param array|string $templates  Name(s) of the Twig template(s) to choose from.
     * @return string|bool             Name of chosen template, otherwise false.
     */
        if ( $via_render ) {
            $file = apply_filters('timber_render_file', $file);
        } else {
            $file = apply_filters('timber_compile_file', $file);
        }
 
        $output = false;
 
        if ($file !== false) {
            if ( is_null($data) ) {
                $data = array();
            }
 
            if ( $via_render ) {
                $data = apply_filters('timber_render_data', $data);
            } else {
                $data = apply_filters('timber_compile_data', $data);
            }
 
            $output = $loader->render($file, $data, $expires, $cache_mode);
        } else {
            if ( is_array($filenames) ) {
                $filenames = implode(", ", $filenames);
            }
            Helper::error_log( 'Error loading your template files: '.$filenames.'. Make sure one of these files exists.' );
        }
 
        do_action('timber_compile_done');
        return $output;
    }
 
    /**
     * Compile a string.
     *
     * @api
     * @example
     * ```php
     * $data = array(
     *     'username' => 'Jane Doe',
     * );
        $twig = $dummy_loader->get_twig();
        $template = $twig->createTemplate($string);
        return $template->render($data);
    }
 
    /**
     * Fetch function.
     *
     * @api
     * @param array|string $filenames  Name of the Twig file to render. If this is an array of files, Timber will
     *                                 render the first file that exists.
     * @param array        $data       Optional. An array of data to use in Twig template.
     * @param bool|int     $expires    Optional. In seconds. Use false to disable cache altogether. When passed an
     *                                 array, the first value is used for non-logged in visitors, the second for users.
     *                                 Default false.
     * @param string       $cache_mode Optional. Any of the cache mode constants defined in TimberLoader.
     * @return bool|string The returned output.
     */
    public static function fetch( $filenames, $data = array(), $expires = false, $cache_mode = Loader::CACHE_USE_DEFAULT ) {
        $output = self::compile($filenames, $data, $expires, $cache_mode, true);
        $output = apply_filters('timber_compile_result', $output);
        return $output;
    }
 
    /**
     * Render function.
     *
     * Passes data to a Twig file and echoes the output.
     *
     * @api
     * @example
     * ```php
     * $context = Timber::context();
     *
     * Timber::render( 'index.twig', $context );
     * ```
     * @param array|string $filenames  Name of the Twig file to render. If this is an array of files, Timber will
     *                                 render the first file that exists.
     * @param array        $data       Optional. An array of data to use in Twig template.
     * @param bool|int     $expires    Optional. In seconds. Use false to disable cache altogether. When passed an
     * Passes data to a Twig file and echoes the output.
     *
     * @api
     * @example
     * ```php
     * $context = Timber::context();
     *
     * Timber::render( 'index.twig', $context );
     * ```
     * @param array|string $filenames  Name of the Twig file to render. If this is an array of files, Timber will
     *                                 render the first file that exists.
     * @param array        $data       Optional. An array of data to use in Twig template.
     * @param bool|int     $expires    Optional. In seconds. Use false to disable cache altogether. When passed an
     *                                 array, the first value is used for non-logged in visitors, the second for users.
     *                                 Default false.
     * @param string       $cache_mode Optional. Any of the cache mode constants defined in TimberLoader.
     * @return bool|string The echoed output.
     */
    public static function render( $filenames, $data = array(), $expires = false, $cache_mode = Loader::CACHE_USE_DEFAULT ) {
        $output = self::fetch($filenames, $data, $expires, $cache_mode);
        echo $output;
        return $output;
    }
 
    /**
     * Render a string with Twig variables.
     *
     * @api
     * @example
     * ```php
     * $data = array(
     *     'username' => 'Jane Doe',
     * );
     *
     * Timber::render_string( 'Hi {{ username }}, I’m a string with a custom Twig variable', $data );
     * ```
     * @param string $string A string with Twig variables.
     * @param array  $data   An array of data to use in Twig template.
     * @return bool|string
     */
use Timber\Timber;

/*
 * The Template for displaying all single posts
 */

$gantry = Gantry\Framework\Gantry::instance();
$theme  = $gantry['theme'];

// We need to render contents of <head> before plugin content gets added.
$context              = Timber::get_context();
$context['page_head'] = $theme->render('partials/page_head.html.twig', $context);

$post = Timber::query_post();

$context['post'] = $post;
$context['wp_title'] .= ' - ' . $post->title();

Timber::render(['single-' . $post->ID . '.html.twig', 'single-' . $post->post_type . '.html.twig', 'single.html.twig'], $context);
 
 
    /**
     * Filters the path of the current template before including it.
     *
     * @since 3.0.0
     *
     * @param string $template The path of the template to include.
     */
    $template = apply_filters( 'template_include', $template );
    if ( $template ) {
        /**
         * Fires immediately before including the template.
         *
         * @since 6.9.0
         *
         * @param string $template The path of the template about to be included.
         */
        do_action( 'wp_before_include_template', $template );
 
        include $template;
    } elseif ( current_user_can( 'switch_themes' ) ) {
        $theme = wp_get_theme();
        if ( $theme->errors() ) {
            wp_die( $theme->errors() );
        }
    }
    return;
}
 
<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */
 
if ( ! isset( $wp_did_header ) ) {
 
    $wp_did_header = true;
 
    // Load the WordPress library.
    require_once __DIR__ . '/wp-load.php';
 
    // Set up the WordPress query.
    wp();
 
    // Load the theme template.
    require_once ABSPATH . WPINC . '/template-loader.php';
 
}
 
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */
 
/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define( 'WP_USE_THEMES', true );
 
/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';
 

Environment & details:

empty
Key Value
TCM_PostShown WP_Post Object ( [ID] => 4090 [post_author] => 8 [post_date] => 2021-04-07 17:06:50 [post_date_gmt] => 2021-04-07 21:06:50 [post_content] => <p>Substance use and misuse remain a significant crisis in the United States. The diverse unfavorable kinds of fallout that have resulted from the widespread use of drugs and alcohol in the nation exert a considerable strain on its resources. Every year, hundreds of millions are lost to substance abuse and its associated challenges. From crime and violence to productivity losses, accidents, injuries, and deaths, the United States has been significantly impacted by its prevailing substance use dilemma.</p> <h2>Dangers of Ritalin IV Abuse</h2> <p>The misuse of prescription drugs is central to the United States' substance use crisis. Essentially, the relatively high number of persons who still report prescription medication misuse in the nation contributes to this problem's enormity. Among the prescription drugs commonly abused are opioids, methamphetamines, <a href="https://midhudsonaddictionrecovery.com/benzodiazepines/">benzodiazepines</a>, and methylphenidates. Ritalin, falling into the methylphenidates category, can be IV abused but it's very dangerous and can lead even to a heart attack.</p> <img width="820" height="312" src="https://midhudsonaddictionrecovery.com/wp-content/uploads/2020/07/Can-I-Snort-Benzodiazepines.jpg" alt="" loading="lazy" srcset="https://midhudsonaddictionrecovery.com/wp-content/uploads/2020/07/Can-I-Snort-Benzodiazepines.jpg 820w, https://midhudsonaddictionrecovery.com/wp-content/uploads/2020/07/Can-I-Snort-Benzodiazepines-300x114.jpg 300w, https://midhudsonaddictionrecovery.com/wp-content/uploads/2020/07/Can-I-Snort-Benzodiazepines-768x292.jpg 768w" sizes="(max-width: 820px) 100vw, 820px" /> <h2>More About Ritalin Use and Addiction </h2> <p>Ritalin is a popular <a href="https://midhudsonaddictionrecovery.com/treatment/stimulants/">stimulant</a> and one of the medications of choice for treating Attention Deficit Hyperactivity Disorder (ADHD) and narcolepsy. The active component in the drug, methylphenidate hydrochloride, stimulates dopamine release and norepinephrine in the brain. The release of these neurotransmitters is responsible for the energetic, the high feeling one gets after taking the drug.</p><p>A notable feature of Ritalin is its short half-life, which means it cannot provide long-lasting relief from the symptoms it is used to treat. Often, individuals on Ritalin prescription take several tablets every day to preserve the drug's effect for a longer time. Side effects from Ritalin abuse include insomnia, nervousness, mental disorders, and cardiovascular complications.</p> <h2>What Happens After Injecting Ritalin?</h2> <p>Ritalin is commonly sold as tablets and is usually ingested orally. However, individuals also experiment with dissolving and then injecting the drug using a hypodermic syringe. This act, however, is highly unsafe and has been linked with fatal outcomes. Although it is unclear why people choose to inject Ritalin, becoming tolerant to the medication after long-term abuse may be a likely reason. Individuals who abuse Ritalin consider injecting the drug a shorter, more effective route to reaching a high.</p> <h2>Where to Find Rehab for Ritalin Addiction</h2> <p>Prescription medications are not necessarily safer substitutes to illicit drugs. Like their illegal counterparts, it is pretty standard for people who use prescription medications to become tolerant or dependent on them after a short while. It is even worse when these drugs are used without strict adherence to the recommended dosage and route of use, as is the case with injecting Ritalin. Nevertheless, individuals who grapple with Ritalin abuse are not alone. They can confide in and find timely support from the fantastic crew at Mid Hudson Addiction Recovery.</p><p>Our extensive network of top-notch rehabilitation centers can help Ritalin-dependent people access personalized addiction treatment effortlessly. Regardless of your location, you will find nearby, accredited treatment facilities in our network. Perhaps you are wondering whether your budget or addiction history may thwart your chance at accessing high-quality services. Well, you do not need to be worried. Our Addiction Advocates will gladly walk you through the entire process when you reach out to us to make further inquiries.</p> <a href="tel:8452884357" onclick="fathom.trackEvent('telephone');"> <img width="786" height="152" src="https://midhudsonaddictionrecovery.com/wp-content/uploads/2020/07/helplinenow.png" alt="" loading="lazy" srcset="https://midhudsonaddictionrecovery.com/wp-content/uploads/2020/07/helplinenow.png 786w, https://midhudsonaddictionrecovery.com/wp-content/uploads/2020/07/helplinenow-300x58.png 300w, https://midhudsonaddictionrecovery.com/wp-content/uploads/2020/07/helplinenow-768x149.png 768w" sizes="(max-width: 786px) 100vw, 786px" /> </a> <h4>Share This Article, Choose Your Platform!</h4> Share on facebook Share on twitter Share on linkedin Share on whatsapp Share on tumblr Share on pinterest Share on email [post_title] => Can You Inject Ritalin to Get High? [post_excerpt] => [post_status] => publish [comment_status] => open [ping_status] => open [post_password] => [post_name] => can-you-inject-ritalin-to-get-high [to_ping] => [pinged] => [post_modified] => 2025-08-07 09:28:42 [post_modified_gmt] => 2025-08-07 13:28:42 [post_content_filtered] => [post_parent] => 0 [guid] => https://midhudsonaddictionrecovery.com/?p=4090 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 4090 [slug] => can-you-inject-ritalin-to-get-high [custom] => Array ( [_edit_lock] => 1754573323:6 [_edit_last] => 6 [_thumbnail_id] => 4091 [_wp_page_template] => default [_yoast_wpseo_focuskw] => Can You Inject Ritalin to Get High? [_yoast_wpseo_metadesc] => Ritalin is widely prescribed to help people suffering from ADHD. It comes in pill form, but if you were to inject it will you get high? [_yoast_wpseo_estimated-reading-time-minutes] => 6 [_yoast_wpseo_primary_category] => 81 [_elementor_edit_mode] => builder [_elementor_template_type] => wp-post [_elementor_version] => 3.4.7 [_elementor_pro_version] => 3.3.5 [_elementor_data] => [{"id":"532e0bec","elType":"section","settings":{"structure":"20","padding":{"unit":"px","top":"40","right":"0","bottom":"40","left":"0","isLinked":false},"padding_tablet":{"unit":"px","top":"30","right":"10","bottom":"30","left":"10","isLinked":false},"padding_mobile":{"unit":"px","top":"20","right":"10","bottom":"20","left":"10","isLinked":false}},"elements":[{"id":"43ae3251","elType":"column","settings":{"_column_size":50,"_inline_size":70},"elements":[{"id":"749e8f9c","elType":"widget","settings":{"editor":"<p>Substance use and misuse remain a significant crisis in the United States. The diverse unfavorable kinds of fallout that have resulted from the widespread use of drugs and alcohol in the nation exert a considerable strain on its resources. Every year, hundreds of millions are lost to substance abuse and its associated challenges. From crime and violence to productivity losses, accidents, injuries, and deaths, the United States has been significantly impacted by its prevailing substance use dilemma.<\/p>"},"elements":[],"widgetType":"text-editor"},{"id":"fae1979","elType":"widget","settings":{"title":"Dangers of Ritalin IV Abuse"},"elements":[],"widgetType":"heading"},{"id":"28f2f0d8","elType":"widget","settings":{"editor":"<p>The misuse of prescription drugs is central to the United States' substance use crisis. Essentially, the relatively high number of persons who still report prescription medication misuse in the nation contributes to this problem's enormity. Among the prescription drugs commonly abused are opioids, methamphetamines, <a href=\"https:\/\/midhudsonaddictionrecovery.com\/benzodiazepines\/\">benzodiazepines<\/a>, and methylphenidates. Ritalin, falling into the methylphenidates category, can be IV abused but it's very dangerous and can lead even to a heart attack.<\/p>"},"elements":[],"widgetType":"text-editor"},{"id":"4ce57df","elType":"widget","settings":{"image":{"url":"https:\/\/midhudsonaddictionrecovery.com\/wp-content\/uploads\/2020\/07\/Can-I-Snort-Benzodiazepines.jpg","id":2006}},"elements":[],"widgetType":"image"},{"id":"4a496677","elType":"widget","settings":{"title":"More About Ritalin Use and Addiction "},"elements":[],"widgetType":"heading"},{"id":"504b19","elType":"widget","settings":{"editor":"<p>Ritalin is a popular <a href=\"https:\/\/midhudsonaddictionrecovery.com\/treatment\/stimulants\/\">stimulant<\/a> and one of the medications of choice for treating Attention Deficit Hyperactivity Disorder (ADHD) and narcolepsy. The active component in the drug, methylphenidate hydrochloride, stimulates dopamine release and norepinephrine in the brain. The release of these neurotransmitters is responsible for the energetic, the high feeling one gets after taking the drug.<\/p>"},"elements":[],"widgetType":"text-editor"},{"id":"1b1cb73f","elType":"widget","settings":{"editor":"<p>A notable feature of Ritalin is its short half-life, which means it cannot provide long-lasting relief from the symptoms it is used to treat. Often, individuals on Ritalin prescription take several tablets every day to preserve the drug's effect for a longer time. Side effects from Ritalin abuse include insomnia, nervousness, mental disorders, and cardiovascular complications.<\/p>"},"elements":[],"widgetType":"text-editor"},{"id":"45bfc189","elType":"widget","settings":{"title":"What Happens After Injecting Ritalin?"},"elements":[],"widgetType":"heading"},{"id":"fd0f49c","elType":"widget","settings":{"editor":"<p>Ritalin is commonly sold as tablets and is usually ingested orally. However, individuals also experiment with dissolving and then injecting the drug using a hypodermic syringe. This act, however, is highly unsafe and has been linked with fatal outcomes. Although it is unclear why people choose to inject Ritalin, becoming tolerant to the medication after long-term abuse may be a likely reason. Individuals who abuse Ritalin consider injecting the drug a shorter, more effective route to reaching a high.<\/p>"},"elements":[],"widgetType":"text-editor"},{"id":"5dd38a85","elType":"widget","settings":{"title":"Where to Find Rehab for Ritalin Addiction"},"elements":[],"widgetType":"heading"},{"id":"5043a0b2","elType":"widget","settings":{"editor":"<p>Prescription medications are not necessarily safer substitutes to illicit drugs. Like their illegal counterparts, it is pretty standard for people who use prescription medications to become tolerant or dependent on them after a short while. It is even worse when these drugs are used without strict adherence to the recommended dosage and route of use, as is the case with injecting Ritalin. Nevertheless, individuals who grapple with Ritalin abuse are not alone. They can confide in and find timely support from the fantastic crew at <a href=\"https:\/\/midhudsonaddictionrecovery.com\/\">Mid Hudson Addiction Recovery<\/a>.<\/p>"},"elements":[],"widgetType":"text-editor"},{"id":"6fe6e3a9","elType":"widget","settings":{"editor":"<p>Our extensive network of top-notch rehabilitation centers can help Ritalin-dependent people access personalized addiction treatment effortlessly. Regardless of your location, you will find nearby, accredited treatment facilities in our network. Perhaps you are wondering whether your budget or addiction history may thwart your chance at accessing high-quality services. Well, you do not need to be worried. Our Addiction Advocates will gladly walk you through the entire process when you reach out to us to make further inquiries.<\/p>"},"elements":[],"widgetType":"text-editor"},{"id":"f8c1e56","elType":"widget","settings":{"image":{"url":"https:\/\/midhudsonaddictionrecovery.com\/wp-content\/uploads\/2020\/07\/helplinenow.png","id":2026},"link_to":"custom","link":{"url":"tel:845-288-4357","is_external":"","nofollow":"","custom_attributes":""}},"elements":[],"widgetType":"image"},{"id":"402014c4","elType":"section","settings":{"structure":"20"},"elements":[{"id":"62efbbd","elType":"column","settings":{"_column_size":50,"_inline_size":60},"elements":[{"id":"56b5c6b0","elType":"widget","settings":{"editor":"<h4>Share This Article, Choose Your Platform!<\/h4>"},"elements":[],"widgetType":"text-editor"}],"isInner":true},{"id":"76d66c3d","elType":"column","settings":{"_column_size":50,"_inline_size":40,"content_position":"center"},"elements":[{"id":"1ca8b499","elType":"widget","settings":{"share_buttons":[{"_id":"14fbc28"},{"button":"twitter","_id":"c8a11b7"},{"button":"linkedin","_id":"edcc44f"},{"button":"whatsapp","_id":"817e23f"},{"button":"tumblr","_id":"5b73894"},{"button":"pinterest","_id":"db06d13"},{"button":"email","_id":"2644fcb"}],"view":"icon","button_size":{"unit":"px","size":0.7,"sizes":[]}},"elements":[],"widgetType":"share-buttons"}],"isInner":true}],"isInner":true},{"id":"58e00b5d","elType":"widget","settings":{"_skin":"theme_comments","_css_classes":"comments-post"},"elements":[],"widgetType":"post-comments"}],"isInner":false},{"id":"41d2ffbc","elType":"column","settings":{"_column_size":50,"_inline_size":30},"elements":[{"id":"64905ad9","elType":"widget","settings":{"template_id":"1865"},"elements":[],"widgetType":"template"}],"isInner":false}],"isInner":false}] [_yoast_wpseo_linkdex] => 72 [_yoast_wpseo_content_score] => 30 [_wp_old_date] => 2021-04-13 [_yoast_wpseo_title] => Can You Inject Ritalin to Get High? | Mid Hudson Addiction Recovery [_elementor_page_assets] => Array ( ) [_elementor_controls_usage] => Array ( [text-editor] => Array ( [count] => 8 [control_percent] => 0 [controls] => Array ( [content] => Array ( [section_editor] => Array ( [editor] => 8 ) ) ) ) [heading] => Array ( [count] => 4 [control_percent] => 0 [controls] => Array ( [content] => Array ( [section_title] => Array ( [title] => 4 ) ) ) ) [image] => Array ( [count] => 2 [control_percent] => 1 [controls] => Array ( [content] => Array ( [section_image] => Array ( [image] => 2 [link_to] => 1 [link] => 1 ) ) ) ) [column] => Array ( [count] => 4 [control_percent] => 0 [controls] => Array ( [layout] => Array ( [layout] => Array ( [_inline_size] => 4 [content_position] => 1 ) ) ) ) [share-buttons] => Array ( [count] => 1 [control_percent] => 1 [controls] => Array ( [content] => Array ( [section_buttons_content] => Array ( [share_buttons] => 1 [view] => 1 ) ) [style] => Array ( [section_buttons_style] => Array ( [button_size] => 1 ) ) ) ) [section] => Array ( [count] => 2 [control_percent] => 1 [controls] => Array ( [layout] => Array ( [section_structure] => Array ( [structure] => 2 ) ) [advanced] => Array ( [section_advanced] => Array ( [padding] => 1 [padding_tablet] => 1 [padding_mobile] => 1 ) ) ) ) [post-comments] => Array ( [count] => 1 [control_percent] => 1 [controls] => Array ( [content] => Array ( [section_content] => Array ( [_skin] => 1 ) ) [advanced] => Array ( [_section_style] => Array ( [_css_classes] => 1 ) ) ) ) [template] => Array ( [count] => 1 [control_percent] => 0 [controls] => Array ( [content] => Array ( [section_template] => Array ( [template_id] => 1 ) ) ) ) ) [_elementor_css] => Array ( [time] => 1706035558 [fonts] => Array ( ) [icons] => Array ( ) [dynamic_elements_ids] => Array ( ) [status] => file [0] => ) [wpil_sync_report3] => 1 [schema_disabled] => 0 [_schema_disabled] => feild_schema_disabled [schema_sameAs_repeater] => [_schema_sameAs_repeater] => field_schema_sameAs_repeater [schema_custom_json_repeater] => [_schema_custom_json_repeater] => field_schema_custom_json_repeater [schema_custom_json_override] => 0 [_schema_custom_json_override] => feild_schema_custom_json_override ) )
TCM_SnippetsWrittenIds Array ( [5] => Array ( [active] => 1 [trackMode] => 0 [trackPage] => 0 [id] => 5 [name] => GA4 + Fathom [code] => <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-T181RYY20Q"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-T181RYY20Q'); </script> <!-- Fathom - beautiful, simple website analytics --> <script src="https://cdn.usefathom.com/script.js" data-site="HZBZHIAP" defer></script> <!-- / Fathom --> [order] => 1000 [position] => 0 [includeEverywhereActive] => 1 [includeCategoriesActive] => 0 [includeTagsActive] => 0 [exceptCategoriesActive] => 0 [exceptTagsActive] => 0 [deviceType] => Array ( [0] => all ) [includePostsOfType_page_Active] => 0 [includePostsOfType_page] => Array ( [0] => -1 ) [exceptPostsOfType_page_Active] => 0 [includePostsOfType_post_Active] => 0 [includePostsOfType_post] => Array ( [0] => -1 ) [exceptPostsOfType_post_Active] => 0 [codesCount] => 3 [includeCategories] => Array ( ) [includeTags] => Array ( ) [exceptCategories] => Array ( ) [exceptTags] => Array ( ) [exceptPostsOfType_page] => Array ( ) [exceptPostsOfType_post] => Array ( ) [CTC_10002_ProductsIds] => Array ( ) [CTC_10002_CategoriesIds] => Array ( ) [CTC_10002_TagsIds] => Array ( ) [CTC_10001_ProductsIds] => Array ( ) [CTC_10001_CategoriesIds] => Array ( ) [CTC_10001_TagsIds] => Array ( ) [CTC_10003_ProductsIds] => Array ( ) [CTC_10003_CategoriesIds] => Array ( ) [CTC_10003_TagsIds] => Array ( ) ) [3] => Array ( [active] => 1 [trackMode] => 0 [trackPage] => 0 [id] => 3 [name] => GTM [code] => <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-PCTSSD6');</script> <!-- End Google Tag Manager --> [order] => 1000 [position] => 0 [includeEverywhereActive] => 1 [includeCategoriesActive] => 0 [includeTagsActive] => 0 [exceptCategoriesActive] => 0 [exceptTagsActive] => 0 [deviceType] => Array ( [0] => all ) [includePostsOfType_page_Active] => 0 [includePostsOfType_page] => Array ( [0] => -1 ) [exceptPostsOfType_page_Active] => 0 [includePostsOfType_post_Active] => 0 [includePostsOfType_post] => Array ( [0] => -1 ) [exceptPostsOfType_post_Active] => 0 [codesCount] => 1 [includeCategories] => Array ( ) [includeTags] => Array ( ) [exceptCategories] => Array ( ) [exceptTags] => Array ( ) [exceptPostsOfType_page] => Array ( ) [exceptPostsOfType_post] => Array ( ) [CTC_10002_ProductsIds] => Array ( ) [CTC_10002_CategoriesIds] => Array ( ) [CTC_10002_TagsIds] => Array ( ) [CTC_10001_ProductsIds] => Array ( ) [CTC_10001_CategoriesIds] => Array ( ) [CTC_10001_TagsIds] => Array ( ) [CTC_10003_ProductsIds] => Array ( ) [CTC_10003_CategoriesIds] => Array ( ) [CTC_10003_TagsIds] => Array ( ) ) )
TCM_SnippetsWrittenMd5 Array ( [4bd52374af17647c6b5ff69663b1ddb0] => 5 [1d83876615444ee1c2354fd8b20c1d06] => 3 )
TCM_Cache_Query_2_ Array ( [0] => Array ( [id] => post [text] => Post (post) [name] => Post (post) ) [1] => Array ( [id] => page [text] => Page (page) [name] => Page (page) ) )
empty
empty
empty
Key Value
SERVER_SOFTWARE nginx
REQUEST_URI /can-you-inject-ritalin-to-get-high/
USER fpm200055
HOME /home/fpm200055
WPENGINE_ACCOUNT midhudsonaddic
WPENGINE_PHPSESSIONS on
WPENGINE_DB_SESSIONS off
SERVER_ADDR 127.0.0.1
GATEWAY_INTERFACE CGI/1.1
HTTP_X_IS_BOT 1
PHP_ADMIN_VALUE newrelic.appname=midhudsonaddic; newrelic.browser_monitoring.auto_instrument=off; newrelic.enabled=off; newrelic.license=; sendmail_path=/bin/sendmail-wrapper.sh 03c9f7ada29a306649df8e0504516929c294daa5 /usr/sbin/sendmail -t -i; syslog.ident=phperr-midhudsonaddic;
REMOTE_ADDR 216.73.216.57
SERVER_PROTOCOL HTTP/1.1
SCRIPT_FILENAME /nas/content/live/midhudsonaddic/index.php
CONTENT_LENGTH 0
REDIRECT_STATUS 200
HTTPS on
HTTP_X_FORWARDED_PROTO https
HTTP_X_CACHE_GROUP normal
HTTP_X_WORDPRESS_TYPE DEFAULT
HTTP_X_WPE_INSTALL_NAME midhudsonaddic
DOCUMENT_ROOT /nas/content/live/midhudsonaddic
PATH_INFO
IS_WPE 1
HTTP_X_WPE_SSL 1
HTTP_CDN_LOOP cloudflare; loops=1
HTTP_WPE_READONLY on
PATH_TRANSLATED /nas/content/live/midhudsonaddic/index.php
REQUEST_METHOD GET
REQUEST_SCHEME http
SERVER_PORT 80
HTTP_RAWHOST midhudsonaddictionrecovery.com
HTTP_X_WPE_LOCAL_SSL 1
HTTP_X_WPE_REQUEST_ID dc0c894177849cdcfc80b138ea879449
CONTENT_TYPE
QUERY_STRING
HTTP_VIA 1.1 pod-404710 (Varnish/trunk)
HTTP_HOST midhudsonaddictionrecovery.com
HTTP_X_WPENGINE_PHP_VERSION 8.2
HTTP_ACCEPT_ENCODING gzip
HTTP_ACCEPT */*
HTTP_X_REAL_IP_REMOTE 104.23.243.149
HTTP_CF_CONNECTING_IP 216.73.216.57, 216.73.216.57, 216.73.216.57
DOCUMENT_URI /index.php
SCRIPT_NAME /index.php
REMOTE_PORT
HTTP_REFERER https://midhudsonaddictionrecovery.com/?p=4090
HTTP_X_UA_ORIGINAL Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
PHP_VALUE upload_max_filesize=50M; post_max_size=100M;
SERVER_NAME midhudsonaddictionrecovery.com
SYSLOG_IDENT phperr-midhudsonaddic
HTTP_X_WPE_EDGE AN
HTTP_CF_RAY 9d9e3a424e85ad68-CMH
HTTP_CF_VISITOR {\"scheme\":\"https\"}
HTTP_X_FORWARDED_HOST midhudsonaddictionrecovery.com
HTTP_USER_AGENT Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HTTP_CF_IPCOUNTRY US
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1773102802.32
REQUEST_TIME 1773102802
Key Value
USER fpm200055
HOME /home/fpm200055
WPENGINE_ACCOUNT midhudsonaddic
WPENGINE_PHPSESSIONS on
WPENGINE_DB_SESSIONS off
SERVER_ADDR 127.0.0.1
GATEWAY_INTERFACE CGI/1.1
HTTP_X_IS_BOT 1
PHP_ADMIN_VALUE newrelic.appname=midhudsonaddic; newrelic.browser_monitoring.auto_instrument=off; newrelic.enabled=off; newrelic.license=; sendmail_path=/bin/sendmail-wrapper.sh 03c9f7ada29a306649df8e0504516929c294daa5 /usr/sbin/sendmail -t -i; syslog.ident=phperr-midhudsonaddic;
REMOTE_ADDR 216.73.216.57
SERVER_PROTOCOL HTTP/1.1
SCRIPT_FILENAME /nas/content/live/midhudsonaddic/index.php
CONTENT_LENGTH 0
REDIRECT_STATUS 200
HTTPS on
HTTP_X_FORWARDED_PROTO https
HTTP_X_CACHE_GROUP normal
HTTP_X_WORDPRESS_TYPE DEFAULT
HTTP_X_WPE_INSTALL_NAME midhudsonaddic
DOCUMENT_ROOT /nas/content/live/midhudsonaddic
PATH_INFO
IS_WPE 1
HTTP_X_WPE_SSL 1
HTTP_CDN_LOOP cloudflare; loops=1
HTTP_WPE_READONLY on
PATH_TRANSLATED /nas/content/live/midhudsonaddic/index.php
REQUEST_METHOD GET
REQUEST_SCHEME http
SERVER_PORT 80
HTTP_RAWHOST midhudsonaddictionrecovery.com
HTTP_X_WPE_LOCAL_SSL 1
HTTP_X_WPE_REQUEST_ID dc0c894177849cdcfc80b138ea879449
CONTENT_TYPE
QUERY_STRING
HTTP_VIA 1.1 pod-404710 (Varnish/trunk)
HTTP_HOST midhudsonaddictionrecovery.com
HTTP_X_WPENGINE_PHP_VERSION 8.2
HTTP_ACCEPT_ENCODING gzip
HTTP_ACCEPT */*
HTTP_X_REAL_IP_REMOTE 104.23.243.149
HTTP_CF_CONNECTING_IP 216.73.216.57, 216.73.216.57, 216.73.216.57
DOCUMENT_URI /index.php
SCRIPT_NAME /index.php
REMOTE_PORT
HTTP_REFERER https://midhudsonaddictionrecovery.com/?p=4090
HTTP_X_UA_ORIGINAL Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
PHP_VALUE upload_max_filesize=50M; post_max_size=100M;
SERVER_NAME midhudsonaddictionrecovery.com
REQUEST_URI /can-you-inject-ritalin-to-get-high/
SERVER_SOFTWARE nginx
SYSLOG_IDENT phperr-midhudsonaddic
HTTP_X_WPE_EDGE AN
HTTP_CF_RAY 9d9e3a424e85ad68-CMH
HTTP_CF_VISITOR {"scheme":"https"}
HTTP_X_FORWARDED_HOST midhudsonaddictionrecovery.com
HTTP_USER_AGENT Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HTTP_CF_IPCOUNTRY US
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1773102802.32
REQUEST_TIME 1773102802
0. Whoops\Handler\PrettyPageHandler