(
(let $1 (DataType 'Uint32))
(let $2 (OptionalType $1))
(let $3 (Uint64 '1))
(let $4 (DataType 'Double))
(let $5 (DataType 'Uint64))
(let $6 (OptionalType (TupleType $4 $5)))
(let $7 (OptionalType $5))
(let $8 (ListType $1))
(let $9 (DataType 'String))
(let $10 '('prefix $9))
(let $11 '('"region" $2))
(let $12 (StructType '('_yql_agg_0 $8) '('_yql_agg_1 $6) '('_yql_agg_2 $7) $10 $11))
(let $13 '('('"_logical_id" '13192) '('"_id" '"d4c414cf-576df3ba-fecff876-f5e2ee07") '('"_wide_channels" $12)))
(let $14 (DqPhyStage '() (lambda '() (block '(
  (let $35 '@@["StructType";[["key";["DataType";"String"]];["subkey";["DataType";"String"]];["value";["DataType";"String"]]]]@@)
  (let $36 (YqlRowSpec '('NativeYtTypeFlags '0) '('StrictSchema '1) '('UniqueKeys '0) '('Type $35)))
  (let $37 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0) '('Attrs '('('"native_strict_schema" 'false)))))
  (let $38 (YtStat '('Id '"Input") '('RecordsCount '"14") '('DataSize '"614") '('ChunkCount '1) '('ModifyTime '0) '('Revision '0)))
  (let $39 (YtTable '"Input" $36 $37 $38 '() (Void) (Void) '"/Root/plato"))
  (let $40 '('"key" '"subkey" '"value"))
  (let $41 (YtReadTable! world (DataSource '"yt" '"/Root/plato") '((YtSection '((YtPath $39 $40 (Void) (Void))) '()))))
  (let $42 (lambda '($50 $51 $52) (block '(
    (let $53 (Substring $52 (Uint32 '0) (Uint32 '1)))
    (return $53 (SafeCast $51 $2))
  ))))
  (let $43 (lambda '($62) (Just '((Convert $62 'Double) $3))))
  (let $44 (Nothing $6))
  (let $45 (lambda '($63) (Just (SafeCast $63 $5))))
  (let $46 (Nothing $7))
  (let $47 (lambda '($54 $55 $56 $57 $58) (block '(
    (let $59 (SafeCast $56 $2))
    (let $60 (IfPresent $59 $43 $44))
    (let $61 (IfPresent $59 $45 $46))
    (return (ToList (SafeCast $57 $2)) $60 $61)
  ))))
  (let $48 (lambda '($64 $65 $66 $67 $68 $69 $70 $71) (block '(
    (let $72 (IfPresent (SafeCast $67 $2) (lambda '($77) (Insert $69 $77)) $69))
    (let $73 (SafeCast $66 $2))
    (let $74 (IfPresent $73 $43 $44))
    (let $75 (IfPresent $70 (lambda '($78) (IfPresent $73 (lambda '($79) (Just '((AggrAdd (Nth $78 '0) (Convert $79 'Double)) (Inc (Nth $78 '1))))) (Just $78))) $74))
    (let $76 (IfPresent $73 $45 $46))
    (return $72 $75 (AggrAdd $76 $71))
  ))))
  (let $49 (lambda '($80 $81 $82 $83 $84) $82 $83 $84 $80 $81))
  (return (WideFromBlocks (DqPhyHashCombine (WideToBlocks (FromFlow (DqReadWideWrap $41 '()))) '-1073741824 $42 $47 $48 $49)))
))) $13))
(let $15 (DqCnHashShuffle (TDqOutput $14 '0) '('"3" '"4") '0 '"HashV2"))
(let $16 (OptionalType $4))
(let $17 '('AggregateList0 $8))
(let $18 '('Avg0 $16))
(let $19 '('Avg1 $16))
(let $20 '('Avg2 $16))
(let $21 '('Sum0 $7))
(let $22 (StructType $17 $18 $19 $20 $21 $10 $11))
(let $23 '('('"_logical_id" '17218) '('"_id" '"6e70a309-30f67324-da0172a-cb50d82") '('"_partition_mode" '"aggregate") '('"_wide_channels" $22)))
(let $24 (DqPhyStage '($15) (lambda '($85) (block '(
  (let $86 (lambda '($92 $93 $94 $95 $96) $95 $96))
  (let $87 (lambda '($97 $98 $99 $100 $101 $102 $103) $99 $100 $101))
  (let $88 (lambda '($104 $105 $106 $107 $108 $109 $110 $111 $112 $113) (block '(
    (let $114 (IfPresent $107 (lambda '($115) (IfPresent $112 (lambda '($116) (Just '((AggrAdd (Nth $115 '0) (Nth $116 '0)) (AggrAdd (Nth $115 '1) (Nth $116 '1))))) $107)) $112))
    (return (Extend $106 $111) $114 (AggrAdd $108 $113))
  ))))
  (let $89 (lambda '($117 $118 $119 $120 $121) (block '(
    (let $122 (IfPresent $120 (lambda '($123) (Just (Div (Nth $123 '0) (Nth $123 '1)))) (Nothing $16)))
    (return $119 $122 $121 $117 $118)
  ))))
  (let $90 (WideCombiner (ToFlow $85) '"" $86 $87 $88 $89))
  (let $91 (lambda '($124 $125 $126 $127 $128) $124 $125 $125 $125 $126 $127 $128))
  (return (FromFlow (WideMap $90 $91)))
))) $23))
(let $25 (DqCnHashShuffle (TDqOutput $24 '0) '('"6") '0 '"HashV2"))
(let $26 (OptionalType $8))
(let $27 (StructType '('"avg_age" $16) '('"column8" $9) $10 '('"prev_region" $2) '('"prev_region_list" $26) $11 '('"region_2" (OptionalType (DataType 'Int32))) '('"sum_age" $7) '('"sum_by_avg_age" $16)))
(let $28 '('('"_logical_id" '18629) '('"_id" '"a6fc8eda-4a5cc91b-f0e16651-da21e2ab") '('"_wide_channels" $27)))
(let $29 (DqPhyStage '($25) (lambda '($129) (block '(
  (let $130 (NarrowSqueezeToDict (ToFlow $129) (lambda '($135 $136 $137 $138 $139 $140 $141) $141) (lambda '($142 $143 $144 $145 $146 $147 $148) (AsStruct '('AggregateList0 $142) '('Avg0 $143) '('Avg1 $144) '('Avg2 $145) '('Sum0 $146) '('prefix $147) '('"region" $148))) '('Auto 'Many)))
  (let $131 (Bool 'false))
  (let $132 (Chopper (OrderedFlatMap $130 (lambda '($149) (OrderedFlatMap (DictPayloads $149) (lambda '($150) (Sort $150 $131 (lambda '($151) (Member $151 'Avg2))))))) (lambda '($152) (Member $152 '"region")) (lambda '($153 $154) (AggrNotEquals $153 (Member $154 '"region"))) (lambda '($155 $156) (block '(
    (let $157 (FromFlow $156))
    (let $158 (Chain1Map $157 (lambda '($170) (block '(
      (let $171 (Member $170 'Avg1))
      (let $172 '('Sum1 $171))
      (let $173 (AsStruct '('AggregateList0 (Member $170 'AggregateList0)) '('Avg0 (Member $170 'Avg0)) '('Avg1 $171) '('Avg2 (Member $170 'Avg2)) '('Sum0 (Member $170 'Sum0)) $172 '('prefix (Member $170 'prefix)) '('"region" (Member $170 '"region"))))
      (return '($173 (AsStruct $172)))
    ))) (lambda '($174 $175) (block '(
      (let $176 (Member $174 'Avg1))
      (let $177 '('Sum1 (AggrAdd $176 (Member (Nth $175 '1) 'Sum1))))
      (let $178 (AsStruct '('AggregateList0 (Member $174 'AggregateList0)) '('Avg0 (Member $174 'Avg0)) '('Avg1 $176) '('Avg2 (Member $174 'Avg2)) '('Sum0 (Member $174 'Sum0)) $177 '('prefix (Member $174 'prefix)) '('"region" (Member $174 '"region"))))
      (return '($178 (AsStruct $177)))
    )))))
    (let $159 (StructType $17 $18 $19 $20 $21 '('Sum1 $16) $10 $11))
    (let $160 (ListType $159))
    (let $161 (VariantType (StructType '('group $160) '('singleRow $159))))
    (let $162 (Condense1 $158 (lambda '($179) (block '(
      (let $180 (Nth $179 '0))
      (let $181 (Variant $180 'singleRow $161))
      (return '((Member $180 'Avg2) $181))
    ))) (lambda '($182 $183) (AggrNotEquals (Member (Nth $182 '0) 'Avg2) (Nth $183 '0))) (lambda '($184 $185) (block '(
      (let $186 (Nth $184 '0))
      (let $187 (Visit (Nth $185 '1) 'group (lambda '($188) (Variant (Insert $188 $186) 'group $161)) 'singleRow (lambda '($189) (Variant (AsList $189 $186) 'group $161))))
      (return '((Nth $185 '0) $187))
    )))))
    (let $163 (QueueCreate $159 (Uint64 '"3") $3 (DependsOn $157)))
    (let $164 (Uint64 '0))
    (let $165 (lambda '($201) (Member $201 '"region")))
    (let $166 (Nothing $2))
    (let $167 (lambda '($202) (Just (Member $202 'AggregateList0))))
    (let $168 (Nothing $26))
    (let $169 (Chain1Map (ToFlow (PreserveStream (OrderedFlatMap $162 (lambda '($190) (Visit (Nth $190 '1) 'group (lambda '($191) (IfPresent (Last $191) (lambda '($192) (OrderedMap (Collect (Map $191 (lambda '($193) (AsStruct '('AggregateList0 (Member $193 'AggregateList0)) '('Avg0 (Member $193 'Avg0)) '('Avg1 (Member $193 'Avg1)) '('Avg2 (Member $193 'Avg2)) '('Sum0 (Member $193 'Sum0)) '('prefix (Member $193 'prefix)) '('"region" (Member $193 '"region")))))) (lambda '($194) (AsStruct '('AggregateList0 (Member $194 'AggregateList0)) '('Avg0 (Member $194 'Avg0)) '('Avg1 (Member $194 'Avg1)) '('Avg2 (Member $194 'Avg2)) '('Sum0 (Member $194 'Sum0)) '('Sum1 (Member $192 'Sum1)) '('prefix (Member $194 'prefix)) '('"region" (Member $194 '"region")))))) (List $160))) 'singleRow (lambda '($195) (AsList $195))))) $163 $164)) (lambda '($196) (block '(
      (let $197 (QueuePeek $163 $164 (DependsOn $196)))
      (let $198 (IfPresent $197 $165 $166))
      (let $199 (IfPresent $197 $167 $168))
      (let $200 (AsStruct '('AggregateList0 (Member $196 'AggregateList0)) '('Avg0 (Member $196 'Avg0)) '('Avg1 (Member $196 'Avg1)) '('Avg2 (Member $196 'Avg2)) '('Sum0 (Member $196 'Sum0)) '('Sum1 (Member $196 'Sum1)) '('_yql_Lag0 $198) '('_yql_Lag1 $199) '('prefix (Member $196 'prefix)) '('"region" (Member $196 '"region"))))
      (return '($200 (AsStruct '('_yql_Lag0 (Void)) '('_yql_Lag1 (Void)))))
    ))) (lambda '($203 $204) (block '(
      (let $205 (QueuePeek $163 $164 (DependsOn $203)))
      (let $206 (IfPresent $205 $165 $166))
      (let $207 (IfPresent $205 $167 $168))
      (let $208 (AsStruct '('AggregateList0 (Member $203 'AggregateList0)) '('Avg0 (Member $203 'Avg0)) '('Avg1 (Member $203 'Avg1)) '('Avg2 (Member $203 'Avg2)) '('Sum0 (Member $203 'Sum0)) '('Sum1 (Member $203 'Sum1)) '('_yql_Lag0 $206) '('_yql_Lag1 $207) '('prefix (Member $203 'prefix)) '('"region" (Member $203 '"region"))))
      (return '($208 (Nth $204 '1)))
    )))))
    (return (OrderedMap $169 (lambda '($209) (block '(
      (let $210 (Nth $209 '0))
      (return (AsStruct '('Avg0 (Member $210 'Avg0)) '('Sum0 (Member $210 'Sum0)) '('Sum1 (Member $210 'Sum1)) '('_yql_Lag0 (Member $210 '_yql_Lag0)) '('_yql_Lag1 (Member $210 '_yql_Lag1)) '('prefix (Member $210 'prefix)) '('"region" (Member $210 '"region"))))
    )))))
  )))))
  (let $133 (Sort (Map $132 (lambda '($211) (block '(
    (let $212 (Member $211 '"region"))
    (return (AsStruct '('"avg_age" (Member $211 'Avg0)) '('"column8" (String '"test")) '('prefix (Member $211 'prefix)) '('"prev_region" (Member $211 '_yql_Lag0)) '('"prev_region_list" (Member $211 '_yql_Lag1)) '('"region" $212) '('"region_2" (+ $212 (Int32 '"2"))) '('"sum_age" (Member $211 'Sum0)) '('"sum_by_avg_age" (Member $211 'Sum1))))
  )))) '((Bool 'true) $131) (lambda '($213) '((Member $213 '"region") (Member $213 '"avg_age")))))
  (let $134 (lambda '($214) (Member $214 '"avg_age") (Member $214 '"column8") (Member $214 'prefix) (Member $214 '"prev_region") (Member $214 '"prev_region_list") (Member $214 '"region") (Member $214 '"region_2") (Member $214 '"sum_age") (Member $214 '"sum_by_avg_age")))
  (return (FromFlow (ExpandMap $133 $134)))
))) $28))
(let $30 (DqCnMerge (TDqOutput $29 '0) '('('"5" '"Asc") '('0 '"Desc"))))
(let $31 (DqPhyStage '($30) (lambda '($215) (FromFlow (NarrowMap (ToFlow $215) (lambda '($216 $217 $218 $219 $220 $221 $222 $223 $224) (AsStruct '('"avg_age" $216) '('"column8" $217) '('prefix $218) '('"prev_region" $219) '('"prev_region_list" $220) '('"region" $221) '('"region_2" $222) '('"sum_age" $223) '('"sum_by_avg_age" $224)))))) '('('"_logical_id" '18641) '('"_id" '"8bd5fad4-25ba85c0-bdca35b1-8b3a1015"))))
(let $32 '($14 $24 $29 $31))
(let $33 '('prefix '"region" '"region_2" '"avg_age" '"sum_age" '"sum_by_avg_age" '"prev_region" '"prev_region_list" '"column8"))
(let $34 (DqCnResult (TDqOutput $31 '0) $33))
(return (KqpPhysicalQuery '((KqpPhysicalTx $32 '($34) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType $27) '0 '0)) '('('"type" '"query"))))
)
