gitextract_my2eswkz/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── dependabot.yml │ └── workflows/ │ ├── ci.yml │ ├── documentation.yml │ └── fabbot.yml ├── .gitignore ├── .php-cs-fixer.dist.php ├── CHANGELOG ├── LICENSE ├── README.rst ├── bin/ │ └── generate_operators_precedence.php ├── composer.json ├── doc/ │ ├── .doctor-rst.yaml │ ├── _build/ │ │ ├── build.php │ │ └── composer.json │ ├── advanced.rst │ ├── api.rst │ ├── coding_standards.rst │ ├── deprecated.rst │ ├── filters/ │ │ ├── abs.rst │ │ ├── batch.rst │ │ ├── capitalize.rst │ │ ├── column.rst │ │ ├── convert_encoding.rst │ │ ├── country_name.rst │ │ ├── currency_name.rst │ │ ├── currency_symbol.rst │ │ ├── data_uri.rst │ │ ├── date.rst │ │ ├── date_modify.rst │ │ ├── default.rst │ │ ├── escape.rst │ │ ├── filter.rst │ │ ├── find.rst │ │ ├── first.rst │ │ ├── format.rst │ │ ├── format_currency.rst │ │ ├── format_date.rst │ │ ├── format_datetime.rst │ │ ├── format_number.rst │ │ ├── format_time.rst │ │ ├── html_attr_merge.rst │ │ ├── html_attr_type.rst │ │ ├── html_to_markdown.rst │ │ ├── index.rst │ │ ├── inky_to_html.rst │ │ ├── inline_css.rst │ │ ├── invoke.rst │ │ ├── join.rst │ │ ├── json_encode.rst │ │ ├── keys.rst │ │ ├── language_name.rst │ │ ├── last.rst │ │ ├── length.rst │ │ ├── locale_name.rst │ │ ├── lower.rst │ │ ├── map.rst │ │ ├── markdown_to_html.rst │ │ ├── merge.rst │ │ ├── nl2br.rst │ │ ├── number_format.rst │ │ ├── plural.rst │ │ ├── raw.rst │ │ ├── reduce.rst │ │ ├── replace.rst │ │ ├── reverse.rst │ │ ├── round.rst │ │ ├── shuffle.rst │ │ ├── singular.rst │ │ ├── slice.rst │ │ ├── slug.rst │ │ ├── sort.rst │ │ ├── spaceless.rst │ │ ├── split.rst │ │ ├── striptags.rst │ │ ├── timezone_name.rst │ │ ├── title.rst │ │ ├── trim.rst │ │ ├── u.rst │ │ ├── upper.rst │ │ └── url_encode.rst │ ├── functions/ │ │ ├── attribute.rst │ │ ├── block.rst │ │ ├── constant.rst │ │ ├── country_names.rst │ │ ├── country_timezones.rst │ │ ├── currency_names.rst │ │ ├── cycle.rst │ │ ├── date.rst │ │ ├── dump.rst │ │ ├── enum.rst │ │ ├── enum_cases.rst │ │ ├── html_attr.rst │ │ ├── html_classes.rst │ │ ├── html_cva.rst │ │ ├── include.rst │ │ ├── index.rst │ │ ├── language_names.rst │ │ ├── locale_names.rst │ │ ├── max.rst │ │ ├── min.rst │ │ ├── parent.rst │ │ ├── random.rst │ │ ├── range.rst │ │ ├── script_names.rst │ │ ├── source.rst │ │ ├── template_from_string.rst │ │ └── timezone_names.rst │ ├── index.rst │ ├── installation.rst │ ├── internals.rst │ ├── intro.rst │ ├── operators_precedence.rst │ ├── recipes.rst │ ├── sandbox.rst │ ├── tags/ │ │ ├── apply.rst │ │ ├── autoescape.rst │ │ ├── block.rst │ │ ├── cache.rst │ │ ├── deprecated.rst │ │ ├── do.rst │ │ ├── embed.rst │ │ ├── extends.rst │ │ ├── flush.rst │ │ ├── for.rst │ │ ├── from.rst │ │ ├── guard.rst │ │ ├── if.rst │ │ ├── import.rst │ │ ├── include.rst │ │ ├── index.rst │ │ ├── macro.rst │ │ ├── sandbox.rst │ │ ├── set.rst │ │ ├── types.rst │ │ ├── use.rst │ │ ├── verbatim.rst │ │ └── with.rst │ ├── templates.rst │ └── tests/ │ ├── constant.rst │ ├── defined.rst │ ├── divisibleby.rst │ ├── empty.rst │ ├── even.rst │ ├── index.rst │ ├── iterable.rst │ ├── mapping.rst │ ├── null.rst │ ├── odd.rst │ ├── sameas.rst │ └── sequence.rst ├── extra/ │ ├── cache-extra/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── CacheExtension.php │ │ ├── CacheRuntime.php │ │ ├── LICENSE │ │ ├── Node/ │ │ │ └── CacheNode.php │ │ ├── README.md │ │ ├── Tests/ │ │ │ ├── Fixtures/ │ │ │ │ ├── cache.test │ │ │ │ ├── cache_complex.test │ │ │ │ ├── cache_with_blocks.test │ │ │ │ └── macro.test │ │ │ ├── FunctionalTest.php │ │ │ └── IntegrationTest.php │ │ ├── TokenParser/ │ │ │ └── CacheTokenParser.php │ │ ├── composer.json │ │ └── phpunit.xml.dist │ ├── cssinliner-extra/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── CssInlinerExtension.php │ │ ├── LICENSE │ │ ├── README.md │ │ ├── Resources/ │ │ │ └── functions.php │ │ ├── Tests/ │ │ │ ├── Fixtures/ │ │ │ │ └── inline_css.test │ │ │ ├── IntegrationTest.php │ │ │ └── LegacyFunctionsTest.php │ │ ├── composer.json │ │ └── phpunit.xml.dist │ ├── html-extra/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── Cva.php │ │ ├── HtmlAttr/ │ │ │ ├── AttributeValueInterface.php │ │ │ ├── InlineStyle.php │ │ │ ├── MergeableInterface.php │ │ │ └── SeparatedTokenList.php │ │ ├── HtmlExtension.php │ │ ├── LICENSE │ │ ├── README.md │ │ ├── Resources/ │ │ │ └── functions.php │ │ ├── Tests/ │ │ │ ├── CvaTest.php │ │ │ ├── Fixtures/ │ │ │ │ ├── data_uri.test │ │ │ │ ├── html_attr.test │ │ │ │ ├── html_attr_merge.test │ │ │ │ ├── html_classes.test │ │ │ │ ├── html_classes_with_unsupported_arg.test │ │ │ │ ├── html_classes_with_unsupported_key.test │ │ │ │ ├── html_cva.test │ │ │ │ └── html_cva_pass_to_template.test │ │ │ ├── HtmlAttrMergeTest.php │ │ │ ├── HtmlAttrTest.php │ │ │ ├── IntegrationTest.php │ │ │ └── LegacyFunctionsTest.php │ │ ├── composer.json │ │ └── phpunit.xml.dist │ ├── inky-extra/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── InkyExtension.php │ │ ├── LICENSE │ │ ├── README.md │ │ ├── Resources/ │ │ │ └── functions.php │ │ ├── Tests/ │ │ │ ├── Fixtures/ │ │ │ │ └── inky.test │ │ │ ├── IntegrationTest.php │ │ │ └── LegacyFunctionsTest.php │ │ ├── composer.json │ │ └── phpunit.xml.dist │ ├── intl-extra/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── IntlExtension.php │ │ ├── LICENSE │ │ ├── README.md │ │ ├── Tests/ │ │ │ ├── Fixtures/ │ │ │ │ ├── country_name.test │ │ │ │ ├── country_names.test │ │ │ │ ├── country_timezones.test │ │ │ │ ├── currency_name.test │ │ │ │ ├── currency_names.test │ │ │ │ ├── currency_symbol.test │ │ │ │ ├── format_currency.test │ │ │ │ ├── format_date.test │ │ │ │ ├── format_date_ICU72.test │ │ │ │ ├── format_date_php8.test │ │ │ │ ├── format_date_php8_ICU72.test │ │ │ │ ├── format_number.test │ │ │ │ ├── language_name.test │ │ │ │ ├── language_names.test │ │ │ │ ├── locale_name.test │ │ │ │ ├── locale_names.test │ │ │ │ ├── script_names.test │ │ │ │ ├── timezone_name.test │ │ │ │ └── timezone_names.test │ │ │ ├── IntegrationTest.php │ │ │ └── IntlExtensionTest.php │ │ ├── composer.json │ │ └── phpunit.xml.dist │ ├── markdown-extra/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── DefaultMarkdown.php │ │ ├── ErusevMarkdown.php │ │ ├── LICENSE │ │ ├── LeagueMarkdown.php │ │ ├── MarkdownExtension.php │ │ ├── MarkdownInterface.php │ │ ├── MarkdownRuntime.php │ │ ├── MichelfMarkdown.php │ │ ├── README.md │ │ ├── Resources/ │ │ │ └── functions.php │ │ ├── Tests/ │ │ │ ├── Fixtures/ │ │ │ │ └── html_to_markdown.test │ │ │ ├── FunctionalTest.php │ │ │ ├── IntegrationTest.php │ │ │ └── LegacyFunctionsTest.php │ │ ├── composer.json │ │ └── phpunit.xml.dist │ ├── string-extra/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── StringExtension.php │ │ ├── Tests/ │ │ │ ├── Fixtures/ │ │ │ │ ├── plural-invalid-language.test │ │ │ │ ├── plural.test │ │ │ │ ├── plural_es.test │ │ │ │ ├── singular-invalid-language.test │ │ │ │ ├── singular.test │ │ │ │ ├── singular_es.test │ │ │ │ ├── slug.test │ │ │ │ └── string.test │ │ │ └── IntegrationTest.php │ │ ├── composer.json │ │ └── phpunit.xml.dist │ └── twig-extra-bundle/ │ ├── .gitattributes │ ├── .gitignore │ ├── DependencyInjection/ │ │ ├── Compiler/ │ │ │ └── MissingExtensionSuggestorPass.php │ │ ├── Configuration.php │ │ └── TwigExtraExtension.php │ ├── Extensions.php │ ├── LICENSE │ ├── LeagueCommonMarkConverterFactory.php │ ├── MissingExtensionSuggestor.php │ ├── README.md │ ├── Resources/ │ │ └── config/ │ │ ├── cache.php │ │ ├── cssinliner.php │ │ ├── html.php │ │ ├── inky.php │ │ ├── intl.php │ │ ├── markdown.php │ │ ├── markdown_league.php │ │ ├── string.php │ │ └── suggestor.php │ ├── Tests/ │ │ ├── DependencyInjection/ │ │ │ └── TwigExtraExtensionTest.php │ │ ├── Fixture/ │ │ │ ├── Kernel.php │ │ │ └── views/ │ │ │ └── markdown_to_html.html.twig │ │ └── IntegrationTest.php │ ├── TwigExtraBundle.php │ ├── composer.json │ └── phpunit.xml.dist ├── phpstan-baseline.neon ├── phpstan.neon.dist ├── phpunit.xml.dist ├── splitsh.json ├── src/ │ ├── AbstractTwigCallable.php │ ├── Attribute/ │ │ ├── AsTwigFilter.php │ │ ├── AsTwigFunction.php │ │ ├── AsTwigTest.php │ │ ├── FirstClassTwigCallableReady.php │ │ └── YieldReady.php │ ├── Cache/ │ │ ├── CacheInterface.php │ │ ├── ChainCache.php │ │ ├── FilesystemCache.php │ │ ├── NullCache.php │ │ ├── ReadOnlyFilesystemCache.php │ │ └── RemovableCacheInterface.php │ ├── Compiler.php │ ├── DeprecatedCallableInfo.php │ ├── Environment.php │ ├── Error/ │ │ ├── Error.php │ │ ├── LoaderError.php │ │ ├── RuntimeError.php │ │ └── SyntaxError.php │ ├── ExpressionParser/ │ │ ├── AbstractExpressionParser.php │ │ ├── ExpressionParserDescriptionInterface.php │ │ ├── ExpressionParserInterface.php │ │ ├── ExpressionParserType.php │ │ ├── ExpressionParsers.php │ │ ├── Infix/ │ │ │ ├── ArgumentsTrait.php │ │ │ ├── ArrowExpressionParser.php │ │ │ ├── AssignmentExpressionParser.php │ │ │ ├── BinaryOperatorExpressionParser.php │ │ │ ├── ConditionalTernaryExpressionParser.php │ │ │ ├── DotExpressionParser.php │ │ │ ├── FilterExpressionParser.php │ │ │ ├── FunctionExpressionParser.php │ │ │ ├── IsExpressionParser.php │ │ │ ├── IsNotExpressionParser.php │ │ │ └── SquareBracketExpressionParser.php │ │ ├── InfixAssociativity.php │ │ ├── InfixExpressionParserInterface.php │ │ ├── PrecedenceChange.php │ │ ├── Prefix/ │ │ │ ├── GroupingExpressionParser.php │ │ │ ├── LiteralExpressionParser.php │ │ │ └── UnaryOperatorExpressionParser.php │ │ └── PrefixExpressionParserInterface.php │ ├── ExpressionParser.php │ ├── Extension/ │ │ ├── AbstractExtension.php │ │ ├── AttributeExtension.php │ │ ├── CoreExtension.php │ │ ├── DebugExtension.php │ │ ├── EscaperExtension.php │ │ ├── ExtensionInterface.php │ │ ├── GlobalsInterface.php │ │ ├── LastModifiedExtensionInterface.php │ │ ├── OptimizerExtension.php │ │ ├── ProfilerExtension.php │ │ ├── RuntimeExtensionInterface.php │ │ ├── SandboxExtension.php │ │ ├── StagingExtension.php │ │ ├── StringLoaderExtension.php │ │ └── YieldNotReadyExtension.php │ ├── ExtensionSet.php │ ├── FileExtensionEscapingStrategy.php │ ├── Lexer.php │ ├── Loader/ │ │ ├── ArrayLoader.php │ │ ├── ChainLoader.php │ │ ├── FilesystemLoader.php │ │ └── LoaderInterface.php │ ├── Markup.php │ ├── Node/ │ │ ├── AutoEscapeNode.php │ │ ├── BlockNode.php │ │ ├── BlockReferenceNode.php │ │ ├── BodyNode.php │ │ ├── CaptureNode.php │ │ ├── CheckSecurityCallNode.php │ │ ├── CheckSecurityNode.php │ │ ├── CheckToStringNode.php │ │ ├── DeprecatedNode.php │ │ ├── DoNode.php │ │ ├── EmbedNode.php │ │ ├── EmptyNode.php │ │ ├── Expression/ │ │ │ ├── AbstractExpression.php │ │ │ ├── ArrayExpression.php │ │ │ ├── ArrowFunctionExpression.php │ │ │ ├── AssignNameExpression.php │ │ │ ├── Binary/ │ │ │ │ ├── AbstractBinary.php │ │ │ │ ├── AddBinary.php │ │ │ │ ├── AndBinary.php │ │ │ │ ├── BinaryInterface.php │ │ │ │ ├── BitwiseAndBinary.php │ │ │ │ ├── BitwiseOrBinary.php │ │ │ │ ├── BitwiseXorBinary.php │ │ │ │ ├── ConcatBinary.php │ │ │ │ ├── DivBinary.php │ │ │ │ ├── ElvisBinary.php │ │ │ │ ├── EndsWithBinary.php │ │ │ │ ├── EqualBinary.php │ │ │ │ ├── FloorDivBinary.php │ │ │ │ ├── GreaterBinary.php │ │ │ │ ├── GreaterEqualBinary.php │ │ │ │ ├── HasEveryBinary.php │ │ │ │ ├── HasSomeBinary.php │ │ │ │ ├── InBinary.php │ │ │ │ ├── LessBinary.php │ │ │ │ ├── LessEqualBinary.php │ │ │ │ ├── MatchesBinary.php │ │ │ │ ├── ModBinary.php │ │ │ │ ├── MulBinary.php │ │ │ │ ├── NotEqualBinary.php │ │ │ │ ├── NotInBinary.php │ │ │ │ ├── NotSameAsBinary.php │ │ │ │ ├── NullCoalesceBinary.php │ │ │ │ ├── ObjectDestructuringSetBinary.php │ │ │ │ ├── OrBinary.php │ │ │ │ ├── PowerBinary.php │ │ │ │ ├── RangeBinary.php │ │ │ │ ├── SameAsBinary.php │ │ │ │ ├── SequenceDestructuringSetBinary.php │ │ │ │ ├── SetBinary.php │ │ │ │ ├── SpaceshipBinary.php │ │ │ │ ├── StartsWithBinary.php │ │ │ │ ├── SubBinary.php │ │ │ │ └── XorBinary.php │ │ │ ├── BlockReferenceExpression.php │ │ │ ├── CallExpression.php │ │ │ ├── ConditionalExpression.php │ │ │ ├── ConstantExpression.php │ │ │ ├── EmptyExpression.php │ │ │ ├── Filter/ │ │ │ │ ├── DefaultFilter.php │ │ │ │ └── RawFilter.php │ │ │ ├── FilterExpression.php │ │ │ ├── FunctionExpression.php │ │ │ ├── FunctionNode/ │ │ │ │ ├── EnumCasesFunction.php │ │ │ │ └── EnumFunction.php │ │ │ ├── GetAttrExpression.php │ │ │ ├── InlinePrint.php │ │ │ ├── ListExpression.php │ │ │ ├── MacroReferenceExpression.php │ │ │ ├── MethodCallExpression.php │ │ │ ├── NameExpression.php │ │ │ ├── NullCoalesceExpression.php │ │ │ ├── OperatorEscapeInterface.php │ │ │ ├── ParentExpression.php │ │ │ ├── ReturnArrayInterface.php │ │ │ ├── ReturnBoolInterface.php │ │ │ ├── ReturnNumberInterface.php │ │ │ ├── ReturnPrimitiveTypeInterface.php │ │ │ ├── ReturnStringInterface.php │ │ │ ├── SupportDefinedTestDeprecationTrait.php │ │ │ ├── SupportDefinedTestInterface.php │ │ │ ├── SupportDefinedTestTrait.php │ │ │ ├── TempNameExpression.php │ │ │ ├── Ternary/ │ │ │ │ └── ConditionalTernary.php │ │ │ ├── Test/ │ │ │ │ ├── ConstantTest.php │ │ │ │ ├── DefinedTest.php │ │ │ │ ├── DivisiblebyTest.php │ │ │ │ ├── EvenTest.php │ │ │ │ ├── NullTest.php │ │ │ │ ├── OddTest.php │ │ │ │ ├── SameasTest.php │ │ │ │ └── TrueTest.php │ │ │ ├── TestExpression.php │ │ │ ├── Unary/ │ │ │ │ ├── AbstractUnary.php │ │ │ │ ├── NegUnary.php │ │ │ │ ├── NotUnary.php │ │ │ │ ├── PosUnary.php │ │ │ │ ├── SpreadUnary.php │ │ │ │ ├── StringCastUnary.php │ │ │ │ └── UnaryInterface.php │ │ │ ├── Variable/ │ │ │ │ ├── AssignContextVariable.php │ │ │ │ ├── AssignTemplateVariable.php │ │ │ │ ├── ContextVariable.php │ │ │ │ ├── LocalVariable.php │ │ │ │ └── TemplateVariable.php │ │ │ └── VariadicExpression.php │ │ ├── FlushNode.php │ │ ├── ForElseNode.php │ │ ├── ForLoopNode.php │ │ ├── ForNode.php │ │ ├── IfNode.php │ │ ├── ImportNode.php │ │ ├── IncludeNode.php │ │ ├── MacroNode.php │ │ ├── ModuleNode.php │ │ ├── NameDeprecation.php │ │ ├── Node.php │ │ ├── NodeCaptureInterface.php │ │ ├── NodeOutputInterface.php │ │ ├── Nodes.php │ │ ├── PrintNode.php │ │ ├── SandboxNode.php │ │ ├── SetNode.php │ │ ├── TextNode.php │ │ ├── TypesNode.php │ │ └── WithNode.php │ ├── NodeTraverser.php │ ├── NodeVisitor/ │ │ ├── AbstractNodeVisitor.php │ │ ├── EscaperNodeVisitor.php │ │ ├── NodeVisitorInterface.php │ │ ├── OptimizerNodeVisitor.php │ │ ├── SafeAnalysisNodeVisitor.php │ │ ├── SandboxNodeVisitor.php │ │ └── YieldNotReadyNodeVisitor.php │ ├── OperatorPrecedenceChange.php │ ├── Parser.php │ ├── Profiler/ │ │ ├── Dumper/ │ │ │ ├── BaseDumper.php │ │ │ ├── BlackfireDumper.php │ │ │ ├── HtmlDumper.php │ │ │ └── TextDumper.php │ │ ├── Node/ │ │ │ ├── EnterProfileNode.php │ │ │ └── LeaveProfileNode.php │ │ ├── NodeVisitor/ │ │ │ └── ProfilerNodeVisitor.php │ │ └── Profile.php │ ├── Resources/ │ │ ├── core.php │ │ ├── debug.php │ │ ├── escaper.php │ │ └── string_loader.php │ ├── Runtime/ │ │ └── EscaperRuntime.php │ ├── RuntimeLoader/ │ │ ├── ContainerRuntimeLoader.php │ │ ├── FactoryRuntimeLoader.php │ │ └── RuntimeLoaderInterface.php │ ├── Sandbox/ │ │ ├── SecurityError.php │ │ ├── SecurityNotAllowedFilterError.php │ │ ├── SecurityNotAllowedFunctionError.php │ │ ├── SecurityNotAllowedMethodError.php │ │ ├── SecurityNotAllowedPropertyError.php │ │ ├── SecurityNotAllowedTagError.php │ │ ├── SecurityPolicy.php │ │ ├── SecurityPolicyInterface.php │ │ └── SourcePolicyInterface.php │ ├── Source.php │ ├── Template.php │ ├── TemplateWrapper.php │ ├── Test/ │ │ ├── IntegrationTestCase.php │ │ └── NodeTestCase.php │ ├── Token.php │ ├── TokenParser/ │ │ ├── AbstractTokenParser.php │ │ ├── ApplyTokenParser.php │ │ ├── AutoEscapeTokenParser.php │ │ ├── BlockTokenParser.php │ │ ├── DeprecatedTokenParser.php │ │ ├── DoTokenParser.php │ │ ├── EmbedTokenParser.php │ │ ├── ExtendsTokenParser.php │ │ ├── FlushTokenParser.php │ │ ├── ForTokenParser.php │ │ ├── FromTokenParser.php │ │ ├── GuardTokenParser.php │ │ ├── IfTokenParser.php │ │ ├── ImportTokenParser.php │ │ ├── IncludeTokenParser.php │ │ ├── MacroTokenParser.php │ │ ├── SandboxTokenParser.php │ │ ├── SetTokenParser.php │ │ ├── TokenParserInterface.php │ │ ├── TypesTokenParser.php │ │ ├── UseTokenParser.php │ │ └── WithTokenParser.php │ ├── TokenStream.php │ ├── TwigCallableInterface.php │ ├── TwigFilter.php │ ├── TwigFunction.php │ ├── TwigTest.php │ └── Util/ │ ├── CallableArgumentsExtractor.php │ ├── DeprecationCollector.php │ ├── ReflectionCallable.php │ └── TemplateDirIterator.php └── tests/ ├── Cache/ │ ├── ChainTest.php │ ├── FilesystemTest.php │ └── ReadOnlyFilesystemTest.php ├── CompilerTest.php ├── ContainerRuntimeLoaderTest.php ├── CustomExtensionTest.php ├── DeprecatedCallableInfoTest.php ├── DummyBackedEnum.php ├── DummyUnitEnum.php ├── EnvironmentTest.php ├── ErrorTest.php ├── ExpressionParserTest.php ├── Extension/ │ ├── AttributeExtensionTest.php │ ├── CoreTest.php │ ├── EscaperTest.php │ ├── Fixtures/ │ │ ├── ExtensionWithAttributes.php │ │ ├── FilterWithoutValue.php │ │ └── TestWithoutValue.php │ ├── LegacyDebugFunctionsTest.php │ ├── LegacyStringLoaderFunctionsTest.php │ ├── SandboxTest.php │ └── StringLoaderExtensionTest.php ├── FactoryRuntimeLoaderTest.php ├── FileExtensionEscapingStrategyTest.php ├── FilesystemHelper.php ├── Fixtures/ │ ├── autoescape/ │ │ ├── block.test │ │ └── name.test │ ├── errors/ │ │ ├── base.html │ │ ├── extends/ │ │ │ ├── include.twig │ │ │ └── index.twig │ │ ├── index.html │ │ ├── no_line_and_context_exception.twig │ │ ├── no_line_and_context_exception_include_line_1.twig │ │ └── no_line_and_context_exception_include_line_5.twig │ ├── exceptions/ │ │ ├── child_contents_outside_blocks.test │ │ ├── exception_in_extension_extends.test │ │ ├── exception_in_extension_include.test │ │ ├── multiline_array_with_undefined_variable.test │ │ ├── multiline_array_with_undefined_variable_again.test │ │ ├── multiline_function_with_undefined_variable.test │ │ ├── multiline_function_with_unknown_argument.test │ │ ├── multiline_tag_with_undefined_variable.test │ │ ├── syntax_error_in_reused_template.test │ │ ├── unclosed_tag.test │ │ ├── undefined_parent.test │ │ ├── undefined_template_in_child_template.test │ │ └── undefined_trait.test │ ├── expressions/ │ │ ├── _self.test │ │ ├── array.test │ │ ├── array_call.test │ │ ├── attributes.test │ │ ├── binary.test │ │ ├── bitwise.test │ │ ├── call_argument_defined_twice.test │ │ ├── call_argument_unpacking.test │ │ ├── call_argument_unpacking_before_normal.test │ │ ├── call_positional_arg_after_named_arg.test │ │ ├── comparison.test │ │ ├── comparison_precedence.test │ │ ├── const.test │ │ ├── divisibleby.test │ │ ├── dot_as_concatenation.test │ │ ├── dotdot.test │ │ ├── dynamic_attribute.test │ │ ├── ends_with.test │ │ ├── exponential_numbers.test │ │ ├── floats.test │ │ ├── grouping.test │ │ ├── has_every.test │ │ ├── has_some.test │ │ ├── literals.test │ │ ├── magic_call.test │ │ ├── matches.test │ │ ├── matches_error_compilation.test │ │ ├── matches_error_runtime.test │ │ ├── method_call.test │ │ ├── negative_numbers.test │ │ ├── not.test │ │ ├── not_arrow_fn.test │ │ ├── operators_as_variables.test │ │ ├── postfix.test │ │ ├── power.test │ │ ├── sameas.test │ │ ├── set.test │ │ ├── spread_array_operator.test │ │ ├── spread_mapping_operator.test │ │ ├── spread_ternary_precedence.test │ │ ├── starts_with.test │ │ ├── string_operator_as_var_assignment.test │ │ ├── strings.test │ │ ├── ternary_operator.test │ │ ├── ternary_operator_noelse.test │ │ ├── ternary_operator_nothen.test │ │ ├── two_word_operators_as_variables.test │ │ ├── unary.test │ │ ├── unary_macro_arguments.test │ │ ├── unary_precedence.test │ │ ├── underscored_numbers.test │ │ └── underscored_numbers_error.test │ ├── extensions/ │ │ └── anonymous_functions.test │ ├── filters/ │ │ ├── abs.test │ │ ├── arrow_reserved_names.test │ │ ├── batch.test │ │ ├── batch_float.test │ │ ├── batch_with_empty_fill.test │ │ ├── batch_with_exact_elements.test │ │ ├── batch_with_fill.test │ │ ├── batch_with_keys.test │ │ ├── batch_with_more_elements.test │ │ ├── batch_with_zero_elements.test │ │ ├── capitalize.test │ │ ├── column.test │ │ ├── convert_encoding.test │ │ ├── date.test │ │ ├── date_default_format.test │ │ ├── date_default_format_interval.test │ │ ├── date_immutable.test │ │ ├── date_interval.test │ │ ├── date_modify.test │ │ ├── date_namedargs.test │ │ ├── date_time_zone_conversion.test │ │ ├── default.test │ │ ├── dynamic_filter.test │ │ ├── escape.test │ │ ├── escape_html_attr.test │ │ ├── escape_html_attr_relaxed.test │ │ ├── escape_javascript.test │ │ ├── escape_non_supported_charset.test │ │ ├── filter.test │ │ ├── find.test │ │ ├── first.test │ │ ├── force_escape.test │ │ ├── format.test │ │ ├── invoke.test │ │ ├── join.test │ │ ├── json_encode.test │ │ ├── last.test │ │ ├── length.test │ │ ├── length_utf8.test │ │ ├── lower.test │ │ ├── map.test │ │ ├── merge.test │ │ ├── nl2br.test │ │ ├── number_format.test │ │ ├── number_format_default.test │ │ ├── raw.test │ │ ├── reduce.test │ │ ├── reduce_key.test │ │ ├── replace.test │ │ ├── replace_invalid_arg.test │ │ ├── reverse.test │ │ ├── round.test │ │ ├── shuffle.test │ │ ├── slice.test │ │ ├── sort.test │ │ ├── sort_with_arrow.test │ │ ├── spaceless.legacy.test │ │ ├── special_chars.test │ │ ├── split.test │ │ ├── split_utf8.test │ │ ├── static_calls.test │ │ ├── striptags.test │ │ ├── title.test │ │ ├── trailing_commas.test │ │ ├── trim.test │ │ ├── upper.test │ │ └── urlencode.test │ ├── functions/ │ │ ├── attribute.legacy.test │ │ ├── attribute_with_wrong_args.legacy.test │ │ ├── block.test │ │ ├── block_with_template.test │ │ ├── block_without_name.test │ │ ├── block_without_parent.test │ │ ├── constant.test │ │ ├── cycle.test │ │ ├── cycle_empty_mapping.test │ │ ├── cycle_empty_sequence.test │ │ ├── cycle_without_enough_args.test │ │ ├── date.test │ │ ├── date_namedargs.test │ │ ├── deprecated.test │ │ ├── dump.test │ │ ├── dump_array.test │ │ ├── dynamic_function.test │ │ ├── enum/ │ │ │ ├── invalid_dynamic_enum.test │ │ │ ├── invalid_enum.test │ │ │ ├── invalid_enum_escaping.test │ │ │ ├── invalid_literal_type.test │ │ │ └── valid.test │ │ ├── enum_cases/ │ │ │ ├── invalid_dynamic_enum.test │ │ │ ├── invalid_enum.test │ │ │ ├── invalid_enum_escaping.test │ │ │ ├── invalid_literal_type.test │ │ │ └── valid.test │ │ ├── include/ │ │ │ ├── assignment.test │ │ │ ├── autoescaping.test │ │ │ ├── basic.test │ │ │ ├── expression.test │ │ │ ├── ignore_missing.test │ │ │ ├── ignore_missing_exists.test │ │ │ ├── include_missing_extends.test │ │ │ ├── missing.test │ │ │ ├── missing_nested.test │ │ │ ├── sandbox.test │ │ │ ├── sandbox_disabling.test │ │ │ ├── sandbox_disabling_ignore_missing.test │ │ │ ├── template_instance.test │ │ │ ├── templates_as_array.test │ │ │ ├── with_context.test │ │ │ └── with_variables.test │ │ ├── include_template_from_string.test │ │ ├── magic_call.test │ │ ├── magic_static_call.test │ │ ├── max.test │ │ ├── max_without_args.test │ │ ├── min.test │ │ ├── parent_in_condition.test │ │ ├── parent_outside_of_a_block.test │ │ ├── range.test │ │ ├── recursive_block_with_inheritance.test │ │ ├── source.test │ │ ├── special_chars.test │ │ ├── static_calls.test │ │ ├── template_from_string.test │ │ ├── template_from_string_error.test │ │ ├── template_from_string_error_php80.test │ │ ├── trailing_commas.test │ │ ├── undefined_block.test │ │ └── undefined_block_deep.test │ ├── macros/ │ │ ├── arrow_as_arg.test │ │ ├── default_values.test │ │ ├── macro_with_capture.test │ │ ├── nested_calls.test │ │ ├── reserved_variables.test │ │ ├── simple.test │ │ ├── trailing_commas.test │ │ ├── unknown_macro.test │ │ ├── unknown_macro_different_template.test │ │ ├── varargs.test │ │ ├── varargs_argument.test │ │ └── with_filters.test │ ├── operators/ │ │ ├── concat_vs_add_sub.test │ │ ├── contat_vs_add_sub.legacy.test │ │ ├── minus_vs_pipe.legacy.test │ │ ├── not_precedence.legacy.test │ │ └── not_precedence.test │ ├── regression/ │ │ ├── 4029-iterator_to_array.test │ │ ├── 4033-missing-unwrap.test │ │ ├── 4701-block-inheritance-issue.test │ │ ├── block_names_unicity.test │ │ ├── combined_debug_info.test │ │ ├── empty_token.test │ │ ├── markup_test.test │ │ ├── multi_word_tests.test │ │ ├── simple_xml_element.test │ │ └── strings_like_numbers.test │ ├── tags/ │ │ ├── apply/ │ │ │ ├── basic.test │ │ │ ├── json_encode.test │ │ │ ├── multiple.test │ │ │ ├── nested.test │ │ │ ├── scope.test │ │ │ ├── with_for_tag.test │ │ │ └── with_if_tag.test │ │ ├── autoescape/ │ │ │ ├── basic.test │ │ │ ├── blocks.test │ │ │ ├── double_escaping.test │ │ │ ├── functions.test │ │ │ ├── literal.test │ │ │ ├── nested.test │ │ │ ├── objects.test │ │ │ ├── raw.test │ │ │ ├── strategy.test │ │ │ ├── type.test │ │ │ ├── with_filters.test │ │ │ ├── with_filters_arguments.test │ │ │ ├── with_pre_escape_filters.test │ │ │ └── with_preserves_safety_filters.test │ │ ├── block/ │ │ │ ├── basic.test │ │ │ ├── block_unique_name.test │ │ │ ├── conditional_block.test │ │ │ └── special_chars.test │ │ ├── deprecated/ │ │ │ ├── block.legacy.test │ │ │ ├── macro.legacy.test │ │ │ ├── template.legacy.test │ │ │ ├── with_package.legacy.test │ │ │ └── with_package_version.legacy.test │ │ ├── embed/ │ │ │ ├── basic.test │ │ │ ├── complex_dynamic_parent.test │ │ │ ├── dynamic_parent.test │ │ │ ├── embed_ignore_missing.test │ │ │ ├── error_line.test │ │ │ ├── multiple.test │ │ │ ├── nested.test │ │ │ └── with_extends.test │ │ ├── for/ │ │ │ ├── context.test │ │ │ ├── else.test │ │ │ ├── for_on_strings.test │ │ │ ├── inner_variables.test │ │ │ ├── keys.test │ │ │ ├── keys_and_values.test │ │ │ ├── loop_context.test │ │ │ ├── loop_context_local.test │ │ │ ├── nested_else.test │ │ │ ├── objects.test │ │ │ ├── objects_countable.test │ │ │ ├── recursive.test │ │ │ ├── reserved_names.test │ │ │ └── values.test │ │ ├── from.test │ │ ├── guard/ │ │ │ ├── basic.test │ │ │ ├── exception.test │ │ │ ├── nested.test │ │ │ └── throwing_handler.test │ │ ├── if/ │ │ │ ├── basic.test │ │ │ ├── empty_body.test │ │ │ └── expression.test │ │ ├── include/ │ │ │ ├── basic.test │ │ │ ├── expression.test │ │ │ ├── ignore_missing.test │ │ │ ├── ignore_missing_exists.test │ │ │ ├── include_missing_extends.test │ │ │ ├── missing.test │ │ │ ├── missing_nested.test │ │ │ ├── only.test │ │ │ ├── template_instance.test │ │ │ ├── templates_as_array.test │ │ │ └── with_variables.test │ │ ├── inheritance/ │ │ │ ├── basic.test │ │ │ ├── block_expr.test │ │ │ ├── block_expr2.test │ │ │ ├── capturing_block.test │ │ │ ├── conditional.test │ │ │ ├── conditional_block.test │ │ │ ├── conditional_block_nested.test │ │ │ ├── dynamic.test │ │ │ ├── dynamic_parent_from_include.test │ │ │ ├── empty.test │ │ │ ├── extends_as_array.test │ │ │ ├── extends_as_array_with_empty_name.test │ │ │ ├── extends_as_array_with_nested_blocks.test │ │ │ ├── extends_in_block.test │ │ │ ├── extends_in_macro.test │ │ │ ├── extends_with_nested_blocks.test │ │ │ ├── multiple.test │ │ │ ├── multiple_dynamic.test │ │ │ ├── nested_blocks.test │ │ │ ├── nested_blocks_parent_only.test │ │ │ ├── nested_inheritance.test │ │ │ ├── parent.test │ │ │ ├── parent_as_template_wrapper.test │ │ │ ├── parent_change.test │ │ │ ├── parent_isolation.test │ │ │ ├── parent_nested.test │ │ │ ├── parent_without_extends.test │ │ │ ├── parent_without_extends_but_traits.test │ │ │ ├── template_instance.test │ │ │ └── use.test │ │ ├── macro/ │ │ │ ├── argument_reserved_names.test │ │ │ ├── auto_import.test │ │ │ ├── auto_import_blocks.test │ │ │ ├── auto_import_without_blocks.test │ │ │ ├── basic.test │ │ │ ├── colon_not_supported_as_default_separator.test │ │ │ ├── endmacro_name.test │ │ │ ├── external.test │ │ │ ├── from.test │ │ │ ├── from_embed_with_global_macro.test │ │ │ ├── from_in_block_is_local.test │ │ │ ├── from_local_override.test │ │ │ ├── from_macro_in_a_macro.test │ │ │ ├── from_macros_in_parent.test │ │ │ ├── from_nested_blocks.test │ │ │ ├── from_nested_blocks_with_global_macro.test │ │ │ ├── from_recursive.test │ │ │ ├── from_reserved_names.test │ │ │ ├── from_self_parent.test │ │ │ ├── from_syntax_error.test │ │ │ ├── global.test │ │ │ ├── import_and_blocks.test │ │ │ ├── import_embed_with_global_macro.test │ │ │ ├── import_from_string_template.test │ │ │ ├── import_in_block_is_local.test │ │ │ ├── import_local_override.test │ │ │ ├── import_macro_in_a_macro.test │ │ │ ├── import_macros_in_parent.test │ │ │ ├── import_nested_blocks.test │ │ │ ├── import_nested_blocks_with_global_macro.test │ │ │ ├── import_reserved_names.test │ │ │ ├── import_same_parent_and_child.test │ │ │ ├── import_self_parent.test │ │ │ ├── import_syntax_error.test │ │ │ ├── named_arguments.test │ │ │ ├── self_import.test │ │ │ ├── special_chars.test │ │ │ └── super_globals.test │ │ ├── sandbox/ │ │ │ ├── array.legacy.test │ │ │ ├── not_valid1.legacy.test │ │ │ ├── not_valid2.legacy.test │ │ │ └── simple.legacy.test │ │ ├── set/ │ │ │ ├── basic.test │ │ │ ├── capture-empty.test │ │ │ ├── capture.test │ │ │ ├── capture_scope.test │ │ │ ├── expression.test │ │ │ ├── inheritance.test │ │ │ ├── inheritance_overriding.test │ │ │ ├── mutating.test │ │ │ └── reserved_names.test │ │ ├── special_chars.test │ │ ├── use/ │ │ │ ├── aliases.test │ │ │ ├── basic.test │ │ │ ├── deep.test │ │ │ ├── deep_empty.test │ │ │ ├── inheritance.test │ │ │ ├── inheritance2.test │ │ │ ├── multiple.test │ │ │ ├── multiple_aliases.test │ │ │ ├── parent_block.test │ │ │ ├── parent_block2.test │ │ │ ├── parent_block3.test │ │ │ ├── use_aliased_block_overridden.test │ │ │ └── use_with_parent.test │ │ ├── verbatim/ │ │ │ ├── basic.test │ │ │ └── whitespace_control.test │ │ └── with/ │ │ ├── basic.test │ │ ├── expression.test │ │ ├── globals.test │ │ ├── iterable.test │ │ ├── nested.test │ │ ├── with_no_mapping.test │ │ └── with_only.test │ ├── tests/ │ │ ├── array.test │ │ ├── constant.test │ │ ├── defined.test │ │ ├── defined_for_attribute.legacy.test │ │ ├── defined_for_attribute.test │ │ ├── defined_for_blocks.test │ │ ├── defined_for_blocks_with_template.test │ │ ├── defined_for_constants.test │ │ ├── defined_for_macros.test │ │ ├── defined_on_complex_expr.test │ │ ├── dynamic_test.test │ │ ├── empty.test │ │ ├── even.test │ │ ├── in.test │ │ ├── in_with_iterator.test │ │ ├── in_with_objects.test │ │ ├── iterable.test │ │ ├── mapping.test │ │ ├── null_coalesce.legacy.test │ │ ├── null_coalesce.test │ │ ├── null_coalesce_block.test │ │ ├── odd.test │ │ └── sequence.test │ └── whitespace/ │ ├── trim_block.test │ ├── trim_delimiter_as_strings.test │ ├── trim_left.test │ ├── trim_line_left.test │ ├── trim_line_right.test │ └── trim_right.test ├── IntegrationTest.php ├── LexerTest.php ├── Loader/ │ ├── ArrayTest.php │ ├── ChainTest.php │ ├── FilesystemTest.php │ └── Fixtures/ │ ├── inheritance/ │ │ ├── array_inheritance_empty_parent.html.twig │ │ ├── array_inheritance_nonexistent_parent.html.twig │ │ ├── array_inheritance_valid_parent.html.twig │ │ ├── parent.html.twig │ │ └── spare_parent.html.twig │ ├── named/ │ │ └── index.html │ ├── named_bis/ │ │ └── index.html │ ├── named_final/ │ │ └── index.html │ ├── named_quater/ │ │ └── named_absolute.html │ ├── named_ter/ │ │ └── index.html │ ├── normal/ │ │ └── index.html │ ├── normal_bis/ │ │ └── index.html │ ├── normal_final/ │ │ └── index.html │ ├── normal_ter/ │ │ └── index.html │ ├── phar/ │ │ └── phar-sample.phar │ └── themes/ │ ├── theme1/ │ │ └── blocks.html.twig │ └── theme2/ │ └── blocks.html.twig ├── Node/ │ ├── AutoEscapeTest.php │ ├── BlockReferenceTest.php │ ├── BlockTest.php │ ├── DeprecatedTest.php │ ├── DoTest.php │ ├── EmbedTest.php │ ├── Expression/ │ │ ├── ArrayTest.php │ │ ├── Binary/ │ │ │ ├── AddTest.php │ │ │ ├── AndTest.php │ │ │ ├── ConcatTest.php │ │ │ ├── DivTest.php │ │ │ ├── FloorDivTest.php │ │ │ ├── ModTest.php │ │ │ ├── MulTest.php │ │ │ ├── NullCoalesceTest.php │ │ │ ├── OrTest.php │ │ │ └── SubTest.php │ │ ├── CallTest.php │ │ ├── ConditionalTest.php │ │ ├── ConstantTest.php │ │ ├── Filter/ │ │ │ └── RawTest.php │ │ ├── FilterTest.php │ │ ├── FilterTestExtension.php │ │ ├── FunctionTest.php │ │ ├── GetAttrTest.php │ │ ├── NullCoalesceTest.php │ │ ├── ParentTest.php │ │ ├── Ternary/ │ │ │ └── ConditionalTernaryTest.php │ │ ├── TestTest.php │ │ ├── Unary/ │ │ │ ├── NegTest.php │ │ │ ├── NotTest.php │ │ │ └── PosTest.php │ │ └── Variable/ │ │ ├── AssignContextVariableTest.php │ │ └── ContextVariableTest.php │ ├── ForTest.php │ ├── IfTest.php │ ├── ImportTest.php │ ├── IncludeTest.php │ ├── MacroTest.php │ ├── ModuleTest.php │ ├── NodeTest.php │ ├── PrintTest.php │ ├── SandboxTest.php │ ├── SetTest.php │ ├── TextTest.php │ └── TypesTest.php ├── NodeVisitor/ │ ├── OptimizerTest.php │ └── SandboxTest.php ├── ParserTest.php ├── Profiler/ │ ├── Dumper/ │ │ ├── BlackfireTest.php │ │ ├── HtmlTest.php │ │ ├── ProfilerTestCase.php │ │ └── TextTest.php │ └── ProfileTest.php ├── Runtime/ │ └── EscaperRuntimeTest.php ├── TemplateTest.php ├── TemplateWrapperTest.php ├── TokenParser/ │ ├── GuardTokenParserTest.php │ └── TypesTokenParserTest.php ├── TokenStreamTest.php ├── Util/ │ ├── CallableArgumentsExtractorTest.php │ └── DeprecationCollectorTest.php └── drupal_test.sh