# Instructions

- Following Playwright test failed.
- Explain why, be concise, respect Playwright best practices.
- Provide a snippet of code with the fix, if possible.

# Test info

- Name: 4152/dev/telegram-user-information-change.spec.ts >> [4152][dev] [QA] 회원 보안정보 변경 텔레그램 알림 검증 >> ADMIN 회원의 비밀번호 및 2차 인증 변경 시 회원 정보 변경 텔레그램 알림이 발송되는지 확인
- Location: src/qa/scenarios/telegramUserInformationChange.ts:174:7

# Error details

```
Error: ADMIN 비밀번호 변경/원복 알림은 2건 이상이어야 합니다.

expect(received).toBeGreaterThanOrEqual(expected)

Expected: >= 2
Received:    0
```

# Page snapshot

```yaml
- generic [ref=e2]:
  - generic [ref=e4]:
    - button "공지 배너 닫기" [ref=e5] [cursor=pointer]
    - generic [ref=e10] [cursor=pointer]: 테스트
  - generic [ref=e12]:
    - generic:
      - generic:
        - generic:
          - generic:
            - generic:
              - generic:
                - main:
                  - generic:
                    - generic:
                      - generic:
                        - generic: 2026년 09월 17일
                        - generic: 요약
                      - generic:
                        - generic:
                          - generic:
                            - generic: 일일 거래액
                            - button: 더보기
                          - generic:
                            - generic: ₩0
                        - generic:
                          - generic:
                            - generic: 일일 거래건수
                            - button: 더보기
                          - generic:
                            - generic: 0건
                        - generic:
                          - generic:
                            - generic: 지갑 잔액
                            - button: 더보기
                          - generic:
                            - generic: ₩4,008,528,510
                    - generic:
                      - generic:
                        - generic:
                          - generic: 영업점 잠금 예약
                          - button: 더보기
                        - generic: 잠금 예약된 영업점이 없습니다
                      - generic:
                        - generic:
                          - generic: 가맹점 잠금 예약
                          - button: 더보기
                        - generic: 잠금 예약된 가맹점이 없습니다
                    - generic:
                      - generic:
                        - generic: 미수금 관리
                        - generic:
                          - button: 전체
                          - button: 일수금
                          - button: 채권
                          - button: 통신비
                      - generic:
                        - generic:
                          - generic:
                            - generic: 일수금
                            - generic: 3건
                          - paragraph: 남은금액
                          - generic:
                            - generic: 1,110,000
                            - generic: / 1,110,000
                        - generic:
                          - generic:
                            - generic: 채권
                            - generic: 16건
                          - paragraph: 남은금액
                          - generic:
                            - generic: 214,612
                        - generic:
                          - generic:
                            - generic: 통신비
                            - generic: 49건
                          - paragraph: 남은금액
                          - generic:
                            - generic: 1,458,445
                      - generic:
                        - generic:
                          - generic: "#"
                          - generic: 유형
                          - generic: 부서유형
                          - generic: 부서명
                          - generic: 회수실패
                          - generic: 남은횟수
                          - generic: 남은금액
                          - generic: 총액
                          - generic: 상환금액
                        - generic:
                          - generic: "1"
                          - generic: 일수금
                          - generic: 가맹점
                          - generic: 안승현 가맹3
                          - generic: "0"
                          - generic: "2"
                          - generic: 10,000
                          - generic: 10,000
                          - generic: "0"
                        - generic:
                          - generic: "2"
                          - generic: 일수금
                          - generic: 가맹점
                          - generic: 최인석 가맹
                          - generic: "0"
                          - generic: "334"
                          - generic: 1,000,000
                          - generic: 1,000,000
                          - generic: "0"
                        - generic:
                          - generic: "3"
                          - generic: 일수금
                          - generic: 가맹점
                          - generic: 박재민_가맹
                          - generic: "0"
                          - generic: "1000"
                          - generic: 100,000
                          - generic: 100,000
                          - generic: "0"
                        - generic:
                          - generic: "4"
                          - generic: 채권
                          - generic: 가맹점
                          - generic: A_주홍석_가맹4_루시페이먼츠
                          - generic: "0"
                          - generic: "0"
                          - generic: 1,000
                        - generic:
                          - generic: "5"
                          - generic: 채권
                          - generic: 가맹점
                          - generic: 박재민_가맹
                          - generic: "0"
                          - generic: "0"
                          - generic: 126,000
                        - generic:
                          - generic: "6"
                          - generic: 채권
                          - generic: 법인
                          - generic: 박재민_법인
                          - generic: "0"
                          - generic: "0"
                          - generic: 80,898
                        - generic:
                          - generic: "7"
                          - generic: 채권
                          - generic: 영업점
                          - generic: 박재민_영업2
                          - generic: "0"
                          - generic: "0"
                          - generic: "140"
                        - generic:
                          - generic: "8"
                          - generic: 채권
                          - generic: 영업점
                          - generic: 박재민_영업3
                          - generic: "0"
                          - generic: "0"
                          - generic: "140"
                        - generic:
                          - generic: "9"
                          - generic: 채권
                          - generic: 영업점
                          - generic: 박재민_영업4
                          - generic: "0"
                          - generic: "0"
                          - generic: 9,380
                        - generic:
                          - generic: "10"
                          - generic: 채권
                          - generic: 법인
                          - generic: 최인석 법인
                          - generic: 32,809
                          - generic: 32,809
                          - generic: "99"
                        - generic:
                          - generic: "11"
                          - generic: 채권
                          - generic: 가맹점
                          - generic: 최인석 가맹
                          - generic: "0"
                          - generic: "0"
                          - generic: 9,696
                        - generic:
                          - generic: "12"
                          - generic: 채권
                          - generic: 가맹점
                          - generic: A_주홍석_정산가맹1
                          - generic: "0"
                          - generic: "0"
                          - generic: 1,000
                        - generic:
                          - generic: "13"
                          - generic: 채권
                          - generic: 가맹점
                          - generic: 박재민_가맹2
                          - generic: "123"
                          - generic: "123"
                          - generic: "0"
                        - generic:
                          - generic: "14"
                          - generic: 채권
                          - generic: 가맹점
                          - generic: 박재민_가맹_한결데
                          - generic: 28,249
                          - generic: 28,249
                          - generic: 126,636
                        - generic:
                          - generic: "15"
                          - generic: 채권
                          - generic: 영업점
                          - generic: 안영업
                          - generic: "0"
                          - generic: "0"
                          - generic: "51"
                        - generic:
                          - generic: "16"
                          - generic: 채권
                          - generic: 가맹점
                          - generic: 박재민_가맹3
                          - generic: 100,000
                          - generic: 100,000
                          - generic: "0"
                        - generic:
                          - generic: "17"
                          - generic: 채권
                          - generic: 법인
                          - generic: 안법인
                          - generic: 21,997
                          - generic: 21,997
                          - generic: 16,880
                        - generic:
                          - generic: "18"
                          - generic: 채권
                          - generic: 법인
                          - generic: 반길현_법인
                          - generic: "89"
                          - generic: "89"
                          - generic: "245"
                        - generic:
                          - generic: "19"
                          - generic: 채권
                          - generic: 가맹점
                          - generic: 박재민_가맹8
                          - generic: 31,345
                          - generic: 31,345
                          - generic: "0"
                        - generic:
                          - generic: "20"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 김경주_가맹_테스트9
                          - generic: 22,000
                          - generic: 22,000
                          - generic: "0"
                        - generic:
                          - generic: "21"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 안가맹
                          - generic: "0"
                          - generic: "0"
                          - generic: 11,000
                        - generic:
                          - generic: "22"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 가맹 엑셀 테스트
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "23"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 안승현 가맹1
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "24"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 안승현 가맹2
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "25"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 안승현 가맹3
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "26"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 안승현 가맹4
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "27"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 안승현 가맹5
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "28"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 최인석 가맹10
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "29"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 최인석 가맹11
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "30"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 최인석 가맹12
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "31"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 최인석 가맹13
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "32"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 최인석 가맹14
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "33"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 최인석 가맹15
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "34"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 최인석 가맹16
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "35"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 최인석 가맹17
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "36"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 최인석 가맹8
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "37"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 최인석 가맹9
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "38"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 김경주_가맹_테스트10
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "39"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 김경주_가맹_테스트11
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "40"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 김경주_가맹_테스트12
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "41"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 김경주_가맹_테스트13
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "42"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 김경주_가맹_테스트14
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "43"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 김경주_가맹_테스트15
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "44"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 김경주_가맹_테스트7
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "45"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 김경주_가맹_테스트8
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "46"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 박재민_가맹2
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "47"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 박재민_가맹3
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "48"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 박재민_가맹5
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "49"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 박재민_가맹6
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                        - generic:
                          - generic: "50"
                          - generic: 통신비
                          - generic: 가맹점
                          - generic: 박재민_가맹7
                          - generic: 33,000
                          - generic: 33,000
                          - generic: "0"
                    - generic:
                      - generic:
                        - generic: 공지사항
                        - button: 더보기
                      - generic:
                        - generic:
                          - generic: 테스트
                          - generic: 2026.09.10
                        - generic:
                          - generic: 공지사항 이미지 테스트
                          - generic: 2026.09.07
                        - generic:
                          - generic: 테스트2
                          - generic: 2026.07.14
                        - generic:
                          - generic: 테스트
                          - generic: 2026.06.09
                        - generic:
                          - generic: 공지 테스트 0512
                          - generic: 2026.05.12
                        - generic:
                          - generic: 패치노트 링크연결테스트
                          - generic: 2026.04.17
    - generic [ref=e14]:
      - generic [ref=e15]:
        - generic [ref=e16]:
          - link "logo 빅스페이먼츠" [ref=e18] [cursor=pointer]:
            - /url: /
            - img "logo" [ref=e19]
            - generic [ref=e20]: 빅스페이먼츠
          - button "사이드바 접기" [ref=e21] [cursor=pointer]:
            - img [ref=e24]
            - generic:
              - img "메뉴 열기"
        - generic [ref=e27]:
          - navigation "열린 페이지 탭" [ref=e28]:
            - generic [ref=e29]:
              - generic "홈" [ref=e30]:
                - generic [ref=e32] [cursor=pointer]:
                  - img [ref=e33]
                  - generic [ref=e36]: 홈
              - button "홈" [disabled] [ref=e38] [cursor=pointer]:
                - generic [ref=e39]:
                  - img
                  - generic [ref=e41]:
                    - generic [ref=e43]: 홈
                    - generic "홈 고정 탭" [ref=e44]:
                      - img [ref=e45]
              - button "새 탭 열기" [ref=e49] [cursor=pointer]:
                - img [ref=e50]
            - status [ref=e51]
          - generic [ref=e52]:
            - generic [ref=e54] [cursor=pointer]:
              - textbox "빅스페이먼츠" [ref=e55]
              - img [ref=e56]
            - button "다운로드 이력" [ref=e58] [cursor=pointer]:
              - img [ref=e59]
            - generic [ref=e63]:
              - img [ref=e64]
              - generic [ref=e67]: 167:59:57
              - button "연장" [ref=e68] [cursor=pointer]
            - button "secret-redacted" [ref=e69] [cursor=pointer]:
              - generic [ref=e71]: secret-redacted
      - generic [ref=e72]:
        - generic [ref=e77]:
          - link "시스템메뉴 이동" [ref=e79] [cursor=pointer]:
            - /url: /admin/account-management/bigs-account
            - generic [ref=e80]: 시스템메뉴 이동
            - img [ref=e81]
          - generic [ref=e88]:
            - button "범례 범례 설명" [ref=e89] [cursor=pointer]:
              - generic [ref=e90]:
                - generic [ref=e91]: 범례
                - generic "범례 설명" [ref=e92]:
                  - img [ref=e93]
              - img [ref=e96]
            - generic [ref=e98]:
              - generic [ref=e101]: 법인
              - generic [ref=e104]: 영업점
          - list [ref=e106]:
            - listitem [ref=e107]:
              - generic [ref=e111]:
                - img [ref=e113]
                - generic [ref=e116]: 홈
            - listitem [ref=e117]:
              - generic [ref=e119]:
                - generic [ref=e120] [cursor=pointer]:
                  - generic [ref=e121]:
                    - img [ref=e123]
                    - generic [ref=e125]: 거래내역(크로스페이)
                  - button [ref=e126]
                - list:
                  - generic [ref=e128]:
                    - button "결제내역 새 탭으로 열기" [ref=e129] [cursor=pointer]:
                      - img [ref=e130]
                    - link "결제내역" [ref=e133] [cursor=pointer]:
                      - /url: /crosspay/transactions?tenantId=redacted
                  - generic [ref=e134]:
                    - button "보류내역 새 탭으로 열기" [ref=e135] [cursor=pointer]:
                      - img [ref=e136]
                    - link "보류내역" [ref=e139] [cursor=pointer]:
                      - /url: /crosspay/hold?tenantId=redacted
                  - generic [ref=e140]:
                    - button "차감내역 새 탭으로 열기" [ref=e141] [cursor=pointer]:
                      - img [ref=e142]
                    - link "차감내역" [ref=e145] [cursor=pointer]:
                      - /url: /crosspay/deduction?tenantId=redacted
                  - generic [ref=e146]:
                    - button "단말기미등록 결제내역 새 탭으로 열기" [ref=e147] [cursor=pointer]:
                      - img [ref=e148]
                    - link "단말기미등록 결제내역" [ref=e151] [cursor=pointer]:
                      - /url: /crosspay/unregistered-mid?tenantId=redacted
                  - generic [ref=e152]:
                    - button "가맹점 정산차감 내역 새 탭으로 열기" [ref=e153] [cursor=pointer]:
                      - img [ref=e154]
                    - link "가맹점 정산차감 내역" [ref=e157] [cursor=pointer]:
                      - /url: /crosspay/negative-settlement?tenantId=redacted
            - listitem [ref=e158]:
              - generic [ref=e160]:
                - generic [ref=e161] [cursor=pointer]:
                  - generic [ref=e162]:
                    - img [ref=e164]
                    - generic [ref=e166]: 거래관리
                  - button [ref=e167]
                - list:
                  - generic [ref=e169]:
                    - button "거래내역 새 탭으로 열기" [ref=e170] [cursor=pointer]:
                      - img [ref=e171]
                    - link "거래내역" [ref=e174] [cursor=pointer]:
                      - /url: /trade-history-v2?tenantId=redacted
                  - generic [ref=e175]:
                    - button "상계처리내역 새 탭으로 열기" [ref=e176] [cursor=pointer]:
                      - img [ref=e177]
                    - link "상계처리내역" [ref=e180] [cursor=pointer]:
                      - /url: /offset-management?tenantId=redacted
                  - generic [ref=e181]:
                    - button "수기결제내역 새 탭으로 열기" [ref=e182] [cursor=pointer]:
                      - img [ref=e183]
                    - link "수기결제내역" [ref=e186] [cursor=pointer]:
                      - /url: /log-management/manual-log?tenantId=redacted
                  - generic [ref=e187]:
                    - button "거래로그 새 탭으로 열기" [ref=e188] [cursor=pointer]:
                      - img [ref=e189]
                    - link "거래로그" [ref=e192] [cursor=pointer]:
                      - /url: /payment-history?tenantId=redacted
                  - generic [ref=e193]:
                    - button "PG거래대사 새 탭으로 열기" [ref=e194] [cursor=pointer]:
                      - img [ref=e195]
                    - link "PG거래대사" [ref=e198] [cursor=pointer]:
                      - /url: /master-accounting/pg-reconciliation?tenantId=redacted
                  - generic [ref=e199]:
                    - button "영업점 기준 수익 집계 새 탭으로 열기" [ref=e200] [cursor=pointer]:
                      - img [ref=e201]
                    - link "영업점 기준 수익 집계" [ref=e204] [cursor=pointer]:
                      - /url: /branch-office-aggregations?tenantId=redacted
                  - generic [ref=e205]:
                    - button "링크발송내역 새 탭으로 열기" [ref=e206] [cursor=pointer]:
                      - img [ref=e207]
                    - link "링크발송내역" [ref=e210] [cursor=pointer]:
                      - /url: /link-payment?tenantId=redacted
                  - generic [ref=e211]:
                    - button "과세자료 새 탭으로 열기" [ref=e212] [cursor=pointer]:
                      - img [ref=e213]
                    - link "과세자료" [ref=e216] [cursor=pointer]:
                      - /url: /tax-reports/taxable-materials?tenantId=redacted
                  - generic [ref=e217]:
                    - button "부가세 신고자료 새 탭으로 열기" [ref=e218] [cursor=pointer]:
                      - img [ref=e219]
                    - link "부가세 신고자료" [ref=e222] [cursor=pointer]:
                      - /url: /tax-reports/vat-reports?tenantId=redacted
                  - generic [ref=e223]:
                    - button "배송정보조회(달큐) 새 탭으로 열기" [ref=e224] [cursor=pointer]:
                      - img [ref=e225]
                    - link "배송정보조회(달큐)" [ref=e228] [cursor=pointer]:
                      - /url: /payment-deliveries?tenantId=redacted
            - listitem [ref=e229]:
              - generic [ref=e231]:
                - generic [ref=e232] [cursor=pointer]:
                  - generic [ref=e233]:
                    - img [ref=e235]
                    - generic [ref=e238]: 계좌관리
                  - button [ref=e239]
                - list:
                  - generic [ref=e241]:
                    - button "펌뱅킹 등록 새 탭으로 열기" [ref=e242] [cursor=pointer]:
                      - img [ref=e243]
                    - link "펌뱅킹 등록" [ref=e246] [cursor=pointer]:
                      - /url: /account/account-inquiry?tenantId=redacted
                  - generic [ref=e247]:
                    - button "모계좌 관리 새 탭으로 열기" [ref=e248] [cursor=pointer]:
                      - img [ref=e249]
                    - link "모계좌 관리" [ref=e252] [cursor=pointer]:
                      - /url: /admin/master-accounting/firm-bank-root-accounts
                  - generic [ref=e253]:
                    - button "운영계좌 관리 새 탭으로 열기" [ref=e254] [cursor=pointer]:
                      - img [ref=e255]
                    - link "운영계좌 관리" [ref=e258] [cursor=pointer]:
                      - /url: /master-accounting/disbursement-accounts?tenantId=redacted
                  - generic [ref=e259]:
                    - button "운영계좌 입출금 내역 새 탭으로 열기" [ref=e260] [cursor=pointer]:
                      - img [ref=e261]
                    - link "운영계좌 입출금 내역" [ref=e264] [cursor=pointer]:
                      - /url: /master-accounting/disbursement-accounts-inout-history?tenantId=redacted
                  - generic [ref=e265]:
                    - button "법인계좌관리 새 탭으로 열기" [ref=e266] [cursor=pointer]:
                      - img [ref=e267]
                    - link "법인계좌관리" [ref=e270] [cursor=pointer]:
                      - /url: /master-accounting/corporation-accounts?tenantId=redacted
                  - generic [ref=e271]:
                    - button "법인계좌 입출금 내역 새 탭으로 열기" [ref=e272] [cursor=pointer]:
                      - img [ref=e273]
                    - link "법인계좌 입출금 내역" [ref=e276] [cursor=pointer]:
                      - /url: /master-accounting/corporation-accounts-inout-history?tenantId=redacted
                  - generic [ref=e277]:
                    - button "입금확인 새 탭으로 열기" [ref=e278] [cursor=pointer]:
                      - img [ref=e279]
                    - link "입금확인" [ref=e282] [cursor=pointer]:
                      - /url: /account/deposit-confirmation?tenantId=redacted
                  - generic [ref=e283]:
                    - button "이체내역 새 탭으로 열기" [ref=e284] [cursor=pointer]:
                      - img [ref=e285]
                    - link "이체내역" [ref=e288] [cursor=pointer]:
                      - /url: /account/transfer-details?tenantId=redacted
                  - generic [ref=e289]:
                    - button "영업라인 관리 새 탭으로 열기" [ref=e290] [cursor=pointer]:
                      - img [ref=e291]
                    - link "영업라인 관리" [ref=e294] [cursor=pointer]:
                      - /url: /master-accounting/salesline-management?tenantId=redacted
                  - generic [ref=e295]:
                    - button "이체하기 새 탭으로 열기" [ref=e296] [cursor=pointer]:
                      - img [ref=e297]
                    - link "이체하기" [ref=e300] [cursor=pointer]:
                      - /url: /account/remittance-manage?tenantId=redacted
                  - generic [ref=e301]:
                    - button "이체하기(렌탈페이) 새 탭으로 열기" [ref=e302] [cursor=pointer]:
                      - img [ref=e303]
                    - link "이체하기(렌탈페이)" [ref=e306] [cursor=pointer]:
                      - /url: /account/remittance-manage-rentalpay?tenantId=redacted
                  - generic [ref=e307]:
                    - button "구 이체내역 확인(렌탈페이) 새 탭으로 열기" [ref=e308] [cursor=pointer]:
                      - img [ref=e309]
                    - link "구 이체내역 확인(렌탈페이)" [ref=e312] [cursor=pointer]:
                      - /url: /account/legacy-transfer-details?tenantId=redacted
                  - generic [ref=e313]:
                    - button "펌뱅크 잔고 알림 새 탭으로 열기" [ref=e314] [cursor=pointer]:
                      - img [ref=e315]
                    - link "펌뱅크 잔고 알림" [ref=e318] [cursor=pointer]:
                      - /url: /account/firm-bank-balance-notification?tenantId=redacted
            - listitem [ref=e319]:
              - generic [ref=e321]:
                - generic [ref=e322] [cursor=pointer]:
                  - generic [ref=e323]:
                    - img [ref=e325]
                    - generic [ref=e328]: 지갑관리
                  - button [ref=e329]
                - list:
                  - generic [ref=e331]:
                    - button "지갑관리 새 탭으로 열기" [ref=e332] [cursor=pointer]:
                      - img [ref=e333]
                    - link "지갑관리" [ref=e336] [cursor=pointer]:
                      - /url: /master-accounting/wallet-management?tenantId=redacted
                  - generic [ref=e337]:
                    - button "지갑입출금내역 새 탭으로 열기" [ref=e338] [cursor=pointer]:
                      - img [ref=e339]
                    - link "지갑입출금내역" [ref=e342] [cursor=pointer]:
                      - /url: /master-accounting/wallet-inout-history?tenantId=redacted
            - listitem [ref=e343]:
              - generic [ref=e345]:
                - generic [ref=e346] [cursor=pointer]:
                  - generic [ref=e347]:
                    - img [ref=e349]
                    - generic [ref=e352]: 정산관리
                  - button [ref=e353]
                - list:
                  - generic [ref=e355]:
                    - button "PG정산내역 새 탭으로 열기" [ref=e356] [cursor=pointer]:
                      - img [ref=e357]
                    - link "PG정산내역" [ref=e360] [cursor=pointer]:
                      - /url: /settlement-history/pg-settlement-details?tenantId=redacted
                  - generic [ref=e361]:
                    - button "정산내역 새 탭으로 열기" [ref=e362] [cursor=pointer]:
                      - img [ref=e363]
                    - link "정산내역" [ref=e366] [cursor=pointer]:
                      - /url: /settlement-history/settlement-details?tenantId=redacted
                  - generic [ref=e367]:
                    - button "통신비관리 새 탭으로 열기" [ref=e368] [cursor=pointer]:
                      - img [ref=e369]
                    - link "통신비관리" [ref=e372] [cursor=pointer]:
                      - /url: /settlement-history/communication-settlement?tenantId=redacted
                  - generic [ref=e373]:
                    - button "채권관리 새 탭으로 열기" [ref=e374] [cursor=pointer]:
                      - img [ref=e375]
                    - link "채권관리" [ref=e378] [cursor=pointer]:
                      - /url: /bond-management?tenantId=redacted
                  - generic [ref=e379]:
                    - button "지갑 입출금 내역 새 탭으로 열기" [ref=e380] [cursor=pointer]:
                      - img [ref=e381]
                    - link "지갑 입출금 내역" [ref=e384] [cursor=pointer]:
                      - /url: /wallet-history?tenantId=redacted
                  - generic [ref=e385]:
                    - button "선정산 한도 조회 새 탭으로 열기" [ref=e386] [cursor=pointer]:
                      - img [ref=e387]
                    - link "선정산 한도 조회" [ref=e390] [cursor=pointer]:
                      - /url: /tenant-early-settlement-limit-inquiry?tenantId=redacted
                  - generic [ref=e391]:
                    - button "채권관리 V2 새 탭으로 열기" [ref=e392] [cursor=pointer]:
                      - img [ref=e393]
                    - link "채권관리 V2" [ref=e396] [cursor=pointer]:
                      - /url: /bond-management-v2?tenantId=redacted
                  - generic [ref=e397]:
                    - button "일수금 관리 새 탭으로 열기" [ref=e398] [cursor=pointer]:
                      - img [ref=e399]
                    - link "일수금 관리" [ref=e402] [cursor=pointer]:
                      - /url: /master-accounting/installment-manage?tenantId=redacted
            - listitem [ref=e403]:
              - generic [ref=e405]:
                - generic [ref=e406] [cursor=pointer]:
                  - generic [ref=e407]:
                    - img [ref=e409]
                    - generic [ref=e412]: 매출집계
                  - button [ref=e413]
                - list:
                  - generic [ref=e415]:
                    - button "매출집계 새 탭으로 열기" [ref=e416] [cursor=pointer]:
                      - img [ref=e417]
                    - link "매출집계" [ref=e420] [cursor=pointer]:
                      - /url: /admin/sales-history
                  - generic [ref=e421]:
                    - button "정산통계 새 탭으로 열기" [ref=e422] [cursor=pointer]:
                      - img [ref=e423]
                    - link "정산통계" [ref=e426] [cursor=pointer]:
                      - /url: /admin/statistics/settlement
                  - generic [ref=e427]:
                    - button "가맹점매출집계 새 탭으로 열기" [ref=e428] [cursor=pointer]:
                      - img [ref=e429]
                    - link "가맹점매출집계" [ref=e432] [cursor=pointer]:
                      - /url: /transaction-aggregation-details?tenantId=redacted
                  - generic [ref=e433]:
                    - button "영업점매출집계 새 탭으로 열기" [ref=e434] [cursor=pointer]:
                      - img [ref=e435]
                    - link "영업점매출집계" [ref=e438] [cursor=pointer]:
                      - /url: /branch-profit-aggregate?tenantId=redacted
                  - generic [ref=e439]:
                    - button "일마감집계 새 탭으로 열기" [ref=e440] [cursor=pointer]:
                      - img [ref=e441]
                    - link "일마감집계" [ref=e444] [cursor=pointer]:
                      - /url: /master-accounting/daily-settlement-closing-overview?tenantId=redacted
                  - generic [ref=e445]:
                    - button "월마감집계 새 탭으로 열기" [ref=e446] [cursor=pointer]:
                      - img [ref=e447]
                    - link "월마감집계" [ref=e450] [cursor=pointer]:
                      - /url: /master-accounting/monthly-settlement-closing-overview?tenantId=redacted
            - listitem [ref=e451]:
              - generic [ref=e453]:
                - generic [ref=e454] [cursor=pointer]:
                  - generic [ref=e455]:
                    - img [ref=e457]
                    - generic [ref=e459]: 업체관리
                  - button [ref=e460]
                - list:
                  - generic [ref=e462]:
                    - generic [ref=e464] [cursor=pointer]: 총판관리
                    - list:
                      - listitem [ref=e467]:
                        - button "영업자영업라인 새 탭으로 열기" [ref=e468] [cursor=pointer]:
                          - img [ref=e469]
                        - link "영업자영업라인" [ref=e472] [cursor=pointer]:
                          - /url: /sales-agency/sales-line?tenantId=redacted
                      - listitem [ref=e473]:
                        - button "총판관리 새 탭으로 열기" [ref=e474] [cursor=pointer]:
                          - img [ref=e475]
                        - link "총판관리" [ref=e478] [cursor=pointer]:
                          - /url: /business/corporation?tenantId=redacted
                      - listitem [ref=e479]:
                        - button "계약관리 새 탭으로 열기" [ref=e480] [cursor=pointer]:
                          - img [ref=e481]
                        - link "계약관리" [ref=e484] [cursor=pointer]:
                          - /url: /business/pg-contract-manage?tenantId=redacted
                      - listitem [ref=e485]:
                        - button "부서별 운영상태관리 새 탭으로 열기" [ref=e486] [cursor=pointer]:
                          - img [ref=e487]
                        - link "부서별 운영상태관리" [ref=e490] [cursor=pointer]:
                          - /url: /saleline-status-control?tenantId=redacted
                  - generic [ref=e491]:
                    - generic [ref=e493] [cursor=pointer]: 영업점관리
                    - list:
                      - listitem [ref=e496]:
                        - button "영업점관리 새 탭으로 열기" [ref=e497] [cursor=pointer]:
                          - img [ref=e498]
                        - link "영업점관리" [ref=e501] [cursor=pointer]:
                          - /url: /business/branch?tenantId=redacted
                      - listitem [ref=e502]:
                        - button "영업라인조회 새 탭으로 열기" [ref=e503] [cursor=pointer]:
                          - img [ref=e504]
                        - link "영업라인조회" [ref=e507] [cursor=pointer]:
                          - /url: /business/salesline-management?tenantId=redacted
                      - listitem [ref=e508]:
                        - button "영업라인일괄적용 새 탭으로 열기" [ref=e509] [cursor=pointer]:
                          - img [ref=e510]
                        - link "영업라인일괄적용" [ref=e513] [cursor=pointer]:
                          - /url: /business/salesline-preset?tenantId=redacted
                  - generic [ref=e514]:
                    - generic [ref=e516] [cursor=pointer]: 가맹점관리
                    - list:
                      - listitem [ref=e519]:
                        - button "가맹점관리 새 탭으로 열기" [ref=e520] [cursor=pointer]:
                          - img [ref=e521]
                        - link "가맹점관리" [ref=e524] [cursor=pointer]:
                          - /url: /business/vendor-manage?tenantId=redacted
                      - listitem [ref=e525]:
                        - button "TID/MID관리 새 탭으로 열기" [ref=e526] [cursor=pointer]:
                          - img [ref=e527]
                        - link "TID/MID관리" [ref=e530] [cursor=pointer]:
                          - /url: /business/pg-mid-manage?tenantId=redacted
                  - generic [ref=e531]:
                    - generic [ref=e533] [cursor=pointer]: 사용자관리
                    - list:
                      - listitem [ref=e536]:
                        - button "사용자프리셋 새 탭으로 열기" [ref=e537] [cursor=pointer]:
                          - img [ref=e538]
                        - link "사용자프리셋" [ref=e541] [cursor=pointer]:
                          - /url: /business/member-preset?tenantId=redacted
                      - listitem [ref=e542]:
                        - button "역할별 사용가능 권한 관리 새 탭으로 열기" [ref=e543] [cursor=pointer]:
                          - img [ref=e544]
                        - link "역할별 사용가능 권한 관리" [ref=e547] [cursor=pointer]:
                          - /url: /business/permission-available?tenantId=redacted
                      - listitem [ref=e548]:
                        - button "사용자 새 탭으로 열기" [ref=e549] [cursor=pointer]:
                          - img [ref=e550]
                        - link "사용자" [ref=e553] [cursor=pointer]:
                          - /url: /business/member?tenantId=redacted
                  - generic [ref=e554]:
                    - button "사용자 보호 정책 새 탭으로 열기" [ref=e555] [cursor=pointer]:
                      - img [ref=e556]
                    - link "사용자 보호 정책" [ref=e559] [cursor=pointer]:
                      - /url: /business/user-protection?tenantId=redacted
                  - generic [ref=e560]:
                    - button "부서 설정 관리 새 탭으로 열기" [ref=e561] [cursor=pointer]:
                      - img [ref=e562]
                    - link "부서 설정 관리" [ref=e565] [cursor=pointer]:
                      - /url: /admin/ta-department-setting
            - listitem [ref=e566]:
              - generic [ref=e568]:
                - generic [ref=e569] [cursor=pointer]:
                  - generic [ref=e570]:
                    - img [ref=e572]
                    - generic [ref=e575]: 계약법인
                  - button [ref=e576]
                - list:
                  - generic [ref=e578]:
                    - button "계약법인관리 새 탭으로 열기" [ref=e579] [cursor=pointer]:
                      - img [ref=e580]
                    - link "계약법인관리" [ref=e583] [cursor=pointer]:
                      - /url: /sales-agency/sales-agency?tenantId=redacted
                  - generic [ref=e584]:
                    - button "계정과목 새 탭으로 열기" [ref=e585] [cursor=pointer]:
                      - img [ref=e586]
                    - link "계정과목" [ref=e589] [cursor=pointer]:
                      - /url: /sales-agency/account-subject-sales-agency?tenantId=redacted
                  - generic [ref=e590]:
                    - button "영업대행사월별정산 새 탭으로 열기" [ref=e591] [cursor=pointer]:
                      - img [ref=e592]
                    - link "영업대행사월별정산" [ref=e595] [cursor=pointer]:
                      - /url: /admin/statistics/agency-daily
                  - generic [ref=e596]:
                    - button "영업대행사 이체내역 새 탭으로 열기" [ref=e597] [cursor=pointer]:
                      - img [ref=e598]
                    - link "영업대행사 이체내역" [ref=e601] [cursor=pointer]:
                      - /url: /sales-agency/sales-agency-deposit?tenantId=redacted
                  - generic [ref=e602]:
                    - button "영업대행사 정산내역 새 탭으로 열기" [ref=e603] [cursor=pointer]:
                      - img [ref=e604]
                    - link "영업대행사 정산내역" [ref=e607] [cursor=pointer]:
                      - /url: /sales-agency/agency-settlement?tenantId=redacted
                  - generic [ref=e608]:
                    - button "계약법인 자금흐름 새 탭으로 열기" [ref=e609] [cursor=pointer]:
                      - img [ref=e610]
                    - link "계약법인 자금흐름" [ref=e613] [cursor=pointer]:
                      - /url: /sales-agency/agency-fund-hierarchy?tenantId=redacted
            - listitem [ref=e614]:
              - generic [ref=e616]:
                - generic [ref=e617] [cursor=pointer]:
                  - generic [ref=e618]:
                    - img [ref=e620]
                    - generic [ref=e623]: 법인
                  - button [ref=e624]
                - list:
                  - generic [ref=e626]:
                    - button "법인관리 새 탭으로 열기" [ref=e627] [cursor=pointer]:
                      - img [ref=e628]
                    - link "법인관리" [ref=e631] [cursor=pointer]:
                      - /url: /sales-agency/agency?tenantId=redacted
                  - generic [ref=e632]:
                    - button "법인계정과목 새 탭으로 열기" [ref=e633] [cursor=pointer]:
                      - img [ref=e634]
                    - link "법인계정과목" [ref=e637] [cursor=pointer]:
                      - /url: /sales-agency/account-subject-agency?tenantId=redacted
                  - generic [ref=e638]:
                    - button "영업자 새 탭으로 열기" [ref=e639] [cursor=pointer]:
                      - img [ref=e640]
                    - link "영업자" [ref=e643] [cursor=pointer]:
                      - /url: /sales-agency/sales-person?tenantId=redacted
            - listitem [ref=e644]:
              - generic [ref=e646]:
                - generic [ref=e647] [cursor=pointer]:
                  - generic [ref=e648]:
                    - img [ref=e650]
                    - generic [ref=e652]: 선정산
                  - button [ref=e653]
                - list:
                  - generic [ref=e655]:
                    - button "테넌트한도관리 새 탭으로 열기" [ref=e656] [cursor=pointer]:
                      - img [ref=e657]
                    - link "테넌트한도관리" [ref=e660] [cursor=pointer]:
                      - /url: /admin/tenant-early-settlement-config/limit-manage
                  - generic [ref=e661]:
                    - button "선정산 대시보드 새 탭으로 열기" [ref=e662] [cursor=pointer]:
                      - img [ref=e663]
                    - link "선정산 대시보드" [ref=e666] [cursor=pointer]:
                      - /url: /admin/tenant-early-settlement-config/dashboard
                  - generic [ref=e667]:
                    - button "법인선정산수수료통계 새 탭으로 열기" [ref=e668] [cursor=pointer]:
                      - img [ref=e669]
                    - link "법인선정산수수료통계" [ref=e672] [cursor=pointer]:
                      - /url: /master-accounting/early-settlement-commission-statistics?tenantId=redacted
                  - generic [ref=e673]:
                    - button "선정산 한도관리 새 탭으로 열기" [ref=e674] [cursor=pointer]:
                      - img [ref=e675]
                    - link "선정산 한도관리" [ref=e678] [cursor=pointer]:
                      - /url: /master-accounting/early-settlement-limit?tenantId=redacted
                  - generic [ref=e679]:
                    - button "자금조회 새 탭으로 열기" [ref=e680] [cursor=pointer]:
                      - img [ref=e681]
                    - link "자금조회" [ref=e684] [cursor=pointer]:
                      - /url: /admin/tenant-early-settlement-config/fund-dashboard
                  - generic [ref=e685]:
                    - button "업체별 정산 통계 새 탭으로 열기" [ref=e686] [cursor=pointer]:
                      - img [ref=e687]
                    - link "업체별 정산 통계" [ref=e690] [cursor=pointer]:
                      - /url: /admin/statistics/tenant-early-settlement
            - listitem [ref=e691]:
              - generic [ref=e693]:
                - generic [ref=e694] [cursor=pointer]:
                  - generic [ref=e695]:
                    - img [ref=e697]
                    - generic [ref=e699]: 비스킷 카드관리
                  - button [ref=e700]
                - list:
                  - generic [ref=e702]:
                    - button "카드관리 새 탭으로 열기" [ref=e703] [cursor=pointer]:
                      - img [ref=e704]
                    - link "카드관리" [ref=e707] [cursor=pointer]:
                      - /url: /admin/biscuit-card/card-manage
                  - generic [ref=e708]:
                    - button "사용내역 새 탭으로 열기" [ref=e709] [cursor=pointer]:
                      - img [ref=e710]
                    - link "사용내역" [ref=e713] [cursor=pointer]:
                      - /url: /admin/biscuit-card/usage-history
                  - generic [ref=e714]:
                    - button "연결계좌관리 새 탭으로 열기" [ref=e715] [cursor=pointer]:
                      - img [ref=e716]
                    - link "연결계좌관리" [ref=e719] [cursor=pointer]:
                      - /url: /admin/biscuit-card/linked-account-setting
                  - generic [ref=e720]:
                    - button "카드통계 새 탭으로 열기" [ref=e721] [cursor=pointer]:
                      - img [ref=e722]
                    - link "카드통계" [ref=e725] [cursor=pointer]:
                      - /url: /admin/statistics/biscuit-card-corporation
                  - generic [ref=e726]:
                    - button "비스킷카드신청관리 새 탭으로 열기" [ref=e727] [cursor=pointer]:
                      - img [ref=e728]
                    - link "비스킷카드신청관리" [ref=e731] [cursor=pointer]:
                      - /url: /admin/biscuit-card/application-manage
                  - generic [ref=e732]:
                    - button "이노바일 입금 관리 새 탭으로 열기" [ref=e733] [cursor=pointer]:
                      - img [ref=e734]
                    - link "이노바일 입금 관리" [ref=e737] [cursor=pointer]:
                      - /url: /admin/biscuit-card/innobyle-deposit
                  - generic [ref=e738]:
                    - button "법인별 수수료 관리 새 탭으로 열기" [ref=e739] [cursor=pointer]:
                      - img [ref=e740]
                    - link "법인별 수수료 관리" [ref=e743] [cursor=pointer]:
                      - /url: /admin/biscuit-card/corporation-commission
            - listitem [ref=e744]:
              - generic [ref=e746]:
                - generic [ref=e747] [cursor=pointer]:
                  - generic [ref=e748]:
                    - img [ref=e750]
                    - generic [ref=e752]: 고객센터
                  - button [ref=e753]
                - list:
                  - generic [ref=e755]:
                    - button "고객센터 새 탭으로 열기" [ref=e756] [cursor=pointer]:
                      - img [ref=e757]
                    - link "고객센터" [ref=e760] [cursor=pointer]:
                      - /url: /inquiry?tenantId=redacted
                  - generic [ref=e761]:
                    - button "문서보관함 새 탭으로 열기" [ref=e762] [cursor=pointer]:
                      - img [ref=e763]
                    - link "문서보관함" [ref=e766] [cursor=pointer]:
                      - /url: /document?tenantId=redacted
                  - generic [ref=e767]:
                    - generic [ref=e769] [cursor=pointer]: 공지사항
                    - list:
                      - listitem [ref=e772]:
                        - button "공지사항 새 탭으로 열기" [ref=e773] [cursor=pointer]:
                          - img [ref=e774]
                        - link "공지사항" [ref=e777] [cursor=pointer]:
                          - /url: /notice?tenantId=redacted
                      - listitem [ref=e778]:
                        - button "패치노트 새 탭으로 열기" [ref=e779] [cursor=pointer]:
                          - img [ref=e780]
                        - link "패치노트" [ref=e783] [cursor=pointer]:
                          - /url: /patch-note?tenantId=redacted
                  - generic [ref=e784]:
                    - button "공지사항관리 새 탭으로 열기" [ref=e785] [cursor=pointer]:
                      - img [ref=e786]
                    - link "공지사항관리" [ref=e789] [cursor=pointer]:
                      - /url: /admin/notice-manage
            - listitem [ref=e790]:
              - generic [ref=e792]:
                - generic [ref=e793] [cursor=pointer]:
                  - generic [ref=e794]:
                    - img [ref=e796]
                    - generic [ref=e799]: 개발자 전용
                  - button [ref=e800]
                - list:
                  - generic [ref=e802]:
                    - button "수기결제등록 새 탭으로 열기" [ref=e803] [cursor=pointer]:
                      - img [ref=e804]
                    - link "수기결제등록" [ref=e807] [cursor=pointer]:
                      - /url: /manual-transaction-entry?tenantId=redacted
                  - generic [ref=e808]:
                    - button "거래내역 동기화 새 탭으로 열기" [ref=e809] [cursor=pointer]:
                      - img [ref=e810]
                    - link "거래내역 동기화" [ref=e813] [cursor=pointer]:
                      - /url: /sync-transaction?tenantId=redacted
                  - generic [ref=e814]:
                    - button "PG연동(리뉴얼) 새 탭으로 열기" [ref=e815] [cursor=pointer]:
                      - img [ref=e816]
                    - link "PG연동(리뉴얼)" [ref=e819] [cursor=pointer]:
                      - /url: /admin/pg-provider
                  - generic [ref=e820]:
                    - button "오류내역 동기화 새 탭으로 열기" [ref=e821] [cursor=pointer]:
                      - img [ref=e822]
                    - link "오류내역 동기화" [ref=e825] [cursor=pointer]:
                      - /url: /backfill-settlement?tenantId=redacted
                  - generic [ref=e826]:
                    - button "키움페이카드 RDB Backfill 새 탭으로 열기" [ref=e827] [cursor=pointer]:
                      - img [ref=e828]
                    - link "키움페이카드 RDB Backfill" [ref=e831] [cursor=pointer]:
                      - /url: /backfill-card-company?tenantId=redacted
                  - generic [ref=e832]:
                    - button "키움페이카드 몽고 Backfill 새 탭으로 열기" [ref=e833] [cursor=pointer]:
                      - img [ref=e834]
                    - link "키움페이카드 몽고 Backfill" [ref=e837] [cursor=pointer]:
                      - /url: /backfill-card-company-mongo?tenantId=redacted
                  - generic [ref=e838]:
                    - button "과세·부가세 신고자료 백필 새 탭으로 열기" [ref=e839] [cursor=pointer]:
                      - img [ref=e840]
                    - link "과세·부가세 신고자료 백필" [ref=e843] [cursor=pointer]:
                      - /url: /tax-report-aggregation/backfill?tenantId=redacted
            - listitem [ref=e844]:
              - generic [ref=e846]:
                - generic [ref=e847] [cursor=pointer]:
                  - generic [ref=e848]:
                    - img [ref=e850]
                    - generic [ref=e854]: 테넌트관리
                  - button [ref=e855]
                - list:
                  - generic [ref=e857]:
                    - button "도메인설정 새 탭으로 열기" [ref=e858] [cursor=pointer]:
                      - img [ref=e859]
                    - link "도메인설정" [ref=e862] [cursor=pointer]:
                      - /url: /admin/tenant
                  - generic [ref=e863]:
                    - button "알리고 문자발송연동 새 탭으로 열기" [ref=e864] [cursor=pointer]:
                      - img [ref=e865]
                    - link "알리고 문자발송연동" [ref=e868] [cursor=pointer]:
                      - /url: /admin/aligo
                  - generic [ref=e869]:
                    - button "다날본인인증 연동 새 탭으로 열기" [ref=e870] [cursor=pointer]:
                      - img [ref=e871]
                    - link "다날본인인증 연동" [ref=e874] [cursor=pointer]:
                      - /url: /admin/identity-verification
                  - generic [ref=e875]:
                    - button "카드 BIN 관리 새 탭으로 열기" [ref=e876] [cursor=pointer]:
                      - img [ref=e877]
                    - link "카드 BIN 관리" [ref=e880] [cursor=pointer]:
                      - /url: /admin/card-bin
            - listitem [ref=e881]:
              - generic [ref=e883]:
                - generic [ref=e884] [cursor=pointer]:
                  - generic [ref=e885]:
                    - img [ref=e887]
                    - generic [ref=e890]: 레드마인티켓
                  - button [ref=e891]
                - list:
                  - generic [ref=e893]:
                    - button "레드마인티켓 새 탭으로 열기" [ref=e894] [cursor=pointer]:
                      - img [ref=e895]
                    - link "레드마인티켓" [ref=e898] [cursor=pointer]:
                      - /url: /redmine?tenantId=redacted
            - listitem [ref=e899]:
              - generic [ref=e901]:
                - generic [ref=e902] [cursor=pointer]:
                  - generic [ref=e903]:
                    - img [ref=e905]
                    - generic [ref=e907]: 리스크 관리
                  - button [ref=e908]
                - list:
                  - generic [ref=e910]:
                    - button "블랙리스트 관리 새 탭으로 열기" [ref=e911] [cursor=pointer]:
                      - img [ref=e912]
                    - link "블랙리스트 관리" [ref=e915] [cursor=pointer]:
                      - /url: /admin/blacklist-manage
                  - generic [ref=e916]:
                    - button "차단계좌 이체시도 내역 새 탭으로 열기" [ref=e917] [cursor=pointer]:
                      - img [ref=e918]
                    - link "차단계좌 이체시도 내역" [ref=e921] [cursor=pointer]:
                      - /url: /admin/blacklist-transfer-history
                  - generic [ref=e922]:
                    - button "IP 차단관리 새 탭으로 열기" [ref=e923] [cursor=pointer]:
                      - img [ref=e924]
                    - link "IP 차단관리" [ref=e927] [cursor=pointer]:
                      - /url: /admin/ip-block-manage
                  - generic [ref=e928]:
                    - button "RM 사업자조회 새 탭으로 열기" [ref=e929] [cursor=pointer]:
                      - img [ref=e930]
                    - link "RM 사업자조회" [ref=e933] [cursor=pointer]:
                      - /url: /risk-management/rm-business?tenantId=redacted
                  - generic [ref=e934]:
                    - button "텔레그램 채팅방관리 새 탭으로 열기" [ref=e935] [cursor=pointer]:
                      - img [ref=e936]
                    - link "텔레그램 채팅방관리" [ref=e939] [cursor=pointer]:
                      - /url: /business/telegram-chat-room-manage?tenantId=redacted
                  - generic [ref=e940]:
                    - button "텔레그램 발송내역 새 탭으로 열기" [ref=e941] [cursor=pointer]:
                      - img [ref=e942]
                    - link "텔레그램 발송내역" [ref=e945] [cursor=pointer]:
                      - /url: /business/telegram-history?tenantId=redacted
                  - generic [ref=e946]:
                    - button "텔레그램 챗봇 관리 새 탭으로 열기" [ref=e947] [cursor=pointer]:
                      - img [ref=e948]
                    - link "텔레그램 챗봇 관리" [ref=e951] [cursor=pointer]:
                      - /url: /admin/telegram-chatbot-manage
                  - generic [ref=e952]:
                    - button "리스크 거래내역 새 탭으로 열기" [ref=e953] [cursor=pointer]:
                      - img [ref=e954]
                    - link "리스크 거래내역" [ref=e957] [cursor=pointer]:
                      - /url: /risk-management/risk-transaction?tenantId=redacted
            - listitem [ref=e958]:
              - generic [ref=e960]:
                - generic [ref=e961] [cursor=pointer]:
                  - generic [ref=e962]:
                    - img [ref=e964]
                    - generic [ref=e973]: 실험실
                  - button [ref=e974]
                - list:
                  - generic [ref=e976]:
                    - button "비스킷카드 대시보드 새 탭으로 열기" [ref=e977] [cursor=pointer]:
                      - img [ref=e978]
                    - link "비스킷카드 대시보드" [ref=e981] [cursor=pointer]:
                      - /url: /admin/biscuit-card/dashboard
                  - generic [ref=e982]:
                    - button "자금이동내역 새 탭으로 열기" [ref=e983] [cursor=pointer]:
                      - img [ref=e984]
                    - link "자금이동내역" [ref=e987] [cursor=pointer]:
                      - /url: /master-accounting/disbursement-account-fund-flow?tenantId=redacted
                  - generic [ref=e988]:
                    - button "법인계좌관리V2 새 탭으로 열기" [ref=e989] [cursor=pointer]:
                      - img [ref=e990]
                    - link "법인계좌관리V2" [ref=e993] [cursor=pointer]:
                      - /url: /lab/corporation-accounts-v2?tenantId=redacted
                  - generic [ref=e994]:
                    - button "비스킷카드통계 새 탭으로 열기" [ref=e995] [cursor=pointer]:
                      - img [ref=e996]
                    - link "비스킷카드통계" [ref=e999] [cursor=pointer]:
                      - /url: /admin/statistics/biscuit-card
                  - generic [ref=e1000]:
                    - button "법인계좌관리V2(전용) 새 탭으로 열기" [ref=e1001] [cursor=pointer]:
                      - img [ref=e1002]
                    - link "법인계좌관리V2(전용)" [ref=e1005] [cursor=pointer]:
                      - /url: /lab/corporation-accounts-v2-pay?tenantId=redacted
                  - generic [ref=e1006]:
                    - button "총판 매출집계 새 탭으로 열기" [ref=e1007] [cursor=pointer]:
                      - img [ref=e1008]
                    - link "총판 매출집계" [ref=e1011] [cursor=pointer]:
                      - /url: /admin/statistics/corporation-profit
                  - generic [ref=e1012]:
                    - button "비스킷 카드관리 새 탭으로 열기" [ref=e1013] [cursor=pointer]:
                      - img [ref=e1014]
                    - link "비스킷 카드관리" [ref=e1017] [cursor=pointer]:
                      - /url: /admin/biscuit-card/card-manage-global
                  - generic [ref=e1018]:
                    - button "비스킷카드 운영 대시보드 새 탭으로 열기" [ref=e1019] [cursor=pointer]:
                      - img [ref=e1020]
                    - link "비스킷카드 운영 대시보드" [ref=e1023] [cursor=pointer]:
                      - /url: /lab/biscuit-card/operation-dashboard?tenantId=redacted
                  - generic [ref=e1024]:
                    - button "업체별 수익집계 새 탭으로 열기" [ref=e1025] [cursor=pointer]:
                      - img [ref=e1026]
                    - link "업체별 수익집계" [ref=e1029] [cursor=pointer]:
                      - /url: /lab/tenant-profit-statistics?tenantId=redacted
                  - generic [ref=e1030]:
                    - button "총판 대시보드 새 탭으로 열기" [ref=e1031] [cursor=pointer]:
                      - img [ref=e1032]
                    - link "총판 대시보드" [ref=e1035] [cursor=pointer]:
                      - /url: /lab/corporation-dashboard?tenantId=redacted
        - main [ref=e1039]:
          - generic [ref=e1040]:
            - generic [ref=e1041]:
              - generic [ref=e1042]:
                - generic [ref=e1043]: 2026년 09월 17일
                - generic [ref=e1044]: 요약
              - generic [ref=e1045]:
                - generic [ref=e1046]:
                  - generic [ref=e1047]:
                    - generic [ref=e1048]: 일일 거래액
                    - button "더보기" [ref=e1049] [cursor=pointer]
                  - generic [ref=e1051]: ₩0
                - generic [ref=e1052]:
                  - generic [ref=e1053]:
                    - generic [ref=e1054]: 일일 거래건수
                    - button "더보기" [ref=e1055] [cursor=pointer]
                  - generic [ref=e1057]: 0건
                - generic [ref=e1058]:
                  - generic [ref=e1059]:
                    - generic [ref=e1060]: 지갑 잔액
                    - button "더보기" [ref=e1061] [cursor=pointer]
                  - generic [ref=e1063]: ₩4,008,528,510
            - generic [ref=e1064]:
              - generic [ref=e1065]:
                - generic [ref=e1066]:
                  - generic [ref=e1067]: 영업점 잠금 예약
                  - button "더보기" [ref=e1068] [cursor=pointer]
                - generic [ref=e1069]: 잠금 예약된 영업점이 없습니다
              - generic [ref=e1070]:
                - generic [ref=e1071]:
                  - generic [ref=e1072]: 가맹점 잠금 예약
                  - button "더보기" [ref=e1073] [cursor=pointer]
                - generic [ref=e1074]: 잠금 예약된 가맹점이 없습니다
            - generic [ref=e1075]:
              - generic [ref=e1076]:
                - generic [ref=e1077]: 미수금 관리
                - generic [ref=e1078]:
                  - button "전체" [ref=e1079] [cursor=pointer]
                  - button "일수금" [ref=e1080] [cursor=pointer]
                  - button "채권" [ref=e1081] [cursor=pointer]
                  - button "통신비" [ref=e1082] [cursor=pointer]
              - generic [ref=e1083]:
                - generic [ref=e1084]:
                  - generic [ref=e1085]:
                    - generic [ref=e1086]: 일수금
                    - generic [ref=e1087]: 3건
                  - paragraph [ref=e1088]: 남은금액
                  - generic [ref=e1089]:
                    - generic [ref=e1090]: 1,110,000
                    - generic [ref=e1091]: / 1,110,000
                - generic [ref=e1092]:
                  - generic [ref=e1093]:
                    - generic [ref=e1094]: 채권
                    - generic [ref=e1095]: 16건
                  - paragraph [ref=e1096]: 남은금액
                  - generic [ref=e1098]: 214,612
                - generic [ref=e1099]:
                  - generic [ref=e1100]:
                    - generic [ref=e1101]: 통신비
                    - generic [ref=e1102]: 49건
                  - paragraph [ref=e1103]: 남은금액
                  - generic [ref=e1105]: 1,458,445
              - generic [ref=e1106]:
                - generic [ref=e1107]:
                  - generic [ref=e1108]: "#"
                  - generic [ref=e1109]: 유형
                  - generic [ref=e1110]: 부서유형
                  - generic [ref=e1111]: 부서명
                  - generic [ref=e1112]: 회수실패
                  - generic [ref=e1113]: 남은횟수
                  - generic [ref=e1114]: 남은금액
                  - generic [ref=e1115]: 총액
                  - generic [ref=e1116]: 상환금액
                - generic [ref=e1117] [cursor=pointer]:
                  - generic [ref=e1118]: "1"
                  - generic [ref=e1119]: 일수금
                  - generic [ref=e1120]: 가맹점
                  - generic [ref=e1121]: 안승현 가맹3
                  - generic [ref=e1122]: "0"
                  - generic [ref=e1123]: "2"
                  - generic [ref=e1124]: 10,000
                  - generic [ref=e1125]: 10,000
                  - generic [ref=e1126]: "0"
                - generic [ref=e1127] [cursor=pointer]:
                  - generic [ref=e1128]: "2"
                  - generic [ref=e1129]: 일수금
                  - generic [ref=e1130]: 가맹점
                  - generic [ref=e1131]: 최인석 가맹
                  - generic [ref=e1132]: "0"
                  - generic [ref=e1133]: "334"
                  - generic [ref=e1134]: 1,000,000
                  - generic [ref=e1135]: 1,000,000
                  - generic [ref=e1136]: "0"
                - generic [ref=e1137] [cursor=pointer]:
                  - generic [ref=e1138]: "3"
                  - generic [ref=e1139]: 일수금
                  - generic [ref=e1140]: 가맹점
                  - generic [ref=e1141]: 박재민_가맹
                  - generic [ref=e1142]: "0"
                  - generic [ref=e1143]: "1000"
                  - generic [ref=e1144]: 100,000
                  - generic [ref=e1145]: 100,000
                  - generic [ref=e1146]: "0"
                - generic [ref=e1147] [cursor=pointer]:
                  - generic [ref=e1148]: "4"
                  - generic [ref=e1149]: 채권
                  - generic [ref=e1150]: 가맹점
                  - generic [ref=e1151]: A_주홍석_가맹4_루시페이먼츠
                  - generic [ref=e1152]: "0"
                  - generic [ref=e1153]: "0"
                  - generic [ref=e1154]: 1,000
                - generic [ref=e1155] [cursor=pointer]:
                  - generic [ref=e1156]: "5"
                  - generic [ref=e1157]: 채권
                  - generic [ref=e1158]: 가맹점
                  - generic [ref=e1159]: 박재민_가맹
                  - generic [ref=e1160]: "0"
                  - generic [ref=e1161]: "0"
                  - generic [ref=e1162]: 126,000
                - generic [ref=e1163] [cursor=pointer]:
                  - generic [ref=e1164]: "6"
                  - generic [ref=e1165]: 채권
                  - generic [ref=e1166]: 법인
                  - generic [ref=e1167]: 박재민_법인
                  - generic [ref=e1168]: "0"
                  - generic [ref=e1169]: "0"
                  - generic [ref=e1170]: 80,898
                - generic [ref=e1171] [cursor=pointer]:
                  - generic [ref=e1172]: "7"
                  - generic [ref=e1173]: 채권
                  - generic [ref=e1174]: 영업점
                  - generic [ref=e1175]: 박재민_영업2
                  - generic [ref=e1176]: "0"
                  - generic [ref=e1177]: "0"
                  - generic [ref=e1178]: "140"
                - generic [ref=e1179] [cursor=pointer]:
                  - generic [ref=e1180]: "8"
                  - generic [ref=e1181]: 채권
                  - generic [ref=e1182]: 영업점
                  - generic [ref=e1183]: 박재민_영업3
                  - generic [ref=e1184]: "0"
                  - generic [ref=e1185]: "0"
                  - generic [ref=e1186]: "140"
                - generic [ref=e1187] [cursor=pointer]:
                  - generic [ref=e1188]: "9"
                  - generic [ref=e1189]: 채권
                  - generic [ref=e1190]: 영업점
                  - generic [ref=e1191]: 박재민_영업4
                  - generic [ref=e1192]: "0"
                  - generic [ref=e1193]: "0"
                  - generic [ref=e1194]: 9,380
                - generic [ref=e1195] [cursor=pointer]:
                  - generic [ref=e1196]: "10"
                  - generic [ref=e1197]: 채권
                  - generic [ref=e1198]: 법인
                  - generic [ref=e1199]: 최인석 법인
                  - generic [ref=e1200]: 32,809
                  - generic [ref=e1201]: 32,809
                  - generic [ref=e1202]: "99"
                - generic [ref=e1203] [cursor=pointer]:
                  - generic [ref=e1204]: "11"
                  - generic [ref=e1205]: 채권
                  - generic [ref=e1206]: 가맹점
                  - generic [ref=e1207]: 최인석 가맹
                  - generic [ref=e1208]: "0"
                  - generic [ref=e1209]: "0"
                  - generic [ref=e1210]: 9,696
                - generic [ref=e1211] [cursor=pointer]:
                  - generic [ref=e1212]: "12"
                  - generic [ref=e1213]: 채권
                  - generic [ref=e1214]: 가맹점
                  - generic [ref=e1215]: A_주홍석_정산가맹1
                  - generic [ref=e1216]: "0"
                  - generic [ref=e1217]: "0"
                  - generic [ref=e1218]: 1,000
                - generic [ref=e1219] [cursor=pointer]:
                  - generic [ref=e1220]: "13"
                  - generic [ref=e1221]: 채권
                  - generic [ref=e1222]: 가맹점
                  - generic [ref=e1223]: 박재민_가맹2
                  - generic [ref=e1224]: "123"
                  - generic [ref=e1225]: "123"
                  - generic [ref=e1226]: "0"
                - generic [ref=e1227] [cursor=pointer]:
                  - generic [ref=e1228]: "14"
                  - generic [ref=e1229]: 채권
                  - generic [ref=e1230]: 가맹점
                  - generic [ref=e1231]: 박재민_가맹_한결데
                  - generic [ref=e1232]: 28,249
                  - generic [ref=e1233]: 28,249
                  - generic [ref=esecret-redacted]: 126,636
                - generic [ref=e1235] [cursor=pointer]:
                  - generic [ref=e1236]: "15"
                  - generic [ref=e1237]: 채권
                  - generic [ref=e1238]: 영업점
                  - generic [ref=e1239]: 안영업
                  - generic [ref=e1240]: "0"
                  - generic [ref=e1241]: "0"
                  - generic [ref=e1242]: "51"
                - generic [ref=e1243] [cursor=pointer]:
                  - generic [ref=e1244]: "16"
                  - generic [ref=e1245]: 채권
                  - generic [ref=e1246]: 가맹점
                  - generic [ref=e1247]: 박재민_가맹3
                  - generic [ref=e1248]: 100,000
                  - generic [ref=e1249]: 100,000
                  - generic [ref=e1250]: "0"
                - generic [ref=e1251] [cursor=pointer]:
                  - generic [ref=e1252]: "17"
                  - generic [ref=e1253]: 채권
                  - generic [ref=e1254]: 법인
                  - generic [ref=e1255]: 안법인
                  - generic [ref=e1256]: 21,997
                  - generic [ref=e1257]: 21,997
                  - generic [ref=e1258]: 16,880
                - generic [ref=e1259] [cursor=pointer]:
                  - generic [ref=e1260]: "18"
                  - generic [ref=e1261]: 채권
                  - generic [ref=e1262]: 법인
                  - generic [ref=e1263]: 반길현_법인
                  - generic [ref=e1264]: "89"
                  - generic [ref=e1265]: "89"
                  - generic [ref=e1266]: "245"
                - generic [ref=e1267] [cursor=pointer]:
                  - generic [ref=e1268]: "19"
                  - generic [ref=e1269]: 채권
                  - generic [ref=e1270]: 가맹점
                  - generic [ref=e1271]: 박재민_가맹8
                  - generic [ref=e1272]: 31,345
                  - generic [ref=e1273]: 31,345
                  - generic [ref=e1274]: "0"
                - generic [ref=e1275] [cursor=pointer]:
                  - generic [ref=e1276]: "20"
                  - generic [ref=e1277]: 통신비
                  - generic [ref=e1278]: 가맹점
                  - generic [ref=e1279]: 김경주_가맹_테스트9
                  - generic [ref=e1280]: 22,000
                  - generic [ref=e1281]: 22,000
                  - generic [ref=e1282]: "0"
                - generic [ref=e1283] [cursor=pointer]:
                  - generic [ref=e1284]: "21"
                  - generic [ref=e1285]: 통신비
                  - generic [ref=e1286]: 가맹점
                  - generic [ref=e1287]: 안가맹
                  - generic [ref=e1288]: "0"
                  - generic [ref=e1289]: "0"
                  - generic [ref=e1290]: 11,000
                - generic [ref=e1291] [cursor=pointer]:
                  - generic [ref=e1292]: "22"
                  - generic [ref=e1293]: 통신비
                  - generic [ref=e1294]: 가맹점
                  - generic [ref=e1295]: 가맹 엑셀 테스트
                  - generic [ref=e1296]: 33,000
                  - generic [ref=e1297]: 33,000
                  - generic [ref=e1298]: "0"
                - generic [ref=e1299] [cursor=pointer]:
                  - generic [ref=e1300]: "23"
                  - generic [ref=e1301]: 통신비
                  - generic [ref=e1302]: 가맹점
                  - generic [ref=e1303]: 안승현 가맹1
                  - generic [ref=e1304]: 33,000
                  - generic [ref=e1305]: 33,000
                  - generic [ref=e1306]: "0"
                - generic [ref=e1307] [cursor=pointer]:
                  - generic [ref=e1308]: "24"
                  - generic [ref=e1309]: 통신비
                  - generic [ref=e1310]: 가맹점
                  - generic [ref=e1311]: 안승현 가맹2
                  - generic [ref=e1312]: 33,000
                  - generic [ref=e1313]: 33,000
                  - generic [ref=e1314]: "0"
                - generic [ref=e1315] [cursor=pointer]:
                  - generic [ref=e1316]: "25"
                  - generic [ref=e1317]: 통신비
                  - generic [ref=e1318]: 가맹점
                  - generic [ref=e1319]: 안승현 가맹3
                  - generic [ref=e1320]: 33,000
                  - generic [ref=e1321]: 33,000
                  - generic [ref=e1322]: "0"
                - generic [ref=e1323] [cursor=pointer]:
                  - generic [ref=e1324]: "26"
                  - generic [ref=e1325]: 통신비
                  - generic [ref=e1326]: 가맹점
                  - generic [ref=e1327]: 안승현 가맹4
                  - generic [ref=e1328]: 33,000
                  - generic [ref=e1329]: 33,000
                  - generic [ref=e1330]: "0"
                - generic [ref=e1331] [cursor=pointer]:
                  - generic [ref=e1332]: "27"
                  - generic [ref=e1333]: 통신비
                  - generic [ref=e1334]: 가맹점
                  - generic [ref=e1335]: 안승현 가맹5
                  - generic [ref=e1336]: 33,000
                  - generic [ref=e1337]: 33,000
                  - generic [ref=e1338]: "0"
                - generic [ref=e1339] [cursor=pointer]:
                  - generic [ref=e1340]: "28"
                  - generic [ref=e1341]: 통신비
                  - generic [ref=e1342]: 가맹점
                  - generic [ref=e1343]: 최인석 가맹10
                  - generic [ref=e1344]: 33,000
                  - generic [ref=e1345]: 33,000
                  - generic [ref=e1346]: "0"
                - generic [ref=e1347] [cursor=pointer]:
                  - generic [ref=e1348]: "29"
                  - generic [ref=e1349]: 통신비
                  - generic [ref=e1350]: 가맹점
                  - generic [ref=e1351]: 최인석 가맹11
                  - generic [ref=e1352]: 33,000
                  - generic [ref=e1353]: 33,000
                  - generic [ref=e1354]: "0"
                - generic [ref=e1355] [cursor=pointer]:
                  - generic [ref=e1356]: "30"
                  - generic [ref=e1357]: 통신비
                  - generic [ref=e1358]: 가맹점
                  - generic [ref=e1359]: 최인석 가맹12
                  - generic [ref=e1360]: 33,000
                  - generic [ref=e1361]: 33,000
                  - generic [ref=e1362]: "0"
                - generic [ref=e1363] [cursor=pointer]:
                  - generic [ref=e1364]: "31"
                  - generic [ref=e1365]: 통신비
                  - generic [ref=e1366]: 가맹점
                  - generic [ref=e1367]: 최인석 가맹13
                  - generic [ref=e1368]: 33,000
                  - generic [ref=e1369]: 33,000
                  - generic [ref=e1370]: "0"
                - generic [ref=e1371] [cursor=pointer]:
                  - generic [ref=e1372]: "32"
                  - generic [ref=e1373]: 통신비
                  - generic [ref=e1374]: 가맹점
                  - generic [ref=e1375]: 최인석 가맹14
                  - generic [ref=e1376]: 33,000
                  - generic [ref=e1377]: 33,000
                  - generic [ref=e1378]: "0"
                - generic [ref=e1379] [cursor=pointer]:
                  - generic [ref=e1380]: "33"
                  - generic [ref=e1381]: 통신비
                  - generic [ref=e1382]: 가맹점
                  - generic [ref=e1383]: 최인석 가맹15
                  - generic [ref=e1384]: 33,000
                  - generic [ref=e1385]: 33,000
                  - generic [ref=e1386]: "0"
                - generic [ref=e1387] [cursor=pointer]:
                  - generic [ref=e1388]: "34"
                  - generic [ref=e1389]: 통신비
                  - generic [ref=e1390]: 가맹점
                  - generic [ref=e1391]: 최인석 가맹16
                  - generic [ref=e1392]: 33,000
                  - generic [ref=e1393]: 33,000
                  - generic [ref=e1394]: "0"
                - generic [ref=e1395] [cursor=pointer]:
                  - generic [ref=e1396]: "35"
                  - generic [ref=e1397]: 통신비
                  - generic [ref=e1398]: 가맹점
                  - generic [ref=e1399]: 최인석 가맹17
                  - generic [ref=e1400]: 33,000
                  - generic [ref=e1401]: 33,000
                  - generic [ref=e1402]: "0"
                - generic [ref=e1403] [cursor=pointer]:
                  - generic [ref=e1404]: "36"
                  - generic [ref=e1405]: 통신비
                  - generic [ref=e1406]: 가맹점
                  - generic [ref=e1407]: 최인석 가맹8
                  - generic [ref=e1408]: 33,000
                  - generic [ref=e1409]: 33,000
                  - generic [ref=e1410]: "0"
                - generic [ref=e1411] [cursor=pointer]:
                  - generic [ref=e1412]: "37"
                  - generic [ref=e1413]: 통신비
                  - generic [ref=e1414]: 가맹점
                  - generic [ref=e1415]: 최인석 가맹9
                  - generic [ref=e1416]: 33,000
                  - generic [ref=e1417]: 33,000
                  - generic [ref=e1418]: "0"
                - generic [ref=e1419] [cursor=pointer]:
                  - generic [ref=e1420]: "38"
                  - generic [ref=e1421]: 통신비
                  - generic [ref=e1422]: 가맹점
                  - generic [ref=e1423]: 김경주_가맹_테스트10
                  - generic [ref=e1424]: 33,000
                  - generic [ref=e1425]: 33,000
                  - generic [ref=e1426]: "0"
                - generic [ref=e1427] [cursor=pointer]:
                  - generic [ref=e1428]: "39"
                  - generic [ref=e1429]: 통신비
                  - generic [ref=e1430]: 가맹점
                  - generic [ref=e1431]: 김경주_가맹_테스트11
                  - generic [ref=e1432]: 33,000
                  - generic [ref=e1433]: 33,000
                  - generic [ref=e1434]: "0"
                - generic [ref=e1435] [cursor=pointer]:
                  - generic [ref=e1436]: "40"
                  - generic [ref=e1437]: 통신비
                  - generic [ref=e1438]: 가맹점
                  - generic [ref=e1439]: 김경주_가맹_테스트12
                  - generic [ref=e1440]: 33,000
                  - generic [ref=e1441]: 33,000
                  - generic [ref=e1442]: "0"
                - generic [ref=e1443] [cursor=pointer]:
                  - generic [ref=e1444]: "41"
                  - generic [ref=e1445]: 통신비
                  - generic [ref=e1446]: 가맹점
                  - generic [ref=e1447]: 김경주_가맹_테스트13
                  - generic [ref=e1448]: 33,000
                  - generic [ref=e1449]: 33,000
                  - generic [ref=e1450]: "0"
                - generic [ref=e1451] [cursor=pointer]:
                  - generic [ref=e1452]: "42"
                  - generic [ref=e1453]: 통신비
                  - generic [ref=e1454]: 가맹점
                  - generic [ref=e1455]: 김경주_가맹_테스트14
                  - generic [ref=e1456]: 33,000
                  - generic [ref=e1457]: 33,000
                  - generic [ref=e1458]: "0"
                - generic [ref=e1459] [cursor=pointer]:
                  - generic [ref=e1460]: "43"
                  - generic [ref=e1461]: 통신비
                  - generic [ref=e1462]: 가맹점
                  - generic [ref=e1463]: 김경주_가맹_테스트15
                  - generic [ref=e1464]: 33,000
                  - generic [ref=e1465]: 33,000
                  - generic [ref=e1466]: "0"
                - generic [ref=e1467] [cursor=pointer]:
                  - generic [ref=e1468]: "44"
                  - generic [ref=e1469]: 통신비
                  - generic [ref=e1470]: 가맹점
                  - generic [ref=e1471]: 김경주_가맹_테스트7
                  - generic [ref=e1472]: 33,000
                  - generic [ref=e1473]: 33,000
                  - generic [ref=e1474]: "0"
                - generic [ref=e1475] [cursor=pointer]:
                  - generic [ref=e1476]: "45"
                  - generic [ref=e1477]: 통신비
                  - generic [ref=e1478]: 가맹점
                  - generic [ref=e1479]: 김경주_가맹_테스트8
                  - generic [ref=e1480]: 33,000
                  - generic [ref=e1481]: 33,000
                  - generic [ref=e1482]: "0"
                - generic [ref=e1483] [cursor=pointer]:
                  - generic [ref=e1484]: "46"
                  - generic [ref=e1485]: 통신비
                  - generic [ref=e1486]: 가맹점
                  - generic [ref=e1487]: 박재민_가맹2
                  - generic [ref=e1488]: 33,000
                  - generic [ref=e1489]: 33,000
                  - generic [ref=e1490]: "0"
                - generic [ref=e1491] [cursor=pointer]:
                  - generic [ref=e1492]: "47"
                  - generic [ref=e1493]: 통신비
                  - generic [ref=e1494]: 가맹점
                  - generic [ref=e1495]: 박재민_가맹3
                  - generic [ref=e1496]: 33,000
                  - generic [ref=e1497]: 33,000
                  - generic [ref=e1498]: "0"
                - generic [ref=e1499] [cursor=pointer]:
                  - generic [ref=e1500]: "48"
                  - generic [ref=e1501]: 통신비
                  - generic [ref=e1502]: 가맹점
                  - generic [ref=e1503]: 박재민_가맹5
                  - generic [ref=e1504]: 33,000
                  - generic [ref=e1505]: 33,000
                  - generic [ref=e1506]: "0"
                - generic [ref=e1507] [cursor=pointer]:
                  - generic [ref=e1508]: "49"
                  - generic [ref=e1509]: 통신비
                  - generic [ref=e1510]: 가맹점
                  - generic [ref=e1511]: 박재민_가맹6
                  - generic [ref=e1512]: 33,000
                  - generic [ref=e1513]: 33,000
                  - generic [ref=e1514]: "0"
                - generic [ref=e1515] [cursor=pointer]:
                  - generic [ref=e1516]: "50"
                  - generic [ref=e1517]: 통신비
                  - generic [ref=e1518]: 가맹점
                  - generic [ref=e1519]: 박재민_가맹7
                  - generic [ref=e1520]: 33,000
                  - generic [ref=e1521]: 33,000
                  - generic [ref=e1522]: "0"
            - generic [ref=e1523]:
              - generic [ref=e1524]:
                - generic [ref=e1525]: 공지사항
                - button "더보기" [ref=e1526] [cursor=pointer]
              - generic [ref=e1527]:
                - generic [ref=e1528] [cursor=pointer]:
                  - generic [ref=e1529]: 테스트
                  - generic [ref=e1530]: 2026.09.10
                - generic [ref=e1531] [cursor=pointer]:
                  - generic [ref=e1532]: 공지사항 이미지 테스트
                  - generic [ref=e1533]: 2026.09.07
                - generic [ref=e1534] [cursor=pointer]:
                  - generic [ref=e1535]: 테스트2
                  - generic [ref=e1536]: 2026.07.14
                - generic [ref=e1537] [cursor=pointer]:
                  - generic [ref=e1538]: 테스트
                  - generic [ref=e1539]: 2026.06.09
                - generic [ref=e1540] [cursor=pointer]:
                  - generic [ref=e1541]: 공지 테스트 0512
                  - generic [ref=e1542]: 2026.05.12
                - generic [ref=e1543] [cursor=pointer]:
                  - generic [ref=e1544]: 패치노트 링크연결테스트
                  - generic [ref=e1545]: 2026.04.17
```

# Test source

```ts
  85  | let cleanupRegistration = false;
  86  | let setupEvidence: string[] = [];
  87  | let lastMaskSessionAt = 0;
  88  |
  89  | test.use({ trace: process.env.QA_PUBLISH_TRACE === "1" ? "on" : "retain-on-failure" });
  90  |
  91  | export function runTelegramUserInformationChangeSuite(options: ScenarioOptions): void {
  92  |   const checklist = loadChecklist(options.issueId, options.environment);
  93  |   const metadata = loadIssueMetadata(options.issueId);
  94  |   const tenantId = getRuntimeQaEnv(options.environment, "admin", "ADMIN").tenantId ?? TENANT_ID_FALLBACK;
  95  |
  96  |   test.describe.configure({ mode: "default" });
  97  |   test.describe(`[${options.issueId}][${options.environment}] ${metadata.subject}`, () => {
  98  |     test.setTimeout(Number(process.env.QA_TEST_TIMEOUT_MS ?? 240_000));
  99  |
  100 |     test.beforeAll(async ({ browser }) => {
  101 |       requireMutationGuards();
  102 |       const admin = getRuntimeQaEnv(options.environment, "admin", "ADMIN");
  103 |       ensureRuntime(admin, "ADMIN");
  104 |
  105 |       await withLoggedInContext(browser, admin, admin.password!, admin.twoFactorCode!, async (context) => {
  106 |         const bots = await apiGet<ApiEnvelope<TelegramBot[]>>(context, admin, "/v1/telegram/chatBots", tenantId);
  107 |         const bot = (bots.payload ?? []).find((item) => item.label === BOT_LABEL);
  108 |         expect(bot?.userName, "회원 정보 변경 봇 아이디가 등록되어 있어야 합니다.").toBe("USER_INFORMATION_CHANGE_BOT");
  109 |         expect(bot?.token, "텔레그램 그룹 참여 상태 확인에 사용할 봇 토큰이 있어야 합니다.").toBeTruthy();
  110 |
  111 |         const telegram = await context.request.get(
  112 |           `https://api.telegram.org/bot${bot!.token}/getChat?chat_id=${ROOM_CHAT_ID}`
  113 |         );
  114 |         const telegramBody = await telegram.json() as { ok?: boolean; result?: { title?: string; type?: string } };
  115 |         expect(telegramBody.ok, "회원 정보 변경 봇이 검증용 텔레그램 그룹에 참여해 있어야 합니다.").toBe(true);
  116 |         expect(telegramBody.result?.title).toBe(ROOM_NAME);
  117 |
  118 |         const rooms = await fetchRooms(context, admin, tenantId);
  119 |         let room = rooms.find((item) => item.chatRoomName === ROOM_NAME);
  120 |         if (!room) {
  121 |           const response = await apiRequest(context, admin, "POST", "/v1/telegram", tenantId, {
  122 |             tenantId,
  123 |             botNames: [BOT_LABEL],
  124 |             chatRoomName: ROOM_NAME,
  125 |             idType: "TA"
  126 |           });
  127 |           expect(response.ok, `텔레그램 채팅방 등록 API HTTP ${response.status}`).toBe(true);
  128 |           room = (await fetchRooms(context, admin, tenantId)).find((item) => item.chatRoomName === ROOM_NAME);
  129 |           cleanupRegistration = true;
  130 |         }
  131 |
  132 |         expect(room, "등록 후 회원 정보 변경 알림 채팅방이 조회되어야 합니다.").toBeTruthy();
  133 |         expect(room!.label ?? room!.botNames ?? [], "등록된 채팅방에 회원 정보 변경 봇이 연결되어야 합니다.").toContain(BOT_LABEL);
  134 |         registrationId = room!.id;
  135 |         cleanupRegistration ||= isOwnedRegistrationState(room!.id);
  136 |         if (cleanupRegistration) await sleep(5_000);
  137 |         setupEvidence = [
  138 |           `채팅방: ${ROOM_NAME}`,
  139 |           `채팅방 유형: ${telegramBody.result?.type ?? "-"}`,
  140 |           `알림봇: ${BOT_NAME} / USER_INFORMATION_CHANGE_BOT`,
  141 |           `등록 ID: ${room!.id}`,
  142 |           `등록 유형: ${room!.idType ?? "TA"}`,
  143 |           "Telegram getChat: 성공",
  144 |           "민감한 봇 토큰은 산출물에 기록하지 않음"
  145 |         ];
  146 |       });
  147 |     });
  148 |
  149 |     test.afterAll(async ({ browser }) => {
  150 |       if (!cleanupRegistration || !registrationId) return;
  151 |       const admin = getRuntimeQaEnv(options.environment, "admin", "ADMIN");
  152 |       try {
  153 |         await withLoggedInContext(browser, admin, admin.password!, admin.twoFactorCode!, async (context) => {
  154 |           const response = await apiRequest(
  155 |             context,
  156 |             admin,
  157 |             "DELETE",
  158 |             `/v1/telegram/${registrationId}`,
  159 |             tenantId,
  160 |             { reason: "QA #4152 완료 후 임시 등록 원복" }
  161 |           );
  162 |           if (!response.ok) {
  163 |             throw new Error(`채팅방 등록 원복 실패 HTTP ${response.status}: ${response.body.slice(0, 300)}`);
  164 |           }
  165 |         });
  166 |         if (fs.existsSync(REGISTRATION_STATE)) fs.unlinkSync(REGISTRATION_STATE);
  167 |       } catch (error) {
  168 |         console.error(`[QA #4152] 채팅방 등록 원복 실패: ${formatError(error)}`);
  169 |         throw error;
  170 |       }
  171 |     });
  172 |
  173 |     for (const [index, role] of TARGET_ROLES.entries()) {
  174 |       test(checklist.checklist[index], async ({ browser }, testInfo) => {
  175 |         requireMutationGuards();
  176 |         const application: QaApplication = role === "VE" ? "store" : "admin";
  177 |         const runtime = getRuntimeQaEnv(options.environment, application, role);
  178 |         ensureRuntime(runtime, role);
  179 |
  180 |         const result = await verifyRole(browser, runtime, role, tenantId);
  181 |         await attachEvidence(testInfo, role, [...setupEvidence, ...formatRoleEvidence(result)]);
  182 |         await attachHistoryScreenshot(browser, options.environment, tenantId, role, testInfo);
  183 |
  184 |         expect(result.passwordMutationError, `${role} 비밀번호 변경 처리가 성공해야 합니다.`).toBeNull();
> 185 |         expect(result.passwordHistoryIds.length, `${role} 비밀번호 변경/원복 알림은 2건 이상이어야 합니다.`).toBeGreaterThanOrEqual(2);
      |                                                                                          ^ Error: ADMIN 비밀번호 변경/원복 알림은 2건 이상이어야 합니다.
  186 |         expect(result.twoFactorHistoryIds.length, `${role} 2차 인증 초기화/재등록 알림은 2건 이상이어야 합니다.`).toBeGreaterThanOrEqual(2);
  187 |         expect(result.passwordMessageMatched, `${role} 비밀번호 변경 메시지에 대상 계정과 변경 유형이 있어야 합니다.`).toBe(true);
  188 |         expect(result.twoFactorMessageMatched, `${role} 2차 인증 변경 메시지에 대상 계정과 PIN -> NONE 변경이 있어야 합니다.`).toBe(true);
  189 |         expect(result.passwordRestored, `${role} 비밀번호가 원래 값으로 복구되어야 합니다.`).toBe(true);
  190 |         expect(result.pinRestored, `${role} PIN이 원래 값으로 복구되어야 합니다.`).toBe(true);
  191 |       });
  192 |     }
  193 |   });
  194 | }
  195 |
  196 | async function verifyRole(
  197 |   browser: Browser,
  198 |   runtime: RuntimeQaEnv,
  199 |   role: TargetRole,
  200 |   tenantId: string
  201 | ): Promise<RoleResult> {
  202 |   const originalPassword = runtime.password!;
  203 |   const originalPin = runtime.twoFactorCode!;
  204 |   const temporaryPassword = `Qa4152!${crypto.randomBytes(10).toString("hex")}A9`;
  205 |   let userId = "";
  206 |   let passwordMutationError: string | null = null;
  207 |   let passwordRestored = false;
  208 |   let pinRestored = false;
  209 |   let temporaryPasswordActive = false;
  210 |   let twoFactorReset = false;
  211 |
  212 |   const passwordBefore = await latestHistoryId(browser, runtime.environment, tenantId);
  213 |   await withLoggedInContext(browser, runtime, originalPassword, originalPin, async (context) => {
  214 |     userId = await fetchCurrentUserId(context, runtime, tenantId);
  215 |   });
  216 |
  217 |   try {
  218 |     const change = role === "VE"
  219 |       ? await withLoggedInContext(browser, runtime, originalPassword, originalPin, (context) =>
  220 |           changePassword(context, runtime, tenantId, userId, temporaryPassword))
  221 |       : await withAdminContext(browser, runtime.environment, (context, adminRuntime) =>
  222 |           changePassword(context, adminRuntime, tenantId, userId, temporaryPassword));
  223 |     if (!change.ok) {
  224 |       passwordMutationError = `HTTP ${change.status}`;
  225 |       passwordRestored = true;
  226 |     } else {
  227 |       temporaryPasswordActive = true;
  228 |     }
  229 |
  230 |     if (!temporaryPasswordActive) {
  231 |       await assertFreshLogin(browser, runtime, originalPassword, originalPin);
  232 |     } else {
  233 |       await assertFreshLogin(browser, runtime, temporaryPassword, originalPin);
  234 |     }
  235 |
  236 |     if (!temporaryPasswordActive) {
  237 |       // 변경 요청이 거절된 경우에도 2차 인증 검증은 계속 진행한다.
  238 |     } else if (role === "VE" || role === "ADMIN") {
  239 |       const temporaryContext = await createLoggedInContext(browser, runtime, temporaryPassword, originalPin);
  240 |       try {
  241 |         const restore = await changePassword(temporaryContext, runtime, tenantId, userId, originalPassword);
  242 |         expect(restore.ok, `${role} 비밀번호 원복 API HTTP ${restore.status}: ${restore.body.slice(0, 300)}`).toBe(true);
  243 |         temporaryPasswordActive = false;
  244 |         passwordRestored = true;
  245 |       } finally {
  246 |         await temporaryContext.close();
  247 |       }
  248 |     } else {
  249 |       const restore = await withAdminContext(browser, runtime.environment, (context, adminRuntime) =>
  250 |         changePassword(context, adminRuntime, tenantId, userId, originalPassword));
  251 |       expect(restore.ok, `${role} 비밀번호 원복 API HTTP ${restore.status}: ${restore.body.slice(0, 300)}`).toBe(true);
  252 |       temporaryPasswordActive = false;
  253 |       passwordRestored = true;
  254 |     }
  255 |   } finally {
  256 |     if (temporaryPasswordActive && userId) {
  257 |       const fallback = role === "VE" || role === "ADMIN"
  258 |         ? await withLoggedInContext(browser, runtime, temporaryPassword, originalPin, (context) =>
  259 |             changePassword(context, runtime, tenantId, userId, originalPassword)).catch(() => undefined)
  260 |         : await withAdminContext(browser, runtime.environment, (context, adminRuntime) =>
  261 |             changePassword(context, adminRuntime, tenantId, userId, originalPassword)).catch(() => undefined);
  262 |       passwordRestored = !!fallback?.ok;
  263 |       temporaryPasswordActive = !passwordRestored;
  264 |     }
  265 |   }
  266 |
  267 |   if (temporaryPasswordActive) {
  268 |     throw new Error(`BLOCKED: ${role} 임시 비밀번호를 원래 값으로 복구하지 못했습니다.`);
  269 |   }
  270 |
  271 |   await assertFreshLogin(browser, runtime, originalPassword, originalPin);
  272 |   const passwordRows = passwordMutationError
  273 |     ? []
  274 |     : await waitForNewHistoryRows(browser, runtime.environment, tenantId, passwordBefore, 2);
  275 |   const passwordMessage = passwordRows[0]
  276 |     ? await unmaskHistory(browser, runtime.environment, tenantId, passwordRows[0].id)
  277 |     : "";
  278 |   const passwordMessageMatched = passwordMessage.includes(runtime.username!) && passwordMessage.includes("비밀번호");
  279 |
  280 |   const twoFactorBefore = await latestHistoryId(browser, runtime.environment, tenantId);
  281 |   try {
  282 |     await withAdminContext(browser, runtime.environment, async (context, adminRuntime) => {
  283 |       const reset = await apiRequest(context, adminRuntime, "POST", `/v1/users/${userId}/reset-2fa`, tenantId);
  284 |       expect(reset.ok, `${role} 2차 인증 초기화 API HTTP ${reset.status}: ${reset.body.slice(0, 300)}`).toBe(true);
  285 |       twoFactorReset = true;
```