<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <!-- This module was also published with a richer model, Gradle metadata,  -->
  <!-- which should be used instead. Do not delete the following line which  -->
  <!-- is to indicate to Gradle or any Gradle module metadata file consumer  -->
  <!-- that they should prefer consuming it instead. -->
  <!-- do_not_remove: published-with-gradle-metadata -->
  <modelVersion>4.0.0</modelVersion>
  <groupId>androidx.compose.material3</groupId>
  <artifactId>material3</artifactId>
  <version>1.1.0-alpha06</version>
  <packaging>aar</packaging>
  <name>Compose Material3 Components</name>
  <description>Compose Material You Design Components library</description>
  <url>https://developer.android.com/jetpack/androidx/releases/compose-material3#1.1.0-alpha06</url>
  <inceptionYear>2021</inceptionYear>
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <developers>
    <developer>
      <name>The Android Open Source Project</name>
    </developer>
  </developers>
  <scm>
    <connection>scm:git:https://android.googlesource.com/platform/frameworks/support</connection>
    <url>https://cs.android.com/androidx/platform/frameworks/support</url>
  </scm>
  <dependencies>
    <dependency>
      <groupId>androidx.activity</groupId>
      <artifactId>activity-compose</artifactId>
      <version>1.5.0</version>
      <scope>runtime</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.compose.animation</groupId>
      <artifactId>animation-core</artifactId>
      <version>1.3.1</version>
      <scope>runtime</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.compose.foundation</groupId>
      <artifactId>foundation</artifactId>
      <version>1.4.0-beta01</version>
      <scope>compile</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.compose.foundation</groupId>
      <artifactId>foundation-layout</artifactId>
      <version>1.3.1</version>
      <scope>runtime</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.compose.material</groupId>
      <artifactId>material-icons-core</artifactId>
      <version>1.3.1</version>
      <scope>compile</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.compose.material</groupId>
      <artifactId>material-ripple</artifactId>
      <version>1.3.1</version>
      <scope>compile</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.compose.runtime</groupId>
      <artifactId>runtime</artifactId>
      <version>1.3.1</version>
      <scope>compile</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.compose.ui</groupId>
      <artifactId>ui</artifactId>
      <version>1.3.1</version>
      <scope>compile</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.compose.ui</groupId>
      <artifactId>ui-graphics</artifactId>
      <version>1.3.1</version>
      <scope>compile</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.compose.ui</groupId>
      <artifactId>ui-text</artifactId>
      <version>1.3.1</version>
      <scope>compile</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.compose.ui</groupId>
      <artifactId>ui-util</artifactId>
      <version>1.3.1</version>
      <scope>runtime</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.lifecycle</groupId>
      <artifactId>lifecycle-runtime</artifactId>
      <version>2.5.1</version>
      <scope>runtime</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.lifecycle</groupId>
      <artifactId>lifecycle-viewmodel</artifactId>
      <version>2.6.0-beta01</version>
      <scope>runtime</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>androidx.savedstate</groupId>
      <artifactId>savedstate-ktx</artifactId>
      <version>1.2.0</version>
      <scope>runtime</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>org.jetbrains.kotlin</groupId>
      <artifactId>kotlin-stdlib-common</artifactId>
      <version>1.8.0</version>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
</project>