// Part 1: 固定资产折旧方法 (8 methods) — orientation-adaptive via <Scene>

const P1 = { C: () => theme.colors, F: () => theme.fonts };

// ── OPENING ────────────────────────────────────────────────────────────────
function P1Opening() {
  const { localTime } = useSprite();
  return <OpeningShell
    partNumber="01"
    title={<>固定资产<br/>折旧方法</>}
    subtitle="一台机器的价值，如何在时间里蒸发？"
    chips={['平均年限','工作量','双倍余额','年数总和','盘算','重置','偿债基金','年金']}
    localTime={localTime}
  />;
}

// ── Method 01: 平均年限法 ──────────────────────────────────────────────────
function M01() {
  const { localTime } = useSprite();
  const orient = useOrientation();
  const C = P1.C(), F = P1.F();
  return <Scene
    chapter="第一篇 · 固定资产折旧" section="01 / 08" color={C.tomato}
    title={<MethodTitleBlock number="01" chinese="平均年限法" english="Straight-Line · 直线法" color={C.tomato} localTime={localTime}/>}
    sub="平均年限法 = 平均分配。像切蛋糕一样，把可折旧金额切成等份，每年一份。"
    main={
      <>
        <LocalSprite start={1} end={28}>
          {({ localTime: lt }) => {
            const slices = orient === 'landscape' ? 10 : 10;
            const shown = Math.min(slices, Math.floor(lt * 1.4));
            const w = orient === 'landscape' ? 95 : 86;
            const h = orient === 'landscape' ? 170 : 160;
            return (
              <div style={{ opacity: clamp(lt/0.4, 0, 1) }}>
                <div style={{ fontFamily: F.body, fontSize: orient==='landscape'?24:26, color: C.inkSoft, marginBottom: 18 }}>
                  像切蛋糕一样，把价值切成等份 →
                </div>
                <div style={{ display: 'flex', gap: 6, flexWrap: 'wrap' }}>
                  {Array.from({length: slices}).map((_, i) => (
                    <div key={i} style={{
                      width: w, height: h,
                      background: i < shown ? C.mustard : 'rgba(224,164,58,0.18)',
                      border: `2px solid ${C.ink}`, borderRadius: 8,
                      display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center',
                      fontFamily: F.mono, transform: i < shown ? 'translateY(0)' : 'translateY(4px)',
                      transition: 'all 300ms',
                    }}>
                      <div style={{ fontSize: 13, color: C.ink, opacity: 0.6 }}>第{i+1}年</div>
                      <div style={{ fontSize: 26, fontWeight: 800, color: C.ink, marginTop: 6 }}>9.5</div>
                      <div style={{ fontSize: 11, color: C.ink, opacity: 0.6 }}>万元</div>
                    </div>
                  ))}
                </div>
              </div>
            );
          }}
        </LocalSprite>
        <LocalSprite start={8} end={28}>
          {({ localTime: lt }) => (
            <div style={{
              marginTop: 22, padding: orient==='landscape'?26:32,
              background: C.paper, border: `3px solid ${C.ink}`, borderRadius: 18,
              boxShadow: `6px 6px 0 ${C.ink}`,
              opacity: clamp(lt/0.4, 0, 1),
            }}>
              <div style={{ fontFamily: F.body, fontSize: orient==='landscape'?22:26, color: C.pencil, marginBottom: 14 }}>年折旧额</div>
              <div style={{ fontFamily: F.mono, fontSize: orient==='landscape'?30:36, color: C.ink, fontWeight: 700 }}>
                = (原值−残值) ÷ 年限
              </div>
              <div style={{ fontFamily: F.mono, fontSize: orient==='landscape'?28:32, color: C.tomato, marginTop: 10, fontWeight: 800 }}>
                = (100−5)÷10 = <span style={{ background: C.mustard, padding: '2px 10px', color: C.ink }}>9.5万</span>
              </div>
            </div>
          )}
        </LocalSprite>
      </>
    }
  />;
}

// ── Method 02: 工作量法 ────────────────────────────────────────────────────
function M02() {
  const { localTime } = useSprite();
  const orient = useOrientation();
  const C = P1.C(), F = P1.F();
  return <Scene
    chapter="第一篇 · 固定资产折旧" section="02 / 08" color={C.teal}
    title={<MethodTitleBlock number="02" chinese="工作量法" english="Units-of-Production" color={C.teal} localTime={localTime}/>}
    sub="工作量法 = 跟着使用量跑。多用多提、少用少提，最实事求是。"
    main={
      <LocalSprite start={1} end={28}>
        {({ localTime: lt }) => {
          const t1 = Math.min(orient==='landscape'?700:500, lt * 60);
          const t2 = Math.min(orient==='landscape'?180:140, lt * 18);
          return (
            <div style={{ opacity: clamp(lt/0.4, 0, 1) }}>
              <div style={{ fontFamily: F.body, fontSize: 24, color: C.inkSoft, marginBottom: 16 }}>两辆货车、两种损耗</div>
              {[
                { label: 'A车 · 跑 15 万公里', km: 15, color: C.tomato, x: t1 },
                { label: 'B车 · 跑 3 万公里',  km: 3,  color: C.teal,   x: t2 },
              ].map((t, i) => (
                <div key={i} style={{
                  marginBottom: 16, padding: '14px 20px',
                  background: C.paper, border: `2px solid ${C.ink}`, borderRadius: 12,
                  position: 'relative', height: 90, overflow: 'hidden',
                }}>
                  <div style={{ fontFamily: F.body, fontSize: 22, color: C.inkSoft }}>{t.label}</div>
                  <div style={{ fontFamily: F.mono, fontSize: 28, color: t.color, fontWeight: 800 }}>
                    折旧 = {t.km} × 0.45 = {(t.km*0.45).toFixed(2)} 万
                  </div>
                  <div style={{ position: 'absolute', bottom: 6, left: t.x, fontSize: 38 }}>🚚</div>
                </div>
              ))}
              <LocalSprite start={10} end={28}>
                <div style={{
                  marginTop: 8, padding: 24,
                  background: C.ink, color: C.cream, borderRadius: 16,
                }}>
                  <div style={{ fontFamily: F.body, fontSize: 22, color: C.mustard }}>单位工作量折旧额</div>
                  <div style={{ fontFamily: F.mono, fontSize: orient==='landscape'?28:32, fontWeight: 700, marginTop: 8 }}>
                    = (30−3) ÷ 60万km = <span style={{ color: C.mustard }}>0.45 元/km</span>
                  </div>
                </div>
              </LocalSprite>
            </div>
          );
        }}
      </LocalSprite>
    }
  />;
}

// ── Method 03: 双倍余额递减法 ───────────────────────────────────────────────
function M03() {
  const { localTime } = useSprite();
  const orient = useOrientation();
  const C = P1.C(), F = P1.F();
  const data = [
    { y:1, dep:40, sw:false }, { y:2, dep:24, sw:false }, { y:3, dep:14.4, sw:false },
    { y:4, dep:8.8, sw:true  }, { y:5, dep:8.8, sw:true  },
  ];
  return <Scene
    chapter="第一篇 · 固定资产折旧" section="03 / 08" color={C.tomato}
    title={<MethodTitleBlock number="03" chinese={<>双倍余额<br/>递减法</>} english="Double-Declining Balance" color={C.tomato} localTime={localTime}/>}
    sub="双倍余额递减法 = 先猛后缓。前三年就提 81.7%，末两年改直线法收尾。"
    main={
      <LocalSprite start={1} end={28}>
        {({ localTime: lt }) => (
          <div style={{
            padding: orient==='landscape'?22:28,
            background: C.paper, border: `3px solid ${C.ink}`, borderRadius: 18,
            boxShadow: `6px 6px 0 ${C.ink}`,
            opacity: clamp(lt/0.4, 0, 1),
          }}>
            <div style={{ fontFamily: F.body, fontSize: 22, color: C.inkSoft, marginBottom: 16 }}>
              100万 · 5年 · 双倍率 40%
            </div>
            <div style={{ display: 'flex', alignItems: 'flex-end', gap: 14, height: orient==='landscape'?280:380 }}>
              {data.map((d, i) => {
                const show = clamp((lt - 0.8 - i * 0.5)/0.5, 0, 1);
                const h = (d.dep / 40) * (orient==='landscape'?240:340) * show;
                return (
                  <div key={i} style={{ flex: 1, textAlign: 'center' }}>
                    <div style={{ fontFamily: F.mono, fontSize: orient==='landscape'?22:26, fontWeight: 800, color: d.sw?C.teal:C.tomato, marginBottom: 6 }}>{d.dep}</div>
                    <div style={{ height: h, background: d.sw?C.teal:C.tomato, border: `2px solid ${C.ink}`, borderRadius: '8px 8px 0 0' }}/>
                    <div style={{ fontFamily: F.body, fontSize: 20, color: C.ink, marginTop: 8, fontWeight: 600 }}>年{d.y}</div>
                  </div>
                );
              })}
            </div>
            <div style={{ display: 'flex', gap: 20, marginTop: 14, fontFamily: F.body, fontSize: 20 }}>
              <div><span style={{ display:'inline-block', width: 14, height: 14, background: C.tomato, marginRight: 6, verticalAlign:'middle' }}/>余额递减</div>
              <div><span style={{ display:'inline-block', width: 14, height: 14, background: C.teal, marginRight: 6, verticalAlign:'middle' }}/>末两年转直线</div>
            </div>
          </div>
        )}
      </LocalSprite>
    }
  />;
}

// ── Method 04: 年数总和法 ──────────────────────────────────────────────────
function M04() {
  const { localTime } = useSprite();
  const orient = useOrientation();
  const C = P1.C(), F = P1.F();
  const data = [
    { y:1, r:'5/15', dep:32 }, { y:2, r:'4/15', dep:25.6 }, { y:3, r:'3/15', dep:19.2 },
    { y:4, r:'2/15', dep:12.8 }, { y:5, r:'1/15', dep:6.4 },
  ];
  return <Scene
    chapter="第一篇 · 固定资产折旧" section="04 / 08" color={C.mustard}
    title={<MethodTitleBlock number="04" chinese="年数总和法" english="Sum-of-Years'-Digits" color={C.mustard} localTime={localTime}/>}
    sub="年数总和法 = 按比例递减。像下楼梯一样一级级匀速往下走。"
    main={
      <LocalSprite start={1} end={28}>
        {({ localTime: lt }) => (
          <div style={{
            padding: orient==='landscape'?22:28,
            background: C.paper, border: `3px solid ${C.ink}`, borderRadius: 18,
            boxShadow: `6px 6px 0 ${C.ink}`, opacity: clamp(lt/0.4, 0, 1),
          }}>
            <div style={{ fontFamily: F.mono, fontSize: orient==='landscape'?42:56, fontWeight: 800, color: C.ink, textAlign:'center', marginBottom: 18 }}>
              1+2+3+4+5 = <span style={{ color: C.mustard }}>15</span>
            </div>
            {data.map((d, i) => {
              const show = clamp((lt - 1 - i * 0.5)/0.5, 0, 1);
              const w = (d.dep / 32) * 100 * show;
              return (
                <div key={i} style={{ display: 'flex', alignItems: 'center', gap: 14, marginBottom: 10, opacity: show }}>
                  <div style={{ width: 60, fontFamily: F.body, fontSize: 20, color: C.ink, fontWeight: 600 }}>年{d.y}</div>
                  <div style={{ width: 80, fontFamily: F.mono, fontSize: 20, color: C.pencil }}>{d.r}</div>
                  <div style={{ flex: 1, height: 30, background: 'rgba(224,164,58,0.15)', borderRadius: 6, overflow: 'hidden', border: `1.5px solid ${C.ink}` }}>
                    <div style={{ width: `${w}%`, height: '100%', background: C.mustard }}/>
                  </div>
                  <div style={{ width: 80, fontFamily: F.mono, fontSize: 22, fontWeight: 800, color: C.ink, textAlign: 'right' }}>{d.dep}万</div>
                </div>
              );
            })}
            <div style={{ marginTop: 12, paddingTop: 10, borderTop: `2px dashed ${C.pencil}`, fontFamily: F.mono, fontSize: 22, color: C.tomato, textAlign: 'right', fontWeight: 800 }}>
              合计 = 96 万 ✓
            </div>
          </div>
        )}
      </LocalSprite>
    }
  />;
}

// ── Method 05: 盘算法 ──────────────────────────────────────────────────────
function M05() {
  const { localTime } = useSprite();
  const C = P1.C(), F = P1.F();
  const orient = useOrientation();
  return <Scene
    chapter="第一篇 · 固定资产折旧" section="05 / 08" color={C.sage}
    title={<MethodTitleBlock number="05" chinese="盘算法" english="Physical Inspection" color={C.sage} localTime={localTime}/>}
    sub="盘算法 = 看一看再说。根据资产实际状况定折旧，直观但主观。"
    main={
      <LocalSprite start={1} end={28}>
        {({ localTime: lt }) => (
          <div style={{ opacity: clamp(lt/0.4, 0, 1) }}>
            <div style={{ fontFamily: F.body, fontSize: 24, color: C.inkSoft, marginBottom: 16 }}>🔍 期末实地盘点 → 评估现值</div>
            <div style={{ padding: 24, background: C.paper, border: `3px solid ${C.ink}`, borderRadius: 16, marginBottom: 14 }}>
              <div style={{ fontFamily: F.body, fontSize: 20, color: C.pencil }}>期初账面价值</div>
              <div style={{ fontFamily: F.mono, fontSize: 36, fontWeight: 800, color: C.ink }}>¥ 800,000</div>
            </div>
            <div style={{ textAlign:'center', fontSize: 36, margin: '8px 0' }}>↓</div>
            <div style={{ padding: 24, background: 'rgba(140,168,122,0.18)', border: `3px solid ${C.sage}`, borderRadius: 16, marginBottom: 14 }}>
              <div style={{ fontFamily: F.body, fontSize: 20, color: C.sage, fontWeight: 700 }}>期末评估价值</div>
              <div style={{ fontFamily: F.mono, fontSize: 36, fontWeight: 800, color: C.ink }}>¥ 680,000</div>
            </div>
            <LocalSprite start={5} end={28}>
              <div style={{ padding: 24, background: C.ink, color: C.cream, borderRadius: 16 }}>
                <div style={{ fontFamily: F.body, fontSize: 20, color: C.mustard }}>本期折旧</div>
                <div style={{ fontFamily: F.mono, fontSize: orient==='landscape'?28:34, fontWeight: 800 }}>
                  = 800,000 − 680,000 = <span style={{ color: C.mustard }}>¥120,000</span>
                </div>
              </div>
            </LocalSprite>
          </div>
        )}
      </LocalSprite>
    }
  />;
}

// ── Method 06: 重置法 ──────────────────────────────────────────────────────
function M06() {
  const { localTime } = useSprite();
  const C = P1.C(), F = P1.F();
  const orient = useOrientation();
  return <Scene
    chapter="第一篇 · 固定资产折旧" section="06 / 08" color={C.rose}
    title={<MethodTitleBlock number="06" chinese="重置法" english="Replacement Cost" color={C.rose} localTime={localTime}/>}
    sub="重置法 = 按今天的价格算折旧。让折旧跟上物价变化的步伐。"
    main={
      <LocalSprite start={1} end={28}>
        {({ localTime: lt }) => (
          <div style={{ opacity: clamp(lt/0.4, 0, 1) }}>
            <div style={{ fontFamily: F.body, fontSize: 24, color: C.inkSoft, marginBottom: 14 }}>💰 通货膨胀下，历史成本 ≠ 真实损耗</div>
            <div style={{ display: 'flex', gap: 14, marginBottom: 14 }}>
              <div style={{ flex: 1, padding: 20, background: C.paper, border: `2px solid ${C.pencil}`, borderRadius: 12 }}>
                <div style={{ fontFamily: F.body, fontSize: 20, color: C.pencil }}>10年前购入</div>
                <div style={{ fontFamily: F.mono, fontSize: 32, fontWeight: 800, color: C.ink, marginTop: 6 }}>¥50万</div>
                <div style={{ fontFamily: F.body, fontSize: 16, color: C.pencil, marginTop: 4 }}>历史成本</div>
              </div>
              <div style={{ flex: 1, padding: 20, background: 'rgba(200,123,123,0.18)', border: `2px solid ${C.rose}`, borderRadius: 12 }}>
                <div style={{ fontFamily: F.body, fontSize: 20, color: C.rose, fontWeight: 700 }}>今日重置</div>
                <div style={{ fontFamily: F.mono, fontSize: 32, fontWeight: 800, color: C.ink, marginTop: 6 }}>¥80万</div>
                <div style={{ fontFamily: F.body, fontSize: 16, color: C.rose, marginTop: 4 }}>重置成本</div>
              </div>
            </div>
            <LocalSprite start={4} end={28}>
              <div style={{ padding: 22, background: C.rose, color: C.cream, borderRadius: 14 }}>
                <div style={{ fontFamily: F.body, fontSize: 22, marginBottom: 6 }}>按 ¥80万 计提折旧</div>
                <div style={{ fontFamily: F.body, fontSize: 18, lineHeight: 1.5 }}>
                  折旧更贴近真实损耗 · 为更新准备足够资金<br/>
                  <span style={{ color: C.mustard }}>主要用于高通胀经济 / 管理会计</span>
                </div>
              </div>
            </LocalSprite>
          </div>
        )}
      </LocalSprite>
    }
  />;
}

// ── Method 07: 偿债基金法 ──────────────────────────────────────────────────
function M07() {
  const { localTime } = useSprite();
  const C = P1.C(), F = P1.F();
  return <Scene
    chapter="第一篇 · 固定资产折旧" section="07 / 08" color={C.teal}
    title={<MethodTitleBlock number="07" chinese={<>偿债<br/>基金法</>} english="Sinking Fund" color={C.teal} localTime={localTime}/>}
    sub="偿债基金法 = 存钱加利息。靠投资收益补贴折旧，前期少提、后期多提。"
    main={
      <LocalSprite start={1} end={28}>
        {({ localTime: lt }) => (
          <div style={{ opacity: clamp(lt/0.4, 0, 1) }}>
            <div style={{ fontFamily: F.body, fontSize: 24, color: C.inkSoft, marginBottom: 14 }}>🏦 像退休存款 · 靠利息复利</div>
            <div style={{ padding: 22, background: C.paper, border: `3px solid ${C.ink}`, borderRadius: 16, marginBottom: 12 }}>
              <div style={{ fontFamily: F.body, fontSize: 20, color: C.pencil }}>早期（利息长时间生息）</div>
              <div style={{ fontFamily: F.mono, fontSize: 26, fontWeight: 700, color: C.teal, marginTop: 4 }}>每年存少量 · 比如 ¥7万</div>
            </div>
            <div style={{ textAlign: 'center', fontSize: 32, color: C.pencil }}>↓ 时间 + 利息 ↓</div>
            <div style={{ padding: 22, background: C.paper, border: `3px solid ${C.ink}`, borderRadius: 16, marginTop: 12 }}>
              <div style={{ fontFamily: F.body, fontSize: 20, color: C.pencil }}>后期（剩余年限短）</div>
              <div style={{ fontFamily: F.mono, fontSize: 26, fontWeight: 700, color: C.tomato, marginTop: 4 }}>每年存更多 · 比如 ¥12万</div>
            </div>
            <LocalSprite start={5} end={28}>
              <div style={{
                marginTop: 14, padding: 18,
                background: 'rgba(47,109,104,0.15)', border: `2px solid ${C.teal}`, borderRadius: 12,
                fontFamily: F.body, fontSize: 20, color: C.ink, lineHeight: 1.5,
              }}>
                公式：<span style={{ fontFamily: F.mono }}>年折旧 = 可折旧额 ÷ 年金终值系数</span><br/>
                <span style={{ color: C.teal }}>适用：电力/燃气等超长生命周期行业</span>
              </div>
            </LocalSprite>
          </div>
        )}
      </LocalSprite>
    }
  />;
}

// ── Method 08: 年金法 ──────────────────────────────────────────────────────
function M08() {
  const { localTime } = useSprite();
  const C = P1.C(), F = P1.F();
  return <Scene
    chapter="第一篇 · 固定资产折旧" section="08 / 08" color={C.sage}
    title={<MethodTitleBlock number="08" chinese="年金法" english="Annuity Method" color={C.sage} localTime={localTime}/>}
    sub="年金法 = 折旧界的等额本息。每年费用固定，内含资产消耗与资金利息。"
    main={
      <LocalSprite start={1} end={28}>
        {({ localTime: lt }) => (
          <div style={{ opacity: clamp(lt/0.4, 0, 1) }}>
            <div style={{ fontFamily: F.body, fontSize: 24, color: C.inkSoft, marginBottom: 16 }}>🏠 类比：房贷等额本息</div>
            <div style={{ padding: 22, background: C.paper, border: `3px solid ${C.ink}`, borderRadius: 16, marginBottom: 16 }}>
              <div style={{ display: 'flex', gap: 8, height: 80, alignItems: 'flex-end', marginBottom: 8 }}>
                {[1,2,3,4,5].map(i => (
                  <div key={i} style={{ flex:1, display:'flex', flexDirection:'column', height:'100%' }}>
                    <div style={{ flex: 6 - i, background: C.sage, border: `1px solid ${C.ink}` }}/>
                    <div style={{ flex: i, background: C.tomato, border: `1px solid ${C.ink}`, borderTop: 'none' }}/>
                  </div>
                ))}
              </div>
              <div style={{ display: 'flex', justifyContent: 'space-between', fontFamily: F.body, fontSize: 16, color: C.pencil }}>
                <span>年1</span><span>年2</span><span>年3</span><span>年4</span><span>年5</span>
              </div>
            </div>
            <div style={{ display: 'flex', gap: 12, marginBottom: 12, fontFamily: F.body, fontSize: 18 }}>
              <div><span style={{ display:'inline-block', width: 14, height: 14, background: C.sage, marginRight: 6, verticalAlign:'middle' }}/>利息（资金占用）</div>
              <div><span style={{ display:'inline-block', width: 14, height: 14, background: C.tomato, marginRight: 6, verticalAlign:'middle' }}/>本金（价值消耗）</div>
            </div>
            <LocalSprite start={5} end={28}>
              <div style={{ padding: 18, background: C.ink, color: C.cream, borderRadius: 12, fontFamily: F.body, fontSize: 20, lineHeight: 1.5 }}>
                每年总费用恒定 · 含机会成本 · 主要用于投资评估和租赁会计
              </div>
            </LocalSprite>
          </div>
        )}
      </LocalSprite>
    }
  />;
}

// ── Comparison ─────────────────────────────────────────────────────────────
function P1Comparison() {
  const { localTime } = useSprite();
  const C = P1.C();
  return <ChapterComparison
    heading={<>八种折旧法 · 如何选</>}
    items={[
      { name: '平均年限', use: '均匀损耗 — 办公楼/仓库', color: C.tomato },
      { name: '工作量',   use: '跟着使用量走 — 货车/矿山', color: C.teal },
      { name: '双倍余额递减', use: '前期高产 — 电子设备', color: C.mustard },
      { name: '年数总和', use: '平滑加速 — 精密仪器', color: C.sage },
      { name: '盘算法',   use: '实地评估 — 特殊行业', color: C.rose },
      { name: '重置法',   use: '通胀环境 — 管理会计', color: C.tomato },
      { name: '偿债基金', use: '超长生命周期 — 公用事业', color: C.teal },
      { name: '年金法',   use: '等额本息 — 投资评估', color: C.mustard },
    ]}
    footer="💡 看损耗节奏、技术生命周期、资金时间价值"
    localTime={localTime}
  />;
}

function Part1() {
  const t = useTime();
  React.useEffect(() => {
    const el = document.querySelector('[data-video-root]');
    if (el) el.setAttribute('data-screen-label', `t=${Math.floor(t)}s`);
  }, [Math.floor(t)]);
  const O=5, M=28, CM=12;
  let c = 0; const s = (d) => { const a = c; c+=d; return { start:a, end:c }; };
  const s_o = s(O);
  const s1=s(M), s2=s(M), s3=s(M), s4=s(M), s5=s(M), s6=s(M), s7=s(M), s8=s(M);
  const s_c = s(CM);
  return (
    <div data-video-root style={{ width:'100%', height:'100%', position:'relative' }}>
      <Sprite {...s_o}><P1Opening/></Sprite>
      <Sprite {...s1}><M01/></Sprite>
      <Sprite {...s2}><M02/></Sprite>
      <Sprite {...s3}><M03/></Sprite>
      <Sprite {...s4}><M04/></Sprite>
      <Sprite {...s5}><M05/></Sprite>
      <Sprite {...s6}><M06/></Sprite>
      <Sprite {...s7}><M07/></Sprite>
      <Sprite {...s8}><M08/></Sprite>
      <Sprite {...s_c}><P1Comparison/></Sprite>
    </div>
  );
}

Object.assign(window, { Part1 });
