(command.CommandList
  children: [
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_Pound '$#'))} {(-lt)} {(2)} 
                  {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:49)
            )
          ]
          action: [
            (command.Simple
              words: [
                {(echo)}
                {
                  (DQ ('Usage: ') 
                    (command_sub
                      left_token: (Token id:Id.Left_Backtick val:'`' span_id:58)
                      command_list: 
                        (command.CommandList
                          children: [(C {(basename)} {($ Id.VSub_Number '$0')})]
                        )
                    ) (' MM YYYY [other find parameters]')
                  )
                }
              ]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:68)
                  fd: -1
                  arg_word: {(2)}
                )
              ]
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:72)
              arg_word: {(1)}
            )
          ]
          spids: [36 51]
        )
      ]
    )
    (C {(Id.KW_Set set)} {(-e)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:month)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$1')}
          spids: [87]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:year)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$2')}
          spids: [90]
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {(shift)})
          terminator: (Token id:Id.Op_Semi val:';' span_id:94)
        )
        (C {(shift)})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$month'))} {(Id.Lit_Equals '=')} 
                  {(DQ (12))} {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:114)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:next_year)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:120)
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {(expr)} {($ Id.VSub_DollarName '$year')} {(Id.Lit_Other '+')} {(1)})
                            ]
                          )
                      )
                    }
                  spids: [119]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:next_year)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:134)
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {(printf)} {(DQ ('%02d'))} {($ Id.VSub_DollarName '$next_year')})
                            ]
                          )
                      )
                    }
                  spids: [133]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:next_month)
                  op: assign_op.Equal
                  rhs: {(1)}
                  spids: [150]
                )
              ]
            )
          ]
          spids: [99 116]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:next_year)
              op: assign_op.Equal
              rhs: {($ Id.VSub_DollarName '$year')}
              spids: [156]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:next_month)
              op: assign_op.Equal
              rhs: 
                {
                  (command_sub
                    left_token: (Token id:Id.Left_Backtick val:'`' span_id:161)
                    command_list: 
                      (command.CommandList
                        children: [
                          (C {(expr)} {($ Id.VSub_DollarName '$month')} {(Id.Lit_Other '+')} {(1)})
                        ]
                      )
                  )
                }
              spids: [160]
            )
          ]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:now)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:176)
                command_list: 
                  (command.CommandList
                    children: [(C {(date)} {(--utc)} {(Id.Lit_Other '+') (Id.Lit_Other '%') (s)})]
                  )
              )
            }
          spids: [175]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:start)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:189)
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(date)} 
                        {(--date) (Id.Lit_Equals '=') 
                          (DQ ($ Id.VSub_DollarName '$year') (-) ($ Id.VSub_DollarName '$month') 
                            ('-01 UTC')
                          )
                        } {(Id.Lit_Other '+') (Id.Lit_Other '%') (s)}
                      )
                    ]
                  )
              )
            }
          spids: [188]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:end)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:209)
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(date)} 
                        {(--date) (Id.Lit_Equals '=') 
                          (DQ ($ Id.VSub_DollarName '$next_year') (-) 
                            ($ Id.VSub_DollarName '$next_month') ('-01 UTC')
                          )
                        } {(Id.Lit_Other '+') (Id.Lit_Other '%') (s)}
                      )
                    ]
                  )
              )
            }
          spids: [208]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {($ Id.VSub_DollarName '$start')} {(-gt)} 
                  {($ Id.VSub_DollarName '$now')} {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:240)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:start)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$now')}
                  spids: [245]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:end)
                  op: assign_op.Equal
                  rhs: {(DQ )}
                  spids: [249]
                )
              ]
            )
          ]
          spids: [229 242]
        )
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {($ Id.VSub_DollarName '$end')} {(-gt)} 
                  {($ Id.VSub_DollarName '$now')} {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:264)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:end)
                  op: assign_op.Equal
                  rhs: {(DQ )}
                  spids: [269]
                )
              ]
            )
          ]
          spids: [253 266]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:start_days_ago)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:277)
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(expr)} 
                        {
                          (word_part.EscapedLiteral
                            token: (Token id:Id.Lit_EscapedChar val:'\\(' span_id:286)
                          )
                        } {($ Id.VSub_DollarName '$now')} {(-)} {($ Id.VSub_DollarName '$start')} 
                        {
                          (word_part.EscapedLiteral
                            token: (Token id:Id.Lit_EscapedChar val:'\\)' span_id:294)
                          )
                        } {(/)} {(86400)}
                      )
                    ]
                  )
              )
            }
          spids: [276]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:start_days_ago)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:302)
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(expr)} {($ Id.VSub_DollarName '$start_days_ago')} {(Id.Lit_Other '+')} {(1)})
                    ]
                  )
              )
            }
          spids: [301]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$end'))} {(Id.Lit_RBracket ']')})
              terminator: (Token id:Id.Op_Semi val:';' span_id:323)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:end_days_ago)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:332)
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {(expr)} 
                                {
                                  (word_part.EscapedLiteral
                                    token: (Token id:Id.Lit_EscapedChar val:'\\(' span_id:341)
                                  )
                                } {($ Id.VSub_DollarName '$now')} {(-)} {($ Id.VSub_DollarName '$end')} 
                                {
                                  (word_part.EscapedLiteral
                                    token: (Token id:Id.Lit_EscapedChar val:'\\)' span_id:349)
                                  )
                                } {(/)} {(86400)}
                              )
                            ]
                          )
                      )
                    }
                  spids: [331]
                )
              ]
            )
            (C {(find)} {(DQ ($ Id.VSub_At '$@'))} {(-daystart)} {(-mtime)} 
              {(-) ($ Id.VSub_DollarName '$start_days_ago')} {(-mtime)} {(Id.Lit_Other '+') ($ Id.VSub_DollarName '$end_days_ago')}
            )
          ]
          spids: [314 325]
        )
      ]
      else_action: [
        (command.AndOr
          ops: [Id.Op_DAmp]
          children: [
            (C {(Id.Lit_LBracket '[')} 
              {
                (command_sub
                  left_token: (Token id:Id.Left_Backtick val:'`' span_id:380)
                  command_list: 
                    (command.CommandList
                      children: [
                        (command.Pipeline
                          children: [
                            (C {(echo)} {(-n)} {($ Id.VSub_DollarName '$month')})
                            (C {(wc)} {(-c)})
                          ]
                          negated: F
                        )
                      ]
                    )
                )
              } {(-eq)} {(1)} {(Id.Lit_RBracket ']')}
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:month)
                  op: assign_op.Equal
                  rhs: {(DQ (0) ($ Id.VSub_DollarName '$month'))}
                  spids: [404]
                )
              ]
            )
          ]
        )
        (command.AndOr
          ops: [Id.Op_DAmp]
          children: [
            (C {(Id.Lit_LBracket '[')} 
              {
                (command_sub
                  left_token: (Token id:Id.Left_Backtick val:'`' span_id:413)
                  command_list: 
                    (command.CommandList
                      children: [
                        (command.Pipeline
                          children: [
                            (C {(echo)} {(-n)} {($ Id.VSub_DollarName '$year')})
                            (C {(wc)} {(-c)})
                          ]
                          negated: F
                        )
                      ]
                    )
                )
              } {(-eq)} {(2)} {(Id.Lit_RBracket ']')}
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:year)
                  op: assign_op.Equal
                  rhs: {(DQ (20) ($ Id.VSub_DollarName '$year'))}
                  spids: [437]
                )
              ]
            )
          ]
        )
        (command.Pipeline
          children: [
            (C {(find)} {(DQ ($ Id.VSub_At '$@'))} {(-daystart)} {(-mtime)} 
              {(-) ($ Id.VSub_DollarName '$start_days_ago')} {(-printf)} {(DQ ('%p') (Id.Lit_Other '\\') ('0%Tm-%TY') (Id.Lit_Other '\\') (n))}
            )
            (command.Simple
              words: [
                {(grep)}
                {(-a)}
                {
                  (DQ ($ Id.VSub_DollarName '$month') (-) ($ Id.VSub_DollarName '$year') 
                    (Id.Lit_Other '$')
                  )
                }
              ]
              more_env: [(env_pair name:LANG val:{(C)} spids:[470])]
            )
            (C {(cut)} {(-d)} {(SQ )} {(-f1)})
          ]
          negated: F
        )
      ]
    )
  ]
)