(
(let $1 (DataType 'String))
(let $2 '('"value" $1))
(let $3 (StructType '('"key" $1) '('"subkey" $1) $2))
(let $4 '('('"_logical_id" '12242) '('"_id" '"48e4994d-f5b8b805-a28d9d39-54234f03") '('"_wide_channels" $3)))
(let $5 (DqPhyStage '() (lambda '() (block '(
  (let $19 '@@["StructType";[["key";["DataType";"String"]];["subkey";["DataType";"String"]];["value";["DataType";"String"]]]]@@)
  (let $20 (YqlRowSpec '('NativeYtTypeFlags '0) '('StrictSchema '1) '('UniqueKeys '0) '('Type $19)))
  (let $21 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0) '('Attrs '('('"native_strict_schema" '"false")))))
  (let $22 (YtStat '('Id '"Input") '('RecordsCount '"30") '('DataSize '"1170") '('ChunkCount '1) '('ModifyTime '0) '('Revision '0)))
  (let $23 (YtTable '"Input" $20 $21 $22 '() (Void) (Void) '"/Root/plato"))
  (let $24 '('"key" '"subkey" '"value"))
  (let $25 (YtReadTable! world (DataSource '"yt" '"/Root/plato") '((YtSection '((YtPath $23 $24 (Void) (Void))) '()))))
  (return (FromFlow (WideFilter (DqReadWideWrap $25 '()) (lambda '($26 $27 $28) (== $26 (String '1))))))
))) $4))
(let $6 (DqCnHashShuffle (TDqOutput $5 '0) '('0) '0 '"HashV2"))
(let $7 (ListType $1))
(let $8 (DataType 'Uint64))
(let $9 (OptionalType $8))
(let $10 '"agglist_distinct1")
(let $11 (StructType '('"agglist2" $7) '($10 $7) '('"count1" $8) '('"sum1" $8) '('"sum2" $9) $2))
(let $12 '('('"_logical_id" '13749) '('"_id" '"180d16d1-e0ed76c8-5c3d1319-b52aaaaf") '('"_wide_channels" $11)))
(let $13 (DqPhyStage '($6) (lambda '($29) (block '(
  (let $30 (NarrowSqueezeToDict (ToFlow $29) (lambda '($35 $36 $37) $35) (lambda '($38 $39 $40) (AsStruct '('"key" $38) '('"subkey" $39) '('"value" $40))) '('Auto 'Many)))
  (let $31 (Bool 'true))
  (let $32 (Chopper (OrderedFlatMap $30 (lambda '($41) (OrderedFlatMap (DictPayloads $41) (lambda '($42) (Sort $42 $31 (lambda '($43) (Member $43 '"value"))))))) (lambda '($44) (Member $44 '"key")) (lambda '($45 $46) (AggrNotEquals $45 (Member $46 '"key"))) (lambda '($47 $48) (block '(
    (let $49 (FromFlow $48))
    (let $50 (QueueCreate $3 (Uint64 '"5") (Uint64 '0) (DependsOn $49)))
    (let $51 (Uint64 '1))
    (let $52 (Uint64 '"2"))
    (let $53 (lambda '($98) $98))
    (let $54 (lambda '($99 $100) (Insert $100 (Member $99 '"subkey"))))
    (let $55 (ResourceType '"Set.SetResource.String"))
    (let $56 (TupleType (TupleType $55) (StructType) $1))
    (let $57 '($55))
    (let $58 (CallableType '() '($7) $57))
    (let $59 '('('"strict")))
    (let $60 (Udf '"Set.GetResult" (Void) $56 '"" $58 (VoidType) '"" $59))
    (let $61 (Uint64 '"4"))
    (let $62 (DataType 'Uint32))
    (let $63 '($1))
    (let $64 (DependsOn (Uint32 '1)))
    (let $65 (TupleType (TupleType $55 $1) (StructType) $1))
    (let $66 (CallableType '() $57 $57 $63))
    (let $67 (Udf '"Set.AddValue" (Void) $65 '"" $66 (VoidType) '"" $59))
    (let $68 (lambda '($101 $102) (NamedApply $67 '($102 (Member $101 '"subkey")) (AsStruct) $64)))
    (let $69 (lambda '($103 $104) (Inc $104)))
    (let $70 (OptionalType $62))
    (let $71 (lambda '($105 $106) (AggrAdd (SafeCast (Unwrap (SafeCast (Member $105 '"subkey") $70)) $8) $106)))
    (let $72 (lambda '($107) (Just (SafeCast $107 $8))))
    (let $73 (Nothing $9))
    (let $74 (lambda '($108 $109) (block '(
      (let $110 (IfPresent (SafeCast (Member $108 '"subkey") $70) $72 $73))
      (return (AggrAdd $110 $109))
    ))))
    (let $75 (Chain1Map (ToFlow (PreserveStream $49 $50 (Uint64 '"3"))) (lambda '($76) (block '(
      (let $77 (DependsOn $76))
      (let $78 (QueueRange $50 $51 $52 $77))
      (let $79 (FlatMap $78 $53))
      (let $80 (Member $76 '"subkey"))
      (let $81 (AsList $80))
      (let $82 (Fold $79 $81 $54))
      (let $83 (QueueRange $50 $51 $61 $77))
      (let $84 (FlatMap $83 $53))
      (let $85 (TupleType (TupleType $1 $62) (StructType) $1))
      (let $86 (CallableType '() $57 $63 '($62)))
      (let $87 (Udf '"Set.Create" (Void) $85 '"" $86 (VoidType) '"" $59))
      (let $88 (NamedApply $87 '($80 (Uint32 '0)) (AsStruct) $64))
      (let $89 (Fold $84 $88 $68))
      (let $90 (Fold $84 $51 $69))
      (let $91 (SafeCast $80 $70))
      (let $92 (SafeCast (Unwrap $91) $8))
      (let $93 (Fold $84 $92 $71))
      (let $94 (IfPresent $91 $72 $73))
      (let $95 (Fold $79 $94 $74))
      (let $96 (AsStruct '('AggregateList0 $82) '('AggregateListDistinct0 (Apply $60 $89)) '('Count0 $90) '('Sum0 $93) '('Sum1 $95) '('"key" (Member $76 '"key")) '('"subkey" $80) '('"value" (Member $76 '"value"))))
      (let $97 (AsStruct '('AggregateList0 $81) '('AggregateListDistinct0 $88) '('Count0 $51) '('Sum0 $92) '('Sum1 $94)))
      (return '($96 $97))
    ))) (lambda '($111 $112) (block '(
      (let $113 (DependsOn $111))
      (let $114 (QueueRange $50 $51 $52 $113))
      (let $115 (FlatMap $114 $53))
      (let $116 (Nth $112 '1))
      (let $117 (Member $111 '"subkey"))
      (let $118 (Insert (Member $116 'AggregateList0) $117))
      (let $119 (Fold $115 $118 $54))
      (let $120 (QueueRange $50 $51 $61 $113))
      (let $121 (FlatMap $120 $53))
      (let $122 (NamedApply $67 '((Member $116 'AggregateListDistinct0) $117) (AsStruct) $64))
      (let $123 (Fold $121 $122 $68))
      (let $124 (Inc (Member $116 'Count0)))
      (let $125 (Fold $121 $124 $69))
      (let $126 (SafeCast $117 $70))
      (let $127 (AggrAdd (SafeCast (Unwrap $126) $8) (Member $116 'Sum0)))
      (let $128 (Fold $121 $127 $71))
      (let $129 (IfPresent $126 $72 $73))
      (let $130 (AggrAdd $129 (Member $116 'Sum1)))
      (let $131 (Fold $115 $130 $74))
      (let $132 (AsStruct '('AggregateList0 $119) '('AggregateListDistinct0 (Apply $60 $123)) '('Count0 $125) '('Sum0 $128) '('Sum1 $131) '('"key" (Member $111 '"key")) '('"subkey" $117) '('"value" (Member $111 '"value"))))
      (let $133 (AsStruct '('AggregateList0 $118) '('AggregateListDistinct0 $122) '('Count0 $124) '('Sum0 $127) '('Sum1 $130)))
      (return '($132 $133))
    )))))
    (return (OrderedMap $75 (lambda '($134) (block '(
      (let $135 (Nth $134 '0))
      (return (AsStruct '('AggregateList0 (Member $135 'AggregateList0)) '('AggregateListDistinct0 (Member $135 'AggregateListDistinct0)) '('Count0 (Member $135 'Count0)) '('Sum0 (Member $135 'Sum0)) '('Sum1 (Member $135 'Sum1)) '('"value" (Member $135 '"value"))))
    )))))
  )))))
  (let $33 (Sort (Map $32 (lambda '($136) (block '(
    (let $137 (Sort (Member $136 'AggregateListDistinct0) $31 (lambda '($138) $138)))
    (return (AsStruct '('"agglist2" (Member $136 'AggregateList0)) '($10 $137) '('"count1" (Member $136 'Count0)) '('"sum1" (Member $136 'Sum0)) '('"sum2" (Member $136 'Sum1)) '('"value" (Member $136 '"value"))))
  )))) $31 (lambda '($139) (Member $139 '"value"))))
  (let $34 (lambda '($140) (Member $140 '"agglist2") (Member $140 $10) (Member $140 '"count1") (Member $140 '"sum1") (Member $140 '"sum2") (Member $140 '"value")))
  (return (FromFlow (ExpandMap $33 $34)))
))) $12))
(let $14 (DqCnMerge (TDqOutput $13 '0) '('('"5" '"Asc"))))
(let $15 (DqPhyStage '($14) (lambda '($141) (FromFlow (NarrowMap (ToFlow $141) (lambda '($142 $143 $144 $145 $146 $147) (AsStruct '('"agglist2" $142) '($10 $143) '('"count1" $144) '('"sum1" $145) '('"sum2" $146) '('"value" $147)))))) '('('"_logical_id" '13761) '('"_id" '"a59bf401-4f52acc4-71a6a758-1b1d5896"))))
(let $16 '($5 $13 $15))
(let $17 '('"value" '"sum1" '"count1" $10 '"sum2" '"agglist2"))
(let $18 (DqCnResult (TDqOutput $15 '0) $17))
(return (KqpPhysicalQuery '((KqpPhysicalTx $16 '($18) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType $11) '0 '0)) '('('"type" '"query"))))
)
