소스 검색

Merge branch 'master' into reformat-testdata-filepath

Chin allan 3 년 전
부모
커밋
1ca407482d

+ 40 - 0
.github/workflows/build-test.yml

@@ -0,0 +1,40 @@
+on:
+  push:
+  pull_request:
+    branches:
+      - master
+
+# for cache
+# checkout https://github.com/magnetikonline/action-golang-cache
+# https://www.lorenzobettini.it/2020/12/caching-dependencies-in-github-actions/
+# https://github.com/mongodb/mongocli/actions/runs/1637632940/workflow
+
+name: GO tests
+
+jobs:
+  tests:
+    strategy:
+      matrix:
+        go-version: [1.17]
+        os: [ubuntu-latest, macos-latest, windows-latest]
+    runs-on: ${{ matrix.os }}
+    steps:
+      - name: Checkout repository
+        uses: actions/checkout@v2
+      - name: Install Go
+        uses: actions/setup-go@v2
+        with:
+          go-version: ${{ matrix.golang }}
+      - name: Cache Dependencies
+        uses: actions/cache@v2
+        with:
+          path: ~/go/pkg/mod # not sure if this part needs editing
+          key: ${{ runner.os }}-go-${{ matrix.golang }}-${{ hashFiles('**/go.sum') }}
+          restore-keys: |
+            ${{ runner.os }}-go-${{ matrix.golang }}-
+      - name: Test
+        # only test gss for now
+        # go test ./... for all
+        # after the testdata problems resolved
+        # TODO: add makefile for testing
+        run: go test ./internal/pkg/gss/

+ 4 - 0
README.md

@@ -28,6 +28,10 @@
 * [How To Use - 原生文档](https://github.com/allanpk716/ChineseSubFinder/blob/docs/DesignFile/HowToUse.md)
 * [Docker ChineseSubFinder--中文字幕自动下载 | sleele的博客 - 第三方教程](https://sleele.com/2021/06/25/docker-chinesesubfinder-中文字幕自动下载/)
 
+Jellyfin、Plex 用户的设置建议:
+
+* [Jellyfin、Plex 用户的设置建议](https://github.com/allanpk716/ChineseSubFinder/blob/docs/DesignFile/Jellyfin%E3%80%81Plex%20%E7%94%A8%E6%88%B7%E7%9A%84%E8%AE%BE%E7%BD%AE%E5%BB%BA%E8%AE%AE/Jellyfin%E3%80%81Plex%20%E7%94%A8%E6%88%B7%E7%9A%84%E8%AE%BE%E7%BD%AE%E5%BB%BA%E8%AE%AE.md)
+
 高阶设置:
 
 * [高阶设置 - Emby API 支持](https://github.com/allanpk716/ChineseSubFinder/blob/docs/DesignFile/%E9%AB%98%E9%98%B6%E8%AE%BE%E7%BD%AE%20-%20Emby%20API%20%E6%94%AF%E6%8C%81.md)

+ 275 - 0
TestData/FixTimeline/org/mul_section/Blade Runner - S01E03/org.ass

@@ -0,0 +1,275 @@
+[Script Info]
+Collisions: Normal
+PlayResX: 384
+PlayResY: 288
+ScaledBorderAndShadow: no
+ScriptType: v4.00+
+Synch Point: 1
+
+[V4+ Styles]
+Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
+Style: Default,方正黑体_GBK,20,&H00FFFFFF,&HF0000000,&H00000000,&H32000000,0,0,0,0,100,100,0,0.00,1,2,1,2,5,5,15,1
+Style: 译文字幕,方正黑体_GBK,20,&H00FFFFFF,&HF0000000,&H00000000,&H32000000,0,0,0,0,100,100,0,0.00,1,2,1,2,5,5,15,1
+Style: 原文字幕,微软雅黑,14,&H00FFFFFF,&HF0000000,&H00000000,&H32000000,0,0,0,0,100,100,0,0.00,1,2,1,2,5,5,15,1
+Style: 音乐,Microsoft YaHei,16,&H00FFFFFF,&HF0000000,&H00000000,&H32000000,0,0,0,0,100,100,0,0,1,2,1,7,5,5,15,1
+
+[Events]
+Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
+Dialogue: 0,0:00:48.55,0:00:53.00,Default,tag,0,0,0,,{\an8\c&H010059&\1a&H00&\2c&H04019B&\2a&H00&\bord2\b1\3c&H0B04A9&\3a&H00&\fs35\pos(192,70)}银 翼 杀 手
+Dialogue: 0,0:00:49.40,0:00:53.00,Default,tag,0,0,0,,{\an8\bord2\b1\c&HC0BECD&\1a&H00&\3c&H606178&\3a&H00&\fs16\pos(192,180)}\N黑   莲   花
+Dialogue: 0,0:01:07.00,0:01:11.00,Default,tag,0,0,0,,{\pos(192,40)\c&H3CA6E1&\1a&H00&\b1}{\fnSimHei\fs14\fad(500,500)}翻译  {\fn方正清刻本悦宋简体\c&HFFFFFF&\1a&H00&}Chenfan
+Dialogue: 0,0:01:11.00,0:01:15.00,Default,tag,0,0,0,,{\pos(192,40)\c&H3CA6E1&\1a&H00&\b1}{\fnSimHei\fs14\fad(500,500)}时间轴  {\fn方正清刻本悦宋简体\c&HFFFFFF&\1a&H00&}Chenfan
+Dialogue: 0,0:01:01.10,0:01:05.62,Default,tag,0,0,0,,{\an8\fs16}米德摄像机
+Dialogue: 0,0:16:30.46,0:16:35.46,Default,tag,0,0,0,,{\an8\fs16}《上帝之城》 圣奥古斯丁
+Dialogue: 0,0:00:06.65,0:00:10.79,音乐,,0,0,0,,《Feel You Now》 - Alessia Cara\N♪ 我找到的这线微光 ♪\N♪ This little light I've found ♪
+Dialogue: 0,0:00:13.01,0:00:17.06,音乐,,0,0,0,,♪ 吸进 呼出 ♪\N♪ Take it in, breathe it out ♪
+Dialogue: 0,0:00:19.23,0:00:23.28,音乐,,0,0,0,,♪ 鼓虽小 声却响 ♪\N♪ A little drum that's beating loud ♪
+Dialogue: 0,0:00:25.85,0:00:30.16,音乐,,0,0,0,,♪ 透过胸口 我听到了声响 ♪\N♪ In my chest, I hear the sound ♪
+Dialogue: 0,0:00:35.42,0:00:37.99,音乐,,0,0,0,,♪ 我能感觉到 ♪\N♪ I can feel ♪
+Dialogue: 0,0:00:38.03,0:00:40.21,音乐,,0,0,0,,♪ 感觉到你了 ♪\N♪ Feel you now ♪
+Dialogue: 0,0:00:40.25,0:00:43.17,音乐,,0,0,0,,♪我现在能感觉到你  ♪\N♪ I can feel you now ♪
+Dialogue: 0,0:00:43.21,0:00:46.04,音乐,,0,0,0,,♪ 我能感觉到 ♪\N♪ I can feel ♪
+Dialogue: 0,0:00:46.08,0:00:49.48,音乐,,0,0,0,,♪ 我现在能感觉到你 ♪\N♪ I can feel you now ♪
+Dialogue: 0,0:01:24.95,0:01:26.43,译文字幕,,0,0,0,,我在哪\N{\r原文字幕}Where am I?
+Dialogue: 0,0:01:52.32,0:01:55.02,译文字幕,,0,0,0,,你干嘛\N{\r原文字幕}Hey! What the hell?
+Dialogue: 0,0:01:55.07,0:01:56.94,译文字幕,,0,0,0,,你对我做了什么\N{\r原文字幕}What did you do to me?
+Dialogue: 0,0:01:56.98,0:01:58.33,译文字幕,,0,0,0,,救了你一命\N{\r原文字幕}Saved your life.
+Dialogue: 0,0:01:58.37,0:02:00.38,译文字幕,,0,0,0,,你用电枪电我\N{\r原文字幕}You shot me with a stun gun.
+Dialogue: 0,0:02:02.64,0:02:04.25,译文字幕,,0,0,0,,是你杀了班尼斯特 对吧\N{\r原文字幕}Killed Bannister, didn't you?
+Dialogue: 0,0:02:09.12,0:02:11.52,译文字幕,,0,0,0,,别担心 我不会出卖你的\N{\r原文字幕}Don't worry. I won't turn you in.
+Dialogue: 0,0:02:11.56,0:02:13.43,译文字幕,,0,0,0,,你当时失去了理智\N{\r原文字幕}You were out of control.
+Dialogue: 0,0:02:13.48,0:02:16.31,译文字幕,,0,0,0,,我不得不这么做\N{\r原文字幕}I did what I had to do.
+Dialogue: 0,0:02:18.35,0:02:19.66,译文字幕,,0,0,0,,我的设备\N{\r原文字幕}My device.
+Dialogue: 0,0:02:19.70,0:02:23.83,译文字幕,,0,0,0,,我说到做到\N{\r原文字幕}I always finish a job.
+Dialogue: 0,0:02:23.88,0:02:26.14,译文字幕,,0,0,0,,你怎么知道我在那\N{\r原文字幕}How did you know you'd find me there?
+Dialogue: 0,0:02:29.67,0:02:31.54,译文字幕,,0,0,0,,AS-08报告\N{\r原文字幕}AS-08 reporting.
+Dialogue: 0,0:02:31.58,0:02:33.37,译文字幕,,0,0,0,,返回现场 完毕\N{\r原文字幕}Returning to scene. Over.
+Dialogue: 0,0:02:33.41,0:02:35.24,译文字幕,,0,0,0,,收到\N{\r原文字幕}Roger that.
+Dialogue: 0,0:02:35.28,0:02:37.67,译文字幕,,0,0,0,,有人报警说在鹌鹑大厦附近有多声枪响\N{\r原文字幕}Report of multiple gunshots heard near the Quail building.
+Dialogue: 0,0:02:37.72,0:02:41.16,译文字幕,,0,0,0,,我调到警用频道\N{\r原文字幕}I was tuned into the police frequency.
+Dialogue: 0,0:02:41.20,0:02:43.55,译文字幕,,0,0,0,,得知班尼斯特参议员被人谋杀\N{\r原文字幕}Picked up chatter about Senator Bannister's murder.
+Dialogue: 0,0:02:45.29,0:02:49.29,译文字幕,,0,0,0,,我就猜是你\N{\r原文字幕}Just put two and two together.
+Dialogue: 0,0:02:49.34,0:02:52.82,译文字幕,,0,0,0,,那我真该感谢你\N{\r原文字幕}I guess I'm supposed to say thank you.
+Dialogue: 0,0:02:57.39,0:02:59.26,译文字幕,,0,0,0,,来 把它喝了\N{\r原文字幕}Here. Drink this.
+Dialogue: 0,0:03:03.40,0:03:05.09,译文字幕,,0,0,0,,不怪你\N{\r原文字幕}Don't blame you.
+Dialogue: 0,0:03:05.14,0:03:07.79,译文字幕,,0,0,0,,大断电后 酒的味道都不太纯正\N{\r原文字幕}It's never tasted right since the Blackout.
+Dialogue: 0,0:03:09.53,0:03:11.36,译文字幕,,0,0,0,,大断电\N{\r原文字幕}Blackout?
+Dialogue: 0,0:03:11.40,0:03:13.58,译文字幕,,0,0,0,,2022大停电\N{\r原文字幕}The Blackout of 2022.
+Dialogue: 0,0:03:13.62,0:03:16.37,译文字幕,,0,0,0,,你还真是什么都不记得\N{\r原文字幕}You really don't remember a thing.
+Dialogue: 0,0:03:16.41,0:03:18.41,译文字幕,,0,0,0,,那次断电彻底抹除了数据\N{\r原文字幕}It was a total data wipe.
+Dialogue: 0,0:03:18.45,0:03:20.15,译文字幕,,0,0,0,,改变了一切\N{\r原文字幕}Changed everything.
+Dialogue: 0,0:03:20.20,0:03:23.24,译文字幕,,0,0,0,,我说过我什么都不记得\N{\r原文字幕}I told you I can't remember anything.
+Dialogue: 0,0:03:23.29,0:03:26.85,译文字幕,,0,0,0,,但或许 我一开始就没有记忆\N{\r原文字幕}But maybe I never had any memories to begin with.
+Dialogue: 0,0:03:28.33,0:03:30.29,译文字幕,,0,0,0,,你为何会这么想\N{\r原文字幕}Why would you think that?
+Dialogue: 0,0:04:24.52,0:04:27.61,译文字幕,,0,0,0,,只有我们知道去哪找\N{\r原文字幕}We know where to find it. They don't.
+Dialogue: 0,0:04:27.65,0:04:31.27,译文字幕,,0,0,0,,那条小虫要是再现身\N{\r原文字幕}So if that little worm comes around again,
+Dialogue: 0,0:04:31.31,0:04:33.05,译文字幕,,0,0,0,,我们便杀了他\N{\r原文字幕}we slit his throat.
+Dialogue: 0,0:04:33.09,0:04:35.44,译文字幕,,0,0,0,,-发条消息给...  -卓夫\N{\r原文字幕}- That'll send a message to the  - Drove.
+Dialogue: 0,0:04:35.49,0:04:38.19,译文字幕,,0,0,0,,我想和你谈谈\N{\r原文字幕}Wanna talk with you.
+Dialogue: 0,0:04:40.01,0:04:42.10,译文字幕,,0,0,0,,你是在逗我吗\N{\r原文字幕}You gotta be kidding.
+Dialogue: 0,0:04:42.15,0:04:44.45,译文字幕,,0,0,0,,小猪猪 你想要啥 你又没我把柄\N{\r原文字幕}What do you want, little piggy? You ain't got nothing on me.
+Dialogue: 0,0:04:44.50,0:04:46.41,译文字幕,,0,0,0,,哇啊\N{\r原文字幕}Whoa--ow!
+Dialogue: 0,0:04:46.46,0:04:48.67,译文字幕,,0,0,0,,听说你和一个年轻女子有过冲突\N{\r原文字幕}Heard you had a run-in with a young woman.
+Dialogue: 0,0:04:48.72,0:04:51.46,译文字幕,,0,0,0,,她态度差 有黑莲花纹身\N{\r原文字幕}Bad attitude, tattoo of a black lotus.
+Dialogue: 0,0:04:51.50,0:04:54.07,译文字幕,,0,0,0,,我为啥要帮你这种人\N{\r原文字幕}Why would I help a pretty little piggy like you?
+Dialogue: 0,0:04:54.11,0:04:55.46,译文字幕,,0,0,0,,阿 哎呀\N{\r原文字幕}Ah! Geez!
+Dialogue: 0,0:04:55.51,0:04:57.51,译文字幕,,0,0,0,,行行行\N{\r原文字幕}Okay, okay! Ow!
+Dialogue: 0,0:05:01.56,0:05:05.69,译文字幕,,0,0,0,,也许我该把你切成片\N{\r原文字幕}Maybe I should slice myself off a piece.
+Dialogue: 0,0:05:12.57,0:05:14.35,译文字幕,,0,0,0,,混蛋\N{\r原文字幕}Son of a bitch!
+Dialogue: 0,0:05:37.55,0:05:39.73,译文字幕,,0,0,0,,警察事务 你们赶紧走吧\N{\r原文字幕}Police business. Now, move along.
+Dialogue: 0,0:05:39.77,0:05:42.77,译文字幕,,0,0,0,,不关我事\N{\r原文字幕}To hell with this.
+Dialogue: 0,0:05:45.51,0:05:48.56,译文字幕,,0,0,0,,总算清静些了\N{\r原文字幕}Just you and me now.
+Dialogue: 0,0:05:48.60,0:05:50.48,译文字幕,,0,0,0,,跟我说说那个女孩吧\N{\r原文字幕}Tell me about the girl.
+Dialogue: 0,0:05:52.00,0:05:54.31,译文字幕,,0,0,0,,你是想让我切下你的胳膊吗\N{\r原文字幕}You want me to slice your arm off?
+Dialogue: 0,0:05:54.35,0:05:55.74,译文字幕,,0,0,0,,另一只吗\N{\r原文字幕}The other one?
+Dialogue: 0,0:06:00.18,0:06:01.62,译文字幕,,0,0,0,,她完虐了我老大\N{\r原文字幕}She cut the boss up.
+Dialogue: 0,0:06:01.66,0:06:02.97,译文字幕,,0,0,0,,她太疯狂了\N{\r原文字幕}She's nuts.
+Dialogue: 0,0:06:03.01,0:06:05.27,译文字幕,,0,0,0,,持着一把武士刀\N{\r原文字幕}Carried a damn samurai sword.
+Dialogue: 0,0:06:14.11,0:06:15.89,译文字幕,,0,0,0,,你最好说详细些\N{\r原文字幕}You better give me more than that.
+Dialogue: 0,0:06:15.94,0:06:18.11,译文字幕,,0,0,0,,行 行\N{\r原文字幕}All right. All right.
+Dialogue: 0,0:06:18.16,0:06:19.55,译文字幕,,0,0,0,,算你厉害\N{\r原文字幕}You win.
+Dialogue: 0,0:06:19.59,0:06:22.12,译文字幕,,0,0,0,,她有一种科技\N{\r原文字幕}She had this...tech.
+Dialogue: 0,0:06:22.16,0:06:25.21,译文字幕,,0,0,0,,我们试图将其夺走 我们本来只是闹着玩\N{\r原文字幕}We tried to take it from her. We was just messing around.
+Dialogue: 0,0:06:25.25,0:06:26.99,译文字幕,,0,0,0,,之后 她主动找上门来\N{\r原文字幕}Then she comes back to kill us.
+Dialogue: 0,0:06:27.03,0:06:30.21,译文字幕,,0,0,0,,她脑子有问题\N{\r原文字幕}She's on bad neuro-stims or something.
+Dialogue: 0,0:06:31.86,0:06:34.74,译文字幕,,0,0,0,,你该对当地执法部门放尊重些\N{\r原文字幕}Might wanna show more respect for local law enforcement.
+Dialogue: 0,0:06:34.78,0:06:37.78,译文字幕,,0,0,0,,下次 我就不会这么客气了\N{\r原文字幕}Next time, I won't be so nice.
+Dialogue: 0,0:06:37.83,0:06:40.40,译文字幕,,0,0,0,,不会有下次了 小猪猪\N{\r原文字幕}Next time, you're gonna get it in the neck, piggy.
+Dialogue: 0,0:06:44.92,0:06:48.79,译文字幕,,0,0,0,,洛杉矶警察局调查人员拒绝评论\N{\r原文字幕}LAPD investigators have refused to comment on reports
+Dialogue: 0,0:06:48.84,0:06:52.80,译文字幕,,0,0,0,,班尼斯特参议员观看黑拳比赛时\N{\r原文字幕}that Senator Bannister was attending an unlicensed boxing match
+Dialogue: 0,0:06:52.84,0:06:55.58,译文字幕,,0,0,0,,惨遭不明凶手杀害一事\N{\r原文字幕}when he was killed by an unknown assailant.
+Dialogue: 0,0:06:55.63,0:07:00.42,译文字幕,,0,0,0,,班尼斯特在外星殖民地有着良好的声誉\N{\r原文字幕}Accolades for the senator came in from as far away as the Off-world colonies.
+Dialogue: 0,0:07:00.46,0:07:02.50,译文字幕,,0,0,0,,由于他长期的杰出工作\N{\r原文字幕}In a long and distinguished career,
+Dialogue: 0,0:07:02.55,0:07:04.16,译文字幕,,0,0,0,,他被视作\N{\r原文字幕}Senator Bannister was seen
+Dialogue: 0,0:07:04.20,0:07:06.90,译文字幕,,0,0,0,,无党派的基本人权捍卫者\N{\r原文字幕}as a non-partisan defender of basic human rights
+Dialogue: 0,0:07:06.94,0:07:09.03,译文字幕,,0,0,0,,被誉为真正的爱国者\N{\r原文字幕}and was hailed as a true patriot.
+Dialogue: 0,0:07:09.08,0:07:10.64,译文字幕,,0,0,0,,他就一狗屁玩意儿\N{\r原文字幕}He was a piece of shit.
+Dialogue: 0,0:07:13.25,0:07:15.47,译文字幕,,0,0,0,,弄清我设备里有什么了吗\N{\r原文字幕}Did you find out what's on my device?
+Dialogue: 0,0:07:18.00,0:07:19.52,译文字幕,,0,0,0,,还没\N{\r原文字幕}Not yet.
+Dialogue: 0,0:07:25.00,0:07:26.96,译文字幕,,0,0,0,,什么是复制人\N{\r原文字幕}What's a replicant?
+Dialogue: 0,0:07:31.27,0:07:32.49,译文字幕,,0,0,0,,复制人\N{\r原文字幕}A replicant?
+Dialogue: 0,0:07:32.53,0:07:36.06,译文字幕,,0,0,0,,是机器吗\N{\r原文字幕}A machine?
+Dialogue: 0,0:07:36.10,0:07:38.28,译文字幕,,0,0,0,,不完全是\N{\r原文字幕}Not exactly.
+Dialogue: 0,0:07:38.32,0:07:39.54,译文字幕,,0,0,0,,那是啥\N{\r原文字幕}Then what?
+Dialogue: 0,0:07:44.72,0:07:48.51,译文字幕,,0,0,0,,你为何关心这个\N{\r原文字幕}Why do you even care about this?
+Dialogue: 0,0:07:48.55,0:07:50.68,译文字幕,,0,0,0,,班尼斯特说\N{\r原文字幕}Bannister said so.
+Dialogue: 0,0:07:50.73,0:07:53.86,译文字幕,,0,0,0,,我是复制人\N{\r原文字幕}That I'm one of...them.
+Dialogue: 0,0:08:10.88,0:08:12.92,译文字幕,,0,0,0,,难道你信那个人渣的话吗\N{\r原文字幕}And you believe what that scum told you?
+Dialogue: 0,0:08:15.14,0:08:16.67,译文字幕,,0,0,0,,但假如...\N{\r原文字幕}But what if...
+Dialogue: 0,0:08:20.93,0:08:24.72,译文字幕,,0,0,0,,20年前 一家公司制造了人造人\N{\r原文字幕}20 years ago, a corporation made artificial people.
+Dialogue: 0,0:08:24.76,0:08:26.54,译文字幕,,0,0,0,,将其命名为复制人\N{\r原文字幕}Called them replicants.
+Dialogue: 0,0:08:26.59,0:08:27.89,译文字幕,,0,0,0,,期望他们干脏活累活时\N{\r原文字幕}Hoping they'd do all our heavy lifting
+Dialogue: 0,0:08:27.94,0:08:29.72,译文字幕,,0,0,0,,无半句怨言\N{\r原文字幕}without ever complaining.
+Dialogue: 0,0:08:37.60,0:08:39.56,译文字幕,,0,0,0,,别动\N{\r原文字幕}Hold still.
+Dialogue: 0,0:08:41.56,0:08:43.00,译文字幕,,0,0,0,,看着我\N{\r原文字幕}Look at me.
+Dialogue: 0,0:08:43.04,0:08:45.69,译文字幕,,0,0,0,,我来告诉你你是不是复制人\N{\r原文字幕}I'll tell you if you're a replicant.
+Dialogue: 0,0:08:48.61,0:08:50.53,译文字幕,,0,0,0,,向左上方看\N{\r原文字幕}Look up and to the left.
+Dialogue: 0,0:08:50.57,0:08:52.00,译文字幕,,0,0,0,,别眨眼\N{\r原文字幕}Don't blink.
+Dialogue: 0,0:09:06.98,0:09:08.85,译文字幕,,0,0,0,,你不是复制人\N{\r原文字幕}You're not a replicant.
+Dialogue: 0,0:09:08.89,0:09:11.76,译文字幕,,0,0,0,,假如你是Nexus8型 你会有一个序列号\N{\r原文字幕}If you were a Nexus 8, you'd have a serial number.
+Dialogue: 0,0:09:11.81,0:09:15.72,译文字幕,,0,0,0,,你要是6型 早就死了\N{\r原文字幕}6, you'd be long dead.
+Dialogue: 0,0:09:15.77,0:09:18.73,译文字幕,,0,0,0,,那我是怎么做到的\N{\r原文字幕}Then how did I do these things?
+Dialogue: 0,0:09:18.77,0:09:20.29,译文字幕,,0,0,0,,我是怎么\N{\r原文字幕}I can fight.
+Dialogue: 0,0:09:20.34,0:09:22.38,译文字幕,,0,0,0,,轻而易举打伤人的\N{\r原文字幕}I hurt a lot of people.
+Dialogue: 0,0:09:26.13,0:09:28.35,译文字幕,,0,0,0,,你要是还不放心\N{\r原文字幕}If you're still worried,
+Dialogue: 0,0:09:28.39,0:09:32.18,译文字幕,,0,0,0,,只有一种方法可以判定\N{\r原文字幕}there's only one way to tell for sure.
+Dialogue: 0,0:09:32.22,0:09:35.18,译文字幕,,0,0,0,,坐吧\N{\r原文字幕}Have a seat.
+Dialogue: 0,0:10:26.08,0:10:27.46,译文字幕,,0,0,0,,这叫Voight-Kampff测试\N{\r原文字幕}We call it Voight-Kampff.
+Dialogue: 0,0:10:28.08,0:10:30.70,译文字幕,,0,0,0,,能判断你是人类还是复制人\N{\r原文字幕}Tells if you're human or replicant.
+Dialogue: 0,0:10:31.54,0:10:33.38,译文字幕,,0,0,0,,复制人意志坚定\N{\r原文字幕}Replicants are tough as nails,
+Dialogue: 0,0:10:33.60,0:10:35.68,译文字幕,,0,0,0,,但他们外表与常人无异\N{\r原文字幕}but they look just like everybody else.
+Dialogue: 0,0:10:36.94,0:10:38.68,译文字幕,,0,0,0,,要怎么测试\N{\r原文字幕}What's it going to do to me?
+Dialogue: 0,0:10:40.14,0:10:40.88,译文字幕,,0,0,0,,别着急\N{\r原文字幕}Don't worry.
+Dialogue: 0,0:10:40.88,0:10:43.24,译文字幕,,0,0,0,,我只用问你几个问题\N{\r原文字幕}I'm just gonna ask you some questions.
+Dialogue: 0,0:10:45.14,0:10:46.64,译文字幕,,0,0,0,,可我记忆全无\N{\r原文字幕}I don't have any memories.
+Dialogue: 0,0:10:48.18,0:10:50.56,译文字幕,,0,0,0,,感觉可以回答的东西比记忆多\N{\r原文字幕}Feelings can tell more than memories.
+Dialogue: 0,0:10:50.92,0:10:52.44,译文字幕,,0,0,0,,感觉潜藏在更深处\N{\r原文字幕}They're deeper.
+Dialogue: 0,0:10:52.66,0:10:54.27,译文字幕,,0,0,0,,假如你是复制人\N{\r原文字幕}If you're a replicant,
+Dialogue: 0,0:10:54.27,0:10:57.05,译文字幕,,0,0,0,,你的情感会前后矛盾\N{\r原文字幕}your emotions will be marked by contradictions.
+Dialogue: 0,0:10:59.96,0:11:01.70,译文字幕,,0,0,0,,想象一下你的母亲\N{\r原文字幕}Picture your mother.
+Dialogue: 0,0:11:01.70,0:11:03.27,译文字幕,,0,0,0,,在你儿时的屋子里\N{\r原文字幕}In the house you grew up in.
+Dialogue: 0,0:11:06.20,0:11:08.60,译文字幕,,0,0,0,,她失望地看着你\N{\r原文字幕}She looks at you, disappointed,
+Dialogue: 0,0:11:08.64,0:11:11.30,译文字幕,,0,0,0,,说她不爱你\N{\r原文字幕}and tells you that she doesn't love you.
+Dialogue: 0,0:11:11.34,0:11:12.91,译文字幕,,0,0,0,,她从未爱过你\N{\r原文字幕}She's never loved you,
+Dialogue: 0,0:11:12.95,0:11:14.69,译文字幕,,0,0,0,,她后悔有了你\N{\r原文字幕}and she regrets ever having you.
+Dialogue: 0,0:11:14.73,0:11:17.00,译文字幕,,0,0,0,,为人母者不会说这种话的\N{\r原文字幕}A mother would never say that.
+Dialogue: 0,0:11:19.57,0:11:20.65,译文字幕,,0,0,0,,你正要去朋友公寓\N{\r原文字幕}You're passing a busy street corner
+Dialogue: 0,0:11:20.70,0:11:22.57,译文字幕,,0,0,0,,站在熙熙攘攘的大街上\N{\r原文字幕}on the way to a friend's apartment,
+Dialogue: 0,0:11:22.61,0:11:25.40,译文字幕,,0,0,0,,你看见垃圾箱旁有个小纸箱\N{\r原文字幕}and you see a small cardboard box next to a dumpster.
+Dialogue: 0,0:11:25.44,0:11:27.79,译文字幕,,0,0,0,,里面有一只虎纹小猫\N{\r原文字幕}Inside is a tabby cat, a kitten,
+Dialogue: 0,0:11:27.83,0:11:30.79,译文字幕,,0,0,0,,不是复制的 它有一双绿眼 鼻上有一个白点\N{\r原文字幕}a real one with green eyes and a white spot on her nose,
+Dialogue: 0,0:11:30.84,0:11:33.75,译文字幕,,0,0,0,,嗷嗷待哺\N{\r原文字幕}meowing for food.
+Dialogue: 0,0:11:33.80,0:11:36.63,译文字幕,,0,0,0,,我会带回家喂它\N{\r原文字幕}I'd take it home and feed it.
+Dialogue: 0,0:11:36.67,0:11:38.89,译文字幕,,0,0,0,,我爱猫\N{\r原文字幕}I like cats.
+Dialogue: 0,0:11:38.93,0:11:40.76,译文字幕,,0,0,0,,你为什么爱猫\N{\r原文字幕}Why do you like cats?
+Dialogue: 0,0:11:40.80,0:11:42.85,译文字幕,,0,0,0,,嗯\N{\r原文字幕}Hmm...
+Dialogue: 0,0:11:42.89,0:11:44.63,译文字幕,,0,0,0,,猫咪可爱 毛茸茸的\N{\r原文字幕}they're cute and fluffy.
+Dialogue: 0,0:11:57.25,0:11:59.69,译文字幕,,0,0,0,,你还记得恋爱的事吗\N{\r原文字幕}Can you remember being in love?
+Dialogue: 0,0:11:59.74,0:12:01.78,译文字幕,,0,0,0,,恋爱的感觉如何\N{\r原文字幕}How did it make you feel?
+Dialogue: 0,0:12:01.82,0:12:03.96,译文字幕,,0,0,0,,这个问题简单\N{\r原文字幕}That's easy.
+Dialogue: 0,0:12:04.00,0:12:06.44,译文字幕,,0,0,0,,他看我的眼神\N{\r原文字幕}The way he'd look at me...
+Dialogue: 0,0:12:06.48,0:12:09.83,译文字幕,,0,0,0,,我的心都快融化了\N{\r原文字幕}I thought my heart was going to burst.
+Dialogue: 0,0:12:09.88,0:12:13.79,译文字幕,,0,0,0,,那是一种美妙的感觉\N{\r原文字幕}It felt like... something wonderful.
+Dialogue: 0,0:12:18.80,0:12:22.02,译文字幕,,0,0,0,,纹好看点\N{\r原文字幕}Make it pretty.
+Dialogue: 0,0:12:22.06,0:12:25.81,译文字幕,,0,0,0,,别动\N{\r原文字幕}Stay still.
+Dialogue: 0,0:12:37.08,0:12:39.47,译文字幕,,0,0,0,,太棒了\N{\r原文字幕}That is so cool.
+Dialogue: 0,0:12:41.82,0:12:44.69,译文字幕,,0,0,0,,真好看\N{\r原文字幕}It's beautiful.
+Dialogue: 0,0:12:44.74,0:12:46.70,译文字幕,,0,0,0,,就当是\N{\r原文字幕}It's a gift.
+Dialogue: 0,0:12:46.74,0:12:49.83,译文字幕,,0,0,0,,纪念你崭新开始的礼物吧\N{\r原文字幕}To mark your new beginning.
+Dialogue: 0,0:12:49.87,0:12:53.70,译文字幕,,0,0,0,,你说的是我们的崭新开始吗\N{\r原文字幕}Don't you mean our new beginning?
+Dialogue: 0,0:13:01.75,0:13:05.02,译文字幕,,0,0,0,,别忘记我 艾尔\N{\r原文字幕}Don't forget me, Elle.
+Dialogue: 0,0:13:11.76,0:13:13.29,译文字幕,,0,0,0,,那时你几岁\N{\r原文字幕}How old were you?
+Dialogue: 0,0:13:13.33,0:13:15.07,译文字幕,,0,0,0,,记忆回来了\N{\r原文字幕}It's coming back.
+Dialogue: 0,0:13:15.12,0:13:18.21,译文字幕,,0,0,0,,那是我们第一次见面\N{\r原文字幕}That was when we first met.
+Dialogue: 0,0:13:18.25,0:13:19.51,译文字幕,,0,0,0,,他知道很多事\N{\r原文字幕}He knew so many things.
+Dialogue: 0,0:13:19.55,0:13:23.65,译文字幕,,0,0,0,,他告诉我 莲花代表纯洁\N{\r原文字幕}He told me that the lotus represents purity.
+Dialogue: 0,0:13:23.69,0:13:27.30,译文字幕,,0,0,0,,于是他就帮我纹了一个\N{\r原文字幕}So he gave me this tattoo.
+Dialogue: 0,0:13:27.34,0:13:30.78,译文字幕,,0,0,0,,但听说只有白莲花才代表纯洁\N{\r原文字幕}But only the white lotus is said to be pure.
+Dialogue: 0,0:13:30.83,0:13:33.05,译文字幕,,0,0,0,,错\N{\r原文字幕}No.
+Dialogue: 0,0:13:33.09,0:13:35.88,译文字幕,,0,0,0,,不同人有不同看法\N{\r原文字幕}That depends on perception.
+Dialogue: 0,0:14:12.17,0:14:13.78,译文字幕,,0,0,0,,你不必担心了\N{\r原文字幕}Don't worry.
+Dialogue: 0,0:14:13.83,0:14:17.05,译文字幕,,0,0,0,,你不是复制人\N{\r原文字幕}You're not a replicant.
+Dialogue: 0,0:14:17.09,0:14:20.92,译文字幕,,0,0,0,,你只不过是失忆了\N{\r原文字幕}You're just a girl with amnesia.
+Dialogue: 0,0:14:20.96,0:14:24.49,译文字幕,,0,0,0,,你的情感没有任何矛盾\N{\r原文字幕}Your emotions don't exhibit any contradictions.
+Dialogue: 0,0:14:26.32,0:14:29.15,译文字幕,,0,0,0,,休息会儿吧\N{\r原文字幕}Get some rest.
+Dialogue: 0,0:14:29.19,0:14:31.15,译文字幕,,0,0,0,,我出去喝一杯\N{\r原文字幕}I'm going out for a drink.
+Dialogue: 0,0:14:31.19,0:14:32.80,译文字幕,,0,0,0,,顺便给你带点吃的\N{\r原文字幕}I'll grab you some food.
+Dialogue: 0,0:15:02.05,0:15:05.97,译文字幕,,0,0,0,,加州在遭受了严重的气候变化后经济没有崩溃\N{\r原文字幕}Senator Bannister is the reason California still has an economy
+Dialogue: 0,0:15:06.01,0:15:08.71,译文字幕,,0,0,0,,这都是班尼斯特参议员的功劳\N{\r原文字幕}despite devastating climate change.
+Dialogue: 0,0:15:08.75,0:15:10.97,译文字幕,,0,0,0,,他是人民的英雄\N{\r原文字幕}A hero to the people.
+Dialogue: 0,0:15:11.01,0:15:14.19,译文字幕,,0,0,0,,英雄\N{\r原文字幕}A hero?
+Dialogue: 0,0:15:14.23,0:15:16.41,译文字幕,,0,0,0,,他毫无英雄气概\N{\r原文字幕}Wasn't a heroic bone in his body.
+Dialogue: 0,0:15:16.45,0:15:19.15,译文字幕,,0,0,0,,现在他死了 要撤销复制人禁令\N{\r原文字幕}Now that he's gone, it's going to be harder
+Dialogue: 0,0:15:19.20,0:15:21.94,译文字幕,,0,0,0,,难上加难\N{\r原文字幕}to remove the ban on replicants.
+Dialogue: 0,0:15:21.98,0:15:26.59,译文字幕,,0,0,0,,我还有不少能帮忙的朋友\N{\r原文字幕}I still have plenty of friends who can help me.
+Dialogue: 0,0:15:28.03,0:15:29.99,译文字幕,,0,0,0,,酒肉朋友吗\N{\r原文字幕}Friends made with money?
+Dialogue: 0,0:15:34.47,0:15:38.87,译文字幕,,0,0,0,,你是来羞辱我的吗\N{\r原文字幕}Is that why you came up here? To insult me?
+Dialogue: 0,0:15:38.91,0:15:43.00,译文字幕,,0,0,0,,还是来彰显你的自尊的\N{\r原文字幕}Or is this another talk about your pride?
+Dialogue: 0,0:15:44.70,0:15:46.01,译文字幕,,0,0,0,,我承认\N{\r原文字幕}I admit,
+Dialogue: 0,0:15:46.05,0:15:49.23,译文字幕,,0,0,0,,没有你 人们会挨饿\N{\r原文字幕}humanity would have starved without you.
+Dialogue: 0,0:15:49.27,0:15:52.05,译文字幕,,0,0,0,,你研究出了合成蛋白质\N{\r原文字幕}It was your research that led to synthetic proteins.
+Dialogue: 0,0:15:52.10,0:15:54.62,译文字幕,,0,0,0,,但要是没了钱和权的加持\N{\r原文字幕}But ideas mean nothing
+Dialogue: 0,0:15:54.67,0:15:58.71,译文字幕,,0,0,0,,你的想法便无从实现\N{\r原文字幕}without the money and power to actualize it.
+Dialogue: 0,0:16:01.06,0:16:06.55,译文字幕,,0,0,0,,既然上天不肯恩赐人们粮食 那么我给\N{\r原文字幕}I gave the people manna when heaven would not oblige.
+Dialogue: 0,0:16:06.59,0:16:12.12,译文字幕,,0,0,0,,要是谁有窃取丰功伟绩的能力\N{\r原文字幕}If a man is capable of stealing the credit for a feat of such enormity, I say,
+Dialogue: 0,0:16:12.16,0:16:15.08,译文字幕,,0,0,0,,那就给他时间\N{\r原文字幕}give him time.
+Dialogue: 0,0:16:15.12,0:16:18.91,译文字幕,,0,0,0,,再多的财富也无济于事\N{\r原文字幕}No amount of wealth can save him.
+Dialogue: 0,0:16:18.95,0:16:20.95,译文字幕,,0,0,0,,但你得借助我的财富\N{\r原文字幕}And you need my wealth
+Dialogue: 0,0:16:21.00,0:16:24.04,译文字幕,,0,0,0,,才能撤销复制人禁令\N{\r原文字幕}to remove the ban on those replicants.
+Dialogue: 0,0:16:24.09,0:16:27.39,译文字幕,,0,0,0,,这是大势所趋\N{\r原文字幕}Everything intended will happen.
+Dialogue: 0,0:16:27.44,0:16:30.05,译文字幕,,0,0,0,,也是上天的旨意\N{\r原文字幕}A god makes it so.
+Dialogue: 0,0:16:30.09,0:16:32.92,译文字幕,,0,0,0,,你自己听听\N{\r原文字幕}Listen to yourself.
+Dialogue: 0,0:16:32.97,0:16:35.71,译文字幕,,0,0,0,,你知道你现在说话像谁吗\N{\r原文字幕}Do you know who you're starting to sound like?
+Dialogue: 0,0:17:28.37,0:17:30.07,译文字幕,,0,0,0,,獾医生\N{\r原文字幕}Doc Badger.
+Dialogue: 0,0:17:30.11,0:17:32.72,译文字幕,,0,0,0,,洛杉矶警局的戴维斯警官\N{\r原文字幕}Officer Davis, LAPD.
+Dialogue: 0,0:17:32.76,0:17:35.98,译文字幕,,0,0,0,,问你几个问题\N{\r原文字幕}Have a few questions.
+Dialogue: 0,0:17:38.29,0:17:41.08,译文字幕,,0,0,0,,尽管问 我啥都没干\N{\r原文字幕}Whatever it is, I didn't do it.
+Dialogue: 0,0:17:41.12,0:17:44.72,译文字幕,,0,0,0,,你在附近见过一个纹着黑莲花的年轻女子吗\N{\r原文字幕}Young lady with a black lotus tattoo's been seen around here.
+Dialogue: 0,0:17:47.21,0:17:50.13,译文字幕,,0,0,0,,你觉得我整天都会\N{\r原文字幕}You think I spend all day looking?
+Dialogue: 0,0:17:50.17,0:17:52.78,译文字幕,,0,0,0,,注意别人的纹身吗\N{\r原文字幕}Looking at people's tattoos?
+Dialogue: 0,0:17:52.83,0:17:54.74,译文字幕,,0,0,0,,她带着数据器\N{\r原文字幕}Well, she was carrying a data drive
+Dialogue: 0,0:17:54.79,0:17:57.01,译文字幕,,0,0,0,,持着一把刀\N{\r原文字幕}and swinging around a sword.
+Dialogue: 0,0:17:57.05,0:17:59.44,译文字幕,,0,0,0,,一把武士刀\N{\r原文字幕}Samurai seef.
+Dialogue: 0,0:18:01.27,0:18:03.53,译文字幕,,0,0,0,,就在这附近\N{\r原文字幕}Right around here.
+Dialogue: 0,0:18:03.58,0:18:09.37,译文字幕,,0,0,0,,大家都说你是这片区会留意这种事的人\N{\r原文字幕}Everyone knows you're the man to see about these kinds of things in this part of town.
+Dialogue: 0,0:18:09.41,0:18:12.98,译文字幕,,0,0,0,,我要打烊了\N{\r原文字幕}It's time for me to close the store.
+Dialogue: 0,0:18:13.02,0:18:15.37,译文字幕,,0,0,0,,你要是不逮捕我的话\N{\r原文字幕}If you're not arresting me,
+Dialogue: 0,0:18:15.42,0:18:17.03,译文字幕,,0,0,0,,就去找别人吧\N{\r原文字幕}go bother other people.
+Dialogue: 0,0:18:21.20,0:18:23.34,译文字幕,,0,0,0,,回头联系你 医生\N{\r原文字幕}I'll be in touch, Doc.
+Dialogue: 0,0:19:54.47,0:19:56.21,译文字幕,,0,0,0,,什么\N{\r原文字幕}What?
+Dialogue: 0,0:20:04.74,0:20:07.14,译文字幕,,0,0,0,,起来 跑啊 你们这些劣质玩偶\N{\r原文字幕}Get off your asses and run, you two-bit dolls!
+Dialogue: 0,0:20:17.15,0:20:18.15,译文字幕,,0,0,0,,你在干嘛\N{\r原文字幕}What are you doing?
+Dialogue: 0,0:20:18.19,0:20:20.24,译文字幕,,0,0,0,,你懂规矩的\N{\r原文字幕}You know the rules.
+Dialogue: 0,0:20:20.28,0:20:22.80,译文字幕,,0,0,0,,我是个记者\N{\r原文字幕}Hey, I'm a journalist.
+Dialogue: 0,0:20:22.85,0:20:26.46,译文字幕,,0,0,0,,我既然来了 肯定得记录一下\N{\r原文字幕}If you don't document it, did it really happen?
+Dialogue: 0,0:20:28.37,0:20:30.25,译文字幕,,0,0,0,,结束了吗\N{\r原文字幕}Finished already?
+Dialogue: 0,0:20:30.29,0:20:31.64,译文字幕,,0,0,0,,这个距离打他们\N{\r原文字幕}There's no challenge
+Dialogue: 0,0:20:31.68,0:20:33.94,译文字幕,,0,0,0,,太没挑战难度了\N{\r原文字幕}just picking 'em off from this far.
+Dialogue: 0,0:20:33.99,0:20:35.95,译文字幕,,0,0,0,,要是他们再危险些\N{\r原文字幕}If they really are dangerous,
+Dialogue: 0,0:20:35.99,0:20:39.17,译文字幕,,0,0,0,,我们可以近距离猎杀\N{\r原文字幕}we could be hunting 'em up close.
+Dialogue: 0,0:20:39.21,0:20:42.00,译文字幕,,0,0,0,,听起来不错\N{\r原文字幕}Sounds like fun.
+Dialogue: 0,0:20:48.22,0:20:49.96,译文字幕,,0,0,0,,这些复制人生来就\N{\r原文字幕}These replicants are hardwired
+Dialogue: 0,0:20:50.00,0:20:52.31,译文字幕,,0,0,0,,对人类言听计从\N{\r原文字幕}to be fully submissive to humans.
+Dialogue: 0,0:20:53.92,0:20:56.32,译文字幕,,0,0,0,,快开枪啊\N{\r原文字幕}Come on. Just pull the trigger!
+Dialogue: 0,0:20:56.36,0:20:59.32,译文字幕,,0,0,0,,复制人\N{\r原文字幕}Replicants...
+Dialogue: 0,0:20:59.36,0:21:01.97,译文字幕,,0,0,0,,生来就\N{\r原文字幕}hard-wired...
+Dialogue: 0,0:21:02.02,0:21:04.76,译文字幕,,0,0,0,,对人类\N{\r原文字幕}to be fully...
+Dialogue: 0,0:21:04.80,0:21:07.33,译文字幕,,0,0,0,,言听计从\N{\r原文字幕}submissive?
+Dialogue: 0,0:21:16.20,0:21:18.95,译文字幕,,0,0,0,,这些东西完全不中用\N{\r原文字幕}Oh, these things are helpless.
+Dialogue: 0,0:21:18.99,0:21:21.95,译文字幕,,0,0,0,,我们想干嘛都行\N{\r原文字幕}Whatever we want, we do.
+Dialogue: 0,0:21:21.99,0:21:24.17,译文字幕,,0,0,0,,太过简单\N{\r原文字幕}It's too easy.
+Dialogue: 0,0:21:29.00,0:21:31.05,译文字幕,,0,0,0,,为什么\N{\r原文字幕}Why?
+Dialogue: 0,0:21:34.04,0:21:36.82,音乐,,0,0,0,,《Home》 - Walk off the Earth\N♪ 我已厌倦 再难忍受 ♪\N♪ I'm so tired, oh, so tired ♪\N
+Dialogue: 0,0:21:36.87,0:21:40.09,音乐,,0,0,0,,♪ 脑海里的那些声音 ♪\N♪ All these voices in my brain ♪
+Dialogue: 0,0:21:40.13,0:21:43.57,音乐,,0,0,0,,♪ 陪我度过无数日夜 ♪\N♪ Living through my normal, oh, so formal ♪
+Dialogue: 0,0:21:43.61,0:21:46.62,音乐,,0,0,0,,♪ 却使我精神错乱 ♪\N♪ I swear they're driving me insane ♪
+Dialogue: 0,0:21:46.66,0:21:50.88,音乐,,0,0,0,,♪ 实在难以分辨是谁在撒谎 ♪\N♪ Can't tell who's a liar come hell or high water ♪
+Dialogue: 0,0:21:50.93,0:21:54.62,音乐,,0,0,0,,♪ 我没在听 ♪\N♪ I'm not listening ♪
+Dialogue: 0,0:21:54.67,0:21:57.85,音乐,,0,0,0,,♪ 喔噢 ♪\N♪ Whoa ♪
+Dialogue: 0,0:21:57.89,0:22:00.80,音乐,,0,0,0,,♪ 我要逃离这儿 ♪\N♪ I'm getting out of here ♪
+Dialogue: 0,0:22:00.85,0:22:02.46,音乐,,0,0,0,,♪ 哦 不 ♪\N♪ Oh, no ♪
+Dialogue: 0,0:22:02.50,0:22:05.68,音乐,,0,0,0,,♪ 我不放手 直至你开口 ♪\N♪ I won't let go till you say so ♪
+Dialogue: 0,0:22:05.72,0:22:08.99,音乐,,0,0,0,,♪ 我已厌倦迷失 ♪\N♪ I'm tired of being lost ♪
+Dialogue: 0,0:22:09.03,0:22:11.69,音乐,,0,0,0,,♪ 告诉我该如何回家 ♪\N♪ Show me the way to get back ♪
+Dialogue: 0,0:22:11.73,0:22:16.91,音乐,,0,0,0,,♪ 回家 ♪\N♪ Home ♪
+Dialogue: 0,0:22:16.95,0:22:22.70,音乐,,0,0,0,,♪ 我要回家 ♪\N♪ To get back home ♪

+ 269 - 0
TestData/FixTimeline/org/mul_section/Blade Runner - S01E03/英_2.ass

@@ -0,0 +1,269 @@
+[Script Info]
+Title: English (US)
+Original Script: alconEnt  [http://www.crunchyroll.com/user/alconEnt]
+Original Translation: 
+Original Editing: 
+Original Timing: 
+Synch Point: 
+Script Updated By: 
+Update Details: 
+ScriptType: v4.00+
+Collisions: Normal
+PlayResX: 640
+PlayResY: 360
+Timer: 0.0000
+WrapStyle: 0
+
+[V4+ Styles]
+Format: Name,Fontname,Fontsize,PrimaryColour,SecondaryColour,OutlineColour,BackColour,Bold,Italic,Underline,Strikeout,ScaleX,ScaleY,Spacing,Angle,BorderStyle,Outline,Shadow,Alignment,MarginL,MarginR,MarginV,Encoding
+Style: Default,Arial,20,&H00FFFFFF,&H0000FFFF,&H00000000,&H7F404040,-1,0,0,0,100,100,0,0,1,2,1,2,0020,0020,0022,0
+Style: OS,Arial,18,&H00FFFFFF,&H0000FFFF,&H00000000,&H7F404040,-1,0,0,0,100,100,0,0,1,2,1,8,0001,0001,0015,0
+Style: On Top,Arial,20,&H00FFFFFF,&H0000FFFF,&H00000000,&H7F404040,-1,0,0,0,100,100,0,0,1,2,1,8,0020,0020,0022,0
+Style: Italics,Arial,20,&H00FFFFFF,&H0000FFFF,&H00000000,&H7F404040,-1,-1,0,0,100,100,0,0,1,2,1,2,0020,0020,0022,0
+Style: On Top Italic,Arial,20,&H00FFFFFF,&H0000FFFF,&H00000000,&H7F404040,-1,-1,0,0,100,100,0,0,1,2,1,8,0020,0020,0022,0
+
+[Events]
+Format: Layer,Start,End,Style,Name,MarginL,MarginR,MarginV,Effect,Text
+Dialogue: 0,0:00:02.43,0:00:06.85,Italics,,0000,0000,0000,,This little light\NI've found
+Dialogue: 0,0:00:08.69,0:00:12.77,Italics,,0000,0000,0000,,Take it in,\Nbreathe it out
+Dialogue: 0,0:00:15.09,0:00:19.39,Italics,,0000,0000,0000,,A little drum\Nthat's beating loud
+Dialogue: 0,0:00:21.49,0:00:25.57,Italics,,0000,0000,0000,,In my chest,\NI hear the sound
+Dialogue: 0,0:00:31.22,0:00:33.34,Italics,,0000,0000,0000,,I can feel
+Dialogue: 0,0:00:33.75,0:00:35.58,Italics,,0000,0000,0000,,Feel you now
+Dialogue: 0,0:00:36.00,0:00:39.18,Italics,,0000,0000,0000,,I can feel you now
+Dialogue: 0,0:00:39.18,0:00:40.55,Italics,,0000,0000,0000,,I can feel
+Dialogue: 0,0:00:41.93,0:00:45.09,Italics,,0000,0000,0000,,I can feel you now
+Dialogue: 0,0:00:57.03,0:01:01.62,OS,,0000,0000,0000,,Mead Cameras
+Dialogue: 0,0:01:20.70,0:01:22.31,Default,,0000,0000,0000,,Where am I?
+Dialogue: 0,0:01:29.12,0:01:30.54,Default,,0000,0000,0000,,Ow...
+Dialogue: 0,0:01:47.87,0:01:50.02,Default,,0000,0000,0000,,Hey! What the hell?
+Dialogue: 0,0:01:51.14,0:01:52.89,Default,,0000,0000,0000,,What did you do to me?
+Dialogue: 0,0:01:52.89,0:01:54.36,Default,,0000,0000,0000,,Saved your life.
+Dialogue: 0,0:01:54.36,0:01:56.24,Default,,0000,0000,0000,,You shot me with a stun gun.
+Dialogue: 0,0:01:58.51,0:02:00.21,Default,,0000,0000,0000,,You killed Bannister, didn't you?
+Dialogue: 0,0:02:04.86,0:02:06.11,Default,,0000,0000,0000,,Don't worry.
+Dialogue: 0,0:02:06.11,0:02:07.52,Default,,0000,0000,0000,,I won't turn you in.
+Dialogue: 0,0:02:07.52,0:02:09.35,Default,,0000,0000,0000,,You were out of control.
+Dialogue: 0,0:02:09.35,0:02:11.31,Default,,0000,0000,0000,,I did what I had to do.
+Dialogue: 0,0:02:13.83,0:02:15.53,Default,,0000,0000,0000,,My device.
+Dialogue: 0,0:02:15.53,0:02:17.12,Default,,0000,0000,0000,,I always finish a job.
+Dialogue: 0,0:02:19.68,0:02:21.68,Default,,0000,0000,0000,,How did you know you'd find me there?
+Dialogue: 0,0:02:26.26,0:02:27.48,Italics,,0000,0000,0000,,AS-08 reporting.
+Dialogue: 0,0:02:27.48,0:02:28.85,Italics,,0000,0000,0000,,Returning to scene. Over.
+Dialogue: 0,0:02:29.16,0:02:30.12,Italics,,0000,0000,0000,,Roger that.
+Dialogue: 0,0:02:30.80,0:02:34.15,On Top Italic,,0000,0000,0000,,Report of multiple gunshots\Nheard near the Quail building.
+Dialogue: 0,0:02:33.37,0:02:35.50,Default,,0000,0000,0000,,I was tuned\Ninto the police frequency.
+Dialogue: 0,0:02:36.56,0:02:39.37,Default,,0000,0000,0000,,Picked up chatter about\NSenator Bannister's murder.
+Dialogue: 0,0:02:41.68,0:02:43.30,Default,,0000,0000,0000,,Just put two and two together.
+Dialogue: 0,0:02:44.97,0:02:46.89,Default,,0000,0000,0000,,I guess I'm supposed to say thank you.
+Dialogue: 0,0:02:53.29,0:02:54.98,Default,,0000,0000,0000,,Here. Drink this.
+Dialogue: 0,0:02:59.06,0:02:59.81,Default,,0000,0000,0000,,Don't blame you.
+Dialogue: 0,0:03:00.73,0:03:03.18,Default,,0000,0000,0000,,No booze has tasted right\Nsince the Blackout.
+Dialogue: 0,0:03:05.26,0:03:06.58,Default,,0000,0000,0000,,Blackout?
+Dialogue: 0,0:03:07.35,0:03:09.06,Default,,0000,0000,0000,,The Blackout of 2022.
+Dialogue: 0,0:03:09.67,0:03:11.37,Default,,0000,0000,0000,,You really don't remember a thing.
+Dialogue: 0,0:03:11.97,0:03:13.71,Default,,0000,0000,0000,,It was a total data wipe.
+Dialogue: 0,0:03:14.10,0:03:16.00,Default,,0000,0000,0000,,Changed everything.
+Dialogue: 0,0:03:16.00,0:03:18.74,Default,,0000,0000,0000,,I told you I can't remember anything.
+Dialogue: 0,0:03:19.26,0:03:22.48,Default,,0000,0000,0000,,But maybe I never had\Nany memories to begin with.
+Dialogue: 0,0:03:24.01,0:03:25.28,Default,,0000,0000,0000,,Why would you think that?
+Dialogue: 0,0:04:19.99,0:04:22.36,Default,,0000,0000,0000,,We know where to find it. They don't.
+Dialogue: 0,0:04:23.69,0:04:26.42,Default,,0000,0000,0000,,So if that little worm\Ncomes around again,
+Dialogue: 0,0:04:27.03,0:04:28.86,Default,,0000,0000,0000,,we slit his throat.
+Dialogue: 0,0:04:28.86,0:04:30.56,Default,,0000,0000,0000,,That'll send a message to the--
+Dialogue: 0,0:04:29.73,0:04:30.98,Default,,0000,0000,0000,,Drove, right?
+Dialogue: 0,0:04:31.31,0:04:32.90,Default,,0000,0000,0000,,Wanna talk with you.
+Dialogue: 0,0:04:35.73,0:04:37.48,Default,,0000,0000,0000,,You gotta be kidding.
+Dialogue: 0,0:04:37.95,0:04:40.54,Default,,0000,0000,0000,,What do you want, little piggy?\NYou ain't got nothing on me.
+Dialogue: 0,0:04:40.54,0:04:42.30,Default,,0000,0000,0000,,Whoa--ow!
+Dialogue: 0,0:04:42.30,0:04:44.52,Default,,0000,0000,0000,,Heard you had a run-in\Nwith a young woman.
+Dialogue: 0,0:04:44.52,0:04:47.46,Default,,0000,0000,0000,,Bad attitude, tattoo of a black lotus.
+Dialogue: 0,0:04:47.46,0:04:49.96,Default,,0000,0000,0000,,Why would I help\Na pretty, little piggy like you?
+Dialogue: 0,0:04:49.96,0:04:51.07,Default,,0000,0000,0000,,Ah! Geez!
+Dialogue: 0,0:04:51.07,0:04:53.05,Default,,0000,0000,0000,,Okay, okay! Ow!
+Dialogue: 0,0:04:57.22,0:04:59.81,Default,,0000,0000,0000,,Maybe I should\Nslice myself off a piece.
+Dialogue: 0,0:05:08.34,0:05:10.15,Default,,0000,0000,0000,,Son of a bitch!
+Dialogue: 0,0:05:33.31,0:05:35.64,Default,,0000,0000,0000,,Police business.\NNow, move along.
+Dialogue: 0,0:05:36.10,0:05:37.43,Default,,0000,0000,0000,,To hell with this!
+Dialogue: 0,0:05:41.23,0:05:43.21,Default,,0000,0000,0000,,Finally, a little peace and quiet.
+Dialogue: 0,0:05:44.18,0:05:45.94,Default,,0000,0000,0000,,Tell me about the girl.
+Dialogue: 0,0:05:47.68,0:05:49.38,Default,,0000,0000,0000,,You want me to slice your arm off?
+Dialogue: 0,0:05:49.90,0:05:51.25,Default,,0000,0000,0000,,The other one?
+Dialogue: 0,0:05:56.10,0:05:57.58,Default,,0000,0000,0000,,She cut the boss up.
+Dialogue: 0,0:05:57.58,0:05:59.07,Default,,0000,0000,0000,,She's nuts.
+Dialogue: 0,0:05:59.07,0:06:00.73,Default,,0000,0000,0000,,Carried a damn samurai sword.
+Dialogue: 0,0:06:09.75,0:06:11.77,Default,,0000,0000,0000,,You better give me\Nmore than that.
+Dialogue: 0,0:06:11.77,0:06:13.79,Default,,0000,0000,0000,,All right. All right.
+Dialogue: 0,0:06:13.79,0:06:15.22,Default,,0000,0000,0000,,You win.
+Dialogue: 0,0:06:15.22,0:06:18.00,Default,,0000,0000,0000,,She had this...tech.
+Dialogue: 0,0:06:18.00,0:06:20.66,Default,,0000,0000,0000,,We tried to take it from her.\NWe was just messing around.
+Dialogue: 0,0:06:21.07,0:06:23.11,Default,,0000,0000,0000,,Then she comes back to kill us.
+Dialogue: 0,0:06:23.11,0:06:25.27,Default,,0000,0000,0000,,Neuro-stims must've messed her brain up!
+Dialogue: 0,0:06:26.92,0:06:30.13,Default,,0000,0000,0000,,It'd be a good idea to cooperate \Nwith local law enforcement.
+Dialogue: 0,0:06:30.59,0:06:32.60,Default,,0000,0000,0000,,Next time, I won't be so nice.
+Dialogue: 0,0:06:33.92,0:06:36.22,Default,,0000,0000,0000,,Won't be a next time for you, piggy!
+Dialogue: 0,0:06:41.24,0:06:45.81,Italics,,0000,0000,0000,,LAPD investigators have refused to comment \Non reports that Senator Bannister
+Dialogue: 0,0:06:45.81,0:06:50.80,Italics,,0000,0000,0000,,was attending an unlicensed boxing match \Nwhen he was killed by an unknown assailant.
+Dialogue: 0,0:06:51.39,0:06:56.51,Italics,,0000,0000,0000,,Accolades for the senator came in from \Nas far away as the off-world colonies.
+Dialogue: 0,0:06:56.51,0:07:00.28,Italics,,0000,0000,0000,,In a long and distinguished career, \NSenator Bannister was seen
+Dialogue: 0,0:07:00.28,0:07:05.21,Italics,,0000,0000,0000,,as a non-partisan defender of basic human \Nrights and was hailed as a true patriot.
+Dialogue: 0,0:07:05.21,0:07:06.52,Default,,0000,0000,0000,,He was a piece of shit.
+Dialogue: 0,0:07:08.87,0:07:11.14,Default,,0000,0000,0000,,Did you find out what's on my device?
+Dialogue: 0,0:07:13.65,0:07:15.03,Default,,0000,0000,0000,,Not yet.
+Dialogue: 0,0:07:20.60,0:07:22.92,Default,,0000,0000,0000,,Listen, what's a replicant?
+Dialogue: 0,0:07:26.87,0:07:28.40,Default,,0000,0000,0000,,A replicant?
+Dialogue: 0,0:07:28.40,0:07:29.59,Default,,0000,0000,0000,,Is it a machine?
+Dialogue: 0,0:07:31.81,0:07:33.11,Default,,0000,0000,0000,,Not exactly.
+Dialogue: 0,0:07:34.10,0:07:35.22,Default,,0000,0000,0000,,Then what?
+Dialogue: 0,0:07:40.39,0:07:42.28,Default,,0000,0000,0000,,Why do you even care about this?
+Dialogue: 0,0:07:44.17,0:07:45.89,Default,,0000,0000,0000,,Bannister told me.
+Dialogue: 0,0:07:46.49,0:07:49.37,Default,,0000,0000,0000,,That I'm one of...them.
+Dialogue: 0,0:08:06.63,0:08:08.45,Default,,0000,0000,0000,,And you believe what that scum told you?
+Dialogue: 0,0:08:10.91,0:08:12.36,Default,,0000,0000,0000,,But what if...
+Dialogue: 0,0:08:16.71,0:08:20.43,Default,,0000,0000,0000,,20 years ago, a corporation\Nmade artificial people.
+Dialogue: 0,0:08:20.43,0:08:22.33,Default,,0000,0000,0000,,Called them replicants.
+Dialogue: 0,0:08:22.33,0:08:25.33,Default,,0000,0000,0000,,The idea was for them to do hard labor \Nwithout complaining, like slaves.
+Dialogue: 0,0:08:33.14,0:08:34.27,Default,,0000,0000,0000,,Hold still.
+Dialogue: 0,0:08:37.19,0:08:38.35,Default,,0000,0000,0000,,Look at me.
+Dialogue: 0,0:08:38.95,0:08:40.99,Default,,0000,0000,0000,,I'll tell you if you're a replicant.
+Dialogue: 0,0:08:44.23,0:08:45.81,Default,,0000,0000,0000,,Look up and to the left.
+Dialogue: 0,0:08:46.31,0:08:47.59,Default,,0000,0000,0000,,Don't blink.
+Dialogue: 0,0:09:02.83,0:09:04.27,Default,,0000,0000,0000,,You're not a replicant.
+Dialogue: 0,0:09:04.64,0:09:07.47,Default,,0000,0000,0000,,If you were a Nexus 8,\Nyou'd have a serial number.
+Dialogue: 0,0:09:07.47,0:09:09.91,Default,,0000,0000,0000,,6, you'd be long dead.
+Dialogue: 0,0:09:11.70,0:09:13.84,Default,,0000,0000,0000,,Then how was I able to do all that?
+Dialogue: 0,0:09:14.42,0:09:15.61,Default,,0000,0000,0000,,How did I...
+Dialogue: 0,0:09:16.34,0:09:17.87,Default,,0000,0000,0000,,kill people so easily?
+Dialogue: 0,0:09:21.86,0:09:23.43,Default,,0000,0000,0000,,If you're still worried,
+Dialogue: 0,0:09:23.98,0:09:26.16,Default,,0000,0000,0000,,there's only one way to tell for sure.
+Dialogue: 0,0:09:27.92,0:09:28.88,Default,,0000,0000,0000,,Have a seat.
+Dialogue: 0,0:10:19.94,0:10:21.89,Default,,0000,0000,0000,,It's called the Voight-Kampff test.
+Dialogue: 0,0:10:21.89,0:10:24.77,Default,,0000,0000,0000,,Tells if you're human or replicant.
+Dialogue: 0,0:10:25.41,0:10:27.73,Default,,0000,0000,0000,,Replicants are tough as nails,
+Dialogue: 0,0:10:27.73,0:10:30.00,Default,,0000,0000,0000,,but they look just like everybody else.
+Dialogue: 0,0:10:30.91,0:10:32.68,Default,,0000,0000,0000,,What's it going to do to me?
+Dialogue: 0,0:10:33.99,0:10:35.20,Default,,0000,0000,0000,,Don't worry.
+Dialogue: 0,0:10:35.20,0:10:36.80,Default,,0000,0000,0000,,I'm just gonna ask you some questions.
+Dialogue: 0,0:10:39.00,0:10:40.81,Default,,0000,0000,0000,,I don't have any memories.
+Dialogue: 0,0:10:42.21,0:10:44.45,Default,,0000,0000,0000,,Feelings can tell more than memories.
+Dialogue: 0,0:10:44.83,0:10:46.30,Default,,0000,0000,0000,,They're deeper.
+Dialogue: 0,0:10:46.66,0:10:50.56,Default,,0000,0000,0000,,If you're a replicant, your emotions \Nwill be marked by contradictions.
+Dialogue: 0,0:10:53.74,0:10:55.41,Default,,0000,0000,0000,,Picture your mother.
+Dialogue: 0,0:10:55.41,0:10:57.08,Default,,0000,0000,0000,,In the house you grew up in.
+Dialogue: 0,0:10:59.95,0:11:02.15,Default,,0000,0000,0000,,She looks at you, disappointed,
+Dialogue: 0,0:11:02.61,0:11:04.51,Default,,0000,0000,0000,,and tells you that she doesn't love you.
+Dialogue: 0,0:11:05.08,0:11:06.90,Default,,0000,0000,0000,,She's never loved you,
+Dialogue: 0,0:11:06.90,0:11:08.56,Default,,0000,0000,0000,,and she regrets ever having you.
+Dialogue: 0,0:11:08.56,0:11:10.91,Default,,0000,0000,0000,,A mother would never say that.
+Dialogue: 0,0:11:13.30,0:11:16.44,Default,,0000,0000,0000,,You're passing a busy street corner \Non the way to a friend's apartment,
+Dialogue: 0,0:11:16.44,0:11:19.21,Default,,0000,0000,0000,,and you see a small cardboard \Nbox next to a dumpster.
+Dialogue: 0,0:11:19.21,0:11:21.79,Default,,0000,0000,0000,,Inside is a tabby cat, a kitten, a real one
+Dialogue: 0,0:11:21.79,0:11:26.29,Default,,0000,0000,0000,,with green eyes and a white spot \Non her nose, meowing for food.
+Dialogue: 0,0:11:27.74,0:11:30.48,Default,,0000,0000,0000,,I'd take it home and feed it.
+Dialogue: 0,0:11:30.48,0:11:31.89,Default,,0000,0000,0000,,I like cats.
+Dialogue: 0,0:11:32.77,0:11:34.20,Default,,0000,0000,0000,,Why do you like cats?
+Dialogue: 0,0:11:34.75,0:11:36.04,Default,,0000,0000,0000,,Hmm...
+Dialogue: 0,0:11:36.97,0:11:38.75,Default,,0000,0000,0000,,They're cute and fluffy.
+Dialogue: 0,0:11:51.17,0:11:53.02,Default,,0000,0000,0000,,Can you remember being in love?
+Dialogue: 0,0:11:53.67,0:11:55.17,Default,,0000,0000,0000,,How did it make you feel?
+Dialogue: 0,0:11:55.82,0:11:57.15,Default,,0000,0000,0000,,That's easy.
+Dialogue: 0,0:11:57.96,0:12:00.01,Default,,0000,0000,0000,,The way he'd look at me...
+Dialogue: 0,0:12:00.69,0:12:02.83,Default,,0000,0000,0000,,I thought my heart was going to burst.
+Dialogue: 0,0:12:03.64,0:12:06.86,Default,,0000,0000,0000,,It felt like... something wonderful.
+Dialogue: 0,0:12:12.52,0:12:14.46,Default,,0000,0000,0000,,Make it pretty.
+Dialogue: 0,0:12:15.96,0:12:17.16,Default,,0000,0000,0000,,Stay still.
+Dialogue: 0,0:12:25.96,0:12:27.28,Default,,0000,0000,0000,,It's done.
+Dialogue: 0,0:12:30.93,0:12:33.03,Default,,0000,0000,0000,,That is so cool.
+Dialogue: 0,0:12:35.77,0:12:36.74,Default,,0000,0000,0000,,It's beautiful.
+Dialogue: 0,0:12:38.50,0:12:39.55,Default,,0000,0000,0000,,It's a gift.
+Dialogue: 0,0:12:40.52,0:12:42.48,Default,,0000,0000,0000,,To mark your new beginning.
+Dialogue: 0,0:12:44.21,0:12:46.74,Default,,0000,0000,0000,,Don't you mean our new beginning?
+Dialogue: 0,0:12:55.42,0:12:58.28,Default,,0000,0000,0000,,Don't forget me, Elle.
+Dialogue: 0,0:13:05.79,0:13:07.15,Default,,0000,0000,0000,,How old were you?
+Dialogue: 0,0:13:07.15,0:13:08.42,Default,,0000,0000,0000,,It's coming back.
+Dialogue: 0,0:13:09.01,0:13:10.82,Default,,0000,0000,0000,,That was when we first met.
+Dialogue: 0,0:13:12.02,0:13:13.42,Default,,0000,0000,0000,,He knew so many things.
+Dialogue: 0,0:13:13.42,0:13:16.01,Default,,0000,0000,0000,,He told me that the lotus represents purity.
+Dialogue: 0,0:13:17.47,0:13:19.98,Default,,0000,0000,0000,,So he gave me this tattoo.
+Dialogue: 0,0:13:21.33,0:13:23.64,Default,,0000,0000,0000,,But only the white lotus is said to be pure.
+Dialogue: 0,0:13:24.78,0:13:25.86,Default,,0000,0000,0000,,No.
+Dialogue: 0,0:13:26.77,0:13:29.13,Default,,0000,0000,0000,,That depends on perception.
+Dialogue: 0,0:14:06.11,0:14:07.61,Default,,0000,0000,0000,,Don't worry.
+Dialogue: 0,0:14:07.61,0:14:09.36,Default,,0000,0000,0000,,You're not a replicant.
+Dialogue: 0,0:14:11.07,0:14:12.99,Default,,0000,0000,0000,,Just a girl with amnesia.
+Dialogue: 0,0:14:14.78,0:14:17.43,Default,,0000,0000,0000,,Your emotions don't exhibit\Nany contradictions.
+Dialogue: 0,0:14:20.21,0:14:21.51,Default,,0000,0000,0000,,Get some rest.
+Dialogue: 0,0:14:23.21,0:14:24.78,Default,,0000,0000,0000,,I'm going out for a drink.
+Dialogue: 0,0:14:25.21,0:14:26.67,Default,,0000,0000,0000,,I'll grab you some food.
+Dialogue: 0,0:14:56.16,0:15:00.00,Italics,,0000,0000,0000,,Senator Bannister is the reason \NCalifornia still has an economy
+Dialogue: 0,0:15:00.00,0:15:03.83,Italics,,0000,0000,0000,,despite devastating climate \Nchange. A hero to the people.
+Dialogue: 0,0:15:06.02,0:15:07.39,Default,,0000,0000,0000,,A hero?
+Dialogue: 0,0:15:07.94,0:15:10.48,Default,,0000,0000,0000,,There wasn't a heroic bone in his body.
+Dialogue: 0,0:15:10.48,0:15:15.48,Default,,0000,0000,0000,,Now that he's gone, it's going to be \Nharder to remove the ban on replicants.
+Dialogue: 0,0:15:15.87,0:15:19.90,Default,,0000,0000,0000,,I still have plenty of \Nfriends who can help me.
+Dialogue: 0,0:15:21.86,0:15:24.06,Default,,0000,0000,0000,,Friends made with money?
+Dialogue: 0,0:15:28.40,0:15:32.81,Default,,0000,0000,0000,,Is that why you came up here? To insult me?
+Dialogue: 0,0:15:32.81,0:15:35.36,Default,,0000,0000,0000,,Or is this another talk about your pride?
+Dialogue: 0,0:15:38.42,0:15:43.33,Default,,0000,0000,0000,,I admit, humanity would \Nhave starved without you.
+Dialogue: 0,0:15:43.33,0:15:47.77,Default,,0000,0000,0000,,It was your research that \Nled to synthetic proteins,
+Dialogue: 0,0:15:47.77,0:15:52.39,Default,,0000,0000,0000,,but ideas mean nothing without the \Nmoney and power to actualize them.
+Dialogue: 0,0:15:55.14,0:15:59.94,Default,,0000,0000,0000,,I gave the people manna when \Nheaven would not oblige.
+Dialogue: 0,0:16:00.62,0:16:05.14,Default,,0000,0000,0000,,If a man is capable of stealing the \Ncredit for a feat of such enormity,
+Dialogue: 0,0:16:05.99,0:16:07.64,Default,,0000,0000,0000,,it will only be a matter of time.
+Dialogue: 0,0:16:08.67,0:16:11.40,Default,,0000,0000,0000,,No amount of wealth will save him.
+Dialogue: 0,0:16:12.52,0:16:17.38,Default,,0000,0000,0000,,And yet you need my wealth to remove \Nthe ban on those replicants.
+Dialogue: 0,0:16:18.23,0:16:21.24,Default,,0000,0000,0000,,Everything intended will happen.
+Dialogue: 0,0:16:21.24,0:16:23.95,Default,,0000,0000,0000,,A god makes it so.
+Dialogue: 0,0:16:24.85,0:16:26.91,Default,,0000,0000,0000,,Listen to yourself.
+Dialogue: 0,0:16:26.91,0:16:28.90,Default,,0000,0000,0000,,Do you know who you're \Nstarting to sound like?
+Dialogue: 0,0:17:22.29,0:17:23.82,Default,,0000,0000,0000,,Doc Badger.
+Dialogue: 0,0:17:23.82,0:17:26.50,Default,,0000,0000,0000,,Officer Davis, LAPD.
+Dialogue: 0,0:17:26.50,0:17:28.27,Default,,0000,0000,0000,,Got a few questions.
+Dialogue: 0,0:17:32.14,0:17:34.16,Default,,0000,0000,0000,,Whatever it is, I didn't do it.
+Dialogue: 0,0:17:34.91,0:17:37.97,Default,,0000,0000,0000,,You seen a young lady with a black lotus tattoo?
+Dialogue: 0,0:17:40.86,0:17:43.56,Default,,0000,0000,0000,,You think I spend all day looking?
+Dialogue: 0,0:17:43.56,0:17:45.12,Default,,0000,0000,0000,,Looking at people's tattoos?
+Dialogue: 0,0:17:46.67,0:17:50.82,Default,,0000,0000,0000,,Well, she was carrying a data drive \Nand swinging around a sword.
+Dialogue: 0,0:17:50.82,0:17:52.67,Default,,0000,0000,0000,,A samurai sword.
+Dialogue: 0,0:17:55.13,0:17:56.46,Default,,0000,0000,0000,,Right around here.
+Dialogue: 0,0:17:57.46,0:18:01.65,Default,,0000,0000,0000,,Everyone says you're the man to see about \Nthese kinds of things in this part of town.
+Dialogue: 0,0:18:03.34,0:18:05.11,Default,,0000,0000,0000,,It's time for me to close the store.
+Dialogue: 0,0:18:06.78,0:18:08.43,Default,,0000,0000,0000,,If you're not arresting me,
+Dialogue: 0,0:18:09.42,0:18:11.03,Default,,0000,0000,0000,,go bother other people.
+Dialogue: 0,0:18:15.23,0:18:16.76,Default,,0000,0000,0000,,I'll be in touch, Doc.
+Dialogue: 0,0:18:20.02,0:18:21.36,Default,,0000,0000,0000,,Dammit...
+Dialogue: 0,0:19:48.69,0:19:49.75,Default,,0000,0000,0000,,What?
+Dialogue: 0,0:19:58.12,0:20:01.71,Italics,,0000,0000,0000,,Get off your asses and \Nrun, you two-bit dolls!
+Dialogue: 0,0:20:10.71,0:20:12.14,Italics,,0000,0000,0000,,What are you doing?
+Dialogue: 0,0:20:12.14,0:20:14.14,Italics,,0000,0000,0000,,You know the rules.
+Dialogue: 0,0:20:14.14,0:20:16.85,Italics,,0000,0000,0000,,Hey, I'm a journalist.
+Dialogue: 0,0:20:16.85,0:20:19.59,Italics,,0000,0000,0000,,If you don't document it, \Ndid it really happen?
+Dialogue: 0,0:20:22.07,0:20:23.86,Italics,,0000,0000,0000,,Finished already?
+Dialogue: 0,0:20:24.28,0:20:27.30,Italics,,0000,0000,0000,,There's no challenge just \Npicking 'em off from this far.
+Dialogue: 0,0:20:27.89,0:20:29.80,Italics,,0000,0000,0000,,If they really are dangerous,
+Dialogue: 0,0:20:29.80,0:20:32.25,Italics,,0000,0000,0000,,we could be hunting 'em up close.
+Dialogue: 0,0:20:33.09,0:20:34.74,Italics,,0000,0000,0000,,Sounds like fun.
+Dialogue: 0,0:20:41.76,0:20:46.91,Italics,,0000,0000,0000,,These replicants are hardwired \Nto be fully submissive to humans.
+Dialogue: 0,0:20:50.39,0:20:51.79,Default,,0000,0000,0000,,Replicants...
+Dialogue: 0,0:20:53.04,0:20:54.74,Default,,0000,0000,0000,,hard-wired...
+Dialogue: 0,0:20:55.64,0:20:57.22,Default,,0000,0000,0000,,to be fully...
+Dialogue: 0,0:20:58.21,0:20:59.70,Default,,0000,0000,0000,,submissive...
+Dialogue: 0,0:21:09.87,0:21:12.64,Default,,0000,0000,0000,,Oh, these things are helpless.
+Dialogue: 0,0:21:12.64,0:21:15.33,Default,,0000,0000,0000,,Whatever we want, we do.
+Dialogue: 0,0:21:16.17,0:21:18.03,Default,,0000,0000,0000,,It's too easy.
+Dialogue: 0,0:21:22.72,0:21:24.01,Default,,0000,0000,0000,,Why?
+Dialogue: 0,0:21:27.69,0:21:31.12,Italics,,0000,0000,0000,,I'm so tired,\Noh, so tired
+Dialogue: 0,0:21:31.12,0:21:33.99,Italics,,0000,0000,0000,,All these voices\Nin my brain
+Dialogue: 0,0:21:33.99,0:21:37.58,Italics,,0000,0000,0000,,Living through my normal,\Noh, so formal
+Dialogue: 0,0:21:37.58,0:21:40.52,Italics,,0000,0000,0000,,I swear\Nthey're driving me insane
+Dialogue: 0,0:21:40.52,0:21:44.70,Italics,,0000,0000,0000,,Can't tell who's a liar\Ncome hell or high water
+Dialogue: 0,0:21:44.70,0:21:48.60,Italics,,0000,0000,0000,,I'm not listening
+Dialogue: 0,0:21:48.60,0:21:50.67,Italics,,0000,0000,0000,,Whoa
+Dialogue: 0,0:21:51.75,0:21:54.81,Italics,,0000,0000,0000,,I'm getting out of here
+Dialogue: 0,0:21:54.81,0:21:56.50,Italics,,0000,0000,0000,,Oh, no
+Dialogue: 0,0:21:56.50,0:21:59.80,Italics,,0000,0000,0000,,I won't let go\Ntill you say so
+Dialogue: 0,0:21:59.80,0:22:02.91,Italics,,0000,0000,0000,,I'm tired of being lost
+Dialogue: 0,0:22:02.91,0:22:05.79,Italics,,0000,0000,0000,,Show me the way\Nto get back
+Dialogue: 0,0:22:05.79,0:22:09.89,Italics,,0000,0000,0000,,Home
+Dialogue: 0,0:22:10.93,0:22:16.37,Italics,,0000,0000,0000,,To get back home
+

+ 1 - 1
go.mod

@@ -21,6 +21,7 @@ require (
 	github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
 	github.com/gorilla/websocket v1.4.2
 	github.com/grd/stat v0.0.0-20130623202159-138af3fd5012
+	github.com/huandu/go-clone v1.3.0
 	github.com/james-bowman/nlp v0.0.0-20210511120306-26d441fa0ded
 	github.com/james-bowman/sparse v0.0.0-20210729090128-1e6c7dd483e9 // indirect
 	github.com/jinzhu/now v1.1.2
@@ -78,7 +79,6 @@ require (
 	github.com/hashicorp/errwrap v1.0.0 // indirect
 	github.com/hashicorp/go-multierror v1.1.0 // indirect
 	github.com/hashicorp/hcl v1.0.0 // indirect
-	github.com/huandu/go-clone v1.3.0 // indirect
 	github.com/jinzhu/inflection v1.0.0 // indirect
 	github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
 	github.com/klauspost/pgzip v1.2.4 // indirect

+ 1 - 0
go.sum

@@ -244,6 +244,7 @@ github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0m
 github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
 github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
+github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c=
 github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U=
 github.com/huandu/go-clone v1.3.0 h1:gZ0HVFnzdal9t6p12QAoeuRW1Q8tp8gLCRUvLbj0hY0=
 github.com/huandu/go-clone v1.3.0/go.mod h1:bPJ9bAG8fjyAEBRFt6toaGUZcGFGL3f6g5u6yW+9W14=

+ 5 - 0
internal/downloader.go

@@ -424,10 +424,15 @@ func (d Downloader) DownloadSub4Series(dir string) error {
 		if err != nil {
 			return err
 		}
+		for index, seriesDir := range seriesDirList {
+			d.log.Debugln("embyHelper == nil GetSeriesList", index, seriesDir)
+		}
 	} else {
 		// 这里给出的是连续剧的文件夹名称
+		d.log.Debugln("embyHelper seriesSubNeedDlMap Count:", len(d.seriesSubNeedDlMap))
 		for s, _ := range d.seriesSubNeedDlMap {
 			seriesDirList = append(seriesDirList, s)
+			d.log.Debugln("embyHelper seriesSubNeedDlMap:", s)
 		}
 	}
 	wg := sync.WaitGroup{}

+ 4 - 4
internal/logic/series_helper/seriesHelper.go

@@ -274,7 +274,7 @@ func whichSeasonEpsNeedDownloadSub(seriesInfo *series.SeriesInfo, forcedScanAndD
 		if epsInfo.AiredTime != "" {
 			baseTime, err = now.Parse(epsInfo.AiredTime)
 			if err != nil {
-				log_helper.GetLogger().Errorln("SeriesInfo parse AiredTime", err)
+				log_helper.GetLogger().Errorln("SeriesInfo parse AiredTime", epsInfo.Title, epsInfo.Season, epsInfo.Episode, err)
 				baseTime = epsInfo.ModifyTime
 			}
 		} else {
@@ -317,7 +317,7 @@ func getSeriesInfoFromDir(seriesDir string, imdbInfo *imdb.Title) (*series.Serie
 		if err != nil {
 			// 不是必须的
 			seriesInfo.Year = 0
-			log_helper.GetLogger().Warnln("ReadSeriesInfoFromDir.GetImdbInfo4SeriesDir.strconv.Atoi", err)
+			log_helper.GetLogger().Warnln("ReadSeriesInfoFromDir.GetImdbInfo4SeriesDir.strconv.Atoi", seriesDir, err)
 		} else {
 			seriesInfo.Year = iYear
 		}
@@ -333,12 +333,12 @@ func getEpsInfoAndSubDic(videoFile string, EpisodeDict map[string]series.Episode
 	// 正常来说,一集只有一个格式的视频,也就是 S01E01 只有一个,如果有多个则会只保存第一个
 	info, modifyTime, err := decode.GetVideoInfoFromFileFullPath(videoFile)
 	if err != nil {
-		log_helper.GetLogger().Errorln("model.GetVideoInfoFromFileFullPath", err)
+		log_helper.GetLogger().Errorln("model.GetVideoInfoFromFileFullPath", videoFile, err)
 		return
 	}
 	episodeInfo, err := decode.GetImdbInfo4OneSeriesEpisode(videoFile)
 	if err != nil {
-		log_helper.GetLogger().Errorln("model.GetImdbInfo4OneSeriesEpisode", err)
+		log_helper.GetLogger().Errorln("model.GetImdbInfo4OneSeriesEpisode", videoFile, err)
 		return
 	}
 	epsKey := my_util.GetEpisodeKeyName(info.Season, info.Episode)

+ 13 - 0
internal/logic/sub_supplier/zimuku/zimuku_test.go

@@ -88,3 +88,16 @@ func TestSupplier_getSubListFromKeyword(t *testing.T) {
 		println(i, sublist.Name, sublist.Ext, sublist.Language.String(), sublist.Score, len(sublist.Data))
 	}
 }
+
+func TestSupplier_step3(t *testing.T) {
+
+	dlUrl := "https://zmk.pw/dld/162150.html"
+	s := Supplier{}
+	fileName, datas, err := s.step3(dlUrl)
+	if err != nil {
+		t.Fatal(err)
+	}
+
+	println(fileName)
+	println(len(datas))
+}

+ 5 - 1
internal/pkg/decode/decode_test.go

@@ -40,8 +40,12 @@ func TestGetImdbAndYearMovieXml(t *testing.T) {
 func TestGetImdbAndYearNfo(t *testing.T) {
 	wantid := "tt0993840"
 	wantyear := "2021"
-	dirPth := getTestFileDir("movie.nfo")
+
+	dirPth := "..\\..\\..\\TestData\\video_info_file\\Army of the Dead (2021) WEBDL-1080p.nfo"
+	//dirPth := "C:\\Tmp\\American Crime Story (2016) - s03e01.nfo"
+
 	imdbInfo, err := getImdbAndYearNfo(dirPth, "movie")
+	//imdbInfo, err := getImdbAndYearNfo(dirPth, "episodedetails")
 	if err != nil {
 		t.Fatal(err)
 	}

+ 15 - 15
internal/pkg/emby_api/emby_api.go

@@ -8,6 +8,7 @@ import (
 	"github.com/go-resty/resty/v2"
 	"github.com/panjf2000/ants/v2"
 	"golang.org/x/net/context"
+	"net/http"
 	"sync"
 	"time"
 )
@@ -16,6 +17,7 @@ type EmbyApi struct {
 	embyConfig emby.EmbyConfig
 	threads    int
 	timeOut    time.Duration
+	client     *resty.Client
 }
 
 func NewEmbyApi(embyConfig emby.EmbyConfig) *EmbyApi {
@@ -28,6 +30,11 @@ func NewEmbyApi(embyConfig emby.EmbyConfig) *EmbyApi {
 	}
 	em.threads = 6
 	em.timeOut = 5 * 60 * time.Second
+	// 见 https://github.com/allanpk716/ChineseSubFinder/issues/140
+	em.client = resty.New().SetTransport(&http.Transport{
+		MaxIdleConns:        100,
+		MaxIdleConnsPerHost: 100,
+	}).RemoveProxy().SetTimeout(em.timeOut)
 	return &em
 }
 
@@ -104,7 +111,7 @@ func (em EmbyApi) GetRecentlyItems() (emby.EmbyRecentlyItems, error) {
 		log_helper.GetLogger().Debugln("Emby Setting SkipWatched = false")
 
 		// 默认是不指定某一个User的视频列表
-		_, err = em.getNewClient().R().
+		_, err = em.client.R().
 			SetQueryParams(map[string]string{
 				"api_key":          em.embyConfig.ApiKey,
 				"IsUnaired":        "false",
@@ -133,7 +140,7 @@ func (em EmbyApi) GetRecentlyItems() (emby.EmbyRecentlyItems, error) {
 		for _, item := range userIds.Items {
 			var tmpRecItems emby.EmbyRecentlyItems
 			// 获取指定用户的视频列表
-			_, err = em.getNewClient().R().
+			_, err = em.client.R().
 				SetQueryParams(map[string]string{
 					"api_key":          em.embyConfig.ApiKey,
 					"IsUnaired":        "false",
@@ -191,7 +198,7 @@ func (em EmbyApi) GetRecentlyItems() (emby.EmbyRecentlyItems, error) {
 // GetUserIdList 获取所有的 UserId
 func (em EmbyApi) GetUserIdList() (emby.EmbyUsers, error) {
 	var recItems emby.EmbyUsers
-	_, err := em.getNewClient().R().
+	_, err := em.client.R().
 		SetQueryParams(map[string]string{
 			"api_key": em.embyConfig.ApiKey,
 		}).
@@ -210,7 +217,7 @@ func (em EmbyApi) GetItemAncestors(id string) ([]emby.EmbyItemsAncestors, error)
 
 	var recItems []emby.EmbyItemsAncestors
 
-	_, err := em.getNewClient().R().
+	_, err := em.client.R().
 		SetQueryParams(map[string]string{
 			"api_key": em.embyConfig.ApiKey,
 		}).
@@ -228,7 +235,7 @@ func (em EmbyApi) GetItemVideoInfo(id string) (emby.EmbyVideoInfo, error) {
 
 	var recItem emby.EmbyVideoInfo
 
-	_, err := em.getNewClient().R().
+	_, err := em.client.R().
 		SetQueryParams(map[string]string{
 			"api_key": em.embyConfig.ApiKey,
 		}).
@@ -246,7 +253,7 @@ func (em EmbyApi) GetItemVideoInfoByUserId(userId, videoId string) (emby.EmbyVid
 
 	var recItem emby.EmbyVideoInfoByUserId
 
-	_, err := em.getNewClient().R().
+	_, err := em.client.R().
 		SetQueryParams(map[string]string{
 			"api_key": em.embyConfig.ApiKey,
 		}).
@@ -262,7 +269,7 @@ func (em EmbyApi) GetItemVideoInfoByUserId(userId, videoId string) (emby.EmbyVid
 // UpdateVideoSubList 更新字幕列表, 在 API 调试界面 -- ItemRefreshService
 func (em EmbyApi) UpdateVideoSubList(id string) error {
 
-	_, err := em.getNewClient().R().
+	_, err := em.client.R().
 		SetQueryParams(map[string]string{
 			"api_key": em.embyConfig.ApiKey,
 		}).
@@ -277,7 +284,7 @@ func (em EmbyApi) UpdateVideoSubList(id string) error {
 // GetSubFileData 下载字幕 subExt -> .ass or .srt , 在 API 调试界面 -- SubtitleService
 func (em EmbyApi) GetSubFileData(videoId, mediaSourceId, subIndex, subExt string) (string, error) {
 
-	response, err := em.getNewClient().R().
+	response, err := em.client.R().
 		Get(em.embyConfig.Url + "/emby/Videos/" + videoId + "/" + mediaSourceId + "/Subtitles/" + subIndex + "/Stream" + subExt)
 	if err != nil {
 		return "", err
@@ -286,13 +293,6 @@ func (em EmbyApi) GetSubFileData(videoId, mediaSourceId, subIndex, subExt string
 	return response.String(), nil
 }
 
-func (em EmbyApi) getNewClient() *resty.Client {
-	tmpClient := resty.New()
-	tmpClient.RemoveProxy()
-	tmpClient.SetTimeout(em.timeOut)
-	return tmpClient
-}
-
 type InputData struct {
 	Id string
 	Wg *sync.WaitGroup

+ 2 - 1
internal/pkg/emby_api/emby_api_test.go

@@ -59,7 +59,8 @@ func TestEmbyHelper_UpdateVideoSubList(t *testing.T) {
 	// 194046 -- 窃贼军团
 	// 178071 -- The Night House
 	// 215162 --  Black Lotus - S01E03
-	err := em.UpdateVideoSubList("145499")
+	// 229865 --  黄石 - S04E06
+	err := em.UpdateVideoSubList("229865")
 	if err != nil {
 		t.Fatal(err)
 	}

+ 4 - 1
internal/pkg/language/string_encoding.go

@@ -5,6 +5,7 @@ import (
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
 	"github.com/axgle/mahonia"
 	nzlov "github.com/nzlov/chardet"
+	"strings"
 )
 
 // ConvertToString 将字符串从原始编码转换到目标编码,需要配合字符串检测编码库使用 chardet.NewTextDetector()
@@ -49,6 +50,8 @@ func ChangeFileCoding2UTF8(inBytes []byte) ([]byte, error) {
 	if dat[0] == 0xef || dat[1] == 0xbb || dat[2] == 0xbf {
 		dat = dat[3:]
 	}
+	// 在确认一次
+	validUTF8String := strings.ToValidUTF8(string(dat[:]), "")
 
-	return dat, nil
+	return []byte(validUTF8String), nil
 }

+ 6 - 1
internal/pkg/my_util/util.go

@@ -79,6 +79,11 @@ func DownFile(urlStr string, _reqParam ...types.ReqParam) ([]byte, string, error
 		return nil, "", err
 	}
 	filename := GetFileName(resp.RawResponse)
+
+	if filename == "" {
+		log_helper.GetLogger().Errorln("DownFile.GetFileName is string.empty", urlStr)
+	}
+
 	return resp.Body(), filename, nil
 }
 
@@ -91,7 +96,7 @@ func GetFileName(resp *http.Response) string {
 	re := regexp.MustCompile(`filename=["]*([^"]+)["]*`)
 	matched := re.FindStringSubmatch(contentDisposition)
 	if matched == nil || len(matched) == 0 || len(matched[0]) == 0 {
-		//fmt.Println("######")
+		log_helper.GetLogger().Errorln("GetFileName.Content-Disposition", contentDisposition)
 		return ""
 	}
 	return matched[1]

+ 38 - 2
internal/pkg/sub_timeline_fixer/pipeline.go

@@ -191,6 +191,11 @@ func (p Pipeline) FixSubFileTimeline(infoSrc, scaledInfoSrc *subparser.FileInfo,
 		这就需要一个额外的函数去处理这些情况
 	*/
 	timeFormat := scaledInfoSrc.GetTimeFormat()
+	// 如果两个解析出来的对白数量不一致,那么肯定是无法进行下面的匹配的,理论上应该没得问题
+	if len(scaledInfoSrc.Dialogues) != len(infoSrc.Dialogues) {
+		return "", errors.New("FixSubFileTimeline Not The Same Len: scaledInfoSrc.Dialogues and infoSrc.Dialogues")
+	}
+	contentReplaceOffsetAll := -1
 	for index, scaledSrcOneDialogue := range scaledInfoSrc.Dialogues {
 
 		timeStart, err := my_util.ParseTime(scaledSrcOneDialogue.StartTime)
@@ -204,9 +209,40 @@ func (p Pipeline) FixSubFileTimeline(infoSrc, scaledInfoSrc *subparser.FileInfo,
 
 		fixTimeStart := timeStart.Add(offsetTime)
 		fixTimeEnd := timeEnd.Add(offsetTime)
+		/*
+			这里有一个梗(之前没有考虑到),理论上这样的替换应该匹配到一句话(正确的那一句),但是有一定几率
+			会把上面修复完的对白时间也算进去替换(匹配上了两句话),导致时间轴无形中被错误延长了
+			那么就需要一个 contentReplaceOffsetAll 去记录现在进行到整个字幕那个偏移未知的替换操作了
 
-		fixContent = strings.ReplaceAll(fixContent, infoSrc.Dialogues[index].StartTime, my_util.Time2SubTimeString(fixTimeStart, timeFormat))
-		fixContent = strings.ReplaceAll(fixContent, infoSrc.Dialogues[index].EndTime, my_util.Time2SubTimeString(fixTimeEnd, timeFormat))
+			并不是说一个字幕中不能出现多个一样的“时间字符串”,也就是如果使用 Find 去查找应该也是一定 >= 1 的结果
+			所以才需要 contentReplaceOffsetAll 来记录替换的偏移位置,每次只能变大,而不是变小
+		*/
+
+		orgStartTimeString := infoSrc.Dialogues[index].StartTime
+		orgEndTimeString := infoSrc.Dialogues[index].EndTime
+		// contentReplaceOffsetAll 为 -1 的时候那么第一次搜索得到的就一定是可以替换的
+		if contentReplaceOffsetAll == -1 {
+			contentReplaceOffsetAll = 0
+		}
+		contentReplaceOffsetNow := strings.Index(fixContent[contentReplaceOffsetAll:], orgStartTimeString)
+		if contentReplaceOffsetNow == -1 {
+			// 说明没找到,就跳过,虽然理论上不应该会出现
+			continue
+		}
+		contentReplaceOffsetAll += contentReplaceOffsetNow
+		fixContent = fixContent[:contentReplaceOffsetAll] + strings.Replace(fixContent[contentReplaceOffsetAll:], orgStartTimeString, my_util.Time2SubTimeString(fixTimeStart, timeFormat), 1)
+
+		// contentReplaceOffsetAll 为 -1 的时候那么第一次搜索得到的就一定是可以替换的
+		if contentReplaceOffsetAll == -1 {
+			contentReplaceOffsetAll = 0
+		}
+		contentReplaceOffsetNow = strings.Index(fixContent[contentReplaceOffsetAll:], orgEndTimeString)
+		if contentReplaceOffsetNow == -1 {
+			// 说明没找到,就跳过,虽然理论上不应该会出现
+			continue
+		}
+		contentReplaceOffsetAll += contentReplaceOffsetNow
+		fixContent = fixContent[:contentReplaceOffsetAll] + strings.Replace(fixContent[contentReplaceOffsetAll:], orgEndTimeString, my_util.Time2SubTimeString(fixTimeEnd, timeFormat), 1)
 	}
 
 	dstFile, err := os.Create(desSaveSubFileFullPath)

+ 7 - 1
internal/pkg/sub_timeline_fixer/pipeline_test.go

@@ -56,12 +56,18 @@ func TestPipeline_FitGSS(t *testing.T) {
 			srcSubFile:       "C:\\Tmp\\fixsubtimeline\\Foundation - S01E09\\org.ass",
 			srcFixedSubFile:  "C:\\Tmp\\fixsubtimeline\\Foundation - S01E09\\org-fix.ass",
 		}, want: -29.890000, wantErr: false},
-		{name: "Foundation - S01E09", args: args{
+		{name: "Yellowstone S04E05", args: args{
 			baseSubFile:      "C:\\Tmp\\fixsubtimeline\\Yellowstone S04E05\\英_2.ass",
 			ffsubSyncSubFile: "C:\\Tmp\\fixsubtimeline\\Yellowstone S04E05\\ffsubsync.ass",
 			srcSubFile:       "C:\\Tmp\\fixsubtimeline\\Yellowstone S04E05\\org.ass",
 			srcFixedSubFile:  "C:\\Tmp\\fixsubtimeline\\Yellowstone S04E05\\org-fix.ass",
 		}, want: -62.84, wantErr: false},
+		{name: "Yellowstone S04E06", args: args{
+			baseSubFile:      "C:\\Tmp\\fixsubtimeline\\Yellowstone S04E06\\英_2.ass",
+			ffsubSyncSubFile: "C:\\Tmp\\fixsubtimeline\\Yellowstone S04E06\\ffsubsync.ass",
+			srcSubFile:       "C:\\Tmp\\fixsubtimeline\\Yellowstone S04E06\\org.ass",
+			srcFixedSubFile:  "C:\\Tmp\\fixsubtimeline\\Yellowstone S04E06\\org-fix.ass",
+		}, want: -62.84, wantErr: false},
 	}
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {