Astral joins OpenAI
Episode Deep Dive
Guest Introduction and Background
Charlie Marsh is the founder and former CEO of Astral, the company behind some of the most widely used developer tools in the modern Python ecosystem: Ruff (a linter and formatter), uv (a package manager and Python version manager), and ty (a type checker currently in development). Astral's calling card has always been high performance, with its tools written in Rust and known for being dramatically faster than the tools they replace. Charlie started Ruff as a side project, published a blog post when it reached proof-of-concept stage, and was surprised by how strongly the community responded to both the ideas and the speed. He turned it into a full-time effort and founded Astral in late 2022, deliberately keeping the team small while the tools grew into ecosystem staples.
This is not Charlie's first appearance on Talk Python. He has been on the show to talk about Ruff, then uv, and then pyx, so this conversation continues a journey that listeners have followed across several big releases. The news this time is bigger and different: OpenAI acquired Astral, and Charlie now continues to lead the Astral team from inside OpenAI, working alongside the Codex group. In this episode he speaks candidly about the acquisition, the mixed reactions to it, what stays the same for your favorite tools, and what it is like to build developer tooling right at the center of the AI world.
What to Know If You're New to Python
This episode lives at the intersection of Python's tooling layer and the fast-moving world of AI-assisted coding. A little background on how Python projects are built, run, and checked, plus what it means to "build with agents," will help you follow the conversation and get the most out of it.
- Python packaging and virtual environments: Python projects depend on third-party libraries, and tools like uv install those dependencies, lock exact versions, and create isolated virtual environments so projects do not interfere with each other. uv is the star of this episode, so understanding why dependency management is hard makes its appeal obvious.
- Linters, formatters, and type checkers: A linter flags suspicious code, a formatter enforces a consistent style automatically, and a type checker verifies that your types line up before you run anything. Astral's Ruff covers the first two and ty is its take on the third, so these categories come up throughout the discussion.
- CPython and prebuilt Python distributions: CPython is the reference implementation of Python that most people run. Astral's Python build standalone project ships prebuilt, relocatable versions of CPython so a tool can download and unzip a working Python rather than compiling one, which Michael calls the "secret sauce" behind uv.
- Rust as the language for fast Python tooling: Rust is a systems programming language that produces very fast, memory-safe binaries. Astral writes its Python tools in Rust, and part of why OpenAI was interested is that the team sits at the Python and Rust intersection.
- Agentic coding (building with AI agents): An AI coding agent does not just autocomplete a line; it can read your codebase, run your tests, edit files, and self-correct toward a goal. Charlie and Michael spend much of the episode on what it means to build software this way, with OpenAI's Codex as the running example.
Key Points and Takeaways
OpenAI acquired Astral, and the tools are not going away The central news of this episode is that OpenAI acquired Astral, the maker of uv, Ruff, and ty. The deal was announced in March 2026 (March 19, per Michael's records), and Charlie and the team joined OpenAI about a month before this recording. The loudest worry in the community was some version of "is uv toast?", and pushing back on that fear is the thing Charlie most wanted to do. He stresses that the tools remain a priority, that the team continues to build them, and that he still leads the Astral group, now inside OpenAI on the Codex team. Rather than ask people to take that on faith, he frames the real proof as actions over time. His closing message is that if you have liked the work and how the team runs its repositories and community, you should be happy with how this plays out.
The twist: possibly more open source at OpenAI than at Astral The most counterintuitive idea in the conversation is Charlie's belief that the team may ship more open source at OpenAI than it did as an independent company. The reasoning is about constraints. As a venture-funded business, Astral was increasingly having to think about commercialization, which meant the work had to stay coupled to a realistic commercial vision and was largely focused on just Python. Inside OpenAI, that monetization pressure is off and there is broad company alignment around shipping open source. Charlie is careful to say this is hard to prove and that time will tell, but sitting where he is now, he genuinely expects the amount of open source they release over the next year to possibly exceed what they would have done otherwise. He also notes the team now has room to be more ambitious and even experiment beyond Python.
Why OpenAI wanted Astral Charlie lays out several overlapping reasons OpenAI was interested. First, there is a great deal of both Python and Rust at OpenAI, and Astral works precisely at that intersection while also being a heavy user's worth of tooling for the company itself. Second, OpenAI is a big user of Astral's tools, so the team can find where their tooling falls short at scale and fix it for everyone. Third, both sides want to explore how tools should change as software is increasingly built with agents, which is easier when you can co-design the models, the harness, and the tools together. Finally, Charlie credits OpenAI's respect for what a small team accomplished and the belief that, on a bigger platform, that team could have an even bigger impact. He frames OpenAI as, among other things, a huge user of Astral tooling.
What changes and what stays the same for uv, Ruff, and ty For the tools people depend on every day, Charlie's repeated answer is that a lot stays the same. He looked at the data and found the release rate held roughly constant across the whole process, from before the acquisition through the intermediate window to after. The current goal is actually to ship a backlog of highly requested features that never quite fit the old roadmap, with locked tool installs as an example: being able to run a tool install that points at a git repository and reuses a published lock file so you get the exact same dependencies. ty remains on track for a stable release later this year. The main structural change is on the commercial side rather than the open source tools themselves.
Winding down pyx, but open sourcing the GPU work pyx was Astral's hosted Python registry, essentially the server to the uv client and the first piece of a planned commercial platform aimed at problems uv could not solve alone, like private package distribution, security scanning, and the considerable pain of GPU, CUDA, and PyTorch installs. With the acquisition, the team is winding down the hosted pyx service. The piece Charlie is most excited about is that the work they did around GPU indexes and prebuilt wheels will be open sourced, with the artifacts made freely available. As an independent company they had to figure out how to build a business around that work; now they can simply release it because it is a good thing to have out in the world. People who worked on pyx are being moved onto other efforts within the Astral suite.
ty and OpenAI as a testing ground for a type checker at scale Charlie sees a clear upside in having OpenAI's enormous and varied codebase to harden ty against, with very different styles of code across research and applied work. The original ty beta milestone was using it internally on Astral's own code, mostly pyx, which is only a moderately sized Python codebase. Now the goal is to get ty ready to run as a default across more of OpenAI's code before the stable release, which helps the team prioritize which issues are real and which can wait. As Charlie puts it, if you can get it running here at scale with sufficient coverage and great performance, there is a good chance it will run anywhere. Michael notes that ty and Meta's Pyrefly stand well above older type checkers from a different era, with ty focused on delivering fast autocomplete and editor completion across large projects.
Python build standalone, the secret sauce that lives outside Python Michael argues that an underappreciated reason uv works so well is Python build standalone: uv lives outside of Python rather than inside it. The project ships prebuilt, relocatable CPython so that on your machine you download, unzip, and run, with no need to compile Python yourself. Charlie describes it, half-jokingly, as kind of a fork of CPython, really just CPython with a set of patches to the build system to make it relocatable rather than any change to the implementation. The team wants to upstream as much as possible to CPython, since fewer deviations make the project easier to maintain and benefit everyone. Two ongoing priorities are removing quirks that make the builds feel different and pushing performance, including profile guided optimization rather than a JIT, with a goal of releasing the same day CPython does. This is the Python you get when you ask uv to install a version you do not already have.
Using AI coding agents well is a skill you have to learn A recurring theme is that working effectively with agents is a genuine engineering skill, not a switch you flip. Charlie admits he was not really using agents to build software until around December, mostly relying on tab completion, until a wave of people went home for the holidays, had time to experiment, and came back changed. He says he has not really typed out code in the editor in months, using it now mostly to read code or edit docs and changelogs. He is honest that he went through a rough patch he half-jokingly calls AI psychosis, putting up pull requests that were genuinely bad while believing they were good. The lesson he takes from it is that these tools reward learning and good workflows, and that the models getting better steadily reduces how much micromanagement they need. Michael agrees that it is an engineering skill, on par with coding or testing.
The joy, the loss, and the redemption of building with agents Charlie is reflective about what changes emotionally when an agent writes the code. He worried he would be stuck choosing between enjoying his work and shipping faster, since early on agentic coding felt more productive but less fun. He acknowledges losing something real, like no longer thinking as hard about the layout of a data structure. But he counters with concrete upsides: he has not dealt with a rebase conflict in months, and the cost of experimentation, while not zero, is now very low. His favorite example is a change in uv to content-address the cache so overlapping files across many package versions are not stored repeatedly, the kind of hard idea he can now hand to Codex as a goal like reducing memory consumption by at least one percent, then review and judge. Michael adds that what he actually loves is building things, a point Charlie echoes by calling this an unusually high-leverage time to be a software engineer, since the skills act as a multiplier on your instincts.
Why two people describe AI coding so differently Michael offers a theory for why the same activity produces wildly different reports. The people who go all in, learn the skill, pay for the top model, and stick with it tend to have great experiences, while skeptics who try a free, lower-tier agent once tend to have a bad experience that reinforces their doubt. The two camps believe they are talking about the same thing, but they are not doing the same thing. Charlie agrees there is something to this and is candid that everyone has biases, including him as an OpenAI employee, but that it is easy to find ways to confirm whatever you already believe. He thinks you do yourself a disservice by being completely dismissive, because the skill takes time and even develops into an intuition for sensing when a model is wrong. As a leader, he pushed agents on his team for a pointed reason: many of their users build with agents, so the team has to understand that experience.
Agents are reshaping open source maintenance One of the more sobering threads is what cheap generation does to open source projects. Charlie notes the cost of putting up a plausible pull request is now basically zero for an arbitrary contributor, while it still takes maintainers something like an hour to read, verify, and truly understand the code, a part that has not gotten much easier. The team also sees issues that are clearly raw LLM output, where asking a follow-up question just gets the question pasted into an agent and the answer pasted back. He imagines a near future where ten people a day publish a new, agent-built Python package manager, some good and some bad, and he is not sure he could tell them apart. Michael's response is that this makes reputation, community, and stewardship more valuable, pointing to how Django sustains conferences and fellows. Michael also praises Ruff in agent workflows, where having the agent run Ruff format and Ruff check gives it another layer to catch its own mistakes in a non-compiled language like Python.
What it is like to work inside a frontier AI lab Charlie gives a rare look at life inside OpenAI. Internally, Codex has effectively taken over, including among people who are not software engineers, with a significant share of the desktop app's users being other kinds of knowledge workers; a teammate joked it must be the most dogfooded app of all time. That creates a powerful, constant feedback loop across the models, apps, and hardware. He says you quickly become a person who believes the models will keep getting very good very quickly, especially after talking with research about data center buildout and algorithmic efficiencies. He also finds it strange to watch outsiders speculate about the company in ways that, from the inside, are often confident but wrong. One of his investors predicted a frontier lab would not feel less crazy than a startup, and Charlie thinks that was right.
The founder's journey and the human weight of the decision The episode is also a personal story. Charlie started the company in late 2022 around the same time his first child was born, and his son arrived about seven weeks early, leaving him fixing issues from the hospital. He had quit his job to start a company without yet knowing what it would be, with a child on the way, and his father was understandably skeptical. He recalls signing the letter of intent at his niece's birthday party and walking up to tell his mom he had just signed an LOI with OpenAI. He is candid that the stakes grew heavier over time as employees with families joined the journey, and that a real motivation for the deal was delivering a good outcome to them. A month in, he feels markedly less existential stress and more like he gets to focus on pure product. Michael relates, recalling quitting his own job eleven years ago to start Talk Python with daughters heading to college and a mortgage to cover.
Mixed feelings and keeping the social contract with users Charlie does not gloss over the negative reactions to the acquisition. He says the range of feelings reminded him of when the team first formed a company, with some people excited, some convinced the project should never be part of a company, and some worried about its future. His guiding principle is that words alone will not convince skeptics; you earn trust through actions over time. As a team, they ran an exercise imagining a year out and writing down what they want to be able to say about the tools, starting with the obvious commitment that they remain open source, along with values like quality over quantity. He frames this in terms of social contracts with users rather than financial ones. His stated goal is that even people who were skeptical at the announcement will eventually agree the team did right by its users.
Interesting Quotes and Stories
On the question hanging over the whole episode, whether the tools are safe:
"If you like the work we've done, and you've been happy with how we've run our repos and our community, then I think you will be happy with how things play out." -- Charlie Marsh
The twist that surprised a lot of listeners:
"I genuinely think it's possible that we end up writing more open source here than we did at Astral." -- Charlie Marsh
On why he is not trying to win the argument with a press release:
"You won't convince everybody just with words. And what you really have to do is convince people with actions over time." -- Charlie Marsh
"The story of this acquisition hasn't really been told yet." -- Charlie Marsh
A small, human moment from the deal itself:
"I signed that at my niece's birthday party. And I kind of went up to my mom and I was like, yeah, I just signed an LOI with OpenAI." -- Charlie Marsh
On the strangeness and thrill of this era of software:
"What a time to be writing software." -- Charlie Marsh
On learning to use the tools, including the embarrassing part:
"I won't say full blown AI psychosis, but putting up PRs that were definitely bad that I thought were good." -- Charlie Marsh
"It's an engineering skill, just like coding or testing." -- Michael Kennedy
On how deeply AI tools have soaked into OpenAI:
"It must be the most dogfooded app of all time." -- a Codex teammate, relayed by Charlie Marsh
On what cheap generation does to open source maintainers:
"The cost of putting up a plausible PR is basically zero for an arbitrary contributor ... and then it takes us like an hour to read and understand the code." -- Charlie Marsh
On why the joy of building can come back:
"The cost of experimentation or just trying something, it's not zero, but it's very low." -- Charlie Marsh
Key Definitions and Terms
- uv: Astral's package manager and Python version manager, described in the episode as roughly Node plus npm for Python because it both manages dependencies and provides and runs Python itself. See github.com/astral-sh/uv.
- Ruff: Astral's Rust-based linter and formatter for Python, known for being extremely fast and useful as a guardrail in AI coding workflows. See github.com/astral-sh/ruff.
- ty: Astral's type checker, still in development with a stable release targeted for later this year, focused on fast autocomplete and editor completion across large codebases. See github.com/astral-sh/ty.
- pyx: Astral's hosted Python registry, the server-side counterpart to the uv client and the first piece of its commercial platform; the hosted service is being wound down after the acquisition.
- Python build standalone: A project that ships prebuilt, relocatable CPython distributions so tools can download and unzip a ready-to-run Python instead of compiling one; it is the runtime uv installs for you. See github.com/astral-sh/python-build-standalone.
- CPython: The standard reference implementation of Python that most developers run; Python build standalone is essentially CPython with build-system patches. See github.com/python/cpython.
- Codex: OpenAI's agentic coding tool and desktop app, the team Charlie now works alongside, used heavily inside OpenAI even by non-engineers. See github.com/openai/codex.
- Pyrefly: Meta's Python type checker, cited as the other modern, high-performance type checker in the same tier as ty. See github.com/facebook/pyrefly.
- Letter of intent (LOI): An early, mostly non-binding document that signals serious intent to do a deal before the final acquisition terms are confirmed.
- Profile guided optimization (PGO): A compiler technique that uses data from running a program to produce a faster build, used to make Python build standalone fast without resorting to a JIT.
- Dogfooding: Using your own product internally as a real user; Charlie describes Codex as possibly the most dogfooded app of all time at OpenAI.
- Agentic programming: Building software with AI agents that can read a codebase, run tests, edit files, and self-correct toward a goal, rather than just autocompleting code.
Learning Resources
If this episode left you curious to go deeper, here are a few courses that map closely to its themes of agentic coding, dependency management, and type-safe Python. They are good next steps whether you want to build with agents more effectively or strengthen the tooling foundations the conversation kept returning to.
- training.talkpython.fm/courses/agentic-ai-programming-for-python: Learn to work with AI that behaves like a skilled junior developer, understanding your codebase, running tests, and building features, which is exactly the agentic workflow Charlie and Michael describe.
- training.talkpython.fm/courses/managing-python-dependencies-with-pip-and-virtual-environments: Master dependency management and virtual environments, the exact problem space uv was built to make fast and painless.
- training.talkpython.fm/courses/python-type-hint-course-with-hands-on-examples: Get fluent with Python typing and the frameworks built on it, which gives useful context for why fast type checkers like ty matter.
Overall Takeaway
The headline of this episode is an acquisition, but the heart of it is a question of trust. OpenAI now owns Astral, and yet the most reassuring signal is not a promise but a pattern: the release cadence held steady, the roadmap is full of long-requested features, the GPU work is heading to open source, and the team has written down what it wants to be true a year from now. Charlie's honest framing, that you convince people with actions over time rather than words, is the right lens for both the tools and the broader moment he is describing. Underneath the news sits a bigger story about what it means to build software at all right now, when an agent can write a plausible pull request in a minute and the scarce, valuable thing becomes judgment, reputation, and community. For anyone who loves Python's tooling or wonders how AI is reshaping the craft, this conversation is a grounded, optimistic map of where things are heading, and a reminder that the people who lean in, learn the new skills, and keep their standards high are the ones who get to shape what comes next.
Links from the show
Charlie Marsh: github.com
The announcement: astral.sh
OpenAI: openai.com
uv: github.com
ty: github.com
Ruff: github.com
pyx: astral.sh
Codex team: openai.com
Anthropic did something similar by acquiring Bun: www.anthropic.com
Daily Stars Explorer: emanuelef.github.io
Agentic AI Programming for Python: training.talkpython.fm
Python Web Security: OWASP Top 10 with Agentic AI: training.talkpython.fm
Episode #552 deep-dive: talkpython.fm/552
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @talkpython@fosstodon.org
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @mkennedy@fosstodon.org
Michael on X.com: @mkennedy
Episode Transcript
Collapse transcript
00:00
00:04
00:08
00:10
00:13
00:18
00:22
00:27
00:51
00:56
00:58
01:02
01:04
01:07
01:10
01:13
01:17
01:18
01:21
01:26
01:31
01:33
01:34
01:36
01:40
01:42
01:44
01:44
01:46
01:47
01:49
01:51
01:55
01:59
02:05
02:10
02:16
02:22
02:27
02:33
02:39
02:43
02:47
02:51
02:57
03:04
03:08
03:13
03:17
03:18
03:21
03:24
03:26
03:29
03:30
03:31
03:36
03:37
03:41
03:46
03:49
03:52
03:56
04:00
04:03
04:08
04:09
04:11
04:15
04:17
04:22
04:24
04:26
04:31
04:37
04:39
04:41
04:46
04:51
04:56
05:00
05:04
05:10
05:13
05:14
05:19
05:24
05:31
05:34
05:38
05:40
06:10
06:14
06:18
06:23
06:30
06:35
06:39
06:44
06:51
06:56
07:02
07:07
07:13
07:18
07:23
07:28
07:33
07:39
07:44
07:47
07:53
07:56
08:00
08:07
08:12
08:17
08:23
08:28
08:33
08:37
08:43
08:49
08:58
09:06
09:10
09:14
09:16
09:35
09:42
09:49
09:55
09:57
10:07
10:18
10:20
10:47
10:53
10:57
11:08
11:11
11:12
11:16
11:20
11:24
11:27
11:39
11:43
11:47
11:48
11:51
11:54
12:02
12:05
12:08
12:12
12:18
12:22
12:25
12:30
12:35
12:40
12:44
12:45
12:49
12:53
12:59
13:02
13:08
13:10
13:12
13:17
13:18
13:20
13:25
13:29
13:32
13:36
13:38
13:44
13:54
14:00
14:07
14:11
14:16
14:20
14:22
14:26
14:29
14:32
14:38
14:43
14:50
14:51
14:53
14:57
14:59
15:04
15:05
15:09
15:16
15:21
15:23
15:25
15:28
15:31
15:37
15:37
15:42
15:46
15:50
15:52
15:54
15:55
15:56
15:57
16:04
16:07
16:13
16:15
16:16
16:19
16:19
16:21
16:21
16:23
16:37
16:38
16:40
16:42
16:45
16:52
17:06
17:12
17:18
17:28
17:41
17:54
18:00
18:01
18:07
18:14
18:23
18:31
18:41
18:49
18:57
19:03
19:05
19:10
19:11
19:14
19:19
19:24
19:26
19:32
19:36
19:42
19:49
19:52
19:58
20:01
20:06
20:10
20:17
20:26
20:35
20:37
20:43
20:47
20:51
20:54
20:58
21:00
21:02
21:07
21:13
21:18
21:21
21:23
21:25
21:27
21:30
21:32
21:36
21:39
21:41
21:43
21:50
21:55
21:59
22:04
22:07
22:11
22:16
22:22
22:27
22:30
22:36
22:40
22:46
22:51
22:55
23:01
23:05
23:09
23:15
23:21
23:25
23:30
23:37
23:43
23:50
23:55
24:00
24:05
24:11
24:15
24:19
24:23
24:27
24:33
24:37
24:41
24:45
24:48
24:50
24:55
24:59
25:02
25:07
25:16
25:22
25:30
25:41
25:44
25:50
25:56
26:00
26:04
26:09
26:12
26:14
26:17
26:19
26:21
26:22
26:22
26:26
26:29
26:34
26:39
26:43
26:47
26:54
27:02
27:05
27:10
27:18
27:24
27:28
27:33
27:40
27:43
27:49
27:53
27:55
27:56
28:00
28:04
28:10
28:15
28:19
28:32
28:41
28:50
28:54
28:58
29:03
29:06
29:12
29:17
29:21
29:25
29:30
29:35
29:39
29:44
29:47
29:52
29:53
29:56
29:57
30:03
30:06
30:10
30:11
30:13
30:18
30:22
30:23
30:26
30:34
30:38
30:42
30:48
30:53
30:58
31:07
31:14
31:19
31:23
31:28
31:33
31:39
31:44
31:48
31:52
31:58
32:03
32:10
32:15
32:20
32:25
32:29
32:33
32:38
32:42
32:47
32:52
32:57
33:01
33:04
33:10
33:13
33:18
33:19
33:24
33:25
33:29
33:32
33:36
33:40
33:42
33:47
33:49
33:52
33:57
34:01
34:03
34:09
34:12
34:16
34:21
34:25
34:29
34:37
34:37
34:41
34:42
34:42
34:43
34:44
34:45
34:46
34:49
34:54
35:00
35:08
35:14
35:18
35:23
35:30
35:35
35:42
35:46
35:53
35:57
36:02
36:10
36:15
36:20
36:23
36:28
36:33
36:40
36:45
36:50
36:55
36:59
37:05
37:08
37:14
37:19
37:30
37:33
37:39
37:44
37:48
37:52
37:59
38:03
38:08
38:13
38:17
38:23
38:27
38:32
38:38
38:46
38:52
38:58
39:02
39:08
39:12
39:16
39:19
39:21
39:26
39:28
39:31
39:36
39:44
39:46
39:54
39:54
40:01
40:03
40:30
40:37
40:39
40:41
40:46
40:49
40:54
40:58
41:01
41:05
41:09
41:11
41:12
41:14
41:18
41:23
41:25
41:26
41:29
41:33
41:34
41:35
41:38
41:42
41:46
41:47
41:50
41:56
42:01
42:05
42:09
42:13
42:20
42:28
42:32
42:36
42:41
42:45
42:49
42:51
42:53
42:55
42:58
42:59
43:03
43:07
43:09
43:13
43:14
43:18
43:20
43:22
43:27
43:28
43:31
43:32
43:34
43:36
43:40
43:42
43:42
43:45
43:50
43:54
43:56
43:56
43:59
44:03
44:05
44:06
44:08
44:11
44:16
44:17
44:18
44:21
44:25
44:29
44:33
44:34
44:37
44:38
44:40
44:43
44:44
44:46
44:47
44:48
44:49
44:49
44:52
44:53
44:54
44:57
44:57
44:57
45:02
45:02
45:03
45:06
45:08
45:12
45:12
45:15
45:16
45:18
45:22
45:28
45:31
45:35
45:40
45:46
45:48
45:54
45:57
45:58
46:00
46:09
46:14
46:17
46:21
46:26
46:27
46:30
46:38
46:45
46:54
47:02
47:15
47:21
47:29
47:37
47:42
47:47
47:51
47:58
48:03
48:18
48:19
48:20
48:24
48:24
48:24
48:31
48:31
48:34
48:36
48:39
48:41
48:46
48:50
48:52
48:56
49:00
49:03
49:07
49:11
49:12
49:13
49:14
49:18
49:20
49:20
49:20
49:21
49:26
49:30
49:32
49:33
49:38
49:39
49:39
49:44
49:44
49:48
49:49
49:52
49:55
49:56
50:00
50:04
50:08
50:09
50:13
50:17
50:21
50:24
50:26
50:27
50:30
50:31
50:36
50:37
50:41
50:46
50:46
50:47
50:47
50:51
50:52
50:56
51:01
51:06
51:11
51:14
51:20
51:24
51:29
51:34
51:53
52:14
52:25
52:32
52:37
52:38
52:43
53:01
53:07
53:11
53:16
53:21
53:26
53:33
53:39
53:46
53:51
53:56
54:02
54:07
54:11
54:15
54:19
54:25
54:29
54:33
54:37
54:42
54:49
54:51
54:58
54:59
55:03
55:09
55:11
55:15
55:18
55:23
55:27
55:28
55:30
55:31
55:33
55:34
55:39
55:40
55:44
55:46
55:51
55:55
56:00
56:06
56:11
56:18
56:23
56:27
56:32
56:37
56:42
56:46
56:51
56:55
56:59
57:04
57:08
57:15
57:20
57:24
57:29
57:34
57:39
57:44
57:48
57:53
58:00
58:02
58:06
58:08
58:10
58:11
58:12
58:12
58:15
58:20
58:22
58:24
58:27
58:30
58:33
58:35
58:39
58:40
58:44
58:47
58:52
58:53
58:54
58:58
59:00
59:03
59:07
59:09
59:11
59:16
59:18
59:22
59:27
59:28
59:32
59:33
59:34
59:37
59:41
59:42
59:43
59:46
59:50
59:53
59:58
01:00:01
01:00:04
01:00:07
01:00:11
01:00:13
01:00:16
01:00:18
01:00:22
01:00:23
01:00:26
01:00:28
01:00:30
01:00:34
01:00:37
01:00:37
01:00:41
01:00:48
01:00:55
01:00:56
01:00:56
01:00:57
01:01:01
01:01:05
01:01:06
01:01:09
01:01:10
01:01:14
01:01:17
01:01:18
01:01:20
01:01:23
01:01:25
01:01:29
01:01:34
01:01:35
01:01:38
01:01:41
01:01:42
01:01:45
01:01:47
01:01:53
01:01:56
01:01:58
01:01:59
01:02:00
01:02:02
01:02:06
01:02:08
01:02:14
01:02:18
01:02:26
01:02:29
01:02:34
01:02:48
01:03:00
01:03:06
01:03:12
01:03:16
01:03:17
01:03:19
01:03:25
01:03:29
01:03:30
01:03:31
01:03:31
01:03:32
01:03:33
01:03:34
01:03:36
01:03:37
01:03:39
01:03:41
01:03:42
01:03:48
01:03:53
01:03:56
01:04:00
01:04:11
01:04:13
01:04:16
01:04:18
01:04:22
01:04:24
01:04:25
01:04:27
01:04:30
01:04:32
01:04:34
01:04:35
01:04:37
01:04:51 We'll see you next time.


