From 57d438ba2eac6f8fb7499fdbc34a2cf4bb04518d Mon Sep 17 00:00:00 2001 From: Harsh Kapse Date: Tue, 18 Aug 2026 18:35:51 +0530 Subject: [PATCH] feat(engine): support declaration body recovery and forward-decl disambiguation --- internal/engine/declaration_test.go | 125 ++++++++++++++++++ internal/engine/matcher.go | 82 +++++++++++- internal/treesitter/c/rules.yml | 3 + internal/treesitter/cpp/rules.yml | 3 + internal/treesitter/go/rules.yml | 3 + internal/treesitter/java/rules.yml | 4 + internal/treesitter/javascript/rules.yml | 3 + internal/treesitter/lua/rules.yml | 3 + internal/treesitter/php/rules.yml | 3 + internal/treesitter/python/rules.yml | 3 + internal/treesitter/ruby/rules.yml | 3 + internal/treesitter/rules.go | 1 + internal/treesitter/rules_test.go | 33 +++++ internal/treesitter/rust/rules.yml | 3 + internal/treesitter/tsx/rules.yml | 3 + internal/treesitter/typescript/rules.yml | 3 + internal/treesitter/zig/rules.yml | 3 + .../go_gin_fix_lint/expected_actions.json.gz | Bin 1093 -> 1019 bytes .../go_gin_fix_lint/expected_ui.json.gz | Bin 4870 -> 4869 bytes .../expected_actions.json.gz | Bin 1324 -> 1430 bytes .../expected_ui.json.gz | Bin 1675 -> 1688 bytes .../expected_actions.json.gz | Bin 698 -> 690 bytes .../expected_ui.json.gz | Bin 1303 -> 1307 bytes .../expected_actions.json.gz | Bin 1586 -> 1184 bytes .../expected_ui.json.gz | Bin 3097 -> 2708 bytes .../expected_actions.json.gz | Bin 1452 -> 1146 bytes .../expected_ui.json.gz | Bin 2260 -> 2043 bytes .../expected_actions.json.gz | Bin 503 -> 491 bytes .../expected_ui.json.gz | Bin 753 -> 753 bytes .../expected_actions.json.gz | Bin 585 -> 512 bytes .../expected_ui.json.gz | Bin 4731 -> 4715 bytes .../expected_actions.json.gz | Bin 584 -> 556 bytes .../expected_ui.json.gz | Bin 5712 -> 5719 bytes .../expected_actions.json.gz | Bin 371 -> 525 bytes .../expected_ui.json.gz | Bin 599 -> 646 bytes .../expected_actions.json.gz | Bin 476 -> 382 bytes .../expected_ui.json.gz | Bin 1745 -> 1717 bytes .../expected_actions.json.gz | Bin 369 -> 941 bytes .../expected_ui.json.gz | Bin 1876 -> 1914 bytes .../expected_actions.json.gz | Bin 2006 -> 1992 bytes .../expected_ui.json.gz | Bin 11705 -> 11729 bytes 41 files changed, 275 insertions(+), 6 deletions(-) diff --git a/internal/engine/declaration_test.go b/internal/engine/declaration_test.go index 7120f62..520f115 100644 --- a/internal/engine/declaration_test.go +++ b/internal/engine/declaration_test.go @@ -4,6 +4,7 @@ import ( "testing" "github.com/HarshK97/diffmantic/internal/testutil" + "github.com/HarshK97/diffmantic/internal/treesitter" ) func TestGetDeclarationName(t *testing.T) { @@ -330,3 +331,127 @@ func TestMatchDeclarationIntegration(t *testing.T) { t.Error("declaration pre-match should map foo -> foo") } } + +func TestBottomUpDeclarationNameAffinity(t *testing.T) { + // BottomUp should skip c1 because its declaration name doesn't match t1. + leafA1 := testutil.Leaf("id", "x") + leafA2 := testutil.Leaf("id", "x") + leafB1 := testutil.Leaf("id", "y") + leafB2 := testutil.Leaf("id", "y") + + t1 := testutil.Node("function_declaration", "", + testutil.Leaf("identifier", "foo"), + leafA1, + leafB1, + ) + t1.Language = "go" + + c1 := testutil.Node("function_declaration", "", + testutil.Leaf("identifier", "bar"), + leafA2, + ) + c1.Language = "go" + + c2 := testutil.Node("function_declaration", "", + testutil.Leaf("identifier", "foo"), + leafB2, + ) + c2.Language = "go" + + m := NewMapping() + m.Add(leafA1, leafA2) + m.Add(leafB1, leafB2) + + picked := candidate(t1, []*treesitter.ASTNode{c1, c2}, m) + if picked != c2 { + t.Errorf("candidate() selected %v, want c2 (%v)", picked, c2) + } +} + +func TestMatchDeclarationsEquivalentTypes(t *testing.T) { + t.Run("matches function_declaration with variable_declaration in lua", func(t *testing.T) { + src := testutil.Node("chunk", "", + testutil.Node("function_declaration", "", + testutil.Leaf("identifier", "sync_once_impl"), + testutil.Node("block", "", + testutil.Leaf("return_statement", "return"), + ), + ), + ) + src.Language = "lua" + + dst := testutil.Node("chunk", "", + testutil.Node("variable_declaration", "", + testutil.Leaf("identifier", "sync_once_impl"), + testutil.Node("block", "", + testutil.Leaf("return_statement", "return"), + ), + ), + ) + dst.Language = "lua" + + m := NewMapping() + matchDeclarations(src, dst, m) + + srcFn := src.Children[0] + dstFn := dst.Children[0] + if !m.Has(srcFn) { + t.Fatal("src function_declaration should map to dst variable_declaration under equivalent types") + } + if m.Src()[srcFn] != dstFn { + t.Errorf("expected %v to map to %v, got %v", srcFn, dstFn, m.Src()[srcFn]) + } + + srcBlock := srcFn.Children[1] + dstBlock := dstFn.Children[1] + if m.Src()[srcBlock] != dstBlock { + t.Errorf("expected body blocks to be matched and recovered") + } + }) + + t.Run("disambiguates forward declaration vs full definition by size", func(t *testing.T) { + srcForward := testutil.Node("variable_declaration", "", + testutil.Leaf("identifier", "sync_once_impl"), + ) + srcForward.Language = "lua" + + srcFull := testutil.Node("function_declaration", "", + testutil.Leaf("identifier", "sync_once_impl"), + testutil.Node("parameters", ""), + testutil.Node("block", "", + testutil.Leaf("statement", "a"), + testutil.Leaf("statement", "b"), + testutil.Leaf("statement", "c"), + ), + ) + srcFull.Language = "lua" + + src := testutil.Node("chunk", "", srcForward, srcFull) + src.Language = "lua" + + dstFull := testutil.Node("function_declaration", "", + testutil.Leaf("identifier", "sync_once_impl"), + testutil.Node("parameters", ""), + testutil.Node("block", "", + testutil.Leaf("statement", "a"), + testutil.Leaf("statement", "b"), + ), + ) + dstFull.Language = "lua" + dst := testutil.Node("chunk", "", dstFull) + dst.Language = "lua" + + m := NewMapping() + matchDeclarations(src, dst, m) + + if m.Has(srcForward) { + t.Errorf("forward declaration should not steal destination function") + } + if !m.Has(srcFull) { + t.Fatalf("full definition should map to destination function") + } + if m.Src()[srcFull] != dstFull { + t.Errorf("expected srcFull to map to dstFull") + } + }) +} diff --git a/internal/engine/matcher.go b/internal/engine/matcher.go index d5d8106..f92b3e3 100644 --- a/internal/engine/matcher.go +++ b/internal/engine/matcher.go @@ -424,20 +424,90 @@ func matchDeclarations(t1Root, t2Root *treesitter.ASTNode, m *Mapping) { } } - for key, d2List := range t2Map { + visited := make(map[decKey]bool, len(t2Map)) + for _, d2 := range t2Decs { + if m.HasDst(d2) { + continue + } + key := decKey{name: getDeclarationName(d2), rec: getReceiverTypeName(d2)} + if key.name == "" || visited[key] { + continue + } + visited[key] = true + + d2List := t2Map[key] if len(d2List) != 1 { continue } d1List, ok := t1Map[key] - if !ok || len(d1List) != 1 { + if !ok || len(d1List) == 0 { continue } - d1 := d1List[0] - d2 := d2List[0] - if TypesMatch(d1.Type, d2.Type, rules) { - m.Add(d1, d2) + + var matchingD1s []*treesitter.ASTNode + for _, d1 := range d1List { + if TypesMatch(d1.Type, d2.Type, rules) { + matchingD1s = append(matchingD1s, d1) + } } + + if len(matchingD1s) > 0 { + bestD1 := matchingD1s[0] + if len(matchingD1s) > 1 { + // If one is a forward decl and the other is a full definition, + // pick the one whose subtree size is closest to d2. + d2Size := d2.Size() + bestDiff := max(bestD1.Size()-d2Size, d2Size-bestD1.Size()) + for _, cand := range matchingD1s[1:] { + if diff := max(cand.Size()-d2Size, d2Size-cand.Size()); diff < bestDiff { + bestDiff = diff + bestD1 = cand + } + } + } + m.Add(bestD1, d2) + matchDeclarationBodies(bestD1, d2, m, rules) + } + } +} + +func matchDeclarationBodies(d1, d2 *treesitter.ASTNode, m *Mapping, rules *treesitter.Rules) { + if d1 == nil || d2 == nil || m == nil { + return + } + var b1, b2 *treesitter.ASTNode + for _, c1 := range d1.Children { + if isBlockNode(c1, rules) { + b1 = c1 + break + } + } + for _, c2 := range d2.Children { + if isBlockNode(c2, rules) { + b2 = c2 + break + } + } + if b1 != nil && b2 != nil { + if cur := m.Dst()[b2]; cur != nil && cur != b1 { + m.Remove(cur) + } + if cur := m.Src()[b1]; cur != nil && cur != b2 { + m.Remove(b1) + } + m.Add(b1, b2) + Recover(b1, b2, m) + } +} + +func isBlockNode(n *treesitter.ASTNode, rules *treesitter.Rules) bool { + if n == nil { + return false + } + if rules != nil && len(rules.Blocks) > 0 { + return slices.Contains(rules.Blocks, n.Type) } + return n.Type == "block" } func findDeclarations(root *treesitter.ASTNode) []*treesitter.ASTNode { diff --git a/internal/treesitter/c/rules.yml b/internal/treesitter/c/rules.yml index dc35620..6d37574 100644 --- a/internal/treesitter/c/rules.yml +++ b/internal/treesitter/c/rules.yml @@ -159,6 +159,9 @@ declarations: identifiers: - identifier +blocks: + - compound_statement + pairs: - field_designator diff --git a/internal/treesitter/cpp/rules.yml b/internal/treesitter/cpp/rules.yml index da71b8e..213ec05 100644 --- a/internal/treesitter/cpp/rules.yml +++ b/internal/treesitter/cpp/rules.yml @@ -214,6 +214,9 @@ identifiers: - destructor_name - operator_name +blocks: + - compound_statement + pairs: - field_designator diff --git a/internal/treesitter/go/rules.yml b/internal/treesitter/go/rules.yml index 40f3c85..7b037cd 100644 --- a/internal/treesitter/go/rules.yml +++ b/internal/treesitter/go/rules.yml @@ -130,6 +130,9 @@ identifiers: - type_identifier - package_identifier +blocks: + - block + unordered: - interface_type diff --git a/internal/treesitter/java/rules.yml b/internal/treesitter/java/rules.yml index 68cbf79..5f468f7 100644 --- a/internal/treesitter/java/rules.yml +++ b/internal/treesitter/java/rules.yml @@ -190,6 +190,10 @@ declarations: identifiers: - identifier +blocks: + - block + - constructor_body + unordered: - annotation diff --git a/internal/treesitter/javascript/rules.yml b/internal/treesitter/javascript/rules.yml index 7f7f945..68231bf 100644 --- a/internal/treesitter/javascript/rules.yml +++ b/internal/treesitter/javascript/rules.yml @@ -177,6 +177,9 @@ identifiers: - identifier - private_property_identifier +blocks: + - statement_block + unordered: - object diff --git a/internal/treesitter/lua/rules.yml b/internal/treesitter/lua/rules.yml index 7c00856..3af93ff 100644 --- a/internal/treesitter/lua/rules.yml +++ b/internal/treesitter/lua/rules.yml @@ -113,6 +113,9 @@ declarations: identifiers: - identifier +blocks: + - block + pairs: - field diff --git a/internal/treesitter/php/rules.yml b/internal/treesitter/php/rules.yml index 695f135..732a35a 100644 --- a/internal/treesitter/php/rules.yml +++ b/internal/treesitter/php/rules.yml @@ -175,6 +175,9 @@ identifiers: - name - variable_name +blocks: + - compound_statement + unordered: - array_creation_expression diff --git a/internal/treesitter/python/rules.yml b/internal/treesitter/python/rules.yml index 4f5a99c..e9834b8 100644 --- a/internal/treesitter/python/rules.yml +++ b/internal/treesitter/python/rules.yml @@ -158,6 +158,9 @@ declarations: identifiers: - identifier +blocks: + - block + unordered: - dictionary diff --git a/internal/treesitter/ruby/rules.yml b/internal/treesitter/ruby/rules.yml index 64f03f6..cc29626 100644 --- a/internal/treesitter/ruby/rules.yml +++ b/internal/treesitter/ruby/rules.yml @@ -159,6 +159,9 @@ identifiers: - identifier - constant +blocks: + - block + unordered: - hash diff --git a/internal/treesitter/rules.go b/internal/treesitter/rules.go index f780301..a54ec2a 100644 --- a/internal/treesitter/rules.go +++ b/internal/treesitter/rules.go @@ -17,6 +17,7 @@ type Rules struct { Keywords []string `yaml:"keywords"` Declarations []string `yaml:"declarations"` Identifiers []string `yaml:"identifiers"` + Blocks []string `yaml:"blocks"` Pairs []string `yaml:"pairs"` Unordered []string `yaml:"unordered"` EquivalentTypes [][]string `yaml:"equivalent_types"` diff --git a/internal/treesitter/rules_test.go b/internal/treesitter/rules_test.go index 19d2d2a..488345c 100644 --- a/internal/treesitter/rules_test.go +++ b/internal/treesitter/rules_test.go @@ -309,3 +309,36 @@ func TestEveryLanguageIdentifiersAreValidSymbols(t *testing.T) { } } } + +func TestEveryLanguageBlocksAreValidSymbols(t *testing.T) { + for _, ext := range []string{ + "c.c", "cpp.cc", "css.css", "go.go", "html.html", "java.java", + "javascript.js", "json.json", "lua.lua", "php.php", "python.py", + "ruby.rb", "rust.rs", "toml.toml", "tsx.tsx", "typescript.ts", + "yaml.yaml", "zig.zig", + } { + entry := DetectGrammarEntry(ext) + if entry == nil { + continue + } + lang := entry.Language() + namedSymbols := make(map[string]bool) + for i := 0; i < int(lang.SymbolCount) && i < len(lang.SymbolNames); i++ { + name := lang.SymbolNames[i] + isNamed := i < len(lang.SymbolMetadata) && lang.SymbolMetadata[i].Named + if name != "" && isNamed { + namedSymbols[name] = true + } + } + + rules := GetRules(entry.Name) + if rules == nil { + continue + } + for _, sym := range rules.Blocks { + if !namedSymbols[sym] { + t.Errorf("language %s: blocks symbol %q is not a valid named symbol in grammar", entry.Name, sym) + } + } + } +} diff --git a/internal/treesitter/rust/rules.yml b/internal/treesitter/rust/rules.yml index 4ee4864..24fa79b 100644 --- a/internal/treesitter/rust/rules.yml +++ b/internal/treesitter/rust/rules.yml @@ -154,6 +154,9 @@ declarations: identifiers: - identifier +blocks: + - block + unordered: - use_declaration diff --git a/internal/treesitter/tsx/rules.yml b/internal/treesitter/tsx/rules.yml index cc1f7fc..d25b2d4 100644 --- a/internal/treesitter/tsx/rules.yml +++ b/internal/treesitter/tsx/rules.yml @@ -195,6 +195,9 @@ identifiers: - nested_type_identifier - private_property_identifier +blocks: + - statement_block + unordered: - object diff --git a/internal/treesitter/typescript/rules.yml b/internal/treesitter/typescript/rules.yml index f9f6a5d..9723306 100644 --- a/internal/treesitter/typescript/rules.yml +++ b/internal/treesitter/typescript/rules.yml @@ -181,6 +181,9 @@ identifiers: - nested_type_identifier - private_property_identifier +blocks: + - statement_block + unordered: - object diff --git a/internal/treesitter/zig/rules.yml b/internal/treesitter/zig/rules.yml index 9637eac..8b57d2c 100644 --- a/internal/treesitter/zig/rules.yml +++ b/internal/treesitter/zig/rules.yml @@ -134,6 +134,9 @@ declarations: identifiers: - identifier +blocks: + - block + pairs: - initializer_pair diff --git a/tests/testdata/go_gin_fix_lint/expected_actions.json.gz b/tests/testdata/go_gin_fix_lint/expected_actions.json.gz index 72bb599e460ad85c7a58d5832cf20c74871e6065..a488ddc3f73035aef60896fc9f430eeda89b03db 100644 GIT binary patch delta 1003 zcmVS;|ABzY8000000RQBh!EWO=5Qgu53PC_mEl_bJlH&kg zNCwHc4Hoa?lXL@Z+zaqapo~M<9QH&w+MmSzB$~Y4|BpH+!8v zoJS@}>Wprmr0UUWa~{|RUJs{${n{9}IV!W+>s_UcI{oj?KhqJXPL?@{0 z{g04D_7?em&gh_wuHD$2oO1eE*KSjl*4>f}WEmFyWExw(q03gC&^%=IKL?|2yQ()& zqYdFiOlN;y=MLKQL;JFQ%gdP;JwI_}ZTVE6gwq_fQLZtYs&v|@syn<=TV1u|AO08w zuqGFUPbKtVi^49@e{PQY8unZL*cg4E+$C^o7RWtsZQNwx{IIF^o1tWBc5R;apm&4N zvN6z3x%iU&`JFsJ-fQbN@0oD;Iqt3l~^saw>i+_lVL?n=-pO8Q?k*c<3t<39n z+2n-C1^V2>XP>w0NtvgY%loH5O7sE+za%L(UQ%5sJw*vDE(vOiEy9%U>$7&{?z%1F z*CBd9(JS)h=q&*BvUb`WjCOjzvCfqB(;)LN>F-Wk_az--UyPY;tn48w2bEAT|2!lV zGBkfx2^q1*5+IAiK_viDBuelU?)N)r7fR1TC9nXWHPbn$1V-wO!E*GrLze}2SvyUst85!ngE$3DinWY=&6W5!a)&$@BjqQcj)~N+J(|{P-Idr z$w84xV#h`%*UQn{5*-v75jMS! zbDY3IJ5c%#%8NzSpvb9S9P%P~4SKuYqI6KB{vI+=PBrlTlZ_SqB?H~-O1q#(Npych zw-BSa(h2QURo$D6=alCDgZL?Ek5>9G_KKcAAuoY^szsUQ;B3UTlh8_+z^H~5z_{}F zex(m3R< zBUU<+M>_~G?hxXBr4J?JyCv~im5zTvU3x)zDQ@Q!#iO(>B|FuWVH;K?B;6_^2{UWS zV@JTG9j*4=E2pEZXTtHH#9?svCKm=pho3(_4hQp*M<9Q{=Z3axSzB$~sr#v=ZuUBT zIQLAF)EV7AN!6p%=G?Jucs-mN?AOM)%~6@nUhgVp)ak!F9j#NwZMLtj?atPs5S>O{ z?|(E&WN$6s&k-Gz(Y2czlT%JV>)LIq(zXUGqgEq=FW>b|;8&!3?S8A)Pw*SK) zy#UtaOW|_~J=jZO1N5JpqaMS4s~;PqZhtEE**OM|&FT?AnKuYui1s{?Wn=Yv?lnX@(EQSO%#}Z*m_w`x3ayM>? z__dE7Q1ps?IeH5Ky{w%!2cw%$A{nX3+OZvOh)_qC)*cVeq8!LN=%0VR*%s&nZ zg$#d9RYFF*V+oMO;h++LND?J@68GC3vzf22Ngi%pi<<)b5O~pB%tm6I2n3;5h*@No0R0$k3A!e};o10O0`$o_*-;4%&rs;h@N* zT#|z#lf;UROsRcKiU`jc zX!&}A2`k?_Scin1NPQ*b)3zOf&oCmk4hf8^z5>hzb*!ZOf*HUXyLCulRILe$@SHPR zzMf!~Zykc9FCc8zF|l|bvvr7!Sm=M-F@~0OPcQ>mqqh!nt1U$yoHJk3^8G(%9SGEy zmk1M&Cj(clBeo7CPtw~l29|VRFaua)w+;kGd~b(Pgy)=13MPK*7^pOnOA-n;?XWX& zwKitw;A?8KiY&OIdx9Cj8ohJyH8oiU%q8COoT*PX{K15k?@<}AMSOVv@or@TwGC*S z=GqXBzsu1Rj`w~^U~}H<+Le!`_LF|R@)C&jP0~m%qXZ^A^%_{;Eieg$E4EE@dGz9m v-(dhhwMX1<99Ll-eIJ*M1~SI`znA)t>MBY8T7CaF009601s diff --git a/tests/testdata/go_gin_fix_lint/expected_ui.json.gz b/tests/testdata/go_gin_fix_lint/expected_ui.json.gz index cd6d8de9f04e45b6d49db6984c9adca25e837522..03d2e1386aba3852041ac2abbc6090e34dacb6a0 100644 GIT binary patch delta 2113 zcma*heNYm38V7JKUPMcD_q0@yF55P@l)~H&OsTGp-OMGoCY39Ry2c92RD?o-Yip&l zsOD#pmid-xD<)bdYC=V>x4A98bV#j8X$Yu+E+We7dEL(5+)jVo^T%&K&-~{3&NqMg zx665$0xysENz{8o$eWC@41J}>+co-D z@(3*3TzA#kvCCjSXsU8MjD6J#8E1A@Snr-On5jgL>s_9!i|D2jxlTiu#`UhVUgMs! zVu?=MY<;Oq!zzvA*!ta$DW1V1Y<3UxTvoTc%S~Vp3PK5oGe{Q%wx1KLD<_$2^#`Ts z1Og?4R3MoCx#xDJnaR-WEzGGW!7P!ysn934Bu4dkpYAKB_+?8aTEsM_!`n(?1|DbW zzG8{hEyHLL%a{kZzf>#4rE2GS_lZ8@F_pr|&3BF)(^LxHZ~7lNj5?LV#1%N_;K&fU zu5@s@*6eW|i`e-AWLka37qMiIxWD3c?#-iY71qc-=^QdH`W=2T3RPGW_pI|hc)!X~ zo$pdT;-0X^j|*9{r~gHcb>(;xOZJ5Odkhg-7C3ggwv9@Ywb}#z1F1cFdaRAQU-m%| zTl76pyG32!K-D;d?a$R2VxDHe345;(BEQr*HNkg|7}u#xt@b_t@8g&fb?W#!oyFrh zxf>h1Nj4K?tK#by5x2;u7CVP@dSU1-s$-e6w~{wiP+CQ0U*k^pO~qgA!*XwO4JU0K zay$<+mAFuEUM{Z5oMyp0` z)QWcsYO++Hbp}pL?nts!D@l9ttFDGMqCW5Pr})-t&qVOmSrDN-3t!PiYeT)!icG-59~aH7hMbc9>x68|8KtWBWG~@i0sov@?!kZk2D49Aw_S^&C1FD?-5WhDQlx}OXNcK(SVstgN7Pxts=^7S#C`C=dc0^{^8`BuWdUfQSV zjRtX{poXE^N=hb(s=^}C)4fHOQ`mI@MZVV!UJ3kvGM?U+A0>R#N5i9g4B`^O1S6SD z$|HrTCr%t6zLz?? zzTKRHy`5FqP`M2xLc(EM_PeeGE!Y4J1b(oOKp7MY ztF_=tu0I3aPz>;c`p#F<&jJ|~2YG@#`Wc`?FdzluyWnNh)xPzj>J*>D$G3n;*lN!R zK!xED6h}vbc10Sg1z=%8$rxpCT?YeMYfxsj@+}PdMs?r0)}~v6>vy;0AZtgJjjjBg z96C)cf7aS`-$*;6rtG$gTaQN6?S$2SE}e)?ERKbIVrP$KL1BuappBC^NFIE*_x0f?${FA&cK9g@8+lk6;zb z5yD&%EFus{5sP43>LUsUc7i`5md&k*`R7tXz+D8+`&Fu4EMp!KYtdj7u^Q5Jr06=J zdM^QS-pG0MC_whcK>~B3Sv*bXp>42Or27RDS-=KupT%Cirk{cxTb zu-y*_wQXB4*FxqO4#a*iNGD5j2e^?TAj0qCFWch|Jx$Qo&`1|h(MZj=6ihyQ2KU0Y z_JzE;T-jM3D)nuOLs}*{HI|b#eC*~r^5)pQu)~~XqiY}eX}n9*zZ=;@UphgGY*FMrzM~Mnp!NsX@@C89rM!`tr1hG- z4wfQMch1#jK5ezu&lrnLyVr18gR`$S!)<)+e#AJhylr-?<_ut5nE+1q&=UW?d zhJqDlTX(b}L217%Q*efYIo8Ycp}KXh*F~2`ubUp4_Dm{T%+lNrqV^}dF~D6IV`@us jL>V8NQYXlgxsP_@F`d&WbH#XgxZSAp-#;>)^6>Zt>66G8%n7;<@&P3ungGJe?e;hEnv&pH2j zKAz&0U$2DxN^lE)J&v35z8_W$z2{_4HFX3N7iELLHu zug*+j2k-rhPgyB%vV@yam@(C%fnn>M+8|={E#^rDWV5NFs~|>|W3JSp5s1S1=5EL~ zZ4`yur@Bkw0=wY~WYs;r678@JIqxMy`BtLCq<7e_IC#ePBnEfzRl~9*UR32&R)syN|oR&NJV2ak%YEEgL09WEk|76L4ho@8s(x! z_WMw-PvlM>LoB+XVUeDH5}DAgAI^ky{GxYyAEYLJt69p=G5KhDawOpYEs`U$DT5R- zv>u%ZeN&cE!!95q15tA&`itz=ll+;&xvlF5XcE9z$6BB+(*RBWB|M*DseP&TQbfbt z2xKf&Q?FG`9Bl zb>bbu>TK2;=FX7xGbwIIMs_BKXwOi^WY2C=JfT8~^A`+ecb=7IgdFSU+#x?vij#!X z*(@5fAS7H{M!ie+d_1#xZ^oKVa_nPL3L$g?7bIAb6M0U0Hst2z%!bpz$>Q&J`2r5YD4 zFmgMuNcr@I&p4k`NE&gC&?A=>qe_7P2+cDrmd$j>O0XRj=;8~GqCSagPi0K!9Ug1) zHHR?_@x;Owb-vaxJ(9|p&pSNZuV2?*;qy2jRp%NVce2@X4l0l1J!I}38|{W?RFBtXpKiSLC5S<-#whc(-BC)g3GE3yFdu+w zG#Ycw7+6{H6X-|#0S`1`ku0qQz~~^p zmji%}3Btdybww#xr84gT8pfOD_jaJZhf8cz%MP^)5N=w8{Hd_DxmH-w5S2@8)5vbM z3JP=6QsmO!*5+m%CsY0+(IjrmI3P-4-XSZstI95&rzo>eH(g2;W*<8J;KkL4zlE>H z^fe>Exuq}G6KuzNqjvbOKLcW%%@>#@uD`r#ABx@MTzC}g2Vks+i#zDY2Du)%1`Wr- z>tu#ruoxHULI(_7(863CIEeccJ-OH28SxQrDZNV?Qk%P7J$iY7{=-~W>^@3t{)YOS z!rw6};}WoETh#O$b6J1eM@h)v(0o(q&p5v;0bAy~Euj9=RzSgdW4@bQy7bp1A8-o) z0p_A?lG12T&8&x(ot} zN018*Z1)I4=SMAeZUK9&24W8ks+-sHJ#Y|xfWOC*Egi}GI-`_VIn0yfV4}V_f%bL& z;kD25gP%#;YGmCtzOM+)$wcEc|ElrWRl)km`nX6&J9U4@a?PlJ%w%v(wEjc_?c1@s z$*;htqyV>kL?*S~mbtaeyMz6tbuI~@hU5*|*oF4dZU~tz)5CV7)lcFqY`(oGO*pjo zM($^7dqknVj}~5FR(7W*@Cvz=11*l|jgBcjyskev&Sxg(xJSk_Z_QHE zbn$E4p%GQ^kl2{}OdFBbaA)b{`PXoAjyzIy;;vtOHZ+U&D@^_~)DRqNfFia^9FKUh zVT$&#wyJ{E&5j<`ag!;ozy$Qym%`=|^Uv(pzYMx;J*u%3H;L&UPj*dl);yfAFU+dv zK?eI=DQ%>bZ)`Z%>o*^;%P%pdLr3HzGb&m*GE0N=Aw{`yDy{c+Lx`e%!mdeLdmI|# zy diff --git a/tests/testdata/java_commons_lang_simplify_abstractreflection_setaccessible/expected_actions.json.gz b/tests/testdata/java_commons_lang_simplify_abstractreflection_setaccessible/expected_actions.json.gz index 7a70bfc765270b3cd123a1296a6eb17b0689fb38..243ba7e4bf56df4304dbb4262b45133d3793cdf9 100644 GIT binary patch literal 1430 zcmV;H1!?*piwFP!00000|Lj^#Z`(K%zUNmE?xiWxhO(^>wwD$!-oqXiyFd%rMUN7ouZDu|-9)WJl=7!7WHud^jJ^3}<+EhS2C1lx9+l-lEa1H@e7& zXkwTYdh{0kd4>=|clNiK$d@vqK^eQ;&Ip;p=xwnQp^;ILkBsP*0aYx_Css>45p$W` z%o4d+fH36+oW{WO6_>AGeHM1?75e20-Mvp_3g}9z1U@7QXw6~{Ys54%DuWBOpf{km z%V@FUxA<>J%(^s!;uT6L=S*CqyZ4-l8}wmk`3nu^VeDlrB?l_b3p`J(&jFpUQJfj{ zIm398z{36wQt;JgetiFLs>OR93lXva1Qr&`ZqnXa5LyeTHtFo+lW`!J+t_jDMXm8OQk zmLI`rtMGj%q`DU(Y({_&=C$Fx<%aQ!(f?7-L20zev_T+rrl6Ul$8aST6xgkcFTl)Y zy1V7&&YoSlD@PhbfutL89l%xXh+()+AK+kG?QKCoD!grQPEVe2`h~oOCN94*9Xjfsb5T9E14~4EX~o{f4}xd zN4LTat>usn>{{ZZbA;F}A#YzogR-CT!0qP&pU&cYDE87*V^$<^n^lOh*Tt+-;9xo$ z7Q3n>wa3FdNAevq42VB%Wnp!&8rZrUNr?Rlt}HRZ@pHuk1RMFTU>x~DKd#$Mu5KX2 zpLCIHcOu-JdJdZX3+W8LE*03gT4yA_>o8GI0rkjI^?KmNV>r|fJ$eVwW8{Z5QJ2)w zyW@3)#Y=CXQ zxPm|SE7Hq;F9+?(zm&M|39rR{p|RPO<+EpYKJiabq~h|LC6v$P5)?I3%{VilD6dRM zK4%z@gUxS^(jQoQr!+|VBDzzUpm%h)-c-M4Ox((Znp(@m*u~j+(o^N7jZ6d2Dbos) zd2YAHc;Xb^ex}@qTR+IB!mUf8WVc=Q%Hw-_ivW%z zM{zUorWM)QP-WUjuGqMY6<}8pDe$KIMTYJ-5ucF2oiAb^ck%E(3N^#%)E65ZqfvF@ zPW{hD{b7yzy~g}b^oDH4mrl3K`#ZlGMIOJ$2p7 zql$a^F(Z%@N##?H6HE5kor)h;upPUN0U_;rW+!@SG^{kUCH5cH7MnlH^CqsB0&Ppc khwIeUH4D9I{adNpg#8Smzs}bG1pom5{|H7q-NiHj01bZ2-T(jq literal 1324 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 delta 499 zcmV0GzDo4{)nBCIc^ynMvc%>_42ZdU8mCL%Y%K4xAUlcZ9-A}_}RLK zom}Yb<(a>L`N|6jIETbOL(^m)sV}Uo%_KhCj-$V+;@n!XSCwO!E};&DN#Ve7*?9zC z0%200v0~a`toxO{uWlFm2t!0qVW$lYbj4AC`>As#)KO=BlV<@Sf8l~-O{bM~4PX!H ziIOu1XqI!Zj(z;W?K%8Gmj>J$eJGj8t6=KS|Kn(JxAj!jJ-FvTg>_m{rStf3L{^Xu z_H|PdZelaIa7^|FvSox5J1o~y;L>s=j<2y?4iemzrpt6uawDu(0~<@Ivuu46c;_fM z=}=RlxOrvpt2AKkf5by2__HU|Ib|ng>x+}(c~X9a>VcF`I@sK@oev#b1HrAm!F5^c zUZtL+$1j$MAFAsnSY7ERP+b%JxeeWbI~X=4@9 zo$-V@kvvkrt>}7vjjiUm3=SKwThqmm;p<*ULEi!1U^rUjH6C+k!|aH;XBJ8Anf=@S p_Yzv_0kn_akdhsE_r$^Gds2CY(2v#o?*IS*|NoH8nqS)&002zs{^)x%sFd8V#MQ_)8epIEo<_Hxzlug`t&=P&=j>F+tt znft!>;o_xJUCqGg#mLdQ_=Fug@i6gBbWnd0r8w|s+~v6^Pa?%9n8Q(KxR^J@aqpk8 z&Dw@0_9Z^nhH7c1u|HgNQBz^0kkf#odxa z=m0oagXO&?)nLrUG>By%hhOwa-bXjK4j#qIk#ABVqTTmhiQngUeznya7HwVHRd75d zUz)<&tYxybesu{obqVhM!Tf#=ckFb=*nR!XEz``Oxdp@d1+&pz)0?{r>QgR{6)DxR z%Tzh0B|$6HuItsX=$di!>i76Tk%S_u$F1m7vTe)i<4#e-PE-fPuqj^ZwSZ>LG9-8V zem3Gopa5Wx$fJtQkqbhoyA0VCmH?GJ4i6@au9VCMSlI}k5C&XtbUps8fm137r+#TD zulSg#Dvcw6>7v^uG~#{^LLjUM?)B7rRBSJxDDkngPLdfeVeb}T+a4lF2zsH1gt%y9vbc*1 zSb@c{lmK-+u)^5rsoApUG|Z+p8K}xkQhUY1WKLxjYMBb!Kx;8(!D}gCD*MDgr;ogS{`l>kr^+k^$-C`{qUtU^GMizxx$^3a4>ESI%r&Lut~W2b zYU+#=83MmA+N1OfU$r_2-dirzPF$7TpFV(L<3mH^mZ>pxavojKvL_;>Zg_?;1WG>N zEPm)56}q_d`$^w}wiz4NDW17w(p~ev((t0>WxeAjtvhk*a5|%0d^;~xsKgF1U9v8- zpcLWbt8-~N*Da6GJ~T6gC2~H*GG=z#7%YZo2w#~IloPH2%767%NG`VHv-`a zBO;6kUc@ef)mSxHgVlhwSS?tG)q(X`J;=xSpa6prq8H`p&z*Vr%Ctc5tTQ8vwGMLM zb~u?BLeKs?cQrWH=BydBO1dS(^n2M|4rtLgLtktC}G6vpCM~Kb3=ZXv| znnx;e6<^Ql(X3o5(39HEg9J_YT%Iw829wIGsX)8^n=c%Y}!CeEt6-M3kM`hkEM*wD;QK z0hFdYsl9gAR*&!?sH^oLu!K z(>;eh0H{C0{2~JZ?;y;|_uOpjEkmkbA|}H--A$uiLxBrm^lZ&r`ZGE%xgnw)?M`cV#o(f6tg(<&XdJ52OLIv3(XqSo%{m>nBpQ1 zKw*_w0yu&U7kX0;hPDCKe$265{4yvAJSm>!;FQU-;klaywHrg2^FvRpYr{gzAsUz` z{$oY({U@gofIaPJuuJGzr|P4Ry5VP#&)H@!wtLc?fM}-Km36{LH!g3XaxXBp;^z?t zJHX|{9_ykfPBX`quMgk+<}xD_hHLoc7r9JOqT@RD$-<4b0Msu-)7DJ7>Lj3P(q`qrW92i#Ui5gwwuGry zsVmP{Gf#KT%8TEPChY3(B0iaN4b5c2RZX>2}Yjcj=BYmM>hP&kR|U zE}{`h@WUQua<*~R(YS>lP2`LQ-S1hLncsV_gE?ch&mjSqwW#zfv9G_N(HK|a5n1kJ GV)7@2;I<0@ diff --git a/tests/testdata/lua_kong_sync_retry_timeout/expected_actions.json.gz b/tests/testdata/lua_kong_sync_retry_timeout/expected_actions.json.gz index 0eda3e6394bcd558508bd6997106baf99d1ac71e..67a3f8859b53246768ceec3a228fbfef2daf0f7e 100644 GIT binary patch literal 1184 zcmV;R1Yi3fiwFP!00000|LmIEj-xmbhVT0+5ZAja7X;h1v`?~HMNV*f&=QD@>D|_7 z-hD-;hmgc&P7duk+>Az;$y9wV*WovxpMoHKm8#CGGJFogR|tP=ABnxrtFjKCgTJ1F zAP7F6|LhjpSM#!#N}pdpuas3L!{_eJAPBXR?UPU(v{c=T?ZVsXyiinoQS=uIv6F>y zrPe~}?e0yt{}2dcw6`eBthdDBedSAM+es){>WS7Jn)2-IHk128C~>=X?Ki_@b)jw9T{D;`85s zhtPxYNq}K+k|g;RK1;)g*}^9xKyBf}$dd4Jkmr@ujVfEKwX_EkVaWzf>@-~`kdi2w zWW!~fF6XpvcJFp*)yT&q9z3EXC0GEGlzD$dBM%TloB(!)W4=;w&PT|7K$uVzAtl^* zgaD6cm>;pr*U;}^OWuF;td|=1{YdC;Y|Kl(j zV7Pn$c@-)byF!i}#c^K1Sp_`2aO#Kzz=7NRl>)k)}Lf)4CLE|TVG?`*Vs|IcsTYI z)CXB+M!YxA?-U8F$e3O7lI{vKbyrY|ytZ{=9KR>#+>tsV>NA}lq*6u5Wy(lbg91#3&f>1}9<5HIg z&mBjnpV2|?>s{=e>9r5!etPYg_>eP!Zm{kfs4G=`+5xqiWWSO9A#x_r1aAuxNAtsK zTk`mvIc1Ds397v_=4gxZNJ7y`Fd9Ga`4+5{`RN48rj@E_gsS zr%WtW{>tXKyWZUH;1XLMr1(t)y+61utyfVr^7?nfQvTa}{s)BDJZ5Akn?JqZH{4aF z_ zb>3yG{0WF8w2-#>2~~!uw)F(8QSq*23YMejHBOmg8?kY yb<4zghc_TN+l={m@(++QerBBG6|AX#c%LAig5d9`FaHMs0RR8#(AobfI{*N?+guL- literal 1586 zcmV-22F>{&iwFP!00000|Kwb4Z=*O6{@z~^<@4RiW8)WAx?gfSMI>>%=m!tn6m5cUe*#DcD!AvPTO~3>hh%9$9rAXo6A25N<^3I-M~G zaljmL>W2_xC{6)zXK$t#alo$ef|_x&@Kb$^>VVM4C_3bj_Bzw`Oit0=laPfXKNw6rp*=! zp28D6B^(*)U=_kr2A?HMo$q^n-_`SLc0`y)y`~(d>x&-6^+jgaCkzFr7K26YaaSA$ zYn2!PB$kfSvE^!&%a?rZZVmv@q6Sdr>DW3QPUgVy2ICiQaZ=vKuPckg4%S9PjAe`) zB6RD*w>b#)aHtyRs%V65E3haEomwt@`m)rDCQu8AG?ah=q`EJ)EWH4R5de6MTB>}%DG!)haq!fN zr%)@Rru3Eb@B;uBD6Iqu-eZA>n(RpX6o3O6`KrfG2hv0L!Y~=dN1@@yf?YLfEr{Vz zHO&i#c;g2s2tG~>b`g5PPyt$nR3dyHMj>DrqxWo-gnwX#5H1%e-s?e$3_qp}9nbDM z0iq;9^didD#f|OQgh8a(*e~ZL4eEv2*coTaiCp;r2kBYgc6-Hko90RRw)tq9H7bI} zcj31=X9lL&0K)Q6Pwj~k4A+%;ZM&NRyN3jITHA$?=-pheN1uh2#jr5s&9d)tzsYQg-fXgfT+ zOENwq$vqX>*K_94&E4SEYr~eiH;Z+J>3%aQUrx=oSJTR> zBYfwidHoJ3J(o*Aalr|7I_{IX-TnFLutkQIh$#*VL+|pf;WlW!CfP|}{@!)2|Lr{g z1J;*#Oz=)7eLBCtrz9NXW%al%gAMG6i+Kynnv(pugS?r+ly(j6xJc9F%1`3|5T`+*#U29$lu-?y^ zPbx{07!RDiss;|fM@K$i8O7{sl-@HF4`>eGuoHoH%YeUeTDzK3a3FHP%p5p(m9ITE zh%-LB1rq<1fOKZ$79;2;dG3$2+r$hc!)e8xXT}4CdXq5sM}C14&}W8oeC5wpkI(HO kTn7>#Noy<&GL7lHd0MUhe)|4@00030|4@(B?rK;70FF%xR{#J2 diff --git a/tests/testdata/lua_kong_sync_retry_timeout/expected_ui.json.gz b/tests/testdata/lua_kong_sync_retry_timeout/expected_ui.json.gz index 2c3ac2667cfca272fecea83691da0ac969b0d52d..ce566cd8fe755b7231d06853c495f7367c7a977e 100644 GIT binary patch literal 2708 zcmb7?3sh2h9>;A{3(MNXN9khQx}s(#nPC$q)y&G~i`2GsF#*jc6~yhKkcx?~F%z~- zMM;^FG@X2aDX3{EWk%#NVpIf;@{yL9VC>&u1CL~e#O_v|bFIrp{S~Dg1N#SUy~LgL_|3alPYj$#UpfrU z`uD4Kl{C{}e$DqwWFnEcu&A1q&rH?Q;CtQ4v`!j)Q6id|kaY7~+>^<=$rrPe)7LYT z6W@|^GtBktuhYghFV4Mz!xu+SUZoj=dgd#}PnOWYpz0ZMDN8gzegM%oBhI77jIpdh zgWZVuJ?E~{tb@Yu8r6)3NF6=dZDBhu8$h!+II;hE5tlL;mbPY_h0QU{t&P)vnCQ4~ zAw{y7Y^EoCTH8g~t-LNqekfq!Ib;FZQkSN4)c~}SDxg{Pt;H`7+L6c=>8 zVnPRbVx0H-O%0#OQS8xFO9?+?a!-=(u9S9kP6!hvnl{a<&4h!Al8NI;eFM zah&pzn52?(6dsyMDPglNPRXN@VQM*o57JJu6jYsBOz0$Q$9Xf-?o{}D5$4HXsRgkV zDLSfns*T(^9*^ONt6*%!4h={;wNbZD8Gn(yO8pi~MRZ$xAn$eK^}1}vb2A^=S%1lN z|Hfn5UNeGKWp#?})?Y)qU-lr`Ck=5_!qgW)S~=3%k4bb-dVOAV*XCtz<_~r;vO_L` z2g3nwcu3*>YvSW!xf!`xewIkEN94Z3)nywZ!meao$qKLxlsaH5^u29;@-R2jEY*#b zO(x1bND!sN1nkWY7Muhe@uoYq#{llw25rYS>&tB~7GPS_=1r6Z5Ddit*uT2VH;0bt zNZSNd(jmtww!m^9c7%Wq==GuRY%c+%f`eSKkM$Ygi$$28v|ymJs3I<$!YG2aa{O$-U|q~3xaX#<$DKycnUB_(%svi z16X!Jd$DT$TXt)inEA99KpYc7rpyALBiYFUJtOl&^nLAy7a9h?8ZJL^h@C3QkqdcvQbEr1y1`{O2i|LV4jN;zx#+@DPo z>@zYCp#Qzy)5yjl=pYts0CQMdhH*%*G{u!c@+l3b&jZ*6VFb6trb?kHt{hTC=`lSK z$Yuy)jq(HOe(iBa!wx}6tcQWtVQmFwe>%VnR{<%dn3*AN<#;sFp2S?6DLw=9Qrh?X zharSi6PQ=r6{&w6>n`;&$TseZ(w@UQj>rPpen1>#Dt)(x&&vOu0G`>47kuq9EGbVs zaoPj_IFrGRWC~l5jJd*x3-y&u;Q*4cQ221M{smLGfMnejeQb7_{OdeUcv%5M_W$L6H!7OpGxmENJ?_o7j}82=y5Df~(+7wotbsRH zesb}j?mkmL>Y6+2ir;TsTft#n2Ia*au46r>dc_@<`3tFDu&w?6kqBGZ*2#+Fh%!)~ zvZDS2qsYM&b*8*=`QmM?<6`^+W2M-yKPjO&_QuG+e!8zs=lMKwy?t58xOdcrB$@L96D-lf5#M3Q!WL3J54^Nu z6Y^;2*Mb~vcG_MtI--&7gYaimK zizZ!9OZr21x)m#-(egpCwo8`56H;$-NAY!IRfKcH<#@T3Rio^l8#K0|nt*#6#ZXAw zdbs?L<}WwV_n2#PN>YXgkCZQSv7GvZ)oOe;*sbBc`(opTXWcig(Itzs>Y0MEZggk~ zJej18;|%gIajLh#mQ-^S5|KnMvDu5u{T9s`zU??O3%b@&iZ6%a^2bK literal 3097 zcmb7>d0f(Y8poZFB0=W96Qr?uugHOsY!!@PeU^qKobH6kl9<-}v(7Vu`{M@tNM#Qe&M{(kw&j0d8Ai2*Wh zX#uzN_b)H^I~&J0gX1wqkn*QB+qMcfL#kRIg#3LA{cy_TPyH_FqcKD~sxE4W+nFCm z+t=H|S_~J~3QIGJVDMDcgQd%nPCecbIF@Xr1jq)vyy-=5WR7Z=6!;oRP)>K*+OfAO zp~5@}d&+z`efw|81J$XiJbG}NYLl!xBRGV-TZ-(lMUaz}KX{NXSdA=)hnni`WTgKW%=3=-C-svLVFK}rH$;3yq~u?bW43o$%!&^v2ba(#wigRCi4MWhP| zQ!)2dLUbP zlA+QS#_sHr{GfDoBkT1@?4)s+-_RcseI|RoJNgJ(k03Mc-_9guBybx1?oHWEMv9kIo>YU`R+>tC{W2%&BUevhgOqGUtRixn0SZq; zr#21%Xg=bEozk{8?Yp4_9Ym2_xqI(HF*l-_z8Vs9i^Vi9^rZZ4ZY+1 zl6W)OUc%(@owC6ave{`kL3(`W@?Z(YOa>=>dSd6Ap^|^Rqnk~zO0}>3zfRuQE%Wp_ zRq}EBZ#50PGPT?9^<-~teR%kAeAaBi%@5wohr7?F zDzi~fqTW8`&E9{d%<;4QkVY=9v95qveWlWddAWj#N6tA7)-j3IWtBF!E|=fJ>&}~5 z&+`Wwx%|euyTt0oN*h+_@0`6k^B|hpmH)9B-jHvghPvsZS8w#EZUT+=@BZU5FY8u( zQfi7?lLAAy$q&(Jk&AncP0SV3xm%oM96Ve9XYW>*Wx%%5+j%Ian)TFq@kuYeT%{;% zqs|p#3dGt9Klm@(QNydT?zf1{^@D%H5SbT1xe-!8J8sUr!1QoL37O-b*&ec5h>BN> zz*hy7dvG=GUyWX?(PPdWWfCbVz?jM@?T530Up5%}za19EH-M2Gy5Ymxt6Vmx`06Mi zDw^8s)pZ9rCrXfu62zi}I~GSjy;OKIGt9=^efZSJez{=<&@Ya=cO1@)dOw}p?p_;U zECKqBF*}^wkIY+E-p=OFXU1H(*|OstyAbc%?vQ(`qV#UZ{z|z4@6f~AE0adZhGD-W zp_V*SGJgAXpm$ViaWz5n40Uw18Sm;adVeO++cVm(ao8^_KBZDV6k*P=FBBg;Q<622 zLU5iAgNKg!>>lkOsq^{58<6oii*@ud1^SmQ9FQhAdV9HD7U}q6o zEnR-D@w%R4$~S6XqL5Y=#Dimb^#OBr`hoyaRK>C9%jc`F#SEv#22qsq^ug%(b(mc$ z9-N}W@{frd7q32JcAs7Piewr!L>#L{vvxH}$iiYw^S38e51XSc6-$q5Y3VBtDfs$F zQQb;#_{$n`3Xe1%{6Nm7k%U%(KDy%(KN&x{_uMgFWXsU4Mz}hLpUV>$3;2OLfnF3m z18sdYc;2_k1l|3k$&zguo^>}X_cK?rxP>$zz1qoY?o0=nEY`C-=O+)03!a^wwR*Ay zUmRE}sWqr^nTgW)A8m=;i0+MBEG8@N?Ixak{7kK6M+>$&y3FWZVP2s8qULttd2j_- z(|l?rRC8jgm=%h5Uz77n>^^O|oxM;s{Z0C>6^*g38__0<>-!dJH>Ml)E)S}?cVCp? z<|&sBFuU!1G~&Jm<-&Kydl%HZ!ElXQF_yYs?bJ>v@O%j>RRO%frcj2+-O`H?R)HHWFCZgvFe)0>eVph&p9U?6sR;AsqH1MB>g z@R_)2$i(-MD=Eh`N%tHd^VwcIQu7pjn4_dzzTsj6izm$yT%ERNo5H?q-ZH~$84lIF zsGTPpoDhM(K1%AYX~>*zh>5|EZYc>e(igGR#d&)-d{fyn!uR1!=i}>ft&i2@3TQK} z2!yK1ytrnM1)%nezw!brSMvD+(tIuGyJfT_Su)l$;CGDaC|Df77_L#?^P%A$F+Z2r aA5m|E#lPsItkKfaXu8VcHo69AY5g0Kj8)kH diff --git a/tests/testdata/php_guzzle_handler_curl_multi/expected_actions.json.gz b/tests/testdata/php_guzzle_handler_curl_multi/expected_actions.json.gz index 9fa3d6c150c0b93e743f173b3972b85b56de1682..1ade02804ef921868753c12694732a30b0126b78 100644 GIT binary patch literal 1146 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 GHUI#EFwI&3 diff --git a/tests/testdata/php_guzzle_handler_curl_multi/expected_ui.json.gz b/tests/testdata/php_guzzle_handler_curl_multi/expected_ui.json.gz index f5116914958e86f610d88c96dc7bad255bc9e1bd..d2f46b76dff239440018dcd719a66454b53fe07e 100644 GIT binary patch literal 2043 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 diff --git a/tests/testdata/php_uuid_guid_fields_extract/expected_actions.json.gz b/tests/testdata/php_uuid_guid_fields_extract/expected_actions.json.gz index 060119dcd8b67a0e38c93b83ff6c638d103fc7a4..456f7a8fc096e40d7e9cbf1c9d39ef514d205da5 100644 GIT binary patch literal 491 zcmVc<_fJW-IE^yA%wiNzZbzz zZR%V)Xs5S|(mBxmWhNoi8So=Cg@ZQNnO=FWTSdvLGhWIRN-xwh`*SN;Cyh(eXXpRM z1l!zbpz<31)7^z``* z4~=SodlC7=sQ#uGH}zPf{kpGW;B|2 zuRv)MCb|3#L)grM<4Ml>e07ZT<`F`VU~Hxp-4lBB>9_ikOkAdwrF-(jBZQE*=I=$Q zmsVve9W=`uMd=ji{<4w~>I~FRXbcB!t}AQhwQLk6i`Mg8#*o)SDU(09f_2ikD1LSI zzcIl!HyWt)MiFP>{bEe#X>^o%1$Q4z75u$Qzv0Bl(QX9xsNyvg@3mNr8J=2NEe4nHKC$J=6M9C(tvH| zbOOGIrnJq@(ER0?b|Gb``Uv2XDV0)+6`K3o6Y*svNfaK3M^Ex@; t`X(oZ96tNIz<}9dSltUgZgv*joWbqq5%SY}{}%uN|NphBr&XO1000)&{8j(} diff --git a/tests/testdata/php_uuid_guid_fields_extract/expected_ui.json.gz b/tests/testdata/php_uuid_guid_fields_extract/expected_ui.json.gz index 8c6d224bc6fb41d5a5940c80f03d242f408b5ac6..fdb64c7842e55fcf4a455daf3d753c04e4dd5486 100644 GIT binary patch delta 579 zcmV-J0=)h41@Q%cABzY8000000RNQN%St3k6vpv=Jw=jh2jYJ5Rfa(XbF`o=2d#0_ z^t(4U#&@FepWV9A!jp%J{F#yQoo|O_Szov3m*dlUy2y4AH@Bzb{rPb_ zU)Jm8@58bz??0EtU5yVvfB$p!OVy96r)n70K-D;^k*aBbR1;P6sAj5`Q7u%hqgtuj zMzvA3k7`E^VR_avF7)yO^C;#;=F!Xx&7+zZn@2Y}TPV*#RYg^`l>xZ%4nWAN{QE9Rki5px}G~ z6Iw)dY-kzPafo(P%I6sErd4o|c9!%VM`>qS-*K3BmiFDwIAVE!XCQHw_;*GUXPJLz zC~-!*GnP0r-5E@#$!TXanP(?9ou;Rq@no8x#(;8oziK^g|6Xn$j`t6z>w)!vMNBZJ@SPqrw zdOW{u&lm30>g|9IUu(2zZHN2}u(yfrxk{h;!fA6`XZc*G|Iise`JLfIXXnPZfAit{ Rj{pDw|Nr`^GpouG005*6F_8cO delta 579 zcmV-J0=)h41@Q%cABzY8000000RNQN-Ad$07{>AQzKW1z7wY@NTUizn%xXj1F52tK zF!w$Ivvm3&F$%Ue}3G~ zm-Tx2`>-s_`_E-@SL4Ia-~U|wlKPQ)O2bG4rE#Q@(lpY4L}?yrrnHQ-P+CV?DQzQd zl=hK!)DV_uE#pEjFEEc{USuB4ywE(Vd9itP^Mdmz=SAny&I`|@o)@1-zaYPWenEbL zpErBp&@ad@pkI(*K))crfPO)K0sVsf0{R8{1@sH@3+NZ+7tt@uFQQ+RU*tE|URm^u z@{8yf>hsFqtN&ozY~To!E4mo_5BQX?_|5%HjQ}^|bwaxp_F=Kb(&D50{q@b8w%! z`*iqZeR}=>zq{MZw*LODnEJKc*Sqbs{duMBjJERe>2<8rZ9KnS{g>|}eepi5r%H4^ zo?o`-3$N7G+XfxJw$Q4zZSpg~-b-xHRr<^cro-=$rr{k4x|L4Q^ R9{~UW|No` diff --git a/tests/testdata/py_requests_align_sessionget/expected_actions.json.gz b/tests/testdata/py_requests_align_sessionget/expected_actions.json.gz index ca386be4e44f79bf55d033273c329dbcf80851fb..4eb70383315e2790757d6dd6204a3292c45a0ceb 100644 GIT binary patch literal 512 zcmV+b0{{IViwFP!00000|Lm2|YTG~%#_xWLL8mqZIRQOSrkb+ z-$^(y7>y@`hKN=-q-pP<+}BKnBDC_CR5b^m1L+UjKqkYhQxM1b!MM7Bi2eKkBjmBu zIPr+xzR*hWPwbxK(h)vZ84Klh)l`g{qX`lvQTTm9s~Hr0{O}bBZ#}YfVTR(#GQ(~}*eYdQ+6SIY4Buv-VCe|t8o}bWk)X`nIDd3HNiLG)V!c(g z;ut;`!31SM(aPVT6$ZIh0$FxI%rX$QMs6meP;^`s!QBe_A!J|ixgJk@Z9RTBn4I+3 z8J%vF@%ZZJ{tdID*i4264b>^+USc zme0QRNITenT{X}#%nRv?Mwavmv-+Qz9sh4{Pbb)9JZ+g^s%xZ66? zX;pqZ^0+@}8@l8EaQHkMzQRbu%W#gRch$-=8a;i<}< CqWI+i literal 585 zcmV-P0=E4hiwFP!00000|Lj&#PunmMe($e1M$EmPv+3uG8O z_|8-n;=fN$+mJz%F<=sCQ>9eOcXqz-JNxdgCjh|}TB?l>G6=51VBfzICtMp%K?dI@ z007tRvjco+tqCo+;Vq(##31V;0Rpz@-vpv!v|XSFR!s}|e_2SZgi~BJ!io#L6G|*B z7mF491yP*LqaKJ__MmjSL2f!ujj*Ws4_S3QXpBfW8zM5F9o{EmsNNXY2?)q7He}d3 zob*=gu-i3KFh0cY1y;u5E@i~F)~9_$i3KVT**x&S&!{DVfDiA#fW=FP#0PMU?5rlp zPLv?Z%44L)Xu=ZA;s>7aL9TPX-7;(K17}qRUynaRWi0R+g2rWUgLdcM`a7%hd@s-U z&X>ZTQU;$IZ-P)D?5Vpz%>;ZV7|L=(u`GebIZ}Tk>qTc<5p=L6eH*e?JeK2hI+Ww1 zXnrrpM#-O814($rox2q#`m&^;vibUe#5w-f&)Q*2QxA!a9JV^&CSTc>eF7=zv^9+r? zmZ-U|>R-|B06D9MMI>RE42cNCqvz@Q+q@M1c#LtG9u9Je2y9wCfaemZtY*s X+rE5!pWOTm00960x%u*xN(=x1@tz%< diff --git a/tests/testdata/py_requests_align_sessionget/expected_ui.json.gz b/tests/testdata/py_requests_align_sessionget/expected_ui.json.gz index 8638c65ea99fa74c49316a820d036996b57bf24c..d24142b49184b266b5c9bd5ab028d38c08f3547e 100644 GIT binary patch literal 4715 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 Sg#T$89xi+iblIQO(D)0wd_58X diff --git a/tests/testdata/py_requests_refactor_prefer/expected_actions.json.gz b/tests/testdata/py_requests_refactor_prefer/expected_actions.json.gz index 58f9cfddee055b30e6cb3d221a2800b34cdc9e5b..7964224a49ae7ed740aa9380f7e2578c8c81368f 100644 GIT binary patch literal 556 zcmV+{0@M8;iwFP!00000|LmCEYU3~vh41qe!q>ZC`KOHo`y|UEWP9Az){%@f4usNo zU+e~_sU_u43A?m6rOYwp%%|hg;Fkp<(FU{;N=7RZZD{muDDet~k|tV_p9?|=c^Uss z!tkh&1~iV3kBU?^M62mZLL$^KR3hFW=;^^h*mk4PadA*L$ThNZi-St@xOjXgf~@xv zO_H7RIvMD=28m}{sKwY2*IQPpb*JGs$PtFm)`Qbl7SC-dBX-Q*#GP~-q>a+dAV*ja zEZj}dBy~2C7XKkzIu%V{?yRBi;Ry1z+Q2EmOK6k^TbCSBi?T=X(asWQTX`CWcHo!k zU23PIYHQ~6=7wbY(o|Y>-bkjg8&WoNIGQltyQ5yTQl_b|>tA-Zv%5?3= z^JN1$E|zD->&hdHm(Ce#b#nT(8vR@bK^L3X}mM@vQ^b{ uK=+?`RD|dv4K;m_oNHEiz9kfvZwWJ$3qpP^UjGIF0RR6!&tonA6d3k;i!Esf6SLWO zzrY%fb!io>#*6#Kn3+cZ^W)#nl-C6z!49+$N(LJe>{#%v4e=a>k|x-Yp9?|=dF?*? zM7y+r3J|*GT}G+`f=$1YkN`EbksyOo>3=KR%)ah2+!*mJw;(Z9HE51XrLzCkZVk{J+?o^Viw1PB*kT_qkOUaU2m8_D_N|X@?sB|$% zjW8F|fW~u}^AbT{8#zrPTcI?GCm}yWuS>`}v=Wb~i#WSJaZ!LoQHqb*9&oPIi-5Ec z`OFGwvivVl-@x287uxC9C#&`_^aHVdjzUSU_i3)SwT9myyVKPrYjwX!OQlnT9O2ZV z7cQ+uEJqH#yJyS#plPy$G}H~8K)zMGOPeC17FmPfq8-_HVeIKR@VuD@uI+=WD$;q4 z*fg2RwW#Oz;W+xFuoH9o`S;-h45oG{@A;4aO4oh%S*xZ_MbQ@1egDpa`>$^c7FF_{EBn1U%^e!oo>*p; z%3tgvqQudv#wORXJ~62S`@mbOaStEGk1a#3_aR1~Jn=qzAajVh>=t^nv%*>3+FBhO z*`1G!T8<(XuCbXh`^yye<>V<&{^P`KcX2p!J9%KtC)&*9mu?S?(nl3bU+%o(`0$Q$ WLCCMg+ur~H0RR6O-eyDT761UYHz%|J diff --git a/tests/testdata/py_requests_refactor_prefer/expected_ui.json.gz b/tests/testdata/py_requests_refactor_prefer/expected_ui.json.gz index 9d4e992a51e58a7eafaa2766d2702bb02ce04469..80f0bf05ed622898d0191ba1a85add903de2a262 100644 GIT binary patch literal 5719 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 DT}pdB literal 5712 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 R^cesE|Nqe^M@lUT006a;vmXEe diff --git a/tests/testdata/rust_tokio_macros_trait_method/expected_ui.json.gz b/tests/testdata/rust_tokio_macros_trait_method/expected_ui.json.gz index 8c1df7746bdb7dccec4af023380391439c4bef86..822a8c2ab171a70f090b0a91027a2078a7a46f19 100644 GIT binary patch literal 646 zcmb2|=3oGW|5L8t&Aa6waP(vKyhEQ%r&|3s+q%efrv^9g-jBHV@cF9Ozdl!3_`U!AZ{_Rr*VgOrzvcV;!jSq{x z9{d08uJf;dw%h-&kNrRO)*Pv&iGIvW3;mRrX8H*)t@JZqYPZ}kbLM5I%(<7nUK%WC z&f+*7vAS^Kbj~vYXI#=U(wvM#j5kW|n)!g|sZU8;nVOBWt?>MX@e|@5_ABf^a6Y>F z!3F&j`U{`}4RwxnjDPL6{#|@u$$h`V{{wZO`roMk@2JcD+fmmo^HW5=&u4YCjAlmrTSC#i}xq* z7t@~r1yAZPj?Y@33lumF68L#;LcH64mHj<+k#&-PH~lgCmHIRF%W070)8`O;`)E5* zvJZ&QZD03i&imM(mcMrXk@*_~6w|YJx1S#G2*>%0nSpX#U@ZDmbY9Gp@C)lttX~j6 zG2U^%(*CYG*E-R^U4OKGiT(`zqMiH02`m^26kPR3>wMj()i1)IhF@HND&Jwh)_z8y zAlsMKpQJAU1$O*eyKer=^2ggRe=fU~Q+_$E+Uj1<&$q8~jpz8?-ru+Tqsg}|Y1%P9 z?Z2e|_P<}R|9}0J=eJqD-I&$g>9hKK{`==U{hr&$^wsh&IP1sj&>wC8w*T?NBeOZp zTXVzvMfLn1mUPv>x-$Lfjz1GOeKSoCEYDy3GVS2Q#;>=gbMB7)`L6llhTz9@vs$`zY3rq1m%LtHxx{JO zA{w!}cwx9egu_OKO$}*|8H`t(ZZPd)J;*wRdl7erc#C*|euw^o_$l!&`!)8T_`NpY z;!F3Z?ib=u#V_ig(q9CYc)qXh%k3vXG5MSR|2qFZnSVk57P!&NdFt*Za+ER4TzsvyVgnm^#S5de~f;m{!IOH8mM6U)9DxW zPoIb2@7;nxNf{uXlb`z2^8V>h#b1hlTK?Jz6pN|rtJB-x1jqNHxq)(`V66Q~`_9c1 z>legNjCb6x1XSc&C;GSRkJc~IpP^s0KdpWdURB%%7F-1s4E-7Uj`wN!#r3DwFN&Xf zzojm;P8cZY`y%|Q`9h#T$>-a5?TqD~%TK?4c$2-%^uG^__WhQ;5Z&x6ykx!f{d?;_ z|HwRb`MA&jS(~?O@68WkJ)UZNe)(yS^B3QLJe%}q;lx!JmR+sMSa6rOCTC^c|DLb^ d*~%v0`(MX)|L-qZ28RFtzi4MXzR%0R001#uQNI8H diff --git a/tests/testdata/rust_tokio_test_tests_when/expected_actions.json.gz b/tests/testdata/rust_tokio_test_tests_when/expected_actions.json.gz index b007cd2b220e6f4808c7932cb469d52e5979e301..e985a9b56d84874be43f3fc26be2a591bc6dbb02 100644 GIT binary patch literal 382 zcmV-^0fGJ>iwFP!00000|J0OAZo)7ShW9yz<#iY2K})$xRYgubp;nC@jVH7SarY`N zvO)=#({l&iE?k4{b=4q^xm#&R!zM7~A+a2yLn|4v>7h zSB#aw=OL3ZP6%y;i;4h4Vk@j`FDwO>Z#jI{2+lj`95L{F2ToE=9!V(2xv@%`uL3pPAdjREA&ym}^CVLif(@WT3Wbe6+UY cp2oJ%%>n6%vDaw(6#xML|Gbha)0xgMTVkr?2OU3U?!|2>>1U7)?pR77I2u zVC60eLUXWNN_))sM$Hz;UTRPNg?375tqgy47+=<_-6*e*6Y7KS&=4^%hwo*#y=|Y3+=&>M((9KzmqT zA1^cn&r4}-j4<^eU-m-l{7;k^`}Fs8?E^)9l&}Uo54?MX1FFGB8B?oL)E^f%fm8p1 zT*2stHb$~~P$28k8p#vlgsVYI>2wPNuRg&41mbXAaH&oW6GHc#p>#?HdA z(Yc&NCdbi-=;})}ziZ36TWKJH5haHnPh^iz*sWHIU`keD(lBqe-?I=$eg@lUH@fht zdl8Inupiy?w515fHE>6pbhxu%4JG&6m zFyGeeWPj*QQFt$oGBe8CRs;~BC89IIfDOG!&sOj~9Fsj&@yhqUZ6=ZGW_Q_iz27z# z5Cpv=%IV!h@pfxq;wV1jsELcLeiF01iy3PXO=pcDe=4`Y-?kjx-yui-MmmW{GaV0f zEGs`=Res@;_c@oS!nQpcKQZETKjj%6*Vg+T+vqH}s7cIUK=*45s<}l{F<*o3Uox2F z7HP$N2&Nxmh}!zE>^{EV2yZ#}e~k9l)gIY!`tMgzN@lvLy|b&xafuM?Gbs?21tR9U zQ`#&6xhDCfCmL{qb#%^P_MhUP+RnOybtsjM$I* zE8CZqw-~vm;q>Rdm7{(&ObCvVywCdRtQBWvocGElgn~H4Th9BNvzQUo8eVF=1E_|1 z>Lrrn5^)T{6~4p?HG`;*A4-V}h*XqTC$>DXL`!=; kD|Pz18-a5wKdr#LvTc5xyf9by?vK*xbg#!jh&=@IC;W1Q+yDRo literal 1745 zcmb7;do+{@7{kF@m{?S{h)gcU zDYt2hlQ0>BrP|qJqLIds&1ISyxy{7PXSVj@`;~9HB6#I*L*q!gKSRwRvv#^=OYk6+J0w5yL7CRVy+ zGFiTjb1kpkR@qj`^tXWju z@AN<(jt=mG>7l%E`e`1XPT)n-qj|CPcwQnsiI+kLg<$vlonQtyMY5S3=DOR^f(@ea zKoWFYq9J2Uptnf;#HRe?oQ6hh9E}bRK=4(-eF=r~Z4zjjlBXPEHy9%>SxN{5r-Nt@ zBv08yA!sEkdC1L$CWJQM|AnT(jiP`SZU%Hk*o>pyl$f)L?-6!i^w1;FQykF9?T5DT zn`3D(i8+VZ0Y-=esN5IOF@AGAO+!-0A$F~zcHsm)2O1PM1GM{+IyO-Nnu>;7xS3Fs zusMiUC;5R*d;{)SiyR&V$98}L;^9W_Ahe&~oIul-2sp$ZFj+iI<&Hq{pFm}hr8J1v zCK0e_ra&c;eG4}o$`dBwXq6J}^^gx!lj1Wm8FY3+C8q?I6R_aMaYxZKrTNHmQY!A>;qv#sL(sQfbM%oMXAPZDI-O6*>mhe!< zHH@vkD0jnlYB-`l+q?3HTkUqzKHzz{4#6vu^_v@h2h0ZGAX`->Zt{8lw(uxMH>N=U zSRP%A8iSb1zFBz$jn{_R1A=f(f;f_O7Hy_OascL$Q>u5+LHTS)cnV_KDiwxo~Z7`%3B2372RXC4Y zLy{+8aY~o)E}B)~f!_`D2KE`_)gF4JU-mx?zs`t1`qp6ZGTn$uLAa1%H#Z-`BViZ- zHNA~cNqLFZB~;B{U$E`tBYQBR=mU9{_I*)>LzukECwb9YA@POd$e$~<(8b!X|FL}A zDf-Oj$93huKlq4}Ge4(X)}{nKp2Rc5*b8H~I-8ii?aap6n7i{|wtpP|9}StEiiT_3t?Y00_p;MDi^@{ih8dS<$2g1{ zgpDNbEjAcvdS6Fb@sTe? zPtHfLxr$@YPu}{p^vUbF{SF=--v1{dHPMMwqWJF?lj^Rpic}APv zPT$7kUNzS;tHF2FYq*A@BN}`S_1hV3fUDmJ0WP|r;@1(lx7>tny4x3)+;#r;s>#~H zv&;M3dd@hbXPx58dY|UBcIndCERO#AS$um z&}c=1of&DDEj^9 z*@*KQX>4fWGOxJ!^!y|G%=H>d9@A*yr>#rNXPjGE+>!b$*@}gnoJ{tJtW6|;W$Bg~=^ktJ}`IGO5x@+@?EPvwpALCHD3w75H`9t>CCd;zy z<@EDx7^l|l;QMfzezLS(<@1O0%q+`8@5hn6dh+Jy4^px2jCRyf%)n|H`H&z zVw;KSKC#@DO;fxFG%bvBo-p2ZUw<^Jb>-VoKh__uO}X{WXx?{~ZxU7}B-8VR`d-`q zv+OqAaP0k+>o8bMIh!Y@W&i6qB0I#q(Bz|eDEo5ngYTp3K%>drOoYy{xnKlD!+IVZ zj@vhvLVxt%M0?*o`DDf=>{{r?H6XX5so>Loe*-QadjRm5Dw z88Y-Sq*dfX?;@Qd)N6N<7u`H67tXfsYvzYKLtg^Hja>N;O32Djd2wG08A}v`h z5u}_TE;w=O(l}=^dK|>)u?tI1w27)0v zB?v`52T|9)d4l*2z$6YA$c4r48{txDigMJ?-qcm_iGw%5rSMl^fK}*BATU)NKvRc` zx-33%@B%$DqBOyzSBNq_ps|abywqe(iXQ69H#bpwOr)?WSorzmI(p>$1L9|T4E56z zb&;FLRBlibe<1;7m!{{+P7{y@D_)Av)U$s#fT%0nJVD|H`NF* z6R&N8y3{Qa+Q30eybT<*UAR5&Mz{=C`V{qEa6w%G7YPbDXoq*nfw`(1e3NB=Z(jck P00960_!tt=ra1rruIkmG literal 369 zcmV-%0gnD3iwFP!00000|IC%oZsITyhwpg`%jZ4h4-mnttX7eeOjg!9b~K)#MTmE= zY*9B7l_JjaAFz6Z3@Xue~7pYdO=BpQ-NTfSqz6UG=j`riOttJD^d ze7h&ww7_?vlQB*RuEIq}fT7WW!{9-!O!IFFED5BlK9IwCv0YCX==PlyWnP}aDSUqr z2%7Fp(2d#;R7rw=3Ion;l{mN9RY3%90@H z-CsNuXuV`LeZE!Mf+pF?OR7W-%HiI$pdOekU!|Kks-Jc2FSXn#V@HG==P2i#W@#L! z0{@Qg%G#wAn;&m;5GZ;ez{NRcZKm5uH#ElK7G+*6Y7Ip@*5^osBYa`IH+#6nbq$?C zh`PJh+gLBaEBuDHgB#UWOF8FNeS67XQ|9AL7VXSE2;~+mRiC6}=_S7A<&-e?Cpo;1a@zt<0-e_k^F+W370`h^3rs3U-!xMuM;+Ed zIc!lBmC9_bT0!J_a442bD3+G;(5|%97RJ$6X?eV%Cd-z^FZuuS<@f!QuiMUS2jX+* zTD>2vOx~WPY;tZKeZbq;A^(J7hiP`@e5KuZXSUzG1CITRvP_RdhDWxprQWJYJh#02 z=hsDPPbd32p+Is#0LGX!8;obg8Y+(qYA03gm{DyssKsFBadZN)JXe@zF4M@Xp`oF6 zFfd>n9*>Q}Acm?y%t@-croD!zY@=wJJBwNFXDe)+qwthH>uUp8NvWxzlX6Hq>X+Wp zIZmHwShjdeEEALwF90CTgf!fSRovV#_4_cKn|8xDbU1BF_!*Ixk-UX%q_+U0sI5H zL@(Y6o#Guou8oGSnB8Q+b*2pxQ3anw3w7cHA5=ASH4?#xbI=~0I0m|7u9g8a3i2M4 zKV&8tBZM%x58bU7?}ipzs--|9Gs374z`Ic&y?7Ti-*Q9>Jo!g4M+O^n(YrcvG*oRq zA_MqLM?}GgStz0t)1U`tgABOIB>h*_B|m#H+hULc&CCp=LI{VUcKWoP5YFN(9eK#4 z7)b)~|BhiOYQ!U?D)!ksHjF2#F7$`KY2MqkSH4o}5|Qu|xED@SBPA z-bh2Pb`@WLrl@mAPwzsH%U5sQUb%ns_V9%5bsX+3IhWxd5c>cO7(JQZl9N%pd{fE( zi(hZ^*!!aPRH;vLP5CBTkxiLbdd_3P}?OTUNN^^D?hIY3CriWv54LeAv%#CqeyMK}L*U3w7Lv1OVcU<-4GIlP`eQw6MdWEmD^d|e! zj7;^Svd3^9i@Gxxx5HOH-4_??-?7fKt{I+6Da4$M4?Z^4PfZI5*DJ85&t{;kHjY-?f)qIre^*}zlsVg^t7uThYd3jao^SZLNsk5p{Xm;B}zZ- zrJyXe1hvjt;Mvl;~QP?6LEjI8Rn-Q&=3upS6zELO+L!7pj{Yw*Wk9 zP}cOAd1%}ODDh1P=l>ohs=c9svA3gRTQ!OGkK2+aJN!(ly9M-=pf-Z4aN3L%&?9`^ z@sj)W4BzjAHKb{|@j7H*T$!fo#<;;6KE8!|I4_dglhPZ7cesm)K|uRb55O|DL3y*r zHmbifUlAJU9=q{%1( z93~mHV7fcO6n#3Jl#Cyou6GRbFiv6SaUs^Wbi+a8lo>Io-@{92}lz z&r^6-kyKy@EkTEm2*<%Z`f%I5yuR0Uf)$K!`?>U?n{=(T_E@~c_mU|-^1i1JfwKSH zLb4QSzh~l=U5wp;Wg-LKE=q@h)O?hkH4(@K4S`iW=kQf9Hw@Ju3aw9ATP{qHJjKmy z4#GTTv!%c{UawId=)Qk~u)0W+|EMw|2=qN&f{5r7?laK8gL7T3m;m2tlQ(nyOa!2C z4yp*F0W3=aA@}}NCC$`{CiZ0)UPQ~}%{_L*Fw4@hv6{E@jVvn_I~JKeOq=1Hb{XWH zy(D{BqZ){pqM1&X8~r*pl7}kji5L6Zt77#+-L&Ce9(j+3xqi1BO+*{s!+-u%&v}(a v_94YF@Mk3~hogarq}a0ZA=!EXW7c1vfjNIZfv|;ERu~44jhi5EE33Z&l`?_& delta 1504 zcmZ{d2~1N57{`ePyoTr;I_|j=s*{_|3gs{%;-Vlb0#R-lC<;7Wxhd~WoyR!UMcO2*jQq9$3{+5?k<*y1j2Oh!IZ^ytwY?aq1Gg$e>yay%4lM`bi;ZNQ z(|iL6wI2eWg2xo0&B!Timy8q4H$j_*00DSW5z0o+V!?l->Dgqf4l&RK?pKC3AbHrZ zloP{mQYVRl2GCqNR*ziA9!WXT|3RIkvc&LaBp5p&;{@@I(1jtO3(QfBv5^QYUB(IF zLze$%6|3N=CYsMxFNl}!gBz8kdgL-zB+ZE8SF0^QiBNkM9gTxBCyiE`Mx*7s)TN%v zLgEXKtOe*OPTXPa zwo4d)=5O8>HdwnBPLUi**)qUUIU4rjo9`9}0Av(-1{L(Qm`8nkz1#j33^jW{H*>g+m zRBrY&`6aB}V7DO|gl%w+xR;tJI2h-Ed#EynZ{Qp@g~}&wiR0yTn5%=WL~nQz=eV&+ zwT}iJGlre@t)R=LcTa9>?JfB6UR-?1kVQ(0=#a2?@5Zz7zHWmqu08+Q)A=IWAz{d@ zXF_(`JD9QioL67v3qf5#PU3Ta>ecFem_9Q%_fE!i^JqVaB@`7q^h4!1oA?qc{-gNl z1ZVGBZE^mt<@CWG+1`M@XbWOtHQcXn33uxo>CevGgkhe(1CE^13oq$AKyF2|j7ud; zMcJ#90iIB{YIeliiwCZ)Nff_zu_BLaqy5s)^s&PqX06Lvfa5@_NXB(JfKeJ%5)xD6 zL-rbI!jnZ={dlrmrAWe)=Mx-&xrsOF<)T4M8JUyo&hqh^;JQ_4X+Eo073NtwfDA^G z-5hl)@1Vp&j!PXB`Jj;Gh`4`9-$BtBc2Xj^NmJ9Rj%?MLT4F{7H%qr@B-HCO{X$}i zXm(l{k^wC0LfvD!g?eN-`bxk;x4YkL+G;l%=guN|nM*IpRcPRhHglqbmz$;1q^8Q0cHliVe3HsjOk$8WPmLx!-FM)zRm1fobnmyO8kIk$c}rh{E$SO8YiU_bguVj zk19ED0&K0b%ZbJGMaw6!@dD0c&Fl$WL85sVSI>(pDCd`UY)M@b(<$dis@NkRC*QTW zDHduWcgdL-oGt*%mG;B#;#QJsa3(R;M0X--zVvC3?o;cYH=VpokQ%P=>{XdE*@Pp| z2X^?J*j-7me$7wz$tj}yd9}*JJBQicqivHaQ=;(%TX!ZoXPNt2_lG|5_+Cy|q`uk0 zau+Wcg^fp}tkBdIg7qnZi&8Qd;5BtSK}KSJ%(Ad`z1UcEO`_Sy%S@pVN1i}hf}WmM PyLr+u`m60kJ-t5wUg=ou diff --git a/tests/testdata/zig_clap_new_struct_tuple/expected_actions.json.gz b/tests/testdata/zig_clap_new_struct_tuple/expected_actions.json.gz index e2f82777b297f7cb92514fbcf23d5ada8031f93e..eae8298b1b44e72f5791c96149980c423f0369f0 100644 GIT binary patch delta 1990 zcmV;%2RZoG56BOY7=Qi^sR9dhFZ%-9+je2dF;fVuNP$G9%@%$4h26xlEe<8x6vei= z^kAv>%*UB;emG>l-Ygc&N8PkVT`k`&mXBol+wPZJ?tMm=6_9*Z%V!1>f17J^8HsI zz1Nz&G3(8f*}csK=j7<2uC_;yGWPuB+d-g*ywR2M6lqh|xBoh1piCe#0N7-x+u|88 zdib#IHqUaHrqee^|04~UGljt{I8PmBb{Wjw!!|d149pvSS2xmCJmi z%iZI*`Rw6(C+5)`Tiu%V1=ci1%d_9| zQxy*DJFsT=^<#_`TbJ75E<^#wN<>K##$EEJ$)EP1It9UehA3qbuCznOW>sj`@LFg|Jjc!|a?jaRmR-q__f!RYG0jM}Yf+pEeEOU#U^T?K0sMD>jQ%jDDK?#PWg`Msm~-2gIa#YC5n|j6 zVGaQQ{(pm$$0(pmQm~{=C!y~2yH6wC`w!hisjm-mqt!h5xxSv9W41-P7@O&)vu+?6 zrVmI?uUNOgOw-+(cnf#-dwop>$7&Q1JR7-k*GJE;%A2QA#6cy)A^?>=Aj$=9 zTX5+1MevbotG|q+B8v8bfo8L~gG(efwn^#5N?Tp(YrW(s&#NDFlbgC(mxa+yZcl7} zchNGzvl`-;IfqM3#R@N0m?hOZT9xSyK7S;fcFR!l%U)oc5U3EL4 zh9GFoZ8f2!k)<;fhn_wdqBx|Pqq75y#MlwJv-h%afl>gQ<%?1tH;HtkKJlT!2y9{*q{z5=2u0A=zrF` z<*}qKk?lMr^nh*%0Ej^J;?qxXhy!yYugg|jQ9gfgt`xeV3LpdZqNZmXHa);Th9XfH zwd#>3ru;GnPoWvY(a8+TNnhz7xf$ZmuNe>H1KiqAE<0m&Jd2mw!97u0adN@&3)qGW2K5O)oDhJp|=|){}BII4OY9 zu(O_IuiX_(J;_;wdUEVQP5V&hF7!a4%M1|6>O8tDPI2Z=0>|t|0Xj@?S0GtDBkbvV z%waHrIynoKNBa`CQzmya`Lf(EK%cX&OPxCn1`nRVLQShh1DXX0Mc#3o;D673g2 zFz^T#L@8B4GXf1k-+k z(+N2?v`RA18Re-Vx5^V2^2@3V$_WNC1r`cq&oNoY-ifuoPGT-_yni84km&R%cpjJu zcbLo}l+1pCVN43>34RL7?<{o^s}dLfaoS`k*+}A7`GnXOp@2r1gl*n~Xj}(GJsXv? zomx!;^pHd&(S{zCEL7Saaa9r|8Y!?AAeHb&G!uc2p3$Vzb94UJ1${#OF5{8Q$_l_| zf>Ov^;wbf&Ax^H%}rfUAS zmB)MwSLjAKpQ}K33T4~OOC!l}w`Z&T-Zih!GjtHZs&eYm zfbN<{qH}@nIV6<^=phei1KN`SpmQCMzhYI=vU!OQ`$*w;V}EVHTd{DV6u48tpTp** zz;CIvT&17jS<&EwZ2N*SzFinl6p;UA|>h8~K9D5w zVd8Xo-h*fq#fP@(Tr}1#d(%yM7V-x*!Ga zZu6&&k(7E%&_5^FW^xX}k9k}FP*$p&K;DW(B@2$8lSlyMNJ>q$2?P@VlMqTeZ=QWd Y_hzy9=jPl00RRC1|JZI3KX!8f0Ctns^#A|> delta 2004 zcmV;_2P^o<57rNm7=Q6+NEKM1d)XJ*-nI)vj+sJOMGEwjHe2-F7k2YwTbz+-Qxuct z(u1YiGarW^zZnjh?^lb(^4`=4q2Y>fjooAcEtheU6$m(qW z)d%l2ZC1DI%|p9;n@b^*gNLTv9z06<o!~t`vF_@(gvBS*IgSorgW~~_m^Tym%wXr#sZ%x_eH~F#4 zMYb`;?(t1-ihpf`JDq6B5T_F@bZse45-4^&9U@muo>H89h)KB#$vbon&Bw%LG%ruffk-y1Fu}AAd%%9choC)0P10&@1#pqOJ<*20d!A z1M-wPU=dqEk#`e6zy!9O0E2$*WRjv4pxGNp))!z0ctZTr9F)d#cTn0>@MiUw?$(qo zA=Y->i`fC`ii}zhnmlWo{7bpBaU^QW2{jL*9HdNfQ4UYZ^`w)x>~|cHF1P6pSf!?eg6LEZh`tl ziI^2u4`U+nRG4$qB8;Q6j)}w)4hPXbJKm$VZ+2?cNjXL^~N|#+#rCi~e2Dj*>pqZOb^jV75V3@C# zk6<%mh-@xT=bma`H(hx>;D$`lgxMNGQ6tM{$m|^FppVRsrGm)pcoJf}<;FUPk3T+@ z#~hu+z&$k-J++L3!pp|lBQ=HK0UxLfuhhU zYV{*dOvQN&9znMq6KLB96G`9cSKMz)m85t&b}u`EF$28v1Of)yMqXEkByfguF6V0G zm|dPzy5>b7h}L~yOGTNtc~<2AnSY&jXs9j@F7W!zimnZMNGcr+6@ccGYGse?5j0HZ zll-N+V#y~350Foe?bd1Tii|=J&=N2Jc#1lQ>I!Mj+#+zyRuZ6{`gRAR#WO&K-=T?u zOLUTRUpm^Aut}TfV)A*~&qJNFstS{l0fR4|z$+S_%^{l6Lw9`lDS_o@Y5veQjCz zgK#Dx*|c?Dez8|=e+JvJRY@gza$~Y zI!=?+vB7w1$gTE-h5Wqif{6qJnF03&vSW`cv3Fw4ucPP-ymZ4zp?|m1*pI5c-lKCq z&>lZ+87LH3a6DV&tpGw9rP5!Z^_2m783P0Db}T-MQ3(tGIB!yv+EwC~XZqNLVt}sa z5y!j((I`e7e)h%Su0cQZOD=*GwWf0whwW3q~cbm{)jfm6C3^ zns~fG3^z&xEd}33%qxjsIBNN;2+@y9WHC?NPp9URkdBw;y}_8rZ<18XTdEXpRKmhP z&YKiHrlxI|bWMHyOX02C@$$R_(P)OZ$g{a!s=9i6uoO&1NlY28chv0|mt$*_@)=eO1M}m@tKu@Ja0CFIw mrrHDoh5vOAt;kDyAJM&9EdIIr@qYjS0RR80a8?#UbpQYs)Zv)` diff --git a/tests/testdata/zig_clap_new_struct_tuple/expected_ui.json.gz b/tests/testdata/zig_clap_new_struct_tuple/expected_ui.json.gz index 7623bf48cb7117b56c189629bd4ea415125483f6..5b0bb744094e38eab8f8563a6e200018fb14d473 100644 GIT binary patch delta 4465 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 XyHX<-a3v)q#Nt3HSqbvDk`n&}PLP2r